arduino遥控接收(mini遥控器全部按键响应).doc

arduino遥控接收(mini遥控器全部按键响应).doc

ID:58819342

大小:22.00 KB

页数:5页

时间:2020-10-25

arduino遥控接收(mini遥控器全部按键响应).doc_第1页
arduino遥控接收(mini遥控器全部按键响应).doc_第2页
arduino遥控接收(mini遥控器全部按键响应).doc_第3页
arduino遥控接收(mini遥控器全部按键响应).doc_第4页
arduino遥控接收(mini遥控器全部按键响应).doc_第5页
资源描述:

《arduino遥控接收(mini遥控器全部按键响应).doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、//初学时注意://无线遥控模块发射的高电平,接受时接收到的是低电平响应。为提高响应遥控灵敏度,//本文放宽了对时间的约束。//使用时://请先编辑功能模块函数(workfun),后添加到(switch)按键下。//------------------------workfun-------------------Voidmode1()//模块一{}Voidmode2()//模块二{}//................//可编辑需要遥控下执行的模块//-----------------------------------------------

2、---------//--------------默认接收引脚为数字8-----------------------intPulse_Width=0;//存储脉宽intir_code=0x00;//命令值//---------------timer------------------voidtimer1_init(void)//定时器初始化函数{TCCR1A=0X00;TCCR1B=0X05;//给定时器时钟源TCCR1C=0X00;TCNT1=0X00;TIMSK1=0X00;//禁止定时器溢出中断}//--------------deal--

3、-----------------------voidremote_deal(void)//执行译码结果函数{switch(ir_code){case0xff00://停止按键//要执行的函数例如Mode1();break;case0xf30c://0//要执行的函数break;case0xef10://1//要执行的函数break;case0xee11://2//要执行的函数break;case0xed12://3//要执行的函数break;case0xeb14://4//要执行的函数break;case0xea15://5//要执行的函数br

4、eak;case0xe916://6//要执行的函数break;case0xe718://7//要执行的函数break;case0xe619://8//要执行的函数break;case0xe51a://9//要执行的函数break;case0xfe01://vol+//要执行的函数break;case0xfd02://stop//要执行的函数break;case0xfb04://上一曲//要执行的函数break;case0xfa05://暂停//要执行的函数break;case0xf906://下一曲//要执行的函数break;case0xf70

5、8://下三角//要执行的函数break;case0xf609://vol-//要执行的函数break;case0xf50a://上三角//要执行的函数break;case0xf20d://EQ//要执行的函数break;case0xf10e://ST//要执行的函数break;}}//--------------------------------------charlogic_value()//判断逻辑值“0”和“1”子函数{while(!(digitalRead(8)));//低等待Pulse_Width=TCNT1;TCNT1=0;if(

6、Pulse_Width>=5&&Pulse_Width<=12)//低电平560us{while(digitalRead(8));//是高就等待Pulse_Width=TCNT1;TCNT1=0;if(Pulse_Width>=5&&Pulse_Width<=12)//接着高电平560usreturn0;elseif(Pulse_Width>=22&&Pulse_Width<=30)//接着高电平1.7msreturn1;}return-1;}//------------------------------------------voidpuls

7、e_deal()//接收地址码和命令码脉冲函数{inti;//执行8个0for(i=0;i<8;i++){if(logic_value()!=0)//不是0return;}//执行6个1for(i=0;i<6;i++){if(logic_value()!=1)//不是1return;}//执行1个0if(logic_value()!=0)//不是0return;//执行1个1if(logic_value()!=1)//不是1return;//解析遥控器编码中的command指令ir_code=0x00;//清零for(i=0;i<16;i++){

8、if(logic_value()==1){ir_code

9、=(1<

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

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

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