记录中断发生次数,外部中断0,低电平触发次数 汇编语言
发布网友
发布时间:2024-04-01 12:11
我来回答
共1个回答
热心网友
时间:2024-04-28 03:04
ORG 0000H
AJMP MAIN // ;跳转到主程序
ORG 0003H
LJMP INT0ISR
ORG 000BH // ;T0中断入口
AJMP PTF0 // ;中断处理首地址
//主程序
ORG 0030H
MAIN:
MOV SP,#05FH
MOV R0,#30H
MOV R7,#8
INIT:
CLR A
MOV @R0,A
DJNZ R7,INIT
MOV TMOD,#01H
MOV TL0,#HIGH(65536-5000)
MOV TH0,#LOW(65536-5000)
MOV R2,#10
SETB TR0 // 启动T0计时器
SETB ET0
SETB EA
SETB EX0
SETB IT0
MOV 30H,#2
MOV R0,#30H
SJMP $
//中断程序
PTF0:
CLR TR0
MOV TL0,#HIGH(65536-5000)
MOV TH0,#LOW(65536-5000)
SETB TR0
INC R0
CJNE R0,#38H,T000
T000:
JC T00
MOV R0,#30H
T00:
MOV A,@R0
MOV DPTR,#TAB
MOVC A,@A+DPTR
MOV P0,A
MOV A,R0
CLR C
SUBB A,#30H
JNZ T01
MOV P2,#7FH
RETI
T01:
MOV R2,A
MOV A,#7FH
T0L:
RR A
DJNZ R2,T0L
MOV P2,A
T0E:
RETI
INT0ISR:
INC 30H
MOV A,30H
CJNE A,#10,INT0E
MOV 30H,#0
INC 31H
MOV A,31H
CJNE A,#10,INT0E
MOV 31H,#0
INC 32H
MOV A,32H
CJNE A,#10,INT0E
MOV 32H,#0
INC 33H
MOV A,33H
CJNE A,#10,INT0E
MOV 33H,#0
INC 34H
MOV A,34H
CJNE A,#10,INT0E
MOV 34H,#0
INC 35H
MOV A,35H
CJNE A,#10,INT0E
MOV 35H,#0
INC 36H
MOV A,36H
CJNE A,#10,INT0E
MOV 36H,#0
INC 37H
MOV A,37H
CJNE A,#10,INT0E
MOV 37H,#0
INT0E:
RETI
//数码显示表
TAB: DB 3FH,06H,5BH,4FH,66H // ; 0,1,2,3,4
DB 6DH,7DH,07H,7FH,6FH // ; 5,6,7,8,9
END