色婷婷AⅤ一区二区三区|亚洲精品第一国产综合亚AV|久久精品官方网视频|日本28视频香蕉

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 單片機匯編實驗二:定時器實驗

          單片機匯編實驗二:定時器實驗

          作者: 時間:2016-12-01 來源:網(wǎng)絡 收藏
          實驗要求:
          由AT89S52內部定時器0,按方式1工作,即作為16位定時器使用每0.05秒T1溢出中斷一次。P1口的P1.0~P1.8分別接8個發(fā)光二極管。要求編寫程序模擬一時序控制裝置。開機后第一秒鐘L1,L8亮,第二秒鐘L2,L7亮,第三秒鐘L3,L6亮,第四秒L4,L5亮,第五秒L3,L6亮,第六秒L2,L7亮,第七秒L1,L8亮,第八秒L1,L3,L5,L7亮,第九秒L2,L4,L6,L8亮,第十秒全亮,第十一秒全滅。然后再從頭循環(huán)。
          //This is the second program of the homework;
          //Name: WQ DATE: 201326
          //In thisprogramwe used the Intterput;
          ORG 0000H //無條件 轉移指令
          LJMP MAIN //LJMP 長轉移指令 65535 (雙字節(jié))
          ORG 000BH //AJMP 絕對轉移 2K
          LJMP INTT0 // SJMP 短轉移 -128——127
          // JMP 變址轉移 JMP @A+DPTR
          //中斷程序可以放在前面和后面
          //另外只要程序段的空間能合理分配不沖突就能隨便調用
          ORG 0050H
          MAIN:MOV DPTR,#TABLE
          MOV R1,#11 //R1做一個計數(shù)器 查表用
          CLR A //將A清零,用來尋址
          MOV R2,A //另一個計數(shù)器用來加減
          MOV TMOD,#01H
          MOV TH0,#4CH
          MOV TL0,#00H
          MOV R3,#20 //R3做一個計數(shù)器
          SETB EA //開總中斷
          SETB ET0 //允許計時器
          SETB TR0 //開啟計時器
          OK: SJMP OK

          ORG 0150H
          INTT0:MOV TH0,#4CH
          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 //不滿足調見返回主程序繼續(xù)計時
          MOV R1,#11 //循環(huán)之后置數(shù)
          MOV R2 ,#0 //循環(huán)之后清零
          RETN:RETI //中斷子程序的返回指令
          TABLE:DB 7EH,0BDH,0DBH,0E7H,0DBH,0BDH,7EH,0AAH,55H,00H,0FFH //十六進制數(shù)前面要加零
          END //主程序結束指令


          評論


          技術專區(qū)

          關閉