?? intr3.asm
字號(hào):
;PROGRAM NAME:INTR3.ASM
;TEST TIMER0 INTERRUPT(MODE 1)
;
COUNT EQU 9217 ;10mS FOR XTAL=11.0592MHz
;
CHK_BIT REG P3.2
DIGIT1 REG P1.4
DIGIT2 REG P1.5
LED REG P3.7
;
DISP EQU 30H
SEC EQU 31H
;
ORG 0000H
LJMP RESET
ORG 0003H ;INT0 INTERRUPT
RETI
ORG 000BH ;TIMER0 INTERRUPT
LJMP INT_TIMER0
ORG 0013H ;INT1 INTERRUPT
RETI
ORG 001BH ;TIMER1 INTERRUPT
RETI
ORG 0023H ;SERIAL INTERRUPT
RETI
;
RESET MOV R0,#00H
DJNZ R0,$ ;WAIT
CLR CHK_BIT
MOV DISP,#34H ;DISPLAY '3''4'
MOV SEC,#00H
MOV SP,#40H
;
MOV A,TMOD
ANL A,#11110000B
CLR ACC.3 ;GATE=0
CLR ACC.2 ;C/T=0
CLR ACC.1 ;TIMER0 M1=0
SETB ACC.0 ;TIMER0 M0=1
MOV TMOD,A
MOV TH0,#(65536-COUNT)/256
MOV TL0,#(65536-COUNT).MOD.256
CLR TF0 ;CLEAR TF0
SETB TR0
;
SETB PT0
SETB ET0 ;ENABLE TIMER0 INTURRUPT
SETB EA ;ENABLE SYSTEM INTERRUPT
;
LOOP SJMP LOOP ;WAITTING
;
;TF0=1
INT_TIMER0
CPL CHK_BIT
CLR TF0 ;CLEAR TF0
MOV TH0,#(65536-COUNT)/256
MOV TL0,#(65536-COUNT).MOD.256
INC SEC ;SEC=SEC+1
MOV A,SEC ;CHECK SEC>=100?
CJNE A,#100,$CHK1 ;A-100
$CHK1 JC $NEXT
MOV SEC,#00H ;SEC=0
;
$NEXT MOV A,SEC
CJNE A,#40,$CHK2
$CHK2 JNC OVER
SETB LED ;LED ON
SJMP DISPLAY
OVER CLR LED
;
DISPLAY MOV A,DISP
ANL A,#00001111B ;GET LOW NIBBLES
SETB ACC.5 ;BIT5,BIT4=10
MOV P1,A
ACALL DELAY
;ADD EXTRA PART
CLR P1.4
CLR P1.5
ACALL DELAY
;
MOV A,DISP
SWAP A
ANL A,#00001111B
SETB ACC.4 ;BIT5,BIT4=01
MOV P1,A
ACALL DELAY
CLR P1.4
CLR P1.5
RETI
;
DELAY MOV R0,#80H
DJNZ R0,$
RET
;
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -