|
|
NTR0:INC R0 // 外部中斷 0
RETI
DTIM: MOV TH0,#3CH // 定時(shí)中斷 0
MOV TL0,#0B0H
DJNZ R7,EXIT
LCALL CHUL
RETI
TABLE:DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH
DELAY:MOV R6,#255 // 延時(shí)子程序
DJNZ R6,$
RET
附件源代碼
- DBUF3 EQU 30H
- DBUF2 EQU 31H
- DBUF1 EQU 32H
- DBUF0 EQU 33H
- ORG 0000H
- AJMP MAIN
- ORG 0003H // 外部中斷 0 入口地址
- AJMP INTR0
- ORG 000BH // 定時(shí)計(jì)數(shù) 0 入口地址 、
- AJMP DTIM
- AJMP DTIM
- ORG 0030H // 主程序入口地址
- MAIN: MOV IE,#83H
- MOV IP,#02H //T0 優(yōu)先
- MOV TMOD,#01H // 定時(shí)器工作于方式 1
- MOV TH0,#3CH // 定時(shí)器初值設(shè)置, 50ms
- MOV TL0,#0B0H
- MOV DPTR,#TABLE
- MOV P2,#0FFH
- MOV P1,#00H
- MOV R7,#20 // 定時(shí)一秒, 50ms*20
- MOV R0,#0
- SETB TR0 // 啟動(dòng)定時(shí)計(jì)數(shù)器
- SETB IT0 // 下降沿觸發(fā)
- SJMP [ DISCUZ_CODE_1 ]nbsp;
- CHUL: MOV A,R0 // 數(shù)值處理子程序
- MOV B,#100
- DIV AB
- MOV DBUF3,A
- MOV A,B
- MOV B,#10
- DIV AB
- MOV DBUF2,A
- MOV A,B
- MOV B,#1
- DIV AB
- MOV DBUF1,A
- MOV DBUF0,B
- LCALL DISP
- AJMP CHUL
- DISP:MOV A,DBUF3 // 顯示子程序
- MOVC A,@A+DPTR
- CLR P2.0
- MOV P1,A
- ACALL DELAY
- SETB P2.0
- MOV A,DBUF2
- MOVC A,@A+DPTR
- CLR P2.1
- MOV P1,A
- ACALL DELAY
- SETB P2.1
- MOV A,DBUF1
- MOVC A,@A+DPTR
- CLR P2.2
- ADD A,#128
- MOV P1,A
- ACALL DELAY
- SETB P2.2
- MOV A,DBUF0
- MOVC A,@A+DPTR
- CLR P2.3
- MOV P1,A
- ACALL DELAY
- SETB P2.3
- RET
- INTR0:INC R0 // 外部中斷 0
- RETI
- DTIM: MOV TH0,#3CH // 定時(shí)中斷 0
- MOV TL0,#0B0H
- DJNZ R7,EXIT
- LCALL CHUL
- RETI
- TABLE:DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH
- DELAY:MOV R6,#255 // 延時(shí)子程序
- DJNZ R6,[ DISCUZ_CODE_1 ]nbsp;
- RET
- END
復(fù)制代碼 |
-
-
last.zip
2019-8-9 11:24 上傳
點(diǎn)擊文件名下載附件
886 Bytes, 下載次數(shù): 3
匯報(bào)源程序
|