完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
直接复制过来的。。注释看不了。。。。
#include typedef unsigned char uint8; ***it IR=P3^3; uint8 IR_buf[4]; //±£´æ½âÂë½á¹û void uart_init() { TMOD=0X21; SCON=0X50; //´®ÐпڿØÖƼĴæλ TH1=0XFD; TL1=0XFD; TR1=1; } void uart_send(uint8 dat) { SBUF=dat; //½«datµÄÖµ¸³¸øSBUF´®¿Ú while(ti==0); // TI=0; } unsigned int IR_get() { TL0=0; TH0=0; TR0=1; while(!IR &&(TH0&0X80)==0); //!IRºÍ(TH0&0X80)½øÐа´Î»ÓëÔËËã¡£Ö»ÒªÓÐÒ»¸öÌõ¼þΪ0¾ÍÌø¹ýwhile È»ºó¶Áȡʱ¼ä TR0=0; //¹Ø±Õ¶¨Ê±Æ÷ return (TH0*256+TH0); //·µ»Øʱ¼äÖµ } unsigned int IR_geth() { TL0=0; TH0=0; TR0=1; while(IR&&(TH0&0X80)==0); TR0=0; return(TH0*256+TH0); } void main () { unsigned int temp; char i,j; uart_init(); while(1) { start: while(IR); temp=IR_get(); if((temp<7833)||(temp>8755)) //µÍµçƽÂö³å8500-9500US goto start; temp=IR_geth(); if((temp<3686) || (temp>4608)) //¸ßµçƽÂö³å4000-5000US goto start; for(i=0;i<4;i++) //4¸ö×Ö½Ú { for(j=0;j<8;j++) //ÿ¸ö×Ö½Ú8λ { temp=IR_get(); if((temp<184)||(temp>737)) //200-800us goto start; temp=IR_geth(); if((temp<184)||(temp>1843)) //200-2000us goto start; IR_buf[i]>>=1; if(temp>1302) IR_buf[i]|=0x80; } } uart_send(IR_buf[0]); uart_send(IR_buf[1]); uart_send(IR_buf[2]); uart_send(IR_buf[3]); } } |
|
相关推荐
3个回答
|
|
通讯协议呢?
|
|
|
|
|
|
|
|
这个程序中应该有对应遥控器过来信息的解析,之后你再通过串口读出来!
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
910 浏览 2 评论
【youyeetoo X1 windows 开发板体验】+ 影音处理和AI模型移植
767 浏览 5 评论
I.MX6ULL-飞凌 ElfBoard ELF1板卡- 移植zbar的方法
910 浏览 0 评论
1608 浏览 3 评论
由于 Windows 无法加载这个设备所需的驱动程序,导致这个设备工作异常?
2475 浏览 1 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
3773 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-3-29 20:13 , Processed in 0.290267 second(s), Total 38, Slave 32 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 深圳华秋电子有限公司
电子发烧友 (电路图) 粤公网安备 44030402000349 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号