问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

红外遥控解码程序

发布网友 发布时间:2022-04-27 04:10

我来回答

1个回答

热心网友 时间:2022-06-25 23:57

这是一段把红外遥控接收后用数码管显示出来的程序,你参考一下吧。
程序已经通过编译了。

;遥控器读码程序(晶振为11.0592),该程序能读出遥控器的控制码,并通过LED显示出来
;OMEN 2005/1/16于TCL
;***************************************************************
A_BIT EQU 20H ;数码管个位数存放内存位置
B_BIT EQU 21H ;数码管十位数存放内存位置
NO_OUT EQU 24H ;最终控制号码存放单元
A_NO EQU 25H ;数码管个位数对应代码存放内存位置
B_NO EQU 26H ;数码管十位数对应代码存放内存位置
;22H,23H为控制码及其反码的存放单元

;*******************<<主程序>>***********************************
ORG 0000H
AJMP 0030H
ORG 0003H ;外部中断P3.2脚INT0入口地址
AJMP INT ;转入外部中断服务子程序(解码程序)
ORG 0030H
AJMP MAIN ;转入主程序
;***************************************************************
MAIN: MOV NO_OUT,#0H
SETB EA ;打开CPU总中断请求
SETB IT0 ;设定INT0的触发方式为脉冲负边沿触发
SETB EX0 ;打开INT0中断请求
LOOP: MOV A,NO_OUT;将按键的键值通过P1口的8个LED显示出来!
CPL A ;由于P1发光二极管显示的是电平的反状态,所以取反
MOV P1,A ;发光二极管显示输出
LCALL DISPLAY;LED数码管显示输出
AJMP LOOP;循环
;********************<<中断接受遥控程序>>************************
;以下为进入P3.2脚外部中断子程序,也就是解码程序
INT:
PUSH ACC
PUSH PSW ;将PSW和ACC推入堆栈保护
CLR EA ;暂时关闭CPU的所有中断请求
MOV R6,#10
SB: LCALL DL865;调用865微秒延时子程序
JB P3.2,EXIT;延时865微秒后判断P3.2脚是否出现高电平如果有就退出解码程序
DJNZ R6, SB;重复10次,目的是检测在8650微秒内如果出现高电平就退出解码程序
;以上完成对遥控信号的9000微秒的初始低电平信号的识别。
JNB P3.2, $ ;等待高电平避开9毫秒低电平引导脉冲
LCALL DL4737 ;延时4.74毫秒避开4.5毫秒的结果码
MOV R7,#16;忽略前26位系统识别码

JJJJA:JNB P3.2,$;等待地址码第一位的高电平信号
LCALL DL865;高电平开始后用865微秒的时间尺去判断信号此时的高低电平状态
MOV C,P3.2;将P3.2引脚此时的电平状态0或1存入C中
JNC UUUA;如果为0就跳转到UUUA
LCALL DL1000;检测到高电平1的话延时1毫秒等待脉冲高电平结束
UUUA: DJNZ R7,JJJJA
MOV R1,#22H ;设定22H为起始RAM区
MOV R2,#2;接收从22H到23H的2个内存,用于存放操作码和操作反码
PP: MOV R3,#8;每组数据为8位
JJJJ: JNB P3.2,$;等待地址码第一位的高电平信号
LCALL DL865;高电平开始后用865微秒的时间尺去判断信号此时的高低电平状态
MOV C,P3.2;将P3.2引脚此时的电平状态0或1存入C中
JNC UUU;如果为0就跳转到UUU
LCALL DL1000;检测到高电平1的话延时1毫秒等待脉冲高电平结束
UUU: MOV A,@R1;将R1中地址的给A
RRC A;将C中的值0或1移入A中的最低位
MOV @R1,A;将A中的数暂时存放在R1数值的内存中
DJNZ R3,JJJJ;接收满8位换一个内存
INC R1;对R1中的值加1,换下一个RAM
DJNZ R2,PP ;接收完8位数据码和8位数据反码,存放在22H/23H中
MOV A,22H
CPL A;对22H取反后和23H比较
CJNE A,23H,EXIT;如果不等表示接收数据发生错误,放弃
MOV A,22H
MOV NO_OUT,A
;LCALL EEPROM_C ;清除以前的保存的码
;LCALL DL4737
;LCALL EEPROM_W ;把码存在单片机内部的EEPROM里
;LCALL DL4737
CLR P3.6;蜂鸣器鸣响-嘀嘀嘀-的声音,表示解码成功
LCALL DL4737
LCALL DL4737
LCALL DL4737
SETB P3.6;蜂鸣器停止
lcall DL4737
EXIT: SETB EA ;允许中断
POP PSW
POP ACC ;将PSW和ACC推入堆栈保护
RETI ;退出解码子程序

