久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

專注電子技術學習與研究
當前位置:單片機教程網 >> MCU設計實例 >> 瀏覽文章

PIC單片機中斷嵌套

作者:佚名   來源:本站原創   點擊數:  更新時間:2012年09月27日   【字體:
   #INCLUDE"P16F877.inc"
  
   W_TEMP  EQU 20H ; 實際上20H、A0H、120H和1A0H
   STATUS_TEMP EQU 21H ;在體0中建立保護單元 
   PCLATH_TEMP EQU 22H ;在體0中建立保護單元


   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;設置A口為輸出口
   MOVLW   06H  
   MOVWF   ADCON1;設置A口為普通I/O口模式 
   movlw 0FFH
   movwf TRISB;設定RB為輸入
   BCF  STATUS,RP0
   BCF  STATUS,RP1;體0

   MOVLW 0FFH;
   MOVFW TMR0;初值

   MOVLW 0FFH
   MOVWF PORTA;A口輸出高電平

   MOVLW 1;位1顯示數
   MOVWF 50H; 
   MOVLW 2;位2顯示數
   MOVWF 51H;
   MOVLW 3;位3顯示數
   MOVWF 52H;
   MOVLW 4;位4顯示數
   MOVWF 53H;

   MOVLW 4;顯示位數
   MOVWF 40H;
   MOVLW B'00000001';位碼
   MOVWF 41H;
   MOVLW 50H;
   MOVWF FSR ;間接尋址


   BCF  INTCON,INTF;清中斷標志
   BSF  INTCON,INTE;開外部中斷
   BCF  INTCON,T0IF;清定時中斷標志
   BSF  INTCON,T0IE;開定時中斷
   BSF  INTCON,GIE;開總中斷
   GOTO $

ZD01  
   BTFSS INTCON,INTF;判斷是否發生外部中斷
   GOTO ZD02

   BCF  INTCON,INTE;關閉外部中斷避免2次中斷
   BSF  INTCON,GIE;開總中斷允許定時中斷嵌套進來

   BCF  INTCON,INTF;清中斷標志
   BTFSS PORTB,0;;判斷觸發中斷鍵是否抬起避免產生2次中斷
   GOTO $-1;
   COMF PORTA,1;取反A口

   BSF  INTCON,INTE;開外部中斷
   
   RETFIE ;中斷標志結束


ZD02  BTFSS INTCON,T0IF;判斷是否產生定時中斷
   GOTO ZD04;否跳出是繼續執行
;***************************************************
;     保護現場

   MOVWF  W_TEMP;W備份到W_TEMP中
   SWAPF  STATUS,0;STATUS半字交換后送W
   CLRF  STATUS;選擇體0為當前體備份
   MOVWF  STATUS_TEMP;將原來的STATUS送體0上的
   MOVF  PCLATH,0;PCLATH送W 
   MOVWF  PCLATH_TEMP;W送備份寄存器中
   CLRF  PCLATH ;設置為0頁
;***************************************************

   BCF  INTCON,T0IF
   BSF  STATUS,RP0;體1
   BCF  STATUS,RP1;
   MOVLW 0;
   MOVWF TRISC;RB口設為輸出口
   MOVWF TRISD;RD口設為輸出口

   BCF  STATUS,RP0;體0
   BCF  STATUS,RP1;
   MOVLW 0FFH;
   MOVWF PORTC;RB口輸出高電平
   MOVLW 0
   MOVWF PORTD;RD口輸出低電平起清屏作用
   
   MOVFW INDF;間接尋址顯示數據  
   CALL Q1;查數據表
   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;否則繼續顯示

   MOVLW 4;顯示位數
   MOVWF 40H;
   MOVLW B'00000001';位碼
   MOVWF 41H;
   MOVLW 50H;
   MOVWF FSR ;間接尋址

ZD03 
;***************************************************
;     恢復現場
   CLRF STATUS;恢復到體0
   MOVF    PCLATH_TEMP,0;開始恢復數據 
   MOVWF PCLATH;恢復PCLATH
   SWAPF STATUS_TEMP,0
   MOVWF STATUS;恢復STATUS
   SWAPF W_TEMP,1;半字交換后放回
   SWAPF W_TEMP,0;再半字交換后送W
;***************************************************

   MOVLW 0FFH;
   MOVFW TMR0;重裝初值
ZD04 
   RETFIE ;中斷結束
   
;********************************************
;    數據表
;********************************************      
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
關閉窗口

相關文章

主站蜘蛛池模板: 亚洲国产成人精品久久久国产成人一区 | 国产亚洲欧美日韩精品一区二区三区 | 欧美老妇交乱视频 | 99久久国产 | 成年人国产在线观看 | 狠狠综合久久av一区二区小说 | 日本人麻豆 | 男女视频在线观看网站 | 97国产爽爽爽久久久 | 91高清免费观看 | 久久精品免费观看 | 男女视频在线观看免费 | 国产99视频精品免费视频7 | 午夜影院在线观看视频 | 国产免费自拍 | 精品久久久久久 | 一区二区在线免费播放 | 国产露脸国语对白在线 | sese视频在线观看 | 中文字幕视频三区 | 国产精品伦一区二区三级视频 | 91就要激情 | 亚洲h色| 久久一及片 | 久久国产精品免费一区二区三区 | 亚洲 欧美 日韩在线 | av天天看 | 国产一级在线 | 中文精品视频 | 日韩精品久久 | 国产美女在线免费观看 | 日产精品久久久一区二区福利 | 国产伦精品一区二区三区视频金莲 | 国产午夜精品视频 | 久久在视频 | 男女午夜激情视频 | 久久人人网 | 久热爱 | 福利二区 | 三级成人在线观看 | 国产成人精品久久 |