欢迎来到天天文库
浏览记录
ID:33381988
大小:45.00 KB
页数:7页
时间:2019-02-25
《红外遥控器软件解码原理和程序1 (dhd0)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、红外遥控器软件解码原理和程序1(dhd0).txt年轻的时候拍下许多照片,摆在客厅给别人看;等到老了,才明白照片事拍给自己看的。当大部分的人都在关注你飞得高不高时,只有少部分人关心你飞得累不累,这就是友情!『关闭窗口』红外遥控器软件解码原理和程序1(dhd0)红外一开始发送一段13。5ms的引导码,引导码由9ms的高电平和4。5ms的低电平组成,跟着引导码是系统码,系统反码,按键码,按键反码,如果按着键不放,则遥控器则发送一段重复码,重复码由9ms的高电平,2。25ms的低电平,跟着是一个短脉冲,本程序是免费给大家,版权所有,不得用于商业目的,如需用到本程序到商业上请
2、与本人联系jiang_xi_sheng@163.com,经本人同意后方可用于商业目的,本程序经过试用,能解大部分遥控器的编码!#include"at89x52.h"#defineNULL0x00//数据无效#defineRESET0X01//程序复位#defineREQUEST0X02//请求信号#defineACK0x03//应答信号,在接收数据后发送ACK信号表示数据接收正确,也位请求信号的应答信号#defineNACK0x04//应答信号,表示接收数据错误#defineBUSY0x05//忙信号,表示正在忙#defineFREE0x06//空闲信号,表示处于空闲
3、状态#defineREAD_IR0x0b//读取红外#defineSTORE_IR0x0c//保存数据#defineREAD_KEY0x0d//读取键值#defineRECEIVE0Xf400//接收缓冲开始地址#defineSEND0xfa00//发送缓冲开始地址#defineIR0x50//红外接收缓冲开始地址#defineHEAD0xaa//数据帧头#defineTAIL0x55//数据帧尾#defineSDAP1_7#defineSCLP1_6unsignedcharxdata*buf1;//接受数据缓冲unsignedintbuf1_length;//接收到
4、的数据实际长度unsignedcharxdata*buf2;//发送数据缓冲unsignedintbuf2_length;//要发送的数据实际长度bitbuf1_flag;//接收标志,1表示接受到一个数据帧,0表示没有接受到数据帧或数据帧为空bitbuf2_flag;//发送标志,1表示需要发送或没发送完毕,0表示没有要发送的数据或发送完毕unsignedcharstate1,state2;//用来标志接收字符的状态,state1用来表示接收状态,state2用来表示发送状态unsignedchardata*ir;union{unsignedchara[2];uns
5、ignedintb;unsignedchardata*p1[2];unsignedintdata*p2[2];unsignedcharxdata*p3;//红外缓冲的指针unsignedintxdata*p4;}p;//union{////unsignedchara[2];////unsignedintb;//unsignedchardata*p1[2];//unsignedintdata*p2[2];//unsignedcharxdata*p3;//unsignedintxdata*p4;//地址指针//}q;//union{unsignedchara[2];uns
6、ignedintb;}count;union{unsignedchara[2];unsignedintb;}temp;union{unsignedchara[4];unsignedintb[2];unsignedlongc;}ir_code;union{unsignedchara[4];unsignedintb[2];unsignedlongc;unsignedchardata*p1[4];unsignedintdata*p2[4];unsignedcharxdata*p3[2];unsignedintxdata*p4[2];}i;unsignedcharir_key
7、;bitir_flag;//红外接收标志,0为缓冲区空,1为接收成功,2为缓冲溢出voidsub(void);voiddelay(void);voidie_0(void);voidtf_0(void);voidie_1(void);voidtf_1(void);voidtf_2(void);voidread_ir(void);voidir_jiema(void);voidir_init(void);voidir_exit(void);voidstore_ir(void);voidread_key(void);voidreset_iic(void);u
此文档下载收益归作者所有