- 6
- 0
- 约6.4千字
- 约 7页
- 2017-07-05 发布于湖北
- 举报
;遥控器控制显示123456789数据保持
;***************************************************************************
;* gehuiwy@163.com Create by :葛辉 *
;***************************************************************************
REC_DATA EQU 20H ;数码管段选的数据存放在片内RAM 20H单元
REC_DATA1 EQU 21H ;数码管段选的数据存放在片内RAM 21H单元
ORG 0000H
SJMP MAIN
ORG 0003H ;外部中断0引脚链接红外接收头输出
LJMP INT0_SERVICE
ORG 0030H
MAIN:
MOV IE, ;外部中断使能,全局中断使能
MOV REC_DATA, ;数码管灭
MOV REC_DATA,#7EH ;数码管亮
MOV REC_DATA1,#7EH ;数码管亮
MOV P1, ;选中左边的数码管
MOV P3,#0FFH
LOOP:
LCALL DISPLAY
;MOV REC_DATA,#0FFH ;数码管亮
;MOV P2,REC_DATA ;段选送P2,P2链接数码管驱动244的输入
SJMP LOOP ;循环显示
INT0_SERVICE: ;中断0服务程序
SETB P1.0
SETB P1.1
MOV R4,#8 ;8毫秒为高电平错误
SBA:
MOV R5,#250
SBB:
JB P3.2,SXB1
DJNZ R5,SBB
DJNZ R4,SBA
MOV R4,#2
JMP SBC
SXB1:
MOV R5,#5
SXB2: ;去掉20US的尖峰干扰信号
JNB P3.2,SBB
DJNZ R5,SXB2
JMP EXIT
SBC:
MOV R5,#250
SB1:
JB P3.2,SB2 ;2MS内不为高电平错误(监测9MS的低电平引导码)
DJNZ R5,SB1
DJNZ R4,SBC
JMP EXIT
SB2: ;去掉20US的尖峰干扰信号
MOV R5,#5
SB2_A:
JNB P3.2,SB1
DJNZ R5,SB2_A
MOV R4,#3
SB2_1:
MOV R5,#250
SB3: ;监测4.5MS高电平,如3MS内出现低电平错误
JNB P3.2,SXC
DJNZ R5,SB3
DJNZ R4,SB2_1
MOV R4,#2
JMP SB3_1
SXC: ;去掉20US的尖峰干扰信号
MOV R5,#5
SXC1:
JB P3.2,SB3
DJNZ R5,SXC1
JMP EXIT
SB3_1: ;监测4.5MS高电平,如5MS内不为低电平错误
MOV R5,#250
SB3_2:
JNB P3.2,SB4
DJNZ R5,SB3_2
DJNZ R4,SB3_1
JMP EXIT
SB4: ;去掉20US的尖峰干扰信号
MOV R5,#5
SB4_1:
JB P3.2,SB3_2
DJNZ R5,SB4_1
MOV R1,#1AH ;设
原创力文档

文档评论(0)