欢迎来到天天文库
浏览记录
ID:13320398
大小:19.44 KB
页数:9页
时间:2018-07-22
《基于单片机的红外遥控器设计》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、基于51单片机的红外遥控器设计天津职业大学二○一五~二○一六学年第1学期电子信息工程学院通信系统综合实训报告书课程名称:通信系统综合实训班级:通信技术(5)班学号:130404564013040456411304045646姓名:韩美红季圆圆陈真真指导教师:崔雁松2015年11月17日一、任务要求利用C51单片机设计开发一套红外线收发、显示系统。具体要求:●编写相关程序(汇编、C语言均可);●用Proteus绘制电路图并仿真实现基本功能;●制作出实物二、需求分析(系统的应用场景、环境条件、参数等)现在各种红外线技术已经源源不断进入我们的生活中,在很多场合发挥着作用。机场、宾馆、商场等的自
2、动门,会在人进出时自动地开启和关闭。原来,在自动门的一侧有一个红外线光源,发射的红外线照射到另一侧的光电管上,红外线是人体察觉不到的。当人走到大门口,身体挡住红外线,电管接收不到红外线了。根据设计好的指令,触发相应开关,就把门打开了。等人进去后,光电管又可以接到红外线,恢复原来的线路,门又会自动关闭。因此这种光电管被称为“电眼”,在许多自动控制设备中大显身手。在家庭中,许多电子设备如彩色电视、空调、冰箱和音响等,都使用了各种“红外线遥控器”。利用它我们可以非常方便的转换电视频道或设定空调的温度档次。三、概要设计(系统结构框图/系统工作说明流程图)红外线收发、显示系统硬件由以下几部分组成:
3、红外遥控器,51单片机最小系统,接收放大器一体集成红外接收头,LED灯显示电路。红外线接收是把遥控器发送的数据(已调信号)转换成一定格式的控制指令脉冲(调制信号、基带信号),是完成红外线的接收、放大、解调,还原成发射格式(高、低电位刚好相反)的脉冲信号。这些工作通常由一体化的接收头来完成,输出TTL兼容电平。最后通过解码把脉冲信号转换成数据,从而实现数据的传输。红外遥控系统电路框图四、详细设计(Proteus电路图、程序流程图、源程序清单)1)Proteus电路图:2)程序流程图:程序是首先初始化红外接收端口,然后检测是否接收红外信号,如果接收到红外信号就调用接收子程序,然后就通过L额度
4、LED显示当前按键的结果,如图所示:N程序流程图3)源程序清单:#include<reg51.h>//头文件#defineucharunsignedchar//这里用"uchar"代替"unsignedchar","uchar"用来定义无符号字符型数。#defineuintunsignedint//"uint"用来定义无符号整型数。uchardistemp;//定义变量ucharIRCOM[7];/*********声明子函数**************/voiddelay(ucharx);//x*0.14MSvoiddelayms(uint);sbitIRIN=P3^3;/
5、/定义红外接收器数据线/********定义LED灯口线***********/sbitP2_0=P2^0;//定义LED灯口线。sbitP2_1=P2^1;sbitP2_2=P2^2;sbitP2_3=P2^3;sbitP2_4=P2^4;sbitP2_5=P2^5;sbitP2_6=P2^6;sbitP2_7=P2^7;voidIR_IN()interrupt2using0{unsignedcharj,k,N=0;EX1=0;delay(15);if(IRIN==1){EX1=1;return;}//确认IR信号出现while(!IRIN)//等IR变为高电平,跳过9ms的前导低电平
6、信号。{delay(1);}for(j=0;j<4;j++)//收集四组数据{for(k=0;k<8;k++)//每组数据有8位{while(IRIN)//等IR变为低电平,跳过4.5ms的前导高电平信号。{delay(1);}while(!IRIN)//等IR变为高电平{delay(1);}while(IRIN)//计算IR高电平时长{delay(1);N++;if(N>=30){EX1=1;return;}//0.14ms计数过长自动离开。}//高电平计数完毕IRCOM[j]=IRCOM[j]>>1;//数据最高位补“0”if(N>=8){IRCO
7、M[j]=IRCOM[j]
8、0x80;}//数据最高位补“1”N=0;}}if(IRCOM[2]!=~IRCOM[3]){EX1=1;return;}switch(IRCOM[2]){case0x45://全亮P2=0x00;break;case0x47://全灭P2=0xff;break;case0x16://P2_7=~P2_7;break;case0x0c:P2_6=~P2_6;break;case0x18:P2_5=~P2_
此文档下载收益归作者所有