<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 對(duì)8259A的編程:統(tǒng)計(jì)中斷申請(qǐng)的次數(shù)到十燈全滅

          對(duì)8259A的編程:統(tǒng)計(jì)中斷申請(qǐng)的次數(shù)到十燈全滅

          作者: 時(shí)間:2016-12-01 來(lái)源:網(wǎng)絡(luò) 收藏
          DATA SEGMENT DATA ENDS

          CODE SEGMENT ASSUME CS:CODE
          ORG 11B0H ; 設(shè)置程序存儲(chǔ)的起始位置
          START:
          CLI ;關(guān)中斷,需要先關(guān)中
          ;初始化8255命令字
          IOCONPT EQU 0FF2BH ;控制口
          IOBPT EQU 0FF29H ;PB口
          IOAPT EQU 0FF28H ;PA口
          MOV AL,90H ;控制字存入AL
          MOV DX,IOCONPT ;取8255控制字寄存器的端口地址存入DX
          OUT DX,AL ; 控制字存入控制寄存器
          ;初始化8255 over
          ;初始化8259命令字
          MOV DX,0FF80H ; 取8259的偶端口地址存入DX
          MOV AL,13H ; ICW1控制字存入AL
          OUT DX,AL ; 控制字存入ICW1
          MOV DX,0FF81H ; 取8259的奇端口地址存入DX
          MOV AL,0BH ; ICW2控制字存入AL 裝入的是中斷類(lèi)型號(hào)
          OUT DX,AL ; 控制字存入ICW2,設(shè)置中斷類(lèi)型號(hào)
          MOV AL,03H ; ICW4控制字存入AL
          OUT DX,AL ; 控制字存入ICW4,設(shè)置中斷結(jié)束方式
          ;控制字寫(xiě)完了。
          ;修改中斷向量表
          SUB AX,AX

          本文引用地址:http://www.ex-cimer.com/article/201612/324151.htm

          MOV ES,AX.

          MOV AX,2CH
          MOV DI,AX ;設(shè)置偏移地址
          MOV AX,OFFSET INTWQ ;取偏移地址
          CLD
          STOSW ;存儲(chǔ)偏移地址
          MOV AX,SEG INTWQ ;取段基址
          STOSW ;存儲(chǔ)段基址

          STI ;開(kāi)中斷
          MOV BL,0 ;初始化中斷次數(shù)計(jì)數(shù)器
          main:
          mov al,00h ;主程序
          mov dx,iobpt
          out dx,al ;點(diǎn)亮所有的燈
          jmp main
          MOV AH,4CH ;程序的結(jié)束
          INT 21H
          ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
          INTWQ PROC NEAR ;中斷子程序
          CLI ;關(guān)中斷
          PUSH AX

          PUSH DX
          PUSHF
          INC BL ;中斷次數(shù)計(jì)數(shù)器加一
          mov al,bl
          mov dx,iobpt ;把中斷次數(shù)送到led
          OUT DX,AL
          CALL DELAY ;延時(shí)
          cmp bl,0ah ;判斷是否達(dá)到10次
          jz shuchu
          jmp jiedian
          shuchu:
          MOV AL,0FFH ;燈全滅
          mov dx,iobpt
          OUT DX,AL
          CALL DELAY
          jiedian:
          MOV AL,20H

          OUT 0FF80H,AL
          POPF

          POP DX
          POP AX

          STI
          IRET ;中斷返回
          INT28 ENDP ;
          ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
          ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
          DELAY PROC NEAR ;延時(shí)子程序的開(kāi)始
          MOV CX,0FFFFH ;初始化計(jì)數(shù)次數(shù)
          CC:NOP ;空操作
          LOOP CC ;循環(huán)
          RET ;子程序返回
          DELAY ENDP
          ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
          CODE ENDS ;代碼段結(jié)束
          END START ;源程序結(jié)束



          關(guān)鍵詞: 8259A編程中斷申

          評(píng)論


          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();