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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > PIC單片機(jī)中斷嵌套

          PIC單片機(jī)中斷嵌套

          作者: 時間:2016-11-29 來源:網(wǎng)絡(luò) 收藏
          #INCLUDE"P16F877.inc"
          W_TEMP EQU 20H ; 實際上20H、A0H、120H和1A0H
          STATUS_TEMP EQU 21H ;在體0中建立保護(hù)單元
          PCLATH_TEMP EQU 22H ;在體0中建立保護(hù)單元
          ORG 000H
          GOTO A1
          ORG 04H;中斷入口地址
          GOTO ZD01
          A1 BSF STATUS,RP0
          BCF STATUS,RP1;體1
          MOVLW 00H;1:2TMRO比例
          MOVWF OPTION_REG;分頻1/2
          MOVLW 0H
          MOVWF TRISA;設(shè)置A口為輸出口
          MOVLW 06H
          MOVWF ADCON1;設(shè)置A口為普通I/O口模式
          movlw 0FFH
          movwf TRISB;設(shè)定RB為輸入
          BCF STATUS,RP0
          BCF STATUS,RP1;體0
          MOVLW 0FFH;
          MOVFW TMR0;初值
          MOVLW 0FFH
          MOVWF PORTA;A口輸出高電平
          MOVLW 1;位1顯示數(shù)
          MOVWF 50H;
          MOVLW 2;位2顯示數(shù)
          MOVWF 51H;
          MOVLW 3;位3顯示數(shù)
          MOVWF 52H;
          MOVLW 4;位4顯示數(shù)
          MOVWF 53H;
          MOVLW 4;顯示位數(shù)
          MOVWF 40H;
          MOVLW B00000001;位碼
          MOVWF 41H;
          MOVLW 50H;
          MOVWF FSR ;間接尋址
          BCF INTCON,INTF;清中斷標(biāo)志
          BSF INTCON,INTE;開外部中斷
          BCF INTCON,T0IF;清定時中斷標(biāo)志
          BSF INTCON,T0IE;開定時中斷
          BSF INTCON,GIE;開總中斷
          GOTO $
          ZD01
          BTFSS INTCON,INTF;判斷是否發(fā)生外部中斷
          GOTO ZD02
          BCF INTCON,INTE;關(guān)閉外部中斷避免2次中斷
          BSF INTCON,GIE;開總中斷允許定時中斷嵌套進(jìn)來
          BCF INTCON,INTF;清中斷標(biāo)志
          BTFSS PORTB,0;;判斷觸發(fā)中斷鍵是否抬起避免產(chǎn)生2次中斷
          GOTO $-1;
          COMF PORTA,1;取反A口
          BSF INTCON,INTE;開外部中斷
          RETFIE ;中斷標(biāo)志結(jié)束
          ZD02 BTFSS INTCON,T0IF;判斷是否產(chǎn)生定時中斷
          GOTO ZD04;否跳出是繼續(xù)執(zhí)行
          ;***************************************************
          ; 保護(hù)現(xiàn)場
          MOVWF W_TEMP;W備份到W_TEMP中
          SWAPF STATUS,0;STATUS半字交換后送W
          CLRF STATUS;選擇體0為當(dāng)前體備份
          MOVWF STATUS_TEMP;將原來的STATUS送體0上的
          MOVF PCLATH,0;PCLATH送W
          MOVWF PCLATH_TEMP;W送備份寄存器中
          CLRF PCLATH ;設(shè)置為0頁
          ;***************************************************
          BCF INTCON,T0IF
          BSF STATUS,RP0;體1
          BCF STATUS,RP1;
          MOVLW 0;
          MOVWF TRISC;RB口設(shè)為輸出口
          MOVWF TRISD;RD口設(shè)為輸出口
          BCF STATUS,RP0;體0
          BCF STATUS,RP1;
          MOVLW 0FFH;
          MOVWF PORTC;RB口輸出高電平
          MOVLW 0
          MOVWF PORTD;RD口輸出低電平起清屏作用
          MOVFW INDF;間接尋址顯示數(shù)據(jù)
          CALL Q1;查數(shù)據(jù)表
          MOVWF PORTC;顯示斷碼輸出到RB口
          INCF FSR,1;間接尋址地址加1
          MOVFW 41H ;位碼
          MOVWF PORTD;位碼輸出到RD口
          RLF 41H,0;處理C
          RLF 41H,1;左移位碼
          DECFSZ 40H,1;判斷是否顯示完4位
          GOTO ZD03;否則繼續(xù)顯示
          MOVLW 4;顯示位數(shù)
          MOVWF 40H;
          MOVLW B00000001;位碼
          MOVWF 41H;
          MOVLW 50H;
          MOVWF FSR ;間接尋址
          ZD03
          ;***************************************************
          ; 恢復(fù)現(xiàn)場
          CLRF STATUS;恢復(fù)到體0
          MOVF PCLATH_TEMP,0;開始恢復(fù)數(shù)據(jù)
          MOVWF PCLATH;恢復(fù)PCLATH
          SWAPF STATUS_TEMP,0
          MOVWF STATUS;恢復(fù)STATUS
          SWAPF W_TEMP,1;半字交換后放回
          SWAPF W_TEMP,0;再半字交換后送W
          ;***************************************************
          MOVLW 0FFH;
          MOVFW TMR0;重裝初值
          ZD04
          RETFIE ;中斷結(jié)束
          ;********************************************
          ; 數(shù)據(jù)表
          ;********************************************
          Q1 ADDWF PCL,1
          RETLW 00C0H ;0
          RETLW 00F9H ;1
          RETLW 00A4H ;2
          RETLW 00B0H ;3
          RETLW 0099H ;4
          RETLW 0092H ;5
          RETLW 0082H ;6
          RETLW 00F8H ;7
          RETLW 0080H ;8
          RETLW 0090H ;9
          RETLW 0088H ;A
          RETLW 0083H ;B
          RETLW 00C6H ;C
          RETLW 00A1H ;D
          RETLW 0086H ;E
          RETLW 008EH ;F
          END


          關(guān)鍵詞: PIC單片機(jī)中斷嵌

          評論


          技術(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); })();