红外遥控器软件解码原理和程序

红外遥控器软件解码原理和程序

ID:23212362

大小:64.69 KB

页数:7页

时间:2018-11-05

红外遥控器软件解码原理和程序_第1页
红外遥控器软件解码原理和程序_第2页
红外遥控器软件解码原理和程序_第3页
红外遥控器软件解码原理和程序_第4页
红外遥控器软件解码原理和程序_第5页
资源描述:

《红外遥控器软件解码原理和程序》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、红外遥控应用领域非常广泛,给消费者带来了很大的便利,但由于红外通讯协议的庞杂,也给使用者造成了一定的麻烦,同样也给设备集成商造成了不变,不同种控制设备的遥控器均不相同,据统计全世界红外遥控码类型已经超过一万种,中国国内应用的红外码型已经超过600种,其中有很多都是生产厂家为避免与其他设备串码而自定义的,这样对于红外学习来说造成了很大的难度。红外遥控学习的方法有很多,大体上归纳为两种,一拷贝波形,二分析波形,拷贝波形的优点是能学习所有波形,缺点是学习过程中波形畸变也完全复制了,另红外码有多种载波,拷贝波形如加

2、载波一起拷贝显然数据量非常大,因而通行拷贝波形不会拷贝载波,这就导致了可能波形拷贝对了,但载波不对,依然不能控制设备;分析波形的优点是取得波形片段后无论波形如何畸变均能按标准波形发出红外码,缺点是需要建立一个庞大的标准码库,这个工作只能通过不断的积累来完成。本红外学习模块折中了以上两种方式,对于普遍使用的码型采用波形分析的方法,对于不常用的码型采用拷贝波形的方式,并且对于所有的红外码均采用了特征纠偏的方法,经大量实验证明,这种学习方法比较优秀,可以学习电视、DVD、机顶盒、空调、CD、投影机等设备的红外控制

3、信号,同时可以不断更新标准码库,如果已将本红外学习模块应用到产品上,依然可以通过标准串口更新标准码库。本红外学习模块如果大量应用在产品上,为避免每个模块都要学习,可以先学习一个模块,测试成功后通过标准串口将学习好的红外数据传输到其他未学习的模块上,为批量产品提供了便利。本红外学习模块提供了两种电气接口供使用者选择,SPI或TTL电平的串口,通过一个功能选择接口即可选择合适的接口,同时提供给用户三个额外的I/O口,用户可使用命令来控制或读取这三个I/O口,如使用SPI接口则用户可得到一个额外的标准串口,这对于

4、使用多个串口的用户提供了便利,其中SPI接口和串口均为硬件接口,并非通过I/O口模拟的,因而用户可以放心使用,其中SPI接口提供了无SPI功能的MCU与之通讯的模拟程序,方便用户移植,串口则提供了从110~512000bps的波特率,用户可通过寄存器设置(使用SPI做为控制接口时)本红外学习模块提供给用户一个状态复位控制引脚,在本模块上电前将此引脚接地则可以恢复到出厂前的设置,但已学习好的数据不会擦除。本红外学习模块可提供外壳封装版本,可以为客户提供OEM版,为大客户提供单芯片版。关于本模块的使用和应用上的

5、任何问题,请来电或邮件咨询,升级信息及改版信息请见网站通告。http://www.flymcu.comhttp://shop34549393.taobao.com/QQ:47414986EMAIL:czzhouyun@hotmail.com手机:15951211943红外遥控器软件解码原理和程序#include"at89x52.h"#defineNULL0x00//数据无效#defineRESET0X01//程序复位#defineREQUEST0X02//请求信号#defineACK0x03//应答信号,在

6、接收数据后发送ACK信号表示数据接收正确,也位请求信号的应答信号#defineNACK0x04//应答信号,表示接收数据错误#defineBUSY0x05//忙信号,表示正在忙#defineFREE0x06//空闲信号,表示处于空闲状态#defineREAD_IR0x0b//读取红外#defineSTORE_IR0x0c//保存数据#defineREAD_KEY0x0d//读取键值#defineRECEIVE0Xf400//接收缓冲开始地址#defineSEND0xfa00//发送缓冲开始地址#define

7、IR0x50//红外接收缓冲开始地址#defineHEAD0xaa//数据帧头#defineTAIL0x55//数据帧尾#defineSDAP1_7#defineSCLP1_6unsignedcharxdata*buf1;//接受数据缓冲unsignedintbuf1_length;//接收到的数据实际长度unsignedcharxdata*buf2;//发送数据缓冲unsignedintbuf2_length;//要发送的数据实际长度bitbuf1_flag;//接收标志,1表示接受到一个数据帧,0表示没

8、有接受到数据帧或数据帧为空bitbuf2_flag;//发送标志,1表示需要发送或没发送完毕,0表示没有要发送的数据或发送完毕unsignedcharstate1,state2;//用来标志接收字符的状态,state1用来表示接收状态,state2用来表示发送状态unsignedchardata*ir;union{unsignedchara[2];unsignedintb;unsignedchardata*p1[

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

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

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