版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于单片机的多路遥控系统的设计摘要:随着社会的发展、科技的进步以及人们生活水平的逐步提高,各种方便于生活的遥控系统开始进入了人们的生活。本文介绍了一种基于单片机STC89C52最小系统的多路遥控系统。当按键时,发射模块的单片机根据键号进行软件编码,由红外发射二极管发射;接收器HS0038接收,由接收模块的单片机在其内部进行状态解码,从而实现不同的功能。该论文重点描述了单片机红外遥控器的设计思想及软硬件电路的工作原理、设计过程,并叙述了调试过程以及调试中所出现的问题,最后给出详细的测试数据并且进行了分析。关键词:单片机;红外遥控;编码;解码TheDesignofMultiRemoteControlSystemontheBasisofsingleChipAbstract:Withthesocialandscientificdevelopmentandimprovementofpeople’slivingstandard,variousremotecontrolsystemsfortheconvenienceofourlifecomeintobeing.ThispaperintroducesaminimaltypeofmultiremotecontrolsystembasedonthesinglechipSTC89C52.Whenpressingthebutton,thesinglechipoftransmittingmoduleencodessoftwareaccordingtokeynumber,andbywayofthetransmissionofinfrareddiodethereceiverHS0038takesthesignal.Thesinglechipofreceivermodulecarriestheinternaldecodingprocesssoastorealizedifferentfunctions.Thispaperfocusesonthedescriptionofthedesignandpricipleofinfraredremotecontrolofsinglechip,andaccountsforthesystemdebugginganditsproblemsrelated.Finallythedetailedtestingdataandtheiranalysisareprovided.Keywords:SingleChip;InfraredRemoteControl;Encoding;Decoding目录TOC前言 1第一章设计任务 21.1设计的内容与功能 21.2技术指标 2第二章总体设计方案 32.1设计方案的论证 32.1.1红外遥控发射电路的方案论证 32.1.2红外遥控接收电路的方案论证 32.1.3单片机的选择 42.1.4显示器件选择 42.2红外遥控系统电路的原理框图以及各部分作用 42.2.1红外发射部分原理框图以及各部分作用 42.2.2红外接收部分原理框图以及各部分作用 5第三章系统硬件电路的设计 73.1单片机遥控接收部分的硬件电路 73.1.1电源电路 73.1.2红外接收部分电路 83.1.3显示电路 93.1.4控制电路 93.1.5单片机STC89C52的最小系统的连接电路 103.2单片机遥控发射部分的硬件电路 11第四章遥控发射及接收控制电路的软件设计 134.1软件设计流程图 134.1.1遥控发射主程序流程图 134.1.2键扫描程序流程图 144.1.3遥控码发射程序流程图 164.1.4遥控接收器主程序流程图 194.1.5中断程序流程图 23第五章系统调试 265.1本设计常用的调试仪器 265.2调试步骤: 265.2.1调试前不加电源的检查 265.2.2静态检测与调试 265.2.3动态检测与调试 275.2.4调试过程中所遇到的问题及解决方法 275.2.5调试注意事项 28第六章测试结果与分析 296.1测试结果 296.2问题分析 29参考文献 31致谢 32附录 33附录一发送接收电路原理图 33附录二程序清单 34附录三元器件清单 43附录四英文资料 44前言无线遥控是指利用无线电波、红外线、超声波等作为载体,不用导线,而在空间传输,实现对被控目标的控制。实现对以家用电器为代表的中小型电器的遥控方法,主要有无线电遥控和红外线遥控[1]。红外线遥控与无线电遥控相比:红外光波的波长远小于无线电波的波长,因此红外线遥控信号不会影响其它家用电器,也不会影响到邻近的无线电设备;另外,红外线遥控不具有无线电遥控那样穿透障碍物去控制被控对象的能力,在设计家用电器的红外线遥控器时,不必要像无线电遥控那样,每套发射器和接收器要有不同的遥控频率或编码,否则,就会隔墙控制或干扰邻居的家用电器,所有同类产品的红外线遥控器,可以有相同的遥控频率或编码,而不会出现遥控信号“串门”的情况,这对于大批量生产以及在家用电器上普及红外线遥控提供了极大的方便;此外,红外线为不可见光,对环境影响很小,同时又具有很强的隐蔽性和保密性[2]。由此可见,红外线遥控具有结构简单、制作方便、成本低廉、抗干扰能力强、工作可靠性高等一系列优点,是近距离遥控优选方式,并因此而广泛应用在各类电器上[3]。但目前市场上一般设备系统均采用专用的遥控编码及解码集成电路,具有制作简单等特点,由于这些芯片价格较贵,功能键数及功能受到特定的限制,且相互之间采用的遥控编码格式互不兼容,所以各机型的遥控器通常只能针对各自的遥控对象而无法通用,只适用于某一专用电器产品的应用,应用范围受到限制。而采用单片机进行遥控系统的设计,具有硬件接口简单方便,编程灵活多样,操作码个数可随意设定等优点。本文介绍了一种基于STC89C52单片机的红外遥控系统的设计和制作过程。该系统利用红外发送,单片机软件编码,把状态发送给接收部分的单片机,接收的单片机在内部进行状态解码,从而实现一个遥控器控制多种电器设备的功能。第一章设计任务1.1设计的内容与功能设计内容:用单片机作为控制芯片制作一个遥控器,另一个单片机控制系统能被遥控操作。本设计用单片机制作7路电器遥控器,可以分别控制7个电器的电源开关。该遥控采用脉冲个数编码,4*4键盘开关。并特别扩展了对一个电机的正反转的控制。具体功能如下:当按下键1时,发光二极管LED1亮,数码管显示数字1;当按下键2时,发光二极管LED2亮,数码管显示数字2;当按下键3时,发光二极管LED3亮,数码管显示数字3;当按下键4时,发光二极管LED4亮,数码管显示数字4;当按下键5时,发光二极管LED5亮,数码管显示数字5;当按下键6时,发光二极管LED6亮,数码管显示数字6;当按下键7时,发光二极管LED7亮,数码管显示数字7;当按下键8时,电机正转,数码管显示数字8;当按下键9时,电机反转,数码管显示数字9;当按下键10时,发光二极管LED1-LED7依次亮,数码管显示数字A;当按下键11时,发光二极管LED7-LED1依次亮,数码管显示数字b;当按下键12时,发光二极管LED1-LED7依次渐亮,数码管显示数字c;当按下键13时,发光二极管LED7-LED1依次渐亮,数码管显示数字d;当按下键14时,发光二极管全亮,数码管显示数字e;当按下键15时,发光二极管全亮,数码管显示数字f;1.2技术指标(1)最大遥控距离:5M(2)发射接收角:水平最大90度(3)遥控器发射时工作电流:20mA第二章总体设计方案2.1设计方案的论证由于是遥控系统,所以分遥控发射和遥控接收两大部分。2.1.1红外遥控发射电路的方案论证方案一:指令信号产生电路以不同的脉冲编码(不同的脉冲数目及组合)代表不同的控制指令。当不同的指令键被按下时,指令信号电路产生不同脉冲编码的指令信号,也就是进行编码,然后经调制电路调制,变为编码脉冲调制信号,再由驱动电路驱动红外发射器发射红外信号[4]。整体过程如下:驱动红外发射调制指令编码指令键驱动红外发射调制指令编码指令键图2-1遥控发射器遥控过程方案二:采用指令键产生电路产生不同的控制指令,单片机进行状态的编码,直接由单片机的口输出方波信号控制红外发射管进行发射。红外发射管采用普通的红外发射二极管[5]。由于我们现在所掌握专业知识的限制,调制电路功能不易实现,通过比较,选用方案二。2.1.2红外遥控接收电路的方案论证方案一:红外接收装置把接收过来的信号进行前置放大,通过解调电路,指令解码电路,记忆驱动电路实现对所控制状态的解码,然后执行(实现控制功能)。原理框图[7]如图2-2所示。红外接收红外接收前置放大解调指令解码记忆驱动执行图2-2红外遥控接收器的接收过程框图方案二:遥控系统采用红外线脉冲个数编码,直接利用单片机软件解码,实现功能的遥控[8]。综合以上两种方案分析,方案一比较复杂,相应的硬件电路难以实现其要求,所用到的芯片也比较昂贵,而方案二直接利用单片机就可以达到接收功能,减少了电路的复杂程度,也比较符合我们现在的知识程度,信价比较高,故采用方案二。2.1.3单片机的选择本设计所用的单片机可以用C-31,STC89C-52,羚羊单片机等多种单片机来实现。考虑本设计的要求,需要编写程序,但是C-31没有内部存储器,那么就要用外部扩展,比较麻烦[9]。本设计所编写的程序比较简单,功能也比较少,如果用羚羊单片机就过于麻烦,大材小用,本设计所用到的输入输出端口也不是很多,所以我们决定用STC89C-52单片机来完成本设计,既方便也很实用[10]。2.1.4显示器件选择在单片机应用系统中,使用的显示器主要有LED(发光二极管)以及LCD(液晶显示器)[11]。这两种显示器成本低廉,配置灵活,与单片机接口方便。但是他们也是各有特点的:LED接口非常简单,不需要专用的驱动程序,在设计程序时也非常的简单[12];LCD显示的字比较丰富,也比较清楚,给人的感觉很好,但是它接口复杂,且要自己造字库,难度不小。故没必要采用LCD,用LED发光二极管就够了。2.2红外遥控系统电路的原理框图以及各部分作用2.2.1红外发射部分原理框图以及各部分作用红外发射部分原理框图如图2-3所示。图2-3红外遥控发射原理框图各部分作用:(1)行列式键盘行列式键盘又称为矩阵式键盘,用I/O线组成行列结构,按键设置在行列的交点上,行列式分别连接到按键开关的两端。键盘中有无按键按下是由行线送入扫描字及列线读入列线状态字来判断的,有键按下时通过查键并执行键功能程序。(2)红外线发射电路遥控器信息码由单片机的定时器1中断产生40KHZ红外线方波信号。由P3.5口输出,经过三极管放大,由红外线发射管发送。(3)单片机单片机用于输出方波信号控制红外发射电路的工作。2.2.2红外接收部分原理框图以及各部分作用红外接收部分原理框图如图2-4所示。图2-4单片机红外接收部分原理框图各部分作用:(1)+5V电源电路给单片机最小系统、控制电路提供以及红外接收电路提供电压。(2)红外接收电路红外接收电路把接收到的状态在内部进行解码,从而实现不同的功能。(3)控制电路通过发射电路的按键实现对控制电路的控制作用。第三章系统硬件电路的设计3.1单片机遥控接收部分的硬件电路图3-1遥控接收部分硬件电路3.1.1电源电路由桥式整流、滤波电容、7805稳压器以及电源指示灯组成。选用220V10W的电源变压器把220V50HZ的市网电压变成9V50HZ的电压。电源电路如图3-2所示。其中:(1)电源变压器选用220V10W的电源变压器(2)桥式整流:选用4个IN4007的锗整流二极管构成,额定正向工作电流为1A,I反向耐压为1000V(3)电容滤波C1:选用容量为2200uf,耐压为25V的电容实现滤波(4)电容C2:选用容量为1000uf,耐压为16V的电容(5)电源指示灯:选用红色的发光二极管,发光二极管的压降为1.5V,其工作电流一般取10mA,图中电阻R1为限流电阻图3-2电源电路3.1.2红外接收部分电路本设计的接收电路使用一体化的集成红外接收器成品,一体化的红外接收装置将红外信号的接收、放大、检波、整形集于一身,并且输出可以让单片机识别的TTL信号,这样大大简化了接收电路的复杂程度和电路的设计工作,方便使用。在本系统中采用的红外一体化接收头HS0038,外接电阻与电容。该接收器对外只有三个引脚,分别为电源VCC,地GND和一个脉冲信号输出OUT,脉冲信号输出接CPU的中断输入引脚,采用这种连接方式,软件解码既可以工作于查询方式,也可以工作在中断方式。单片机STC89C52根据不同的信息码可以对相应的端口进行控制操作[12]。红外接收电路如图3-3所示。图3-3遥控接收部分硬件电路3.1.3显示电路利用7段共阴数码管进行显示,数码管与P0口的P0.0-P0.7相连,并接一个10K*8的排阻。数码管用来显示发射电路中的按键号。电路如图3-4所示。图3-4数码管电路3.1.4控制电路控制电路由电机的正反转和7个LED发光二极管电路组成。电机的正反转电路:电机的两个端分别与两个继电器的常闭端相连,继电器的常开端接地。一个继电器的电源端经过驱动三极管9012,电阻接到P1.0口。另一个继电器的电源端经过驱动三极管9012,电阻接到P1.1口。7个LED发光二极管电路:阳极分别于+5V电源相连,阴极分别接到P2.1-P2.2口。图3-5控制电路3.1.5单片机STC89C52的最小系统的连接电路最小系统包括单片机的基本供电、时钟电路和复位电路。单片机由桥式整流稳压电源电路供电。时钟和时钟电路:时钟电路是计算机的心脏,它控制着计算机的工作节奏。STC89C52单片允许的时钟频率的典型值12MHZ,也可以是6MHZ。本设计采用12MHZ。单片机时钟电路图如图3-6所示。图3-6单片机时钟电路图3-6中晶振频率选择12MHZ。接到晶振两端的瓷片电容作用是使振荡器起振和对f微调补偿,典型值为30PF。当单片机加电以后延迟约10ms的时间振荡器起振产生时钟,不受软件控制(XTAL2输出幅度为3V左右的正弦波)。复位和复位电路:计算机在启动运行时都需要复位,使中央处理器CPU和系统中的其它部件都处于一个确定的初始状态,并从这个状态开始工作。单片机的复位引脚是RST,当振荡器起振后,该引脚上出现2个周期的高电平,是器件复位,只要RST保持高电平,单片机保持复位状态。单片机复位方式有二种:上电复位(如图3-7)、人工复位(如图3-8)。本设计采用的是图3-7上电复位,具体电路如图3-9所示。图3-7上电复位电路图3-8人工复位注:RST与Vss之间的那个电阻在NMOS型单片机种需要接,但是在CMOS型单片机中不接。其中电容一般为10uF的电解电容。图3-9复位和复位电路3.2单片机遥控发射部分的硬件电路单片机遥控发射部分的硬件电路如图3-10所示。图3-10单片机遥控发射部分的硬件电路本发射电路采用一个12M的晶体振荡器,产生相对应受控开关的脉冲频率,通过红外发射管发射出去。P3.5接两个9013三级管,发光二级管利用红外光为介质,将控制信号以红外光脉冲的形式发射出去。晶体三极管主要用于放大电路中起放大作用,为了得到更大的放大倍数,采用了复合三极管的连接方法。因为从P3.5口出来的为高电压,而三级管9013不能承受此电压,所以采用了一个阻值较大的电阻来起分压作用,从而缓冲了加到三级管上的电压。改变与红外发射管相连的10K的滑动变阻器阻值可以改变发射距离。第四章遥控发射及接收控制电路的软件设计4.1软件设计流程图4.1.1遥控发射主程序流程图图4-1遥控发射主程序流程图图4-1是遥控发射的主程序流程图:首先初始化程序,然后调用键扫描程序。相应的发射主程序如下:发送主程序:#include<reg52.h>//定义#defineuintunsignedint//定义#defineucharunsignedchar//定义externucharkeyscan(void);//定义externvoidinit(void);//定义externvoidsend_infrared(ucharkeyval);//定义voiddelay1ms(uinttime)//延时时间{ uinti,j; for(i=0;i<time;i++) for(j=0;j<110;j++);}voidmain(){ uintkeyval;//对键号的定义 init();//调用初始化程序 while(1) { keyval=keyscan();//保存键值 while(keyscan()); if(keyval) {send_infrared(keyval);}//扫描键值,然后发送 }}4.1.2键扫描程序流程图图4-2键扫描程序流程图扫键过程:首先判断控制键是否按下,若有控制键按下则进行逐行扫描,按照P口值查找键号。最后按照键号转至相应的发射程序如下图4-3所示。相应的按键扫描程序如下所示:键扫描程序:#include<reg52.h>//定义#define uint unsignedint#defineuchar unsignedchar#definekeyrowP0//对P0口的定义#definekeylineP2//对P2口的定义ucharcodekeyv[8]={1,2,4,8};ucharkeyscan(void){ ucharkeyval,i;//定义 keyval=0;//初始化 keyrow=0xfe;//P0.0=0 if(keyline!=0xff)//判断P2的P2.0~P2.3口是否为0 for(i=0;i<4;i++) if(~keyline==keyv[i]) keyval=i+1;//为0,说明键号为i+1的键按下 keyrow=0xfd;//P0.1=0 if(keyline!=0xff)//判断P2的P2.0~P2.3口是否为0 for(i=0;i<4;i++) if(~keyline==keyv[i]) keyval=i+5;//为0,说明键号为i+5的键按下 keyrow=0xfb;//P0.2=0if(keyline!=0xff)//判断P2的P2.0~P2.3口是否为0 for(i=0;i<4;i++) if(~keyline==keyv[i]) keyval=i+9;//为0,说明键号为i+9的键按下 keyrow=0xf7;//P0.7=0 if(keyline!=0xff)//判断P2的P2.0~P2.3口是否为0 for(i=0;i<4;i++) if(~keyline==keyv[i]) keyval=i+13;//为0,说明键号为i+13的键按下 while(keyline!=0xff);//判断P2的P2.0~P2.3口为否为0,为0,不执行 return(keyval);//返回键号值}4.1.3遥控码发射程序流程图图4-3遥控码发射程序流程图红外信号发射过程:该遥控器采用脉冲个数编码,不同的脉冲个数代表不同的码,最小为2个脉冲,最大为17个脉冲,为了使接收可靠,第一位码宽为3ms,其余为1ms,遥控码数据帧间隔大于10ms。如图4-4为遥控码的编码格式[13]。当某个被控电器的电源开关被按下时,单片机先读出键值,然后根据键值设定遥控码的脉冲个数,再调制成40kHz方波由红外线发光管发身出去[14]。图4-4遥控码的编码格式相应的遥控码发射程序如下:发送程序:#include<reg52.h>#define uint unsignedint#defineuchar unsignedcharsbitremoteout=P3^3;//遥控输出口externvoiddelay1ms(uinttime);/*************初始化函数***********/voidinit(void){ remoteout=0;//关遥控输出 IE=0x00; IP=0x08; TMOD=0x22;//8位自动重新装模式 TH1=0xf3;//40kHZ初值 TL1=0xf3; EA=1;//开总中断}/*****************发射函数***********/voidsend_infrared(ucharkeyval){ ucharm; ET1=1;TR1=1;delay1ms(3);ET1=0;TR1=0;remoteout=0;//40KHZ发3ms for(m=keyval;m>0;m--) { delay1ms(1);//停1ms ET1=1;TR1=1;delay1ms(1);ET1=0;TR1=0;remoteout=0;//40KHZ发1ms } delay1ms(10);}/******************40KHZ发生器************///定时中断T1voidtime_intt1(void)interrupt3{ remoteout=~remoteout;}4.1.4遥控接收器主程序流程图图4-5遥控接收器主程序流程图相应的接收主程序如下:接收主程序:#include<reg52.h>#include"intrins.h"#defineucharunsignedchar#defineuintunsignedintCharcodetable[16]={0x11,0xbd,0x23,0x29,0x8d,0x49,0x41,0x3d,0x01,0x09,0x05,0xc1,0xe3,0xa1,0x43,0x47}; //数码管字型码0-Fexternvoidclearmen(void);externucharvalue;sbitjdq1=P2^0;//继电器1与P2.0口相连sbitjdq2=P2^1;//继电器2与P2.1口相连uchartemp; voiddelay1ms(uinttime)//延时时间程序{ uinti,j; for(i=0;i<time;i++) for(j=0;j<110;j++);}voidyouyi(void) //7个流水灯逐个闪动{ uinti; temp=0x01; for(i=0;i<8;i++)//7个流水灯从0到7逐个,即闪动7次{ P0=table[11]; P1=~temp; delay1ms(1000);//调用延时时间程序temp<<=1;//整个功能显示完一次后左移一位,重新开始 }}voidzuoyi(void) //7个流水灯反向逐个闪动{ uinti; temp=0x80;for(i=0;i<8;i++)//7个流水灯反向逐个闪动,即从LED7~LED0逐个闪动,闪动7次{ P0=table[12]; P1=~temp; delay1ms(1000);//调用延时时间程序 temp>>=1;//整个功能显示完一次后右移一位,重新开始 }}voidquanliang(void)//7个流水灯全亮{ uinti; temp=0xfe; for(i=0;i<8;i++)//7个流水灯依次全部点亮 { P0=table[13]; P1=temp; delay1ms(1000);//调用延时时间程序temp<<=1;//整个功能显示完后左移一位,重新开始 }}voidfquanliang(void)//7个流水灯全亮{ uinti; temp=0x7f; for(i=0;i<8;i++)//7个流水灯依次全部点亮 { P0=table[14]; P1=temp; delay1ms(1000);//调用延时时间程序 temp>>=1;//整个功能显示完后右左移一位,重新开始 }}voidmain(){ clearmen(); P0=0xff; while(1)//判断接收键值,执行相应的按键功能 {if(value==1){P0=table[1];P1=0xfe;}//如果是键1,执行键1功能if(value==2){P0=table[2];P1=0xfd;}//如果是键2,执行键2功能if(value==3){P0=table[3];P1=0xfb;}//如果是键3,执行键3功能if(value==4){P0=table[4];P1=0xf7;}//如果是键4,执行键4功能if(value==5){P0=table[5];P1=0xef;}//如果是键5,执行键5功能if(value==6){P0=table[6];P1=0xdf;}//如果是键6,执行键6功能if(value==7){P0=table[7];P1=0xbf;}//如果是键7,执行键7功能if(value==8){P0=table[8];P1=0xff;}//如果是键8,执行键8功能if(value==9) {P0=table[9];jdq1=0;}//如果是键9,执行键9功能if(value==10) {P0=table[10];jdq2=0;}//如果是键10,执行键10功能if(value==11) {P0=table[11];P2=0x03;}//如果是键11,执行键11功能if(value==12)youyi();//如果是键12,执行键12功能if(value==13) zuoyi();//如果是键13,执行键13功能if(value==14) quanliang();//如果是键14,执行键14功能if(value==15) fquanliang();//如果是键15,执行键15功能 }} 4.1.5中断程序流程图图4-6中断程序流程图中断过程:首先判断低电平脉宽度是否大于2ms,若脉宽不到2ms,则中断返回;若低电平大于2ms,则接收并地低电平脉冲计数,接下来看判断高电平脉宽度冲是否大于3ms,若脉宽不到3ms,则返回上一接收计数过程;若高电平脉宽大于3ms,则按照脉冲个数至对应功能程序。此时中断返回。相应的中断程序如下:中断程序:#include<reg52.h>#include<intrins.h>#defineucharunsignedchar#defineuintunsignedintsbitremotein=P3^1;//遥控输入externvoiddelay1ms(uinttime);ucharvalue;/***********初始化********/voidclearmen(void){ EX0=1; EA=1;//开总中断}/**************外中断遥控接收函数**************/voidintt0(void)interrupt0{ ucharkeyval,k,sign; EX0=0;sign=0;keyval=0; if(remotein==0) { delay1ms(1); if(remotein==0) while(1) { while(remotein==0); keyval++;k=0;delay1ms(1); while(remotein==1) { delay1ms(1);k++; if(k>2) { value=keyval-1; sign=1; break; } } if(sign)break; } } EX0=1;}系统调试控制电路板的安装与调试在整个电路的设计中占有重要位置,它是把理论付诸实践的过程,也是把纸面设计转变为实际产品的必经阶段。5.1本设计常用的调试仪器万用表、稳压电源、示波器、信号发生器等。5.2调试步骤:5.2.1调试前不加电源的检查对照电路图和实际线路检查连线是否正确,包括错接、少接、多接等;用万用表电阻档检查焊接和接插是否良好;元器件引脚之间有无短路,连接处有无接触不良,二极管、三极管、集成电路和电解电容的极性是否正确;电源供电包括极性、信号源连线是否正确;电源端对地是否存在短路(用万用表测量电阻)。经过上述检查,我们发现我们所设计的电路存在错接和连接处不良接触的问题,经过细心的检查后,解决了上述的一些电路上的问题。5.2.2静态检测与调试断开信号源,把经过准确测量的电源接入电路,用万用表电压档监测电源电压,观察有无异常现象:如冒烟、异常气味、手摸元器件发烫,电源短路等,如发现异常情况,立即切断电源,排除故障;我们的电路在此项测试中如无异常情况,接着我们又分别测量各关键点直流电压,如静态工作点、放大电路输入、输出端直流电压等是否在正常工作状态下,结果有个别电路不符,经过调整电路元器件参数、更换元器件,使电路最终工作在合适的工作状态;对于放大电路我们还用示波器观察是否有自激发生。结果一切正常。5.2.3动态检测与调试动态调试是在静态调试的基础上进行的,调试的方法地在电路的输入端加上所需的信号源,并循着信号的注射逐级检测各有关点的波形、参数和性能指标是否满足设计要求,如必要,要对电路参数作进一步调整。发现问题,要设法找出原因,排除故障,继续进行。我们所设计的遥控器电路是采用码分制遥控方式,用示波器对发射电路输出端及接收电路输入端的信号波型的进行了检查,发现当按下不同的开关按钮时所显示的波型是不同的。这说明了此电路是工作在正常状态的。5.2.4调试过程中所遇到的问题及解决方法(1)电源电路输出不是5V,于是用数字万用表对电源电路一部分一部分的测电压,发现整流二极管最后输出的电压不对,经分析,发现有一个整流二极管没接。(2)按下按键时,当LED发光二极管正在显示的状态没显示完时,如果立马按另外一个键,LED发光二极管会把之前的状态完全显示完以后再显示我当前按得键的键功能,此时数码管的显示值却是我当前的键号值。也就是说换键后,数码管所显示的键号值与LED数码管的状态不对应。经过分析,是程序中延时时间太长了的原因,经修改,避免了这个问题。(3)由于数码管的动态连接。因为动态连接时需要连接的脚比较多也比较紧,所以在焊接的时候要特别的小心,不能焊接错误。我在焊接时就发生了类似的错误,没有把数码管的公共端和单片机的接口对应的连接起来,然后在数码管调试的时候发生了数码位置混乱的情况。而且有的时候会出现没有焊上或者是焊点焊接时间过长导致导线铜皮外露引起短路,这些问题在用万用表检测后被排除。(4)看遥控发射部分是否能发射信号,主要是用示波器看发射部分能给否输出图4-4的波形[15]。刚开始波形比较乱,前面符合,后面不能与图4-4对应。经分析后,得出原因是编码格式没置好。(5)对遥控器的调试主要是用示波器观察能否在遥控接收器中输出图2-7数据帧的接收处理的图形。如果能输出此波形,就代表接收模块能接收到发射模块发射的信息。刚开始调试时,没有波形,原因是中断程序里出错,经改进,解决了此问题。(6)发射部分能发射信号,接收部分也能接收信号,能实现功能,接下来就要看遥控发射距离,调节与红外发射管相串联的发射管,本设计用的是滑动变阻器,改变其阻值,可以改变发射距离[16]。调节时发现不能变更发射距离,经分析后,发现滑动变阻器焊接错了,不能改变其阻值。于是拆下来重新焊接后,达到了效果。5.2.5调试注意事项经过自己动手调试电路。从问题之中总结出来一些常用电路调试的注意事项。(1)正确使用测量仪器的接地端,仪器的接地端与电路的接地端要可靠连接;(2)在信号较弱的输入端,尽可能使用屏蔽线连线,屏蔽线的外屏蔽层要接到公共地线上,在频率较高时要设法隔离连接线分布电容的影响,例如用示波器测量时应该使用示波器探头连接,以减少分布电容的影响。(3)测量电压所用仪器的输入阻抗必须远大于被测处的等效阻抗。(4)测量仪器的带宽必须大于被测量电路的带宽。(5)正确选择测量点和测量(6)认真观察记录实验过程,包括条件、现象、数据、波形、相位等。(7)出现故障时要认真查找原因。(8)在按键8时,电机是正转的,此时必须先让它停下来后,才能让它反转,也就是说按下键9后,得先按键10,才能按键9。反过来也是一样的道理。第六章测试结果与分析6.1测试结果调试完以后,按照测试步骤,测出的结果如下表6-1所示。由下表6-1可看出,功能已经达到了任务书上的任务要求,但是技术指标没有达到相应的要求,发射距离测到3m多,发射角度也只有30度。表6-1测试结果键号值数码管LED0-LED6的状态/电机状态数码管显示值1LED1亮12LED2亮23LED3亮34LED4亮45LED5亮56LED6亮67数码管全灭78电机正转89电机反转910电机停止转动A11LED0-LED6从左到右依次亮b12LED0-LED6从右到左依次亮c13LED0-LED6从左到右依次渐亮(最后全亮)d14LED0-LED6从右到左依次渐亮(最后全亮)e15LED发光二级管全亮f6.2问题分析:存在的问题:发送距离达不到技术指标的要求,即达不到5M,约只有3米多;发射角度也达不到90度的,当超出这2个范围时,接收模块接收不到发送模块所发送的信息。测试问题的分析:因为遥控系统采用的是码分制原理,而在码分制系统中由编码电路和解码电路构成,而且要有调制和解调的过程,因为码分制系统编码脉冲的频率极低,为超低频,如果不用调制与解调电路,外界突然的光线变化可能会对接收电路造成干扰,产生误动作,系统的抗干扰能力及可靠性就难以保证。因为本设计系统中没有调制和解调的电路,直接利用单片机进行软件编码与解码,所以导致发送距离和角度的限制,也是今后将要改进的地方。参考文献[1]谢自美.电子线路实验与测试[M].武汉:华中科技大学出版社,2002.[2]楼然苗,李光飞.单片机课程设计指导[M].北京:北京航空航天大学出版社,2005:152-178.[3]周平.单片机应用技术[M].北京:高等教育出版社,2002.[4]继宗南.红外线遥控发射器的原理及应用[J].国外电子元器件,1999,(10):32-34.[5]陈玻沿.红外系统[M].北京:国防工业出版社,1988.[6]李贵和.电器及其控制[M].重庆:重庆大学出版社,1993.[7]周航慈.单片机应用程序设计技术[M].北京:北京航空航天大学出版社,2002:56-62.[8]李华等.MCS-51系列单片机使用接口技术[M].北京:北京航空航天大学出版社,1993:51-68.[9]李建华.实用遥控器原理与制作[D].北京:人民邮电出版社,1996.[10]苏长赞.红外线与超声波遥控[D].北京:人民邮电出版社,1995.[11]高章飞,朱善安.\o"基于单片机MSP430和nRF905的无线通信模块"基于单片机MSP430和nRF905的无线通信模块[J].机电工程,2006,(02).[12]汪小旵,李洵.\o"用VB实现微机与单片机之间多机通信的两种方式"用VB实现微机与单片机之间多机通信的两种方式[J].机械与电子,2000,(02).[13]AT89C2051DataSheet[R].ATMELInc.[14]InfraredRemoteControlTransmitterPT2221A_PT2222ADataShee[R]t.PTCInc.[15]PhilipsSemiconductors.TheI2C-BusSpecificationVersion(2.1)2000.[16]SheuJK,ChangSJ,KuoCH,etal.White2LightEmissionFromNearUV:InGaN2GaNLEDChipPrecoatedWithBluePGreenPRedPhosphors[J].IEEEPHOTONICSTECHNLOGYIEITERS,2003,15(1):18~20.附录附录一:发送接收电路原理图:接收电路原理图发射电路原理图附录二:程序清单发送系统:1、键扫描程序:#include<reg52.h>#define uint unsignedint#defineuchar unsignedchar#definekeyrow P0#definekeylineP2ucharcodekeyv[8]={1,2,4,8};ucharkeyscan(void){ ucharkeyval,i; keyval=0; keyrow=0xfe; if(keyline!=0xff) for(i=0;i<4;i++) if(~keyline==keyv[i]) keyval=i+1; keyrow=0xfd; if(keyline!=0xff) for(i=0;i<4;i++) if(~keyline==keyv[i]) keyval=i+5; keyrow=0xfb; if(keyline!=0xff) for(i=0;i<4;i++) if(~keyline==keyv[i]) keyval=i+9; keyrow=0xf7; if(keyline!=0xff) for(i=0;i<4;i++) if(~keyline==keyv[i]) keyval=i+13; while(keyline!=0xff); return(keyval);}2、发送程序:#include<reg52.h>#define uint unsignedint#defineuchar unsignedcharsbitremoteout=P3^3;//遥控输出口externvoiddelay1ms(uinttime);/*************初始化函数***********/voidinit(void){ remoteout=0;//关遥控输出 IE=0x00; IP=0x08; TMOD=0x22;//8位自动重新装模式 TH1=0xf3;//40kHZ初值 TL1=0xf3; EA=1;//开总中断}/*****************发射函数***********/voidsend_infrared(ucharkeyval){ ucharm; ET1=1;TR1=1;delay1ms(3);ET1=0;TR1=0;remoteout=0;//40KHZ发3ms for(m=keyval;m>0;m--) { delay1ms(1);//停1ms ET1=1;TR1=1;delay1ms(1);ET1=0;TR1=0;remoteout=0;//40KHZ发1ms } delay1ms(10);}/******************40KHZ发生器************///定时中断T1voidtime_intt1(void)interrupt3{ remoteout=~remoteout;}3、发送主程序:#include<reg52.h>#defineuintunsignedint#defineucharunsignedcharexternucharkeyscan(void);externvoidinit(void);externvoidsend_infrared(ucharkeyval);voiddelay1ms(uinttime){ uinti,j; for(i=0;i<time;i++) for(j=0;j<110;j++);}voidmain(){ uintkeyval; init(); while(1) { keyval=keyscan(); while(keyscan()); if(keyval) {send_infrared(keyval);} }}二、接收系统:中断程序:#include<reg52.h>#include<intrins.h>#defineucharunsignedchar#defineuintunsignedintsbitremotein=P3^1;//遥控输入externvoiddelay1ms(uinttime);ucharvalue;/***********初始化********/voidclearmen(void){ EX0=1; EA=1;//开总中断}/**************外中断遥控接收函数**************/voidintt0(void)interrupt0{ ucharkeyval,k,sign; EX0=0;sign=0;keyval=0; if(remotein==0) { delay1ms(1); if(remotein==0) while(1) { while(remotein==0); keyval++;k=0;delay1ms(1); while(remotein==1) { delay1ms(1);k++; if(k>2) { value=keyval-1; sign=1; break; } } if(sign)break; } } EX0=1;}2、接收主程序:#include<reg52.h>#include"intrins.h"#defineucharunsignedchar#defineuintunsignedintCharcodetable[16]={0x11,0xbd,0x23,0x29,0x8d,0x49,0x41,0x3d,0x01,0x09,0x05,0xc1,0xe3,0xa1,0x43,0x47}; //0-Fexternvoidclearmen(void);externucharvalue;sbitjdq1=P2^0;sbitjdq2=P2^1;uchartemp; voiddelay1ms(uinttime){ uinti,j; for(i=0;i<time;i++) for(j=0;j<110;j++);}voidyouyi(void) //7个流水灯逐个闪动{ uinti; temp=0x01; for(i=0;i<8;i++) { P0=table[11]; P1=~temp; delay1ms(1000); temp<<=1; }}voidzuoyi(void) //7个流水灯反向逐个闪动{ uinti; temp=0x80; for(i=0;i<8;i++) { P0=table[12]; P1=~temp; delay1ms(1000); temp>>=1; }}voidquanliang(void){ uinti; temp=0xfe; for(i=0;i<8;i++)//7个流水灯依次全部点亮 { P0=table[13]; P1=temp; delay1ms(1000); temp<<=1; }}voidfquanliang(void){ uinti; temp=0x7f; for(i=0;i<8;i++)//7个流水灯依次全部点亮 { P0=table[14]; P1=temp; delay1ms(1000); temp>>=1; }}voidmain(){ clearmen(); P0=0xff; while(1) { if(value==0){P0=table[0];P1=0xfe;} if(value==1){P0=table[1];P1=0xfd;} if(value==2){P0=table[2];P1=0xfb;} if(value==3){P0=table[3];P1=0xf7;} if(value==4){P0=table[4];P1=0xef;} if(value==5){P0=table[5];P1=0xdf;} if(value==6){P0=table[6];P1=0xbf;} if(value==7){P0=table[7];P1=0xff;} if(value==8) {P0=table[8];jdq1=0;} if(value==9) {P0=table[9];jdq2=0;} if(value==10) {P0=table[10];P2=0x03;} if(value==11) youyi(); if(value==12) zuoyi(); if(value==13) quanliang(); if(value==14) fquanliang(); }}附录三:元器件清单通用板两块变压器一个电机一个继电器两个三极管9012PNP两个9013NPN两个电阻1K五个100一个10K三个滑动变阻器10K一个红外接收头HS0038一个红外发射二极管一个电容1uf一个30p四个10uf两个开关按钮十六个LED发光二级管十一个数码管一个排阻10K*8一个晶振12M两个二极管四个7805稳压管一个附录四:英文资料WirelessTechnologyinIndustrialNetworksAbstract:Withthesuccessofwirelesstechnologiesinconsumerelectronics,standardwirelesstechnologiesareenvisionedforthedeploymentinindustrialenvironmentsaswell.Industrialapplicationsinvolvingmobilesubsystemsorjustthedesiretosavecablingmakewirelesstechnologiesattractive[15].Nevertheless,theseapplicationsoftenhavestringentrequirementsonreliabilityandtiming.Inwiredenvironments,timingandreliabilityarewellcateredforbyfieldbussystems(whichareamaturetechnologydesignedtoenablecommunicationbetweendigitalcontrollersandthesensorsandactuatorsinterfacingtoaphysicalprocess).Whenwirelesslinksareincluded,reliabilityandtimingrequirementsaresignificantlymoredifficulttomeet,duetotheadversepropertiesoftheradiochannels[15].Inthispaperwethusdiscusssomekeyissuescomingupinwirelessfieldbusandwirelessindustrialcommunicationsystems:i)fundamentalproblemslikeachievingtimelyandreliabletransmissiondespitechannelerrors;ii)theusageofexistingwirelesstechnologiesforthisspecificfieldofapplications,andiii)thecreationofhybridsystemsinwhichwirelessstationsareincludedintoexistingwiredsystems.Keywords:Fieldbus;systems;real-time;communications;wireless;technologies;Bluetooth;IEEE802.15.4;IEEE802.11;hybridsystemsI.INTRODUCTIONThetrueconvenienceofbeingabletoconnectdeviceswithouttheuseofwireshasleadtotheunprecedentedsuccessofwirelesstechnologiesintheconsumergoodsindustry.Basedonthissuccess,applicationsusingthesetechnologiesarebeginningtoappearinvariousothersettingsaswell.Inanindustrialorfactoryfloorsetting,forexample,thebenefitsofusingwirelesstechnologiesaremanifold.Firstofall,thecostandtimeneededfortheinstallationandmaintanceofthelargenumberofcablesnormallyrequiredinsuchanenvironmentcanbesubstantiallyreduced,thusmakingplantsetupandreconfigurationmoreeasy.Thisisespeciallyimportantinharshenvironmentswherechemicals,vibrations,ormovingpartsexistthatcouldpotentiallydamageanysortofcabling.Intermsofplantflexibility,stationarysystemscanbewirelesslycoupledtoanymobilesubsytemsormobilerobotsthatmayexistinordertoachieveaconnectivitythatwouldotherwisebeimpossible.Furthermore,thetaskoftemporarilyaccessinganyofthemachineryintheplantfordiagnosticorprogrammingpurposescanbegreatlysimplifiedbytheuseofthesewirelesstechnologies.Alongwiththesimplificationofacessingmachinery,manyindustrialapplicationsexistthatcouldbenefitfromtheuseofwirelesstechnologies.Thelocalizationandtrackingofunfinishedparts,thecoordinationofautonomoustransportvehiclesandmobilerobots[1]–[3],aswellasapplicationsinvolvingdistributedcontrolareallareasinwhichwirelesstechnologiescouldbeusedinanindustrialenvironment.Manyoftheseindustrialapplicationsareservedbyfieldbussystems[4]–[8]likePROFIBUS[9],[10],WorldFIP[11],[12]orCAN[13],[14],whicharewired.Fieldbussystemshavebeenspecificallydesignedforsolvingautomationorcontroltasksthatrelyontheinterconnectionofdigitalcontrollerswithotherdigitalcontrollersaswellassensorsand/oractuators(includingtheirunderlyingphysicalprocesses).Theprimarygoalofthesesystemsistoprovidereal-timecommunicationservicesthatarebothpredictableandreliable,i.e.makecertainguaranteesoneventualdeliveryofpacketsanddeliverytimes.Someimportantcharacteristicsoffieldbustrafficare:i)presenceofcyclic(i.e.recurring)orevenperiodictraffic(boundedjitterbetweensubsequentpacketsrequired),subjecttodeadlines;ii)presenceofimportantacyclicpacketslikealarms,whichneedtobereliablytransmittedwithboundedlatencies;andiii)mostpacketsareshort,intheorderofafewbytes.Theprotocolarchitectureofmostfieldbussystemscoversonlythephysicallayer,thedata-linklayerincludingthemediumaccesscontrol(MAC)sublayer,andtheapplicationlayeroftheOSIreferencemodel.Theobviousbenefitsofwirelesstransmissionhaveledtoanumberofsolutions.Thesesolutionsrangefromvoice-oriented,large-scalecellularnetworkssuchasUMTS,todata-orientedsolutionslikewirelesslocalareanetworks(WLAN),wirelesspersonalareanetworks(WPAN)andwirelesssensornetworks.WLANsystems,liketheIEEE802.11familyofstandards[15]–[17],aredesignedtoprovideuserswithhighdatarates(tensofMbit/s)overrangesoftenstohundredsofmeters.TheseparametersprovidetheuserwithuntetheredaccesstoEthernet,forexample.WPANsystems,suchasBluetooth[18],[19]andIEEE802.15.4[20],[21],havebeendesignedforconnectingdeviceswirelessly,whiletakingenergy-efficiencyintoaccount.TheysupportmediumdataratesintheorderofhundredsofKbit/stoafew
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 精制制盐工安全生产意识水平考核试卷含答案
- 稀土熔炼工持续改进水平考核试卷含答案
- 木地板表面造型处理工岗前竞赛考核试卷含答案
- 石英玻璃热加工工保密模拟考核试卷含答案
- 皮具制作工岗位技术水平考核试卷含答案
- 金属器皿制作工风险识别模拟考核试卷含答案
- 保洁员持续改进评优考核试卷含答案
- 落布工岗中工作实操考核试卷含答案
- 初级车工试题及答案
- 职业倾向测试题及答案
- 2026年达拉特旗社区工作者招聘考试试卷-含答案解析
- 2026年江苏省科学大众金钥匙科技竞赛试题及答案
- 2026年中级银行从业资格之中级个人贷款题库含答案
- 新教材人教版二年级上册数学教学计划及进度安排
- DB50T 2010-2026 医养结合机构服务质量规范
- (完整版)石材台阶专项施工方案
- 苏州工业园区金鸡湖街道2026年社工招聘考试【结构化面试题库+高分答题模板】(含考官评分要点)
- 2026新教材人教版九年级上册英语 Unit 1 The Changing World 单元综合测试卷(含答案)
- 药物临床治疗学试题及答案2026版
- 会计师事务所业务管理制度-模板
- 畜禽舍气流控制
评论
0/150
提交评论