教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 文库大全 > 求职职场 >

51单片机红外遥控解码程序(2)

来源:网络收集 时间:2026-01-20
导读: ; MOV A,CODE4 ; CJNE A,#10H,EXIT_REMOT ; MOV A,CODE3 ; CJNE A,#0EFH,EXIT_REMOT ;---------------按键码判断----------------------- MOV A,CODE2 CPL A XRL A,CODE1 JNZ EXIT_REMOT ACALL FENLI AJMP EXIT_REM

; MOV A,CODE4

; CJNE A,#10H,EXIT_REMOT ; MOV A,CODE3

; CJNE A,#0EFH,EXIT_REMOT

;---------------按键码判断----------------------- MOV A,CODE2 CPL A

XRL A,CODE1 JNZ EXIT_REMOT ACALL FENLI

AJMP EXIT_REMOT1

51单片机红外遥控解码程序

;--------------将按键码转换为标准的码值----------- OK_REMOT:

MOV TIME3_REMOT,#15 ;按键数:15个按键

MOV R4 DPTR,#TAB_REMOT ;指针指向按键码值表 OK_REMOT1:

MOV A,TIME3_REMOT ;将码值表第一个数与CODE2比较 MOVC A,@A+DPTR XRL A,CODE2

JZ OK_REMOT2 ;相同,已经找到,跳转出口

DJNZ TIME3_REMOT,OK_REMOT1;不同,未找到,取下一个按键码值比较,直到相同为止 AJMP EXIT_REMOT1 ;已经找完码值表,未找到匹配数据,退出 ;------------- OK_REMOT2:

MOV R4,TIME3_REMOT ;将标准码值存入R4 AJMP EXIT_REMOT

;--------------------按键码值表------------------------ TAB_REMOT: DB 0H ;SETB

;ST.BY-INPUT-REST DB 04H,02H,06H ;

;FR- MAST+ FR+ DB 0EH,07H,00H

; ;SUB- MUTE SUB+ DB 10H,0FH,12H

; ;CEN- MAST+ CEN+ DB 13H,03H,0AH

; ;SUR- SET75 SUR+ DB 11H,08H,01H

;---------------解码中断退出程序-------------------- EXIT_REMOT1: ;异常退出 MOV TIME1_REMOT,#32 EXIT_REMOT: ;正常退出

51单片机红外遥控解码程序

MOV TH0,#0 ;重设定时器0 MOV TL0,#0 SETB EA

SETB TR0 ;开中断 ; SETB EX0

CLR IE0 ;清外中断标志,避免反复中断 POP DPL POP DPH POP PSW

POP ACC ;出栈 SETB P1.7 RETI

;=========================红外解码中断程序完毕==================== ;=========================定时中断程序============================ ;============================================================ ;以下为定时器中断程序

;功能:每120MS清除遥控用户码缓存 ;入口函数: ;出口函数:

;============================================================ TIME0: CLR EA

MOV TH0,#0 MOV TL0,#0 MOV CODE1,#0 MOV CODE2,#0 MOV CODE3,#0 MOV CODE4,#0 SETB EA RETI

;============================================================== ;=======================以下为数码管显示数分离子程序================

; ;功能:将遥控器的用户码,用户反码,按键码,的十位与个位分离 ;入口函数:R3--用户码,R2--用户反码,R1---按键码

;出口函数:D1-用户码十位,D2--用户个位,D3--用户反码十位,D4---用户反码个位, ; ;D5---按键码十位,D6---按键码个位

;---------------------------------------------------------- FENLI:

51单片机红外遥控解码程序

MOV A,R3 ;分离用户反码 MOV B,#16 DIV AB MOV D1,A MOV D2,B

MOV A,R2 ;分离用户码 MOV B,#16 DIV AB MOV D3,A MOV D4,B

MOV A,R1 ;分离按键码 MOV B,#16 DIV AB MOV D5,A MOV D6,B RET

;-----------分离完毕-------------------------

;===================以下为数码管显示子程序======================= ;入口函数:D1---D6

;-------------------------------------------------------------- DIG:

MOV DPTR,#TAB_DIG ;显示用户反码十位 MOV A,D1

MOVC A,@A+DPTR MOV P2,#0FFH MOV P0,A CLR DIG1

ACALL YS2MS

MOV DPTR,#TAB_DIG ;显示用户反码个位 MOV A,D2

MOVC A,@A+DPTR MOV P2,#0FFH MOV P0,A CLR DIG2

ACALL YS2MS

MOV DPTR,#TAB_DIG ;显示用户码十位

51单片机红外遥控解码程序

MOV A,D3

MOVC A,@A+DPTR MOV P2,#0FFH MOV P0,A CLR DIG3

ACALL YS2MS

MOV DPTR,#TAB_DIG ;显示用户码个位 MOV A,D4

MOVC A,@A+DPTR MOV P2,#0FFH MOV P0,A CLR DIG4

ACALL YS2MS

MOV DPTR,#TAB_DIG ;显示按键码十位

MOV A,D5 MOVC A,@A+DPTR MOV P2,#0FFH MOV P0,A CLR DIG5 ACALL YS2MS MOV DPTR,#TAB_DIG ;显示按键码个位 MOV A,D6 MOVC A,@A+DPTR MOV P2,#0FFH MOV P0,A CLR DIG6

ACALL YS2MS

;---------------------------显示完毕----------------------------------- RET

;------------------------------数码管段码表------------------------------------ TAB_DIG: ;0 1 2 3 4 5 6 7 8 9 A B C D E F 全亮 消隐

DB 5H,0B7H,51H,31H,0A3H,29H,9H,37H,1H,21H,3H,89H,4DH,4DH,49H,4BH,0h,0ffh ;------------------------------延时------------------------------------------- YS2MS: MOV R7,#15

DEL1:MOV R6,#100 DJNZ R6,$ DJNZ R7,DEL1 RET

END

…… 此处隐藏:1254字,全部文档内容请下载后查看。喜欢就下载吧 ……
51单片机红外遥控解码程序(2).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wenku/118894.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)