2014单片机红外遥控

2014单片机红外遥控

ID:12073916

大小:280.54 KB

页数:9页

时间:2018-07-15

2014单片机红外遥控_第1页
2014单片机红外遥控_第2页
2014单片机红外遥控_第3页
2014单片机红外遥控_第4页
2014单片机红外遥控_第5页
资源描述:

《2014单片机红外遥控》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、电子与信息学院单片机实训一、设计目的和要求目的:使用单片机为核心设计并制作一个受红外遥控的家用电风扇。(1)使用89C52芯片(2)红外遥控(3)有档位控制,分为1,2,3档,以及关闭功能。(4)电路隐藏在风扇内,不影响风扇的整体外观。要求:(1)作品在完成基本功能的基础上,功能越多,创意越新。(2)焊接质量版面元器件布置合理整齐,焊接应牢固光滑,无虚焊,走线均匀合理,电源与地线走线及线径粗细合理。二、系统设计3.1系统硬件电路设计(主要硬件设计)(1)9电子与信息学院单片机实训(2)红外接收电路(3)单片机各端口均加上拉电阻。3.2软件设计(给出程序流

2、程图)(1)接收解码程序流程图9电子与信息学院单片机实训(2)开关执行程序:#include#defineGPIO_DIGP0sbitIRIN=P3^2;sbita1=P1^4;sbita2=P1^3;sbita3=P2^5;unsignedcharIrValue[6];unsignedcharTime;voidIrInit();voidDelayMs(unsignedint);voidmain(){P2=0x00;P1=0x00;P0=0x00;IrInit();while(1){if(IrValue[2]==0x45)//关{a1=

3、0;;9电子与信息学院单片机实训a2=0;a3=0;}if(IrValue[2]==0x0c)//1档{a1=1;;a2=0;a3=0;}if(IrValue[2]==0x18)//2档{a1=0;;a2=1;a3=0;}if(IrValue[2]==0x5e)//3档{a1=0;;a2=0;a3=1;}}}三、采用的调试工具及方法、步骤软件调试工具:(1)按照流程图在keil中写出解码程序。烧录到单片机中,检测是否能正确接收到遥控。9电子与信息学院单片机实训(2)编写开关执行程序。(3)STC-ISP烧录软件。硬件:软件仿真中没有红外模块,于是直接采用

4、插面包板进行硬件调试。四、结果与讨论(给出效果图)(1)K1继电器闭合(通过LED1点亮可以看出)(2)K2继电器闭合(通过LED2点亮可以看出)(3)K3继电器闭合(通过LED3点亮可以看出)(4)效果图:五、参考文献(不能将教科书作为参考文献)《51单片机开发与应用》《51单片机入门》百度文库附录1给出一幅清晰完整的系统原理图附录2完整程序清单附录3作品工作过程完整视频(一律为AVI格式)程序:#include#defineGPIO_DIGP0sbitIRIN=P3^2;sbita1=P1^4;sbita2=P1^3;sbita3=

5、P2^5;9电子与信息学院单片机实训unsignedcharIrValue[6];unsignedcharTime;voidIrInit();voidDelayMs(unsignedint);voidmain(){P2=0x00;P1=0x00;P0=0x00;IrInit();while(1){if(IrValue[2]==0x45)//关{a1=0;;a2=0;a3=0;}if(IrValue[2]==0x0c){a1=1;;a2=0;a3=0;}if(IrValue[2]==0x18){a1=0;;a2=1;a3=0;}if(IrValue[2]=

6、=0x5e){a1=0;;a2=0;a3=1;}}}voidDelayMs(unsignedintx)//0.14ms误差0us9电子与信息学院单片机实训{unsignedchari;while(x--){for(i=0;i<13;i++){}}}voidIrInit(){IT0=1;//下降沿触发EX0=1;//打开中断0允许EA=1;//打开总中断IRIN=1;//初始化端口}voidReadIr()interrupt0{unsignedcharj,k;unsignedinterr;Time=0;DelayMs(70);if(IRIN==0)//确认

7、是否真的接收到正确的信号{err=1000;//1000*10us=10ms,超过说明接收到错误的信号/*当两个条件都为真是循环,如果有一个条件为假的时候跳出循环,免得程序出错的时侯,程序死在这里*/while((IRIN==0)&&(err>0))//等待前面9ms的低电平过去{DelayMs(1);err--;}if(IRIN==1)//如果正确等到9ms低电平{err=500;while((IRIN==1)&&(err>0))//等待4.5ms的起始高电平过去9电子与信息学院单片机实训{DelayMs(1);err--;}for(k=0;k<4;k

8、++)//共有4组数据{for(j=0;j<8;j++)//接收一组数据{err

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

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

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