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

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

單片機匯編實驗三:外部中斷實驗

作者:韓冰   來源:本站原創   點擊數:  更新時間:2013年11月30日   【字體:

實驗要求:

由AT89S52內部定時器0,按方式1工作,即作為16位定時器使用每0.05秒T1溢出中斷一次。P1口的P1.0~P1.8分別接8個發光二極管。要求編寫程序模擬一時序控制裝置。開機后第一秒鐘L1,L8亮,第二秒鐘L2,L7亮,第三秒鐘L3,L6亮,第四秒L4,L5亮,第五秒L3,L6亮,第六秒L2,L7亮,第七秒L1,L8亮,第八秒L1,L3,L5,L7亮,第九秒L2,L4,L6,L8亮,第十秒全亮,第十一秒全滅。然后再從頭循環。

由鍵盤生成外部中斷信號,當任意鍵按下時,為外部中斷請求信號,此時L3,L4, L5,L6亮,持續時間為5秒。
//This is the third program of the homework;
//Name:  WQ   DATE: 2013\2\14
//In this program we used  Intterput;
 ORG 0000H     //****無條件轉移指令*******
 LJMP MAIN     //LJMP 長轉移指令  65535  (雙字節)
 ORG 0003H     //0003H 中斷程序I0入口地址  
 LJMP WINTT0   //AJMP 絕對轉移     
 ORG 000BH     //000BH 計時器程序T0入口地址     
 LJMP WT0      //SJMP  短轉移 -128——127
//   ORG 001BH    //001BH 計時器程序T1入口地址 JMP 變址轉移  JMP @A+DPTR 
//   LJMP WT1  //另外只要程序段的空間能合理分配不沖突就能隨便調用
 ORG 0050H
MAIN:MOV DPTR,#TABLE
     MOV R1,#11   //R1做一個計數器 查表用
     CLR A    //將A清零,用來尋址
     MOV R2,A     //另一個計數器用來加減
     MOV TMOD,#01H
     MOV TH0,#4CH
     MOV TL0,#00H
     MOV R3,#20   //R3做一個計數器
     SETB EA      //開總中斷
     SETB ET0     //允許計時器
     SETB TR0     //開啟計時器0
 //  SETB TR1     //開啟計時器1
     SETB IT0     //邊沿觸發方式
     SETB EX0        //允許外部中斷0
     MOV P0,#0FFH 
OK1: MOV C,P3.4
     JNC KAISHI
     MOV C,P3.5
  JNC KAISHI
     MOV C,P3.6
  JNC KAISHI
     MOV C,P3.7
  JNC KAISHI
     SJMP OK1
KAISHI:CLR P3.2
       SETB P3.2
   SJMP OK1

//外部中斷程序的入口
 ORG 0AA0H
 WINTT0:PUSH TH0
        PUSH TL0
        CLR TR0         //關閉定時器0
        MOV P1,#3CH
        CALL DELAY1
        POP TL0
        POP TH0
        SETB TR0
        RETI                 
      ORG 0100H    //計時器0程序
WT0:  MOV TH0,#4CH //計時器0置數
      MOV TL0,#00H
      DJNZ R3,RETN //1秒鐘到來了
      MOV R3,#20 
      MOV A,R2      //
      MOVC A,@A+DPTR
      MOV P1,A
      INC R2    //指針加一
      DJNZ R1,RETN //不滿足調見返回主程序繼續計時 
      MOV R1,#11  //循環之后置數
      MOV R2 ,#0  //循環之后清零
RETN:RETI         //中斷子程序的返回指令
 

//延時函數
ORG 0200H
delay1:MOV R7,#0FFH
DELY1:MOV R6,#0AAH
DELY2:MOV R0,#024H
DELY3: NOP//MOV P1,#00H
      DJNZ R0,DELY3
      DJNZ R6,DELY2
   DJNZ R7,DELY1
   RET
TABLE:DB 7EH,0BDH,0DBH,0E7H,0DBH
      DB 0BDH,7EH,0AAH,55H,00H,0FFH  //十六進制數前面要加零 
      END                          //主程序結束指令

關閉窗口

相關文章

主站蜘蛛池模板: 国产亚洲一区二区三区在线观看 | 天天操夜夜爽 | www.国产| 天天操天天玩 | 精品一区国产 | 91麻豆精品国产91久久久久久久久 | 国产成人一区二区三区电影 | 欧美区日韩区 | 完全免费在线视频 | 精品无码久久久久久国产 | 91精品国产乱码久久久久久久久 | 四虎永久 | 日本欧美在线观看视频 | 国产欧美日韩综合精品一区二区 | 欧美一级视频免费看 | 韩日一区| 国产婷婷在线视频 | 7777在线视频免费播放 | 精品久久影院 | 久久综合久久自在自线精品自 | 日皮视频免费 | 欧美在线观看一区 | 欧美日韩亚洲一区 | 精品乱码一区二区三四区 | 成人国产a | 精品久| 久草视频在线播放 | 国产精品久久久久久久一区探花 | 国内久久精品 | 国产欧美精品一区二区色综合 | 日韩欧美国产精品一区二区三区 | 超碰97免费在线 | 超碰伊人久久 | 久久精品免费观看 | 日韩欧美视频在线 | 99福利 | 国产精品久久久久久238 | 女同videos另类 | 亚洲国产免费 | 国产成人精品一区二区三 | 一区二区三区中文字幕 |