单片解码红外遥控器lcd显示

单片解码红外遥控器lcd显示

ID:39416918

大小:677.50 KB

页数:17页

时间:2019-07-02

单片解码红外遥控器lcd显示_第1页
单片解码红外遥控器lcd显示_第2页
单片解码红外遥控器lcd显示_第3页
单片解码红外遥控器lcd显示_第4页
单片解码红外遥控器lcd显示_第5页
资源描述:

《单片解码红外遥控器lcd显示》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、单片机原理课程设计与调试课题名称:遥控器红外解码数液晶显示专业班级:电子信息科学与技术(2)班学生学号:1114040218学生姓名:刘家玲设计时间:2013年6月17日遥控器红外解码数液晶显示一.红外遥控器编码遥控器编码分好几种,常见的32位编码码和42位编码码,目前我手中遥控器就是42位编码,如图1所示,当有按键时就会产一个9.12ms低电平和4.5ms高电平的起始码,紧接着是26位系统码,此系统码能区别不同的电器设备,防止不同机种遥控码互相干扰,接下来是8位数据码和8位数据反码,间隔23ms的高电平后,再发

2、一个与启始码完全一样的结束码:控制整个电路的运行。其外围电路主要有两部分:复位电路和晶体振荡器。二、电路图三、调试四、解码就对其进行解码,所谓解码就是能用单片机把以不同宽度的脉冲区别开来,一种比较好思路就是计算两次下降沿间隔时间,当单片机外部中断1口有下降沿时中断一次,并启动定时器,定时器定50us,当下次下降沿到来时我们计算定时器中断的次数,这样我们就能很好的区分不同宽度的脉冲了。实际上,我们红外接收头收到的信号的是有毛刺的,放大后就如下图,所以在下降沿中断触发后,要做延时去抖处理:五、完整解码程序 ORG00

3、00HAJMPMAIN;转入主程序ORG0003H;外部中断P3.2脚INT0入口地址AJMPINTMAIN:SETBEA;打开CPU总中断请求SETBIT0;设定INT0的触发方式为脉冲负边沿触发SETBEX0LJMPSTARTUP1(C:01FD)LJMPEX0_ISR(C:00A2)INCirtime(0x22)RETINOPNOPINTO:LJMPtim0_isr(C:0006)MOVA,IRcord(0x33)//处理客户码十六进制高位SWAPAANLA,#0x0FMOVDPTR,#Tab(0x0145

4、)MOVCA,@A+DPTRMOVTempData(0x23),AMOVA,IRcord(0x33)ANLA,#0x0FMOVCA,@A+DPTRMOV0x24,AMOV0x25,#0x2D//处理客户码MOVA,0x34SWAPAANLA,#0x0FMOVCA,@A+DPTRMOV0x26,AMOVA,0x34MOVCA,@A+DPTRMOV0x27,AMOV0x28,#0x2D//处理数据码MOVA,0x35SWAPAANLA,#0x0FMOVCA,@A+DPTRMOV0x29,AMOVA,0x35ANLA,

5、#0x0FMOVCA,@A+DPTRMOV0x2A,AMOV0x2B,#0x2D//处理数据反码MOVA,0x36SWAPAANLA,#0x0FMOVCA,@A+DPTRMOV0x2C,AMOVA,0x36ANLA,#0x0FMOVCA,@A+DPTRMOV0x2D,AMOVR3,#0x00MOVR2,#0x00TempData:MOVR1,#TempData(0x23)MOVR5,#0x01MOVR7,#0x05LCALLLCD_Write_String(C:0155)//处理完成标志CLRirpro_ok(0

6、x20.1)//初始化外部中断RETLCALLEX0init(C:0215)//初始化定时器LCALLTIM0init(C:01F0)//初始化液晶LCALLLCD_Init(C:0109)MOVR7,#0x14//延时有助于稳定MOVR6,#0x00LCALLDelayMs(C:0198)LCALLLCD_Clear(C:0209)//清屏MOVR3,#0xFFMOVR2,#0x01MOVR1,#0x30LCALL:LCD_Write_String(C:0155)MOVR3,#0xFFMOVR2,#0x01MO

7、VR1,#0x3FMOVR5,#0x01CLRAMOVR7,ALCALLLCD_Write_String(C:0155)//如果接收好了进行红外处理JNBirok(0x20.0),C:009A//红外码处理LCALLIrcordpro(C:00D8)CLRirok(0x20.0)//如果处理好后进行工作处理,如按对应的按键后显示对应的数字等JNBirpro_ok(0x20.1),C:0092LCALLIr_work(C:000E)SJMPC:0092//外部中断0服务函数PUSH:PUSHACC(0xE0)//接

8、收红外信号处理PUSHPSW(0xD0)MOVPSW(0xD0),#0x00PUSH0x00MOVA,irtime(0x22)CLRCSUBBA,#0x21JCC:00BBIrtime:MOVA,irtime(0x22)SUBBA,#0x3FJNCC:00BBMOV0x21,#0x00//存储每个电平的持续时间,用于以后判断是0还是1ADDA,0x21MOVR0,AMOV

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。