;*******************<<LED数码管显示子程序>>**********************
DISPLAY:
MOV A,NO_OUT ;将NO_OUT分成个位和16位
ANL A,#0FH ;取低四位放在a_bit
MOV A_BIT,A ;个位
MOV A,NO_OUT ;
RR A
RR A
RR A
RR A ;四次移动,把高四位移到低四位
ANL A,#0FH;取高四位放在B_bit
MOV B_BIT,A ;个位在b
MOV DPTR,#NUMTAB ;指定查表启始地址
MOV A,A_BIT ;取个位数
MOVC A,@A+DPTR ;查个位数的7段代码
MOV A_NO,A
MOV A,B_BIT ;取十位数
MOVC A,@A+DPTR ;查十位数的7段代码
MOV B_NO,A
DPLOP:MOV A,A_NO
MOV P0,A ;送出个位的7段代码
;SETB P2.1;关闭十位显示,防止鬼影
CLR P2.0 ;开个位显示
LCALL DL40 ;显示4737微秒
SETB P2.0;关闭个位显示,防止鬼影
MOV A,B_NO
MOV P0,A ;送出十位的7段代码
CLR P2.1 ;开十位显示
LCALL DL40 ;显示4737微秒
SETB P2.1;关闭十位显示,防止鬼影
RET
;**********************<<延时程序>>******************************
DL865: MOV R4,#12 ; 1.09*(2R5+4)*R4+2延时子程序1,精确延时865微秒
D1: MOV R5,#31
DJNZ R5,$
DJNZ R4,D1
RET
DL4737: MOV R4,#12 ;延时子程序2,精确延时4737微秒
D2: MOV R5,#179
DJNZ R5,$
DJNZ R4,D2
RET
DL1000: MOV R4,#17;延时程序3,精确延时1000微秒
D3: MOV R5,#25
DJNZ R5,$
DJNZ R4,D3
RET
DL40: MOV R4,#1;延时程序4,精确延时40/17微秒
D4: MOV R5,#1
DJNZ R5,$
DJNZ R4,D4
RET

;****************************************************************
;如果是共阳数码管的显示代码 1-F 16个代码
NUMTAB: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,88H,83H,0C6H,0A1H,86H,8EH ;STC新板的
END
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
单刀协会是什么意思? 有没有卖好莱坞道具大师刀剑神域武器真的 人都说刀剑有煞气,放在家里不好,请大师帮我看一下,我这把宝剑煞气重吗... 赶尸真的存在吗,我对此真的是非常感兴趣? 孩子冷血无情怎么办 看不惯自己的孩子,总觉得他事事不如我的意,作业不够认真,缺乏灵性,反应... 我的妹妹读不懂数学,语文写作很没灵性,应该怎么培养她的能力 佛山市邮政储蓄银行的劳务派遣工和正式工有何区别? 音响音质好,主要是老主板还是喇叭啊? 2024材料专业真的是坑吗 单片机接收红外遥控器的信号 红外遥控器发射信号是如何接收的?是数字信号还是模拟信号? 小学美术一年级下册《蚂蚁搬家》教案 怎样区别水管大小尺寸 空调制冷慢的原因?空调制冷的原理是啥? 常见的塑料水管规格有哪些 上海16例重型患者中仅1人打过疫苗,为何疫苗的接种率这么低? 我初中毕业,想在上海读技校,今年16岁,身高160,女生,读什么学校适合我? 上海建邦16区周边有什么学校? 圣芳济各书院的学校历史 临港华二初中定在哪里 华模中学算静安区重点吗? 上海四大金刚八大罗汉指什么学校 在上海 有篮球队排球队手球队的高中学校 唐山技校排名 油性画笔画痕真皮上怎么去掉 母语尴尬症 上海十六中好不好呢?大概每年能考多少个清华北大呢?分数达中国科技大,浙大的有多少呢? ...要是小窍门哟。比如皮衣上沾上了油渍,怎样去除? 上海市第八中学和广州市第十六中学哪个好 想知道红外遥控LED等遥控器方面的程序要怎么写 51单片机红外遥控发射接收的问题???待高手解答。。。不胜感激! 谁能告诉我,这个红外解码程序是什么意思。如何我用遥控器发射一个数字,他是如何接受和处理的,下面是程序 求一个简单的单片机红外遥控控制led灯的收发程序 红外线遥控器解码C语言程序代码 SM0038接受头 什么是 &quot;UltraISO&quot; 在家怎么吃烧烤 在家烧烤怎么做好吃 做法,在家做烧烤怎么做好吃,在家做烧烤的家常做法 怎么在家做好吃的火烧??? excel表格打印后内容不全怎么办 想在家吃烧烤,调料怎么弄啊 在家做烧烤怎么做好吃,在家做烧烤的家常做 手机能扩存吗 手机自带内存能扩大么? 浏览器经常出现网页失去响应是什么原因? 为什么一打开浏览器经常会出现没反应的现象?? 手机转账被骗钱怎么办? 梦见修饰影背墙 影背墙风水