您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 红外遥控器信号接收和显示的设计实现
电子电路综合设计实验报告题目:红外遥控器信号接收和显示的设计实现(选题十四)班级:08-0441姓名:简杰学号:2008044127日期:2011.4.6—2011.4.13成绩:摘要:随着电子技术的发展,红外遥控器越来越多的用到电器设备中,为电器用户提供了极大的方便。但是,对于电器生产厂家来说,各种型号的遥控器的大量使用带来的遥控器的大批量多品种的生产检测却是一个难题。目前市场上对遥控器的检测还是使用比较落后的手动方式逐一进行,使得一线的检测工人既费时费力而又效率低下;另外,在电器产品的调试过程中,当出现控制故障时,很难判断到底是遥控器的发射故障还是电器上的接收故障。因此,研制一种智能红外遥控器检测装置,以改变生产一线的这种状况成为一种迫切的需要。本实验中的红外遥控器信号的接收和显示电路以单片机和一体化红外接收器为核心技术,具体由单片机最小系统、单片机与PC机间的通信模块、红外接收模块、数码管显示模块和流水灯模块组成。在实验的设计中,采用HS0038塑封一体化红外线接收器,不需要任何外接元件,就能完成从红外线接收到输出与TTL电平信号兼容的所有工作,而且体积和普通的塑封三极管大小一样,它适合于各种红外线遥控和红外线数据传输。整个电路分为四个模块:单片机最小系统、通信模块、红外接收模块以及数码管显示模块。根据输入信号的不同,在数码管显示电路上显示相应的按键数字或音量调节表现出的流水灯功能,并通过串口调试助手,在遥控器有按键按下时,将其键值显示在PC机上。一.设计任务与要求:结合单片机最小电路和红外线接收接口电路共同设计一个基于单片机的红外遥控信号接收与转发系统,用普通电视机遥控器控制该系统,使用数码管显示信号的接收结果。1.当遥控器重复按下某数字键时,数码管显示不变。2.当遥控器按下某数字键时,在数码管上显示其键值。如按下数字键1,则在数码管上显示号码“01”。3.当遥控器按下音量加减键时,用两位数码的周围段实现顺时针或者逆时针旋转的流水灯功能。4.运用串口调试助手,当遥控器有按键按下时,将其键值显示在PC机上。二.系统概述1设计方案为了实现系统整体功能,红外解码部分是核心,红外解码指将遥控发射器所产生的红外遥控编码脉冲所对应的键值翻译出来的过程。下面将系统方案做一论证,通常有硬件解码和软件解码两种方案。方案一:硬件解码此方案中,使用专用遥控器作为控制信号发出装置,当按下遥控器的按键后,一体化红外接收装置接收到遥控器发出的设置控制信号,然后将信号送到专用的解码芯片中进行解码,解码后将信号送到单片机,由单片机查表判断这个信号是按键数值信号或控制音量、频道等信号,当确认是何种信号后,启动子程序,然后进行查询。每次红外接收头接收到红外信号传到解码器中,解码器解码完毕后送到单片机,单片机再通过查表确定这些数值并进行相应功能的控制。设计原理图如图1所示。图1方案一原理图方案二:软件解码此方案中,采用普通的家用遥控器作为控制信号发出装置,当按下遥控器的按键后,一体化红外接收装置接收到遥控器发出的红外线控制信号,然后把这个信号转换成电信号,传到单片机中,利用单片机对这个信号进行解码,解码完成后查表确定是按键数值信号或控制音量、频道等信号,启动子程序,进行相应的显示数字等功能。然后查询,重复上述流程。设计原理图如图2所示。图2方案二设计原理图2方案比较与选取方案一为硬件解码方案,硬件解码需要使用与遥控器相配套的专用的解码器芯片,而解码芯片一般不易得到,价格也较贵,或者自行开发解码电路(但电路太复杂,性能欠佳)。方案二为软件解码方案,软件解码可以不考虑遥控器的芯片是什么型号的,因为我们只需检测到它的发射编码,然后用软件方式来对它进行处理,从而得到所要的信息。软件解码具有灵活、硬件精简(仅需集成红外接收头和一片单片机)、可靠性高,成本低等特点。基于以上特点,选取方案二作为实验方案。3系统框图系统框图如图3所示。单片机通信模块数码管HS0038红外接收图3系统框图遥控器为控制信号的发出装置,用一体化红外接收装置HS0038接收遥控器发出的红外线控制信号,并与单片机相连实现数据传输,通过单片机编程将接收到的数字编码在数码管上显示出来,当按下左右键时,数码管将实现流水灯现象。使用MAX232芯片、串口及若干电容来完成串口模块,以实现单片机和PC机的通信功能并且达到可以使用串口调试助手的目的。三.单元电路设计与分析1单片机最小系统单片机选用STC89C51,主要负责整个系统的控制及数据的存储和处理。放大器与作为反馈元件的片外晶体谐振器一起构成一个自激振荡器。外接晶体谐振器以及电容构成并联谐振电路,接在放大器的反馈回路中。根据情况本设计中选择11.0592MHz的晶振,补偿电容选择30pF左右的电容。单片机最小系统电路图如图4所示。图4单片机最小系统2通信模块通信模块用于将编写好的程序下载至单片机中,采用MAX232与串口相连组成了通信下载电路。MAX232是MAXIM公司专门为PC视RS-232标准串口设计的电平转换电路。该芯片与TTL/COMS电平兼容,片内有2个发送器,2个接收器,且使用+5V单电源供电。通信模块电路如图5所示。图5通信模块电路图3红外接收模块本电路采用HS0038塑封一体化红外线接收器,它是一种集红外线接收、放大、整形于一体的集成电路,不需要任何外接元件,就能完成从红外线接收到输出与TTL电平信号兼容的所有工作,没有红外遥控信号时为高电平,收到红外信号时为低电平,而且体积和普通的塑封三极管大小一样,它适合于各种红外线遥控和红外线数据传输。电路图如图6所示。图6红外接收电路4数码管显示电路数码管显示电路采用两位共阳数码管LG5022BH,由单片机的P3^2和P3^3作为位选口,输出低电平时数码管被选中;P1口作为段选。选用三极管S8550驱动,e极与VCC相连,b极接电阻后与单片机的P3^2和P3^3口相连,c极与数码管的位选口相连。数码管显示电路如图7所示。图7数码管显示电路四安装调试及测量数据分析总体电路一次组装完毕后,首先采用分块调试,采用这种调试的方法,可以缩小问题出现的范围,可及时发现,易于解决。首先进行单片机最小系统的测试,将单片机的VCC与电源正极相连,连接完成后用示波器观察晶振两端起振,且30管脚有波形。单片机最小系统正常工作。其次测试通信模块,测试单片机与PC机之间能否正常通信,单片机与PC机之间正常通信,通信模块测试正常。再次对数码管显示电路进行测试,首先将数码管动态显示的程序下载至单片机中对数码管显示电路进行测试,数码管显示正常。之后进行程序下载调试。主函数软件流程图如图8所示。开始定时器模式选择初始化读取P3端口P3^4是否为低电平?延时100us否是P3^4是否为高电平?否P3^4是否为低电平?读取P3端口读取P3端口定时器初始化关闭定时器调用解码函数解码后数据是否为0x1a(音量加按键)?解码后数据是否为0x1e(音量减按键)?延时9000us调用显示函数是是否否否调用流水灯逆函数调用流水灯顺函数是是图8主函数软件流程图将编写好的程序下载到最小系统中后,数码管的按键和流水灯显示正常,在使用串口调试助手实现单片机与PC机之间的通信时,PC机接收到得数据有误,后经程序修正及调节串口调试助手的比特率,使得两机之间的通信顺利进行。至此,电路和程序全部调试完毕。五.结束语本实验设计结束后满足设计要求,实现了遥控器按下数字键时,在数码管上显示其键值。如按下数字键1,则在数码管上显示号码“01”;当遥控器按下左键及右键时,两位数码的周围段实现顺时针或者逆时针旋转的流水灯功能;运用串口调试助手,在遥控器有按键按下时,能将其键值显示在PC机上。本设计仍然存在着一些不足之处,例如只能实现对遥控器少量按键在数码管上的显示情况,而对于其他按键的显示大多没有规律或显示乱码,在此方面有待提高和改进。通过此次试验的整个设计,焊接以及调试的完成,使我了解了常用红外接收器的原理并基本掌握了其设计和使用的方法,了解了实际遥控器编码的数据格式,掌握了数码管显示电路的实际构建方法,了解了单片机最小系统的构成及应用设计,熟悉了单片机串行通信模块的设计。以往的各类实验课实验中,多数为单元实验且电路模式比较固定,调试也较容易,多数实验没能培养出我们对整个电子电路系统的整体认识,而通过这次的实验,不仅使我学到了有关红外接收方面的知识,而且,提高了对整个电子电路系统从设计到调试整体的系统性认识,培养了综合运用多学科相关知识进行初步工程设计与实际装调系统电路的能力,收获颇多。最后,感谢高敬鹏老师在整个实验过程中给我们的指点和帮助!六.附录附录一:元件表元器件名称数量40脚IC座116脚IC座1单片机STC89C511红外接收器HS00381MAX2321两位共阳数码管(LG5022BH)1串口1开关1按键111.0592M晶振1三极管85502电容(104)6电容(30pF)2电阻(10K)1电阻(1K)2电阻(270)8单排座1万用板1附录二:参考文献1.《实用电子系统设计基础》姜威.北京理工大学出版社.2.《电子线路设计实验测试》罗杰,谢自美.电子工业出版社.3.《单片机实验与应用系统设计》范蟠果.国防工业出版社.4.《红外遥控在节能和无线操作方面的应用》王伟生,郑小真.河南工业大学5.《单片机C语言开发技术》龚运新.清华大学出版社6.《51单片机及其C语言程序开发实例》戴仙金北京-清华大学出版社附录三:程序#includereg51.h#defineucharunsignedchar#defineuintunsignedint//宏定义sbita=P3^3;sbitb=P3^2;intread,bj,result,yiweiresult,nuresult,k=0;uchartable[4]={0};//定义数组用来存放用户码和数据码uchardis[16]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e};//数码管显示编码uchartablea[3]={0xef,0xdf,0xfe};//{0xef,0xdf,0xfe};uchartableb[4]={0xfe,0xfd,0xfb,0xf7};//{0xfe,0xfd,0xfb,0xf7};uchartableaf[2]={0xef,0xf7};//{0xef,0xf7};uchartablebf[2]={0xfe,0xdf};//{0xfe,0xdf};//数码管流水灯顺时针逆时针数组voiddelay_9000us(){uinti,j;for(i=0;i5;i++)for(j=0;j308;j++);}//延时9.0msvoiddelay_5000us(){uinti,j;for(i=0;i2;i++)for(j=0;j308;j++);}//延时5.0msvoiddelay_100us(){uinti,j;for(i=0;i1;i++)for(j=0;j11;j++);}//延时100usvoiddelay_6ms(){uinti,j;for(i=0;i1;i++)for(j=0;j660;j++);}//延时6msvoiddelay_500ms(){uintj;for(j=0;j12850;j++){read=P3;if((read&0x10)==0)break;}}//延时500msvoidstart_t0(){TH0=0;TL0=0;TR0=1;}//定时计数器初始化/*解码子函数*/ucharjiema(){uchari,j,rd,pd,dat=0;for(i=4;i0;i--){for(j=8;j0;j--){dat=1;dord=P3;while(!(rd&0x10));//等待高电平start_t0();//初始化定时器dord=P3;while(rd&0x10);//等待低电平TR0=0;//关闭定时器pd=TH0;i
本文标题:红外遥控器信号接收和显示的设计实现
链接地址:https://www.777doc.com/doc-2308587 .html