?? 定時中斷應用.txt
字號:
由8031內部定時器1,按方式1工作,即作為16位定時器使用
每0.05秒鐘T1溢出中斷一次。P1口的P1.0-P1.7分別接八個發
光二極管。要求編寫程序模擬一時序控制裝置。開機后第一
秒鐘L1,L3亮,第二秒鐘L2,L4亮,第三秒鐘L5,L7亮,第四
秒鐘L6,L8亮,第五秒L1,L3,L5,L7亮,第六秒鐘L2,L4,
L6,L8亮,第七秒鐘八個二極管全亮,第八秒鐘全滅,以后又
從頭開始,L1,L3亮,然后L2,L4亮......一直循環下去。
ORG 0000H
AJMP START
ORG 001BH ;T1中斷入口地址
AJMP INT_T1
ORG 0100H
START:
MOV SP,#60H
MOV TMOD,#10H ;置T1為方式1
MOV TL1,#00H ;延時50mS的時間常數
MOV TH1,#4BH
MOV R0,#00H
MOV R1,#20
SETB TR1
SETB ET1
SETB EA ;開中斷
SJMP $
INT_T1: ;T1中斷服務子程序
PUSH ACC ;保護現場
PUSH PSW
PUSH DPL
PUSH DPH
CLR TR1 ;關中斷
MOV TL1,#00H ;延時50mS常數
MOV TH1,#4BH
SETB TR1 ;開中斷
DJNZ R1,EXIT
MOV R1,#20 ;延時一秒的常數
MOV DPTR ,#DATA ;置常數表基址
MOV A,R0 ;置常數表偏移量
MOVC A,@A+DPTR ;讀常數表
MOV P1,A ;送P1口顯示
INC R0
ANL 00,#07H
EXIT:
POP DPH ;恢復現場
POP DPL
POP PSW
POP ACC
RETI
;LED顯示常數表
DATA: DB 0FAH,0F5H,0AFH,05FH,0AAH,55H,00H,0FFH
END
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -