智能红外遥控电风扇系统的设计(共43页).doc
精选优质文档-倾情为你奉上泰 山 学 院本 科 毕 业 设 计智能红外遥控电风扇系统的设计所 在 学 院 机械与工程学院 专 业 名 称 机械设计制造及其自动化 申请学士学位所属学科 工 学 年 级 二一级 (3+2) 学生姓名、学号 王晓彬 指导教师姓名、职称 张秀红 讲师 完 成 日 期 二一二年五月 专心-专注-专业摘要电风扇是一种传统的家用电器,但随着空调的普及,电风扇的市场地位受到了巨大的冲击。传统的开/关、调速功能现已不能满足市场的需求,人们希望电风扇能在体积小、操作方便等的基础上拥有更多的功能,而红外遥控的普遍应用及单片机的成熟,使得电风扇的发展趋向于智能红外遥控系统。本设计方案为满足市场的需求,结合红外遥控系统设计简单、操作方便、成本低廉等特点,运用了51单片机作为遥控发射接收芯片,HS0038为红外一体化接收发射管,设计了一个简易的单片机红外遥控电风扇系统,系统包括接收和发射两大部分。该系统设计实现了几项电风扇的基本功能:开/关功能、多级调速功能、定时功能、自然、正常两种风类的选择功能,此外本系统有16个按键,可用于扩展控制其他电器。关键字:红外遥控,信号调制,编码,解码 ABSTRACTWith the popularity of air conditioners, the market position of the electric fans which are the traditional household appliances will receive a huge impact, the traditional on / off and speed control function have been unfit for the needs of the market. It is hoped that the fans in small, easy to operate, and so on the basis can have more features. When the application of infrared remote control becomes wilder and technologies of SCM become mature, the remote control system is the trend. The design was based on the needs of the market. Considering that infrared remote control is simple, easy to operate, low-cost, I use a special launching and receiving chip which depends on remote control. On the basis of this chip a system of intelligent infrared remote-control was designed for the fan. The system consists of the launching part and the receiving part. This system is designed to achieve some basic functions of fans: on / off function, three kinds of speed, the timing function which can be chosen at different times of 0.5-7.5 hours, and the function of two kinds of wind which are the natural wind and the normal wind.Key words: Infrared Remote Control, Signal Modulation, Encoding, Decoding目录1 引言红外线又被称为红外光波,它的波长范围为0.01um-1000um。根据其波长的不同,可以将其分为两种:可见光和不可见光。可见光的波长为0.38um-0.76um,有七种颜色,为红、橙、黄、绿、青、蓝、紫。紫外线光波的波长为0.01um-0.38um,红外线的波长为0.76um-1000um。红外光线根据波长范围的不同可分为四类:近红外、中红外、远红外、极红外。选用近红外光线作为红外遥控的遥控指令,是因为红外发射器件与红外接收器件光谱正好重合,能够进行来良好地匹配,发光与受光峰值波长为0.8um-0.94um,这样就可以获得较高的可靠性和较高的传输效率。目前来讲,红外线的传输技术在家电遥控器中广泛应用。红外线是无线局域网的传输方式之一,优点是不受无线电干扰和国家无线管理委员会所限。红外数据协会(IRDA)成立后,为了保证不同厂商的红外产品能够获得最佳的通信效果,红外通信协议将红外数据通信所采用的光波波长的范围限定在850至900nm之内。 1.1课题设计目的及意义科技的发展,使得人们生活的节奏也越来越快,随之人们对方便,快捷的要求也不断增高。遥控器的出现,在一定程度上满足了人们的要求。红外遥控实现了对控制对象的远距离控制,原理是利用红外线来传递控制信号,具体来说,就是由发射器发出红外线指令信号,接收器接收下来并对信号进行处理,最终实现对控制对象的远程控制功能。红外遥控具有隐蔽性、独立性、无穿透障碍物的能力、物理特性与可见光相似性等特点。随着红外遥控技术的开发和迅速发展,大部分电器应用了红外遥控,电风扇也不例外。从由通过按钮控制电风扇面板,到短距离(10M以内)的遥控,虽然改变不大,但是带来的便利无疑是巨大的。红外遥控技术的成熟,也使得遥控电风扇的设计变得简单,价格低廉。作为一种常用的电器,电风扇具有体积轻巧、价格便宜、摆放方便等特点。空调虽然现在在城市中已经相当普遍,而且有替代电风扇的趋势,但是由于家庭消费水平所限,在将来的一段时间里,电风扇在中小城市和农村仍有较大的市场份额。市场的需求促使了电风扇的发展。“智能化”的兴起,使得电风扇的功能也越来越多,越来越贴进人们生活。在现有市场多功能红外遥控电风扇的基础上,提出了一种新型的智能电风扇,相对于旧式电风扇,智能电风扇设置了很多人性化的设计,如智能照明,安全保护,倾倒保护,智能照明等功能,使得电风扇更加人性化,相信其丰富的功能、人性化的设计将会大大提高电风扇的市场竞争力。1.2课题研究内容和预期目的本设计方案就是以电风扇为对象,通过红外遥控系统来实现电风扇的几种常用功能,如:开关功能、调速功能、定时功能等的控制,相对于传统的机械控制,体现出了更加方便、更加快捷的优点。2 总体方案的设计和工作原理2.1设计方案的选择红外编码有很多种方式,下面列举两种实现方案:第一方案:脉宽调制的串行码。这种遥控码具有以下特征: 以脉宽为0.565ms、间隔0.56ms、周期为1.125ms的组合表示二进制的“0”;以脉宽为0.565ms、间隔1.685ms、周期为2.25ms的组合表示二进制的“1”。 其相关的波形图如下: 图1 串行码编码第二方案:码分制。采用脉冲个数编码,不同的脉冲个数代表不同的被控对象,最小为2个脉冲。为了使接收可靠,第一位码宽为3ms,其余为1ms,遥控码数据帧间隔大于10ms,如图2所示。图2 码分制编码波形图本设计采用第二方案,码分制编码编程简单,在按键较少的情况下优势明显。2.2总体硬件设计图3 硬件总体结构框图2.3工作原理红外遥控是单项的红外通信方式,整个信号传输中,需要一个发射端和一个接收端。发送端采用单片机将待发送的二进制信号编码调制为一系列的脉冲串信号,通过红外发射管发射红外信号。红外接收端普遍采用价格便宜,性能可靠的一体化红外接收头接收红外信号,它对信号进行放大后送解调电路将以调制的指令编码信号解调出来,即还原为编码信号,再送给单片机,经单片机解码并控制相关对象。图4 遥控器原理图3 硬件设计3.1发射端电路设计发射端电路:单片机系统及显示电路、红外发射电路、按键电路和稳压电路等组成。其设计原理图如图5所示:图5 手持式遥控器方框图CPU采用AT89C51单片机。1.AT89C51的功能:(1)和 MCS-8051产品兼容(2)2KB可重编程闪速存储器(3) 耐久性:1000写/擦除周期(4) 2.7V-6V的操作范围(5) 全静态操作:0Hz-24MHz(6) 两级加密程序存储器(7) 128×8位内部RAM(8) 15根可编程I/O引线、6个中断源(9) 可编程串行UART通道(10) 直接LED驱动输出(11) 片内模拟比较器(12) 低耗空载和掉电方式。2. AT89C51的引脚及功能 图6 AT89C51引脚(1) 主要电源引脚 VSS 电源端 GND 接地端(2) 外接晶体引脚XTAL1和XTAL2 XTAL1 接外部晶体的一个引脚。在单片机内部,它是构成片内振荡器的反相放大器的输入端。当采用外部振荡器时,该引脚接收振荡器的信号,既把此信号直接接到内部时钟发生器的输入端。 XTAL2 接外部晶体的另一个引脚。在单片机内部,它是上述振荡器的反相放大器的输出端。采用外部振荡器时,此引脚应悬浮不连接。(3) 输入/输出引脚 P0.0 P0.7、P10.P1.7、P2.0 P2.7 和P3.0P3.7。 P0端口(P0.0 P0.7) P0是一个8位漏极开路型双向I/O端口。作为输出口用时,每位能以吸收电流的方式驱动8个TTL输入,对端口写1时,又可作高阻抗输入端用。在访问外部程序和数据存储器时,它是分时多路转换的地址(低8位)/数据总线,在访问期间激活了内部的上拉电阻。 P1端口(P1.0 P1.7) P1是一个带有内部上拉电阻的8位双向I/O端口。P1的输出缓冲器可驱动(吸收或输出电流方式)4个TTL输入。对端口写1时,通过内部的上拉电阻把端口拉到高电位,这时可用作输入口。作输入口时,因为有内部的上拉电阻,那些被外部信号拉低的引脚会输出一个电流。 P2端口 (P2.0P2.7) P2是一个带有内部上拉电阻的8位双向I/O端口。P2的输出缓冲器可驱动(吸收或输出电流方式)4个TTL输入。对端口写1时,通过内部的上拉电阻把端口拉到高电位,这时可用作输入口。P2作输入口使用时,因为有内部的上拉电阻,那些被外部信号拉低的引脚会输出一个电流。在访问外部程序存储器和16位地址的外部数据存储器(如执行MOVX DPTR指令)时,P2送出高8位地址。在访问8位地址的外部数据存储器(如执行MOVX Ri , A指令)时,P2口引脚上的内容(就是专用寄存器(SFR)区中P2寄存器的内容),在整个访问期间不会改变。 P3端口(P3.0P3.7) P3 是一个带有内部上拉电阻的8位双向I/O端口。P2的输出缓冲器可驱动(吸收或输出电流方式)4个TTL输入。对端口写1时,通过内部的上拉电阻把端口拉到高电位,这时可用作输入口。P3作输入口使用时,因为有内部的上拉电阻,那些被外部信号拉低的引脚会输出一个电流。在AT89C51中,P3端口还用于一些专门功能,这些兼用功能如下:(1) P3.0 RXD(串行输入口)(2) P3.1 TXD(串行输出口)(3) P3.2 /INT0(外部中断0)(4) P3.3 /INT1(外部中断1)(5) P3.4 T0(记时器0外部输入)(6) P3.5 T1(记时器1外部输入)(7) P3.6 /WR(外部数据存储器写选通)(8) P3.7 /RD(外部数据存储器读选通)(9) P3口同时为闪烁编程和编程校验接收一些控制信号3.1.1红外发射电路设计本遥控发射器采用码分制遥控方式。码分制红外遥控就是指令信号产生电信号以不同的脉冲编码(不同的脉冲数目及组合)代表不同的控制指令。在确定选择AT89C51作为本设计发射电路核心芯片和点触式开关作为控制键后,加上一个简单红外发射电路和12M晶体震荡器便可实现红外发射。红外发光二极管为发射部分的主要元件。由于红外发光二极管的内部材料与普通二极管不同,所以它是一个特殊的发光二极管,在它的两端加上一定的电压时,其发出来的是红外线不再是可见光。现在市面上常用的红外发光二极管的波长为940nm,其与普通5的发光二极管外形相同,但是颜色不同。遥控发射通过键盘,每按下一个键,即产生具有不同的编码数字脉冲,这种代码指令信号调制在40KHz的载波上,激励红外光二极管产生不同的脉冲,通过空间传送到受控机的遥控接收器。P1口作为按键部分,P0.7口作为发射部分。电路图如图7所示:本系统采用PH303红外发射二极管,波长为940,正向电压在1.5V以下。图7 红外发射电路3.1.2键盘电路设计单片机系统的键盘主要有两种:一种是有编码键盘,另一种是非编码键盘。编码键盘:包括按键和产生键码的硬件电路。当使用时,按下键盘上的按键,硬件电路就会产生这个键的代码(简称键码),在此时还会产生一个脉冲信号,脉冲信号传递给CPU以接收键码。编码键盘的优点是编写程序简单而且使用方便;缺点所使用的硬件复杂。非编码键盘:排列成行或列矩阵形式是其按键的特点。按键只能简单地实现接点的接通或断开,所以要有与之相应的程序相配合,从而实现相应的键码,而且非编码键盘的一个优点是不需要附加硬件电路。为了简洁电路,使用非编码键盘。如图8所示:图8 矩阵键盘原理图3.1.3显示电路设计由LED组成的7段发光管显示器是不太复杂的单片机应用系统常用外部设备之一。7段发光管显示器由7段发光线段组成,并按“日”字形排列,每一段都是一个发光二极管,如图9所示。图中将7个LED的阴极连在一起,称之为共阴极接法。反之为共阳极接法。如果将公共阴极接地,而在ag各段的阳极加上不同的电压,就会使各段的发光情况不同,形成不同的发光字符。加在7段阳极上的电压可以用数字量表示,如果某一段的阳极为数字量1,则这个段就发光;如为0,则不发光。多位显示器连用有两种方法。其一,每一位都用各自的8位输出口控制,在显示某字符时,相应的段恒定发光或不发光。这种显示方法属于静态显示。显然,静态显示需占用较多的I/O口线。其二,是动态显示。即将多个7段LED的段选端复接在一起,只用一个8位输出口控制段选,段选码同时加到各个7段LED显示器上,通过控制各个显示器公共阳极轮流接高电平的办法,逐一轮流地启动各个LED。在这种方法中,只要恰当地选择点亮时间和间隔时间,就会给人以这样一种假相:似乎各位LED是“同时”显示的。动态显示法是目前各种单片机采用的流行方法。其优点是硬件简单,“动态”由软件实现。我选用动态显示的方法,其显示格式如表1。表1 数码管显示格式数码管1数码管2风速D相应数字模式E相应数字定时A相应数字本系统采用双位SN20401数码管,字高0.4英寸,发黄色光。如图9所示:图9 数码管原理图数码管的操作电路如图10所示:图10 数码管基本操作电路3.1.4电源电路设计lm78/lm79系列三端稳压IC来组成稳压电源所需的外围元件少,电路内部还有过流、过热及调整管的保护电路,使用起来可靠、方便,而且价格便宜。该系列集成稳压IC型号中的lm78或lm79后面的数字代表该三端集成稳压电路的输出电压,如lm7805表示输出电压为正5V,lm7806表示输出电压为负6V。lm7805是我们最常用到的稳压芯片了,lm7805的使用方便,用很简单的电路即可以输入一个直流稳压电源,lm7805的输出电压恰好为5v,刚好是51系列单片机运行所需的电压,性能有微小的差别,用的最多的还是lm7805,lm7805的3个引脚以及用lm7805来构成的稳压电路的资料。本设计的稳压采用lm7805。图11 lm7805引脚图lm7805其中1接整流器输出的+电压,2为公共地(也就是负极),3就是我们需要的正5V输出电压了。电源采用4节7号电池来提供电源,并用一个二极管(IN4148)进行降压。稳压电路如图12所示,图中C5用于频率补偿,防止自激振荡和抑制高频干扰;C6采用电解电容,以减少电源引入的低频干扰对输出电压的影响;D4是保护二极管,当输入端短路时,给C4一个放电的通路,防止C4击穿。图12 稳压电路3.2接收端电路设计接收端电路:单片机系统及显示电路、红外发射电路、按键电路、电源电路和控制单元等组成。其设计原理图如下:图13 红外接收端方框图3.2.1红外接收电路设计在接收过程中,脉冲通过光学滤波器和红外二极管转换为40KHZ的电信号,此信号经过放大,检波,整形,解调,送到解码与接口电路,从而完成相应的遥控功能。接收电路图见图14。通常,红外遥控器将遥控信号(二进制脉冲码)调制在40KHz的载波上,经缓冲放大后送至红外发光二极管,产生红外信号发射出去。将上述的遥控编码脉冲对频率为40KHz(周期为26s)的载波信号进行脉幅调制(PAM ),再经缓冲放大后送到红外发光管,将遥控信号发射出去。根据遥控信号编码和发射过程,遥控信号的识别即解码过程是去除40KHz载波信号后识别出二进制脉冲码中的0和1。由MCS51 系列单片机AT89C51、一体化红外接收头、还原调制与红外发光管驱动电路组成。红外接收管是接收部分的主要元件,红外接收管是一种光敏二极管。在实际应用时,为了使它能正常工作,需要给红外接收二极管加上反向的偏压,即在电路中反向应用,这样就可以拥有较高的灵敏度。本设计采用HS0038红外接收头。HS0038它负责红外遥控信号的解调。将调制在40kHz上的红外脉冲信号解调后再输入到AT89C51的INT0(P3.2)引脚,由单片机进行高电平与低电平宽度的测量。遥控信号的还原是通过P3.1输入二进制脉冲码的高电平与低电平及维持时间,当接收头接收信号时,单片机产生中断,并在P3.1口记下脉冲的个数,通过单片机处理后驱动控制部分。图14 红外接收电路3.2.2键盘电路设计接收端采用矩阵按键,其中0,1,2按键用于风扇的定时,模式,调速切换。其他按键用于扩展控制其他家用电器,如电脑等,也可以用于设置密码锁等功能,其具体事情由用户自己设定。接收端采用独立按键,根据不同的电器,其具体功能各不相同。本设计中,P1.0用于定时切换,P1.1用于模式切换,P1.2用于调速切换。按键原理图如图15所示:图15 独立按键原理图3.2.3显示电路设计接收端数码管的选用同发射端的显示部分,采用双位SN20401数码管。3.2.4电源电路设计直流稳压电源的主要由电源变压器、整流电路、滤波电路和稳压电路四部分组成。图中C7用于频率补偿,防止自激振荡和抑制高频干扰;C8采用电解电容,以减少电源引入的低频干扰对输出电压的影响;D3是保护二极管,当输入端短路时,给C6一个放电的通路,防止C6击穿。框图如图16所示:图16 稳压电源原理图3.2.5控制电路设计在控制部分采用了隔离驱动电路,用光电器件作为隔离元件,利用光耦来隔离强电,以防止强电影响单片机的工作。光电隔离的作用是使两个电路的电气断开联系,并且使其相互独立,从而也就使噪声从一个电路传入另一个电路的通路断开了。光电耦合器可以实现光电隔离。光耦又称光电隔离器或光电耦合器,它是以光为媒介来传输电信号的器件,通常把发光器与受光器封装在管壳内。当输入端加电信号时发光器发出光线,受光器接收后就产生光电流,从输出端流出,从而实现了“光电光”的转换。光电耦合器是把一个发光二极管和一个光敏三极管封装在一起的一个器件。外壳有金属的或塑料的两种,但是在其内部发光二极管和光敏三极管是用透明的绝缘体填充的,为了提高灵敏度,发光二极管与光敏三极管对准。对于数字量,当输入为低电平“0”时,光敏三极管截止,输出为高电平“1”;当输入为高电平“1”时,光敏三极管饱和导通,输出为低电平“0”。输入信号使二极管能发光,它的光线又能使光敏三极管产生出电信号并且输出,这样完成信号传递的同时又能够使电气隔离。光电耦合的响应时间在生产情况下不会超过几个微秒。光电耦合器的输入端与输出端在电气上是绝缘的,且输出端对输入端也无反馈,因而具有隔离和抗干扰两方面的独特性能。通常使用光电耦合器是为实现以下两个主要功能:电平转换:TTL电路与电源电路之间不需另加匹配电路就可以传输信号,从而实现了电平转换。隔离:这时由于信号电路与接收电路之间被隔离,因此即使两个电路的接地电位不同,也不会形成干扰。光电耦合器中光敏三极管的基极有引出和不引出两种形式。基极引出通常是经一个电阻接地。通过接地电阻可以控制耦合的响应速度和灵敏度。总的来说,电阻越小,响应速度越高。其控制电路如图17所示:图17控制电路4 软件设计汇编语言是一种用文字助记符来表示机器指令的符号语言,是最接近机器码的一种语言。其主要优点是程序在执行过程中效率很高而且可以占用较少的资源。但是对于不同的 CPU,汇编语言是有差异的,所以是不容易移植的。C语言是一种编译型的程序设计语言,不仅具备汇编语言的功能而且还有很多种高级语言的特点。C语言的主要优点有编译效率高、丰富的库函数、良好的可移植性和快速的运算速度。另外,它还可以直接对系统的硬件进行控制。C语言是一种结构化的程序设计语言,它支持在当前程序设计中由顶向下结构化程序设计技术。此外,C语言程序具有完善的模块程序结构,从而为软件开发中采用模块化程序设计方法提供了有力的保障。因此,使用C语言进行程序设计已成为软件开发的一个主流。用C语言来编写目标系统软件,会大大缩短开发周期,且明显地增加软件的可读性,便于改进和扩充,从而研制出规模更大、性能更完备的系统。本设计选用C语言来进行软件的编程。4.1红外发射4.1.1发射端程序设计图18 遥控发射主程序流程图4.1.2遥控码的发射在某个操作按键被按下时,单片机会相应并且先读出该键键值,从而根据键值来设定遥控码的脉冲个数,再调制通过红外线发光管发射。通常,红外遥控是将遥控信号(二进制脉冲码)调制在40KHz的载波上,经缓冲放大后送至红外发光二极管,转化为红外信号发射出去的。将遥控编码脉冲对载波信号进行脉幅调制,然后经缓冲放大后送到红外发光管,可以降低电源消耗而且可以提高抗干扰性能。红外信号发射过程:首先装入发射脉冲个数(发射时为3ms脉冲,停发时为1ms脉冲),此时若发射脉冲个数为1则返回主程序,若不为1则发1ms脉冲,然后停发1ms脉冲,这样便结束整个发射过程.在实践中,采用红外线遥控方式时,由于受遥控距离,角度等影响,使用效果不是很好,如采用调频或调幅发射接收码,可提高遥控距离,并且没有角度影响。图19 遥控发射器遥控码发射程序流程图4.2红外接收4.2.1接收端程序设计图20 遥控接收器主程序流程图4.2.2数码帧的接收处理接收数据帧是通过红外线接收器输出的数据为脉冲帧数据时,然后第一位码的低电平将启动中断程序。当数据帧接收时,会验证第一位码的码宽:(1) 如果第一位低电平码为低于2ms的脉宽,会被当作错误码处理。(2) 如果间隔位的高电平为高于3ms的脉宽时,结束接收,此时来看累加器A中的脉冲个数,从而响应相应输出口的操作。图21是红外线接收器输出遥控码波形图(一帧)。图21 接收器输出遥控码波形图(一帧)4.3 调速单元4.3.1 调速原理脉宽调制技术是利用数字输出对模拟电路进行控制的一种有效技术,尤其是在对电机的转速控制方面,可大大节省能量,PWM控制技术的理论基础为:冲量相等而形状不同的窄脉冲加在具有惯性的环节上时,其效果基本相同,使输出端得到一系列幅值相等而宽度不相等的脉冲,用这些脉冲来代替正弦波或其他所需要的波形。4.3.2 调速方法图22为PWM降压斩波器的原理电路及输出电压波形。在图a中,假定晶体管V1先导通T1秒(忽略V1的管压降,这期间电源电压Ud全部加到电枢上),然后关断T2秒(这期间电枢端电压为零)。如此反复,则电枢端电压波形如图b中所示。电动机电枢端电压Ua为其平均值。图22 PWM降压斩波器原理电路及输出电压波形 (4-8) (4-9)为一个周期T中,晶体管V1导通时间的比率,称为负载率或占空比。使用下面三种方法中的任何一种,都可以改变的值,从而达到调压的目的:(1) 定宽调频法:T1保持一定,使T2在0范围内变化;(2) 调宽调频法:T2保持一定,使T1在0范围内变化(3) 定频调宽法:T1+T2=T保持一定,使T,在0T范围内变化。不管哪种方法,的变化范围均为0l,因而电枢电压平均值Ua的调节范围为0Ud,均为正值,即电动机只能在某一方向调速,称为不可逆调速。本设计采用定频调宽法,AT89S52产生可控硅的移相脉冲,移相较的改变实现导通角的改变。T=50mS,将P0.4导通时间五等分,使T1在15之间变化,从而达到5级调速的目的,如图23所示。图23 调速示意图4.4按键抖动问题键盘一般是由一组机械按键按照一定的规律组合而成,通过按键的通、断作用输入开关电压信号。按键由断开到闭会及由闭合到断开时,由于机械触点的弹性作用,按键的动作不是立刻完成的,在闭合及打开的瞬间有机械抖动的发生,抖动时间一般为510ms,表现在输入电压信号上为输入信号是抖动的不稳定的电平信号,其信号波形见图24所示。按键闭合稳态时间由我的按键时间决定,一般为零点几秒到几秒之间。为了消除键抖动的影响,保证在按键闭合稳定状态下读取键值,需要对键进行消抖处理。常用的消抖措施有硬件消抖和软件消抖两种。硬件消抖是采用硬件电路的方法对键盘的按下抖动及释放抖动进行消抖,经过消抖电路使按键的电平信号只有两种稳定状态。常用的消抖电路有触发器消抖电路、滤波消抖电路两种。硬件消抖电路见图25。 图24 按键抖动波形 图25 硬件消抖电路硬件消抖电路解决了键抖动问题,但当所需按键比较多时,硬件消抖电路将变得复杂,成本也比较高。而这时就可以采用软件消抖的方法。软件消抖的基本原理是当第一次检测到有键按下时,根据键抖动时间的统计规律先采用软件延时的方法延时一段时间(一般可取10ms20ms),然后再确认键是否仍保持闭合状态,如仍保持闭合状态则键真正被按下,此时可读取键值,否则可视为干扰,对其不予理睬。采用软件消抖方法可省去硬件消抖电路,可键盘的工作速度将被降低。在此设计中使用了软件消抖,采用软件延时的方法延时一段时间再确认键是否仍保持闭合状态。5 系统的调试控制电路板的安装与调试在整个电路的设计中占有重要位置,它是把理论付诸实践的过程,也是把纸面设计转变位实际产品的必经阶段。对试验阶段的电路板的安装一般有两种方式即焊接方式和面包板插接方式。使用面包板焊接更加方便,容易更换线路和器件,而且可以多次使用。本设计常用的调试仪器有:示波器、万用表、信号发生器、稳压电源等。5.1系统的硬件调试调试步骤:1 调试前不加电源的检查对照电路图,检查实际线路中的连线是否正确,是否存在多接、错接、少接的情况等。将万用表调到电阻档检查连接处是否接触良好,元器件引脚之间有无短路,接插处和焊接处是否良好,电源供电极性、信号源的连线是否正确,电容、二极管、三极管、集成电路的极性是否正确。经过检查,可以发现我们所设计的电路存在错接和连接处不良接触的问题,经过细心的检查后,解决了上述的一些电路上的问题。2 静态检测与调试将信号源断开,把正确的电源接入电路,将万用表调到电压档,来监测电源电压,看是否有异常现象,如:手摸元器件发烫、异常气味、电源短路、冒烟等,如果发现有异常状况,应立即切断电源,然后排除故障。如果电路在测试后无上述异常情况,然后测量关键处的直流电压,如:放大电路输入、输出端直流电压、静态工作点等,看是否在正常工作状态下,如果有个别电路不符,经过调整电路元器件参数、更换元器件,使电路最终工作在合适的工作状态。对于放大电路我们还用示波器观察是否有自激发生。结果一切正常。3 动态检测与调试 动态调试是在静态调试的基础上进行的,调试的方法地在电路的输入端加上所需的信号源,并循着信号的注射逐级检测各有关点的波形、参数和性能指标是否满足设计要求,如必要,要对电路参数作进一步调整。发现问题,要设法找出原因,排除故障,继续进行。 我们所设计的遥控器电路是采用码分制遥控方式,我们用示波器对发射电路输出端及接收电路输入端的信号波型的进行了检查,发现当按下不同的开关按钮时所显示的波型是不同的。这说明了此电路是工作在正常状态的。4 调试注意事项经过我们自己动手调试电路。我们从问题之中总结出来一些常用电路调试的注意事项。(1) 正确使用测量仪器的接地端,仪器的接地端与电路的接地端要可靠连接。(2) 在信号较弱的输入端,尽可能使用屏蔽线连线,屏蔽线的外屏蔽层要接到公共地线上,在频率较高时要设法隔离连接线分布电容的影响,例如用示波器测量时应该使用示波器探头连接,以减少分布电容的影响。(3) 测量电压所用仪器的输入阻抗必须远大于被测处的等效阻抗。(4) 测量仪器的带宽必须大于被测量电路的带宽。(5) 正确选择测量点和测量(6) 认真观察记录实验过程,包括条件、现象、数据、波形、相位等。(7) 出现故障时要认真查找原因。5.2系统的软件调试在完成系统硬件的检查后主要是对软件进行调试,对遥控器的调试主要是用示波器观察能否在遥控接收器中输出图19所示的波形,调整发射电阻的大小可以改变红外线发射的作用距离。其性能指标:调试后系统性能指标测试如下:最大遥控距离:10m发射接收角:水平最大90度硬件电路制作完成并调试好后,便可将程序编译好下载到单片机试运行。附录1.红外发射电路2.红外接收电路3.红外发射程序/*/ send.c/ 遥控发射器/ LRM 2010.4.22 /*/使用AT89C51单片机,12MHZ晶振,/#pragma src(E:remote.asm)#include "reg51.h"#include "intrins.h" /_nop_();延时函数用/#define uchar unsigned char#define uint unsigned int#define key0 P0 /键列线#define key1 P1 /键行线/sbit remoteout=P35; / 遥控输出口/uint i,j,m,n,k,s;uchar keyvol; /键值存放uchar code keyv8=1,2,4,8,16,32,64,128;/*1毫秒延时程序*/delay1ms(uint t)for(i=0;i<t;i+) for(j=0;j<120;j+) ;/*初始化函数*/clearmen()remoteout=0; /关遥控输出IE=0x00;IP=0x01;TMOD=0x22; /8位自动重装模式TH1=0xf3; /40KHZ初值TL1=0xf3;EA=1; /开总中断/*发射函数*/sed()ET1=1;TR1=1;delay1ms(3);ET1=0;TR1=0;remoteout=0;/40KHZ发3毫秒for(m=keyvol;m>0;m-) delay1ms(1); /停1毫秒 ET1=1;TR1=1;delay1ms(1);ET1=0;TR1=0;remoteout=0; /40KHZ发1毫秒 delay1ms(10);/tx()switch(keyvol) case 0:keyvol=keyvol+1;sed();break; case 1:keyvol=keyvol+1;sed();break; case 2:keyvol=keyvol+1;sed();break; case 3:keyvol=keyvol+1;sed();break; case 4:keyvol=keyvol+1;sed();break; case 5:keyvol=keyv