智能红外遥控电风扇的设计.doc_第1页
智能红外遥控电风扇的设计.doc_第2页
智能红外遥控电风扇的设计.doc_第3页
智能红外遥控电风扇的设计.doc_第4页
智能红外遥控电风扇的设计.doc_第5页
已阅读5页,还剩57页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1.前言电风扇简称电扇,香港称为风扇,日本及韩国称为扇风机,是一种利用电动机驱动扇叶旋转,来达到使空气加速流通的家用电器,主要用于清凉解暑和流通空气。广泛用于家庭、办公室、商店、医院和宾馆等场所。电风扇价格低和耗电量小,拥有庞大的目标消费群。现在市面上的风扇大多只能通过主控板上的按键实现风扇的控制,控制方式又以模拟调控为主要控制手段,功能简单,智能化以及便捷性程度远远跟不上现代人的生活需求。一般的风扇的电机是采用多抽头交流电机,通过手动直接控制抽头的选择实现调速,这种控制方式电路复杂、操作不便而且效率也不高。而采用单片机控制可控硅的导通角来调节电机速度的遥控电风扇作为消费市场的新宠儿,为电风扇行业增加新的亮点。单片机和一般的数字和模拟芯片相比有着强大的功能,而且编程简单,因此利用单片机来实现对控制电机转速十分理想;本设计的研究目的就是实现对交流电机的控制来模拟风扇控制器;掌握单片机硬件和软件的综合设计方法。硬件部分包括有单片机最小系统、键盘输入部分、外接电机驱动部分、输出显示部分、红外发送接收部分、语音提示部分。软件部分包括有初始化状态、控制输出显示、信号产生与调制部分、占空比控制、中断控制、键盘输入部分部分。本论文共分九章,详细地介绍了红外遥控电风扇系统。重点介绍红外遥控信号的产生、发射、接收、应用的原理和特性。本文中,首先提出了几种可行的方案,并进行了项目的可行性分析,选择合适的方案,然后就该方案入手,先后介绍了硬件、软件电路的设计。最后,通过对调试结果的分析,得出结论,进行了项目设计的总结。本论文使读者可以明白项目设计的过程,设计中由于时间的仓促以及本人水平的局限,项目设计难免有不足之处,恳请各位老师、同学给予指正。2.项目分析家用电器发展的一个重要方面是让用户界面更加人性化,使用更加方便自然,做到老年人和残疾人也可以无障碍地使用。电风扇作为传统的家用电器,在百姓日常生活中有着很大的作用。但是目前市面上的电风扇仍然以机械旋钮或者简单红外遥控方式为主,无较好的人机界面。此处我采用51单片机作为电风扇的主控元器件,增加语音提示功能、液晶显示界面、16 档风速选择、红外遥控等功能,力求使电风扇控制更为简单且与用户的交互性更为直观方便。2.1.行业发展现状1882年,美国纽约的克罗卡日卡齐斯发动机厂的主任技师休伊斯卡茨霍伊拉,最早发明了商品化的电风扇距今已有100多年时间。随着科技进步,电风扇作为与老百姓日常生活紧密相关的家用电器,得到了长足的发展。从种类上划分出台扇、地扇、吊扇、壁扇。在控制方式上从最开始的旋钮、按钮控制方式到之后的触摸式操作。扇页材质也从最开始的金属材质换成塑料材质。最初的电风扇在控制方面相当呆板,因此不久之后,一种只需要设置好工作时间,就会根据设置,按时开、按时关的定时风扇风靡一时。定时风扇的操作方式也从旋钮、按键到之后的触摸式操作,估计现在不少朋友家中还有这种风扇。但是随着市场的发展、消费者审美习惯的转移以及健康节能观念的不断深入等,电风扇在功能和外观上的适时变换也是大势所趋。在目前市场上,开发较早且比较实用的电风扇首推遥控电风扇。由此可见,在如今工作节奏日益加快的工业化时代,生活上的便捷性成为了现代都市人的时尚选择。具体来说,便捷性产品不仅使操作摆脱了一定的空间限制,而且加上液晶屏幕的动态显示,操作起来一目了然。2.2.红外遥控简介远程遥控技术又称为遥控技术,是指实现对被控目标的遥远控制,在工业控制、航空航天、家电领域应用广泛。红外遥控是一种无线、非接触控制技术,具有抗干扰能力强,信息传输可靠,功耗低,成本低,易实现等显著优点,被诸多电子设备特别是家用电器广泛采用,并越来越多的应用到计算机系统中。红外线又称红外光波,在电磁波谱中,光波的波长范围为0.01um1000um。根据波长的不同可分为可见光和不可见光,波长为0.38um0.76um的光波可为可见光,依次为红、橙、黄、绿、青、蓝、紫七种颜色。光波为0.01um0.38um的光波为紫外光,波长为0.76um1000um的光波为红外光。红外光按波长范围分为近红外、中红外、远红外、极红外四类。红外线遥控是利用近红外光传送遥控指令的,波长为0.76um1.5um。用近红外作为遥控光源,是因为目前红外发射器件(红外发光管)与红外接收器件(光敏二极管、三极管及光电池)的发光与受光峰值波长一般为0.8um0.94um,在近红外光波段内,二者的光谱正好重合,能够很好地匹配,可以获得较高的传输效率及较高的可靠性。红外遥控的发射电路是采用红外发光二极管来发出经过调制的红外光波;红外接收电路由红外接收二极管、三极管或硅光电池组成,它们将红外发射器发射的红外光转换为相应的电信号,再送后置放大器。发射机一般由指令键或操作杆、指令编码系统、调制电路、驱动电路、发射电路等几部分组成。当按下指令键或推动操作杆时,指令编码电路产生所需的指令编码信号,指令编码信号对载波进行调制,再由驱动电路进行功率放大后由发射电路向外发射经调制定的指令编码信号。接收电路一般由接收电路、放大电路、调制电路、指令译码电路、驱动电路、执行电路等几部分组成。接收电路将发射器发出的已调制的编码指令信号接收下来,并进行放大后送解调电路,解调电路将已调制的指令编码信号解调出来,即还原为编码信号。指令译码器将编码指令信号进行译码,最后由驱动电路来驱动执行电路实现各种指令的操作控制。3.总体方案设计本设计通过红外信号发射器实现遥控功能,主控芯片在接收到红外遥控信号过后,通过解调、译码之后得到相应的码值,是以做出相应的加减档、开关机等动作,在完成相应动作过后,会伴有语音提示。在工作过程中,显示器能显示工作状态。以下对该是设计总体方案如何形成的具体比较、论证分析。3.1.方案比较论证3.1.1红外遥控信号的产生、调制及发射方案的选择方案一:载波采用外部芯片信号源提供,比如555振荡电路,RC振荡器,桥氏振荡器等,后接施密特触发电路整形后可得到比较标准的38KHZ载波,再用键盘产生按键信号,在外部将这两个信号相与后即可获得调制波。这种方法比较传统,成本也很低,不过设计起来比较繁琐,这种方法比较适合于一些定点发射的场合。方案二:使用单片机作为发射部分的主控中心,载波的产生、信号的采集、信号编码、信号与载波的调制都在芯片内部完成,输出的调制波经外接的整形放大电路后发射出去。这种方式成本稍高,不过设计灵活,保密性也好,可扩展性也强。3.1.2电机调速方案的选择方案一:采用现在通用的多抽头交流电机,通过可控硅控制或都手动直接控制抽头的选择,从而选择不同的电机线圈,电机转速因此而变化,达到调速的目的。如下图。 图3.1 多抽头交流电机调速电路图此种方式在大多数现行的风扇中都采用到,它成本低,但16档变速电路过于复杂而且控制不方便。方案二:采用单相交流电机或者直流电机,可控硅的导通角控制电机的开与关,而可控硅导通角可以由可变电阻来调节,这种方法可以实现无级调速。不过此种方案控制不太精确。电路如下图所示。图3.2 可变电阻控制可控硅导通角调速电路图方案三:采用单片机控制可控硅的导通角来调节电机速度,同时要用光耦将强电隔离开来,使电路更安全,这种方法可以实现无级调速,而且调速控制精确,但成本稍高。电路如下图所示。图3.3 单片机控制可控硅导通角调速电路图3.2.方案确定针对以上方案的比较论证,在红外遥控信号产生、调制及发射的方案中,我选择了方案二,即软件调制的方案,此方案采用软件调制的方式,在硬件上,只需完成信号的保持及功率放大,信号的载波产生及载波与信号的调制则全部由软件完成。该方案设计灵活,保密性也好,可扩展性也强。在电机调速的方案中,我采用的方案三,单片机控制可控硅的导通角来调节电机速度,同时可以用光耦将强电隔离开来,使电路更安全,这种方法可以实现无级调速,同时也可以达到很精确的控制。根据以上两个模块方案的选择,随即确定了总体方案。以下是总体方案框图。红外遥控信号按键遥控芯片整形、放大、发射电路一体化红外接收头主控芯片液晶显示按键语音芯片扬声器电机驱动电路单相交流电机图3.1 总体方案框图以下开始说明本设计的具体内容。4.硬件设计本设计的系统分为红外遥控信号发射部分和红外遥控信号接收及控制部分,硬件构造主要由红外信号调制及发射模块、红外信号接收模块、CPU处理模块、液晶显示模块、语音提示模块组成。以下对每个模块做具体阐述。4.1.红外遥控信号发射模块项目中处理的对象是红外遥控信号。所谓的遥控就是利用遥控器远距离控制电风扇的运行状况,本设计中通过遥控器上的按键电路及控制芯片对遥控按键进行识别,然后把按键信号调制在38KHz载波信号上通过三极管放大过后发送出去。4.1.1.遥控器按键识别3个按键K5、K6、K7分别通过发光二极管D7、D6、D5连接到P32外部中断0的引脚处,当任意一个按键按下时,将会触发外部中断,通过外部中断子程序可读取键值。这种思路设计的程序较简明,而且可以在睡眠状态下唤醒CPU,节约电池电量。图4.1 遥控器按键电路图表4.1 遥控器按键功能、键值表K5K6K7按键功能开/关机加档减档键值01H02H03H当无键按下时,延时10秒后进入空闲状态,系统处于低功耗模式。当有按键按下时,将触发外部中断0产生中断,同时唤醒CPU,进入工作状态。4.1.2.红外信号调制及发射按键信号在经过遥控器主控芯片进行按键识别、编码并与生成的载波调制过后,经由P33口送到CD40106整形然后再送到三极管9013放大,最后通过红外发射头TSAL6200将遥控信号发射出去。图4.2 红外遥控信号整形、放大、发射电路图4.1.3.红外信号的传输协议红外信号的传输协议除了规定红外遥控信号的载波频率、编码方式、空号和传号的宽度等外,还对数据传输的格式进行了严格的规定,以确保发送端和接收端之间的数据传输的准确无误。红外遥控传输协议很多,此次设计采用的是SAA3010T的编码解码协议。该协议采用的编码方式为PPM脉冲位置编码的方式,在此种编码方式下,每一位二进制数所占用的时间是一样的,只是传号脉冲的位置有所不同。空号在前、传号在后的表示为“1”,传号在前、空号在后的表示为“0”。1110000图4.3 PPM脉冲位置编码码值示意图“0”和“1”组成的二进制码经38kHz的载波进行二次调制以提高发射效率,达到降低电源功耗的目的。然后再通过红外发射二极管发射。当点击按钮,遥控器会发射完整的一帧,一帧应包括2 位的起始位,1 位的控制位,5 位的系统码和6 位的指令码。起始位控制位 系统码 指令码一帧信号图4.4 一帧信号指令结构图4.1.4.遥控器最小系统图遥控器采用AT89C2051做主控芯片,最小系统除了2051芯片以外还包括复位电路、时钟电路、电源电路。以下是遥控器最小系统图。图4.5 遥控器最小系统电路图4.2.CPU处理模块该系统的CPU采用Atmel公司生产的AT89S52单片机。它是一种低电压、低功耗、高性能的CMOS 8位单片机,作为普通51单片机已广泛应用于各种产品中,其接口简单,方便使用,且功能强大,因此本系统采用AT89S52单片机作为主控制芯片。4.2.1.AT89S52功能描述AT89S52是一种低功耗、高性能CMOS8位微控制器,具有8K 在系统可编程Flash 存储器。它使用Atmel 公司高密度非易失性存储器技术制造,与工业80C51 产品指令和引脚完全兼容。在单芯片上,拥有灵巧的8位CPU和在线系统可编程Flash,使得AT89S52为众多嵌入式控制应用系统提供高灵活、有效的解决方案。AT89S52具有以下功能特点:有40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中断口,2个16 位定时器/计数器,一个6向量2级中断结构,2个全双工串行通信口。8k字节Flash,256字节RAM片上Flash允许程序存储器在系统可编程,亦适于常规编程器。其将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的Flash存储器可有效地降低开发成本。空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。而且,它还具有一个看门狗(WDT)定时/计数器,如果程序没有正常工作,就会强制整个系统复位,还可以在程序陷入死循环的时候,让单片机复位而不用整个系统断电,从而保护你的硬件电路。4.2.2.单片机小系统电路连接CPU芯片AT89S52的最小系统电路如图4.6所示,该电路除了CPU以外还包括晶体振荡器、复位电路、电源电路以及以接口电路等。RESET复位输入,当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。设计中在FIASH编程时,P0口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部被拉高。图4.6 AT89S52的最小系统电路图4.3.红外接收模块前面曾经谈到,红外遥控信号是一连串的二进制脉冲码。为了使其在无线传输过程中免受其他红外信号的干扰,通常都是先将其调制在特定的载波频率上,然后再经红外发光二极管发射出去,而红外接收装置则要滤除其他杂波,只接收该特定频率的信号并将其还原成二进制脉冲码,也就是解调。目前对于这种进行了调制的红外线遥控信号,通常是采用一体化红外线接收头进行解调。本次设计就是采用的一体化红外接收头HS0038进行红外信号的接收和解调。HS0038将接收到的红外信号经过解调后从P33口传送至主控芯片,此时将触发外部中断1,可在外部中断1服务子程序中获得接收到的码值。图4.7 红外遥控信号接收电路图单片机接收到中断过后,开始计数。过后按照一定的间隔读取接收到的码,循环14次,完成14个码值的接收和存储。然后进行解码以及根据接收到的码做出对应的动作。4.4.液晶显示模块本次设计采用1602液晶显示器作为显示界面。液晶显示器显示信息量较多,外观较好,具有很高的开发价值。4.4.1.显示芯片1602功能特性1.显示特性单5V电源电压,低功耗、长寿命、高可靠性内置192种字符(160个57点阵字符和32个510点阵字符)具有64个字节的自定义字符RAM,可自定义8个58点阵字符或4个511点阵字符显示方式:STN、半透、正显驱动方式1/16DUTY,1/5BIAS视角方向:6点背光方式:底部LED通讯方式:4位或8位并口可选标准接口特性,适配MC51和M6800系列MPU的操作时序2.物理特性外形尺寸803614mm可视范围64.6(W)16.0(H)mm显示容量16字符2行点尺寸0.550.75mm点距离0.08mm3.接口定义管脚号符号功能1VSS电源地(GND)2VDD电源电压(+5V)3VLLCD驱动电压4RS寄存器选择输入端5R/W读写控制输入端6E使能信号输入端7DB0数据输入/输出口8DB1数据输入/输出口9DB2数据输入/输出口10DB3数据输入/输出口11DB4数据输入/输出口12DB5数据输入/输出口13DB6数据输入/输出口14DB7数据输入/输出口15A背光的正端+5V16K背光的负端0V4.4.2.液晶显示模块电路连接显示芯片的数据输入、输出口D0到D7与单片机P0口相连。寄存器选择输入端RS与单片机P25脚相连,读写控制输入端与单片机P26脚相连,使能信号输入端E与单片机P27脚相连。图4.8 晶显示模块电路图4.5.电机驱动模块本次设计电机调速的方法是单片机引脚P10输出经过PWM调制后的脉宽,通过光耦MOC3025控制可控硅BT136的导通角,从而达到调节电机转速的目的。这种方法可以实现无级调速,光耦可以将强电隔离开来,使电路更安全。电机调速采用直接PWM算法,在程序中的实现大致方法就是,产生一个基本频率的方波,配合定时器控制方波的占空比来控制可控硅的导通角,从而达到调节电机转速的目的。以下是电机调速部分实现流程图。确定基准频率的方波占空比调整输入控制占空比输出PWM波控制电机调速可控硅导通角改变图4.9 电机调速实现流程图以下是电机驱动模块的电路图。图4.10 电机驱动模块电路图4.6.语音提示模块本设计采用ISD2560作为语音芯片,该芯片具有控制简单、集成度高、使用方便、再现语音自然等优点。具有较高的开发价值。4.6.1.ISD2560语音芯片的主要功能特性易实现单片机语音录音/放音;高质量,自然的语音还原技术;人工控制或者微控制器控制声音播放,内置微控制器串行通信接口;录音时间可达60S;录音存放在芯片上的非易失内存单元,提供零功耗信息存储,去除了电池备份电路;直接级联可以实现更长的录音时间;信息可无电保存100年;重复录音最多可达十万次;自动节电模式,此时电流仅为1uA;+5V供电;4.6.2.ISD2560语音芯片的引脚功能ISD2560共有三种封装形式:32引脚的TSOP封装,28引脚的DIP封装和28引脚的SOIC封装。本设计选用SOIC封装,其引脚分布如下图所示:图4.11 ISD2560管脚图A0/M0-A6/M6,A7-A9(1-10引脚):地址线/模式输入。共有1024种组合状态。最前面的600个状态作为状态内部存储器的寻址用,最后256个状态作为操作模式。当A8或者A9有一个为零时,作为地址线,作为当前录音/放音操作的起始地址,地址端只用作输入,不输出操作过程中的内部地址信息,地址输入在CE的下降沿被锁存。当A8和A9均为1时,为模式输入,共有6种操作模式,由M0-M6决定,允许多种模式同时存在。AUX IN(11引脚):辅助输入。当CE和P/R为高,放音不进行或者处于放音溢出状态时,该引脚的输入信号通过内部输出放大器驱动扬声器输出端。当多个ISD2560芯片级联时,后级的扬声器输出通过该引脚连接到本级的输出放大器。VSSD,VSSA(12,13引脚):数字和模拟地。由于芯片内部使用不同的模拟和数字地线,因此,这两个引脚最后通过低阻抗通路连接到地。SP+,SP-(14,15引脚):扬声器输出。可驱动16欧以上的扬声器。VCCA,VCCD(16,28引脚):模拟和数字电源,为了最大限度地减小噪声,芯片内部的模拟和数字电源使用不同的电源总线,并且分别引到外封装上。模拟和数字电源端最好分别走线,并应当尽可能在靠近供电端相连,而去藕电容则应尽量靠近芯片。MIC IN(17引脚):话筒输入引脚。麦克的输入通过此引脚将信号送至片内的前置放大器,片内自动增益控制电路(AGC)将此前置放大器的增益控制在-1524dB。外接话筒应当通过一系列电容交流耦合进此引脚,耦合电容值和芯片内部此引脚的10千欧输入阻抗共同决定了ISD2560芯片频带的低频截至点。MIC REF(18引脚):话筒参考输入引脚。此引脚是前置放大器的反向输入,当以差分形式连接话筒时,可减小噪声,提高共模抑制比。AGC(19引脚):自动增益控制引脚。AGC可动态调整前置增益以补偿话筒输入电平的宽幅变化,使得录制变化很大的音量时失真都保持最小。响应时间取决于该端内置的5千欧电阻和从该端到VSSA端所连接电容的时间常数。释放时间取决于该端外接的并联对地电容和电阻设定的时间常数。选用标称值分别为470千欧的电阻和4.7uF的电容可以得到满意的效果。ANA IN (20引脚):模拟输入引脚。此引脚为芯片录音信号输入端。对话筒输入来说,应将ANA OUT引脚通过外接电容连至此引脚,该电容和本端的3千欧输入阻抗决定了芯片频带的附加低端截止频率。其他音源可以通过交流耦合直接连至该引脚。ANA OUT(21引脚):模拟输出引脚。此引脚为前置放大器的输出,其前置电压增益取决于AGC引脚的电平。OVF(22引脚):溢出标志输出引脚,低电平有效。芯片处于存储空间末尾时,此引脚输出低电平脉冲以表示溢出,之后该引脚状态跟随CE引脚的状态,直到PD引脚变到高位复位芯片。此外,该引脚可用于级联多个ISD2500系列器件以增加录音存储时间。CE(23引脚):芯片使能输入引脚,低电平有效。此引脚为低电平使能所有的录音和播放操作。芯片在该引脚的下降沿锁存地址线和P/R引脚的状态。另外,此引脚在模式6也有特殊的意义。PD(24引脚):节电控制引脚。此引脚变高后可使芯片停止而进入节电状态。芯片发生溢出,即OVF引脚输出低电平后,应将此引脚变高以将地址指针复位到录音放音空间的开始位置。EOM(25引脚):信息结尾标志输出引脚,低电平有效。EOM标志在录音时由芯片自控插入到该信息段的结尾。当放音遇到EOM时,此引脚输出低电平脉冲。另外,ISD2560芯片内部会自动检测电源电压以维护信息的完整性,当电压低于3.5V时,此引脚变低,此时芯片只能放音。在模式6状态下,可用来驱动LED,以指示芯片当前工作状态。XCLK(26引脚):外部时钟输入引脚。此引脚内部与下拉原件连接,不用时应接地。芯片内部的采样时钟在出厂前已经调节标准,误差在1%以内。ISD2560的采样频率为8KHz,需要1024KHz的外部时钟。P/R(27引脚):录音/放音模式选择引脚。此引脚在CE的下降沿锁存。高电平选择放音,低电平选择录音。录音时,由地址线提供起始地址,直到录音持续到CE或者PD变高,又或者内存溢出;如果是前一种情况,芯片将自动在录音结束处写入EOM标志。放音时,由地址输入提供起始地址,放音持续到EOM标志。如果CE一直为低,或芯片工作在某些操作模式,放音则会忽略EOM而继续进行下去,直到发生溢出为止。4.6.3.ISD2560语音芯片外围连接A4、A5、A6、A7管脚在应用的时候仅仅是有接收放音地址信号的功能,而本次设计存储录音段数较少,地址仅用A0、A1、A2、A3四个引脚就能确定,又因主控芯片上I/O紧缺,所以直接把A4、A5、A6、A7四个引脚接地,通过编程处理,能达到设计要求。图4.12 语音提示模块电路图4.7.按键控制模块3个按键K2、K3、K4分别通过发光二极管D1、D2、D3连接到P32外部中断0的引脚处,当任意一个按键按下时,将会触发外部中断,通过外部中断服务子程序可读取键值,与红外信号发射部分的键盘大体相同。图4.13 按键控制电路4.8.电源模块电源模块分为变压电路和稳压电源两部分。稳压电源模块由常见的稳压器件LM7805构成,最大输出电流为1A,输入在7.5 V到34V。在电流充足的情况下可以稳定5V输出。变压电路由桥式整流电路构成,将220V交流电降压为12V,作为7805的输入。LM7805是固定稳压电路,使用外接元件,可获得较为稳定的电压和电流。在输入1,3脚常接电容,起到滤波稳定的作用。电路下图所示。图4.14 5V稳压电路5.软件设计5.1. 遥控信号发射部分软件设计流程遥控发射部分主要功能是当有按键按下时,将按键值以红外信号的方式发射出去,以便接收方接收到信号过后做出相应的动作,这当中要完成键盘读取、载波的产生、编码调制、整形放大、红外发射等过程。此次设计采用中断的处理程序完成整个系统的操作,当有按键按下时,产生外部中断0,外部中断0处理完成键盘读取,接着定时器0中断服务子程序负责编码,定时器1中断服务子程序负责产生载波并且将载波与信号调制,调制波经引脚P33输出。主程序只负责延时10S,若无按键按下,则进入休眠状态,以节省电能。主程序和外中断0、定时器0、定时器1中断程序流程图,如下所示。是否否是开始单片机初始化主程序进入外部中断0子程序等待10S,是否有键按下待机,是否有键按下图5.1 遥控信号发射部分主程序流程图外部中断0子程序延时消抖获取键值打开定时器0、1中断返回图5.2 遥控信号发射部分外部中断0服务子程序流程图定时器0中断程序重设计数器编码并移位,获取要发送的码值中断返回图5.3 遥控信号发射部分定时器0中断服务子程序流程图定时器1中断程序产生载波载波与信号调制中断返回图5.4 遥控信号发射部分定时器1中断服务子程序流程图5.2. 遥控信号接收及控制部分软件设计流程红外接收和键盘读取都采用外中断来响应输入,这样可以简化程序设计。当有红外输入外中断1响应输入,配合定时器0完成接收工作。当有键盘输入时,在外部中断0中完成键盘读取。下面是主程序流程图。否初始化主程序延时显示信息是否有中断产生相应中断程序是图5.5 接收及控制部分主程序流程图外部中断0(键盘输入)和外中断1(红外接收)服务子程序流程,其主要功能是根据输入(红外输入或键盘输入),控制系统的一些控制参量比如风量,开关机等。键值为0x03键值为0x02键值为0x01外中断0(键盘)开/关机加速减速中断返回延时取得键值图5.6 外中断0程序流程图码值为0x03码值为0x02码值为0x01外中断1(红外)开/关机加速减速中断返回与定时器配合取得码值 图5.7 外中断1程序流程图定时器0主要用做红外接收时的计时,定时器1主要用来产生PWM波控制电机转速。其程序流程图如下。是否定时器中断0接收红外码值接收的编码是否符合要求结束计时,关闭中断对编码进行处理,得到键值图5.8 定时器中断0程序流程图定时器中断1根据当前时间调整空占比输出PWM波中断返回图5.9 定时器中断1程序流程图6.系统调试及功能分析本设计的调试主要是针对液晶显示部分和语音提示部分的调试,因为并没有做出实物,所以只做了软件调试。6.1.Proteus软件介绍Proteus软件是英国Labcenter electronics公司出版的EDA工具软件。它不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件。它是目前最好的仿真单片机及外围器件的工具。虽然目前国内推广刚起步,但已受到单片机爱好者、从事单片机教学的教师、致力于单片机开发应用的科技工作者的青睐。Proteus是世界上著名的EDA工具(仿真软件),从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到PCB设计,真正实现了从概念到产品的完整设计。是目前世界上唯一将电路仿真软件、PCB设计软件和虚拟模型仿真软件三合一的设计平台,其处理器模型支持8051、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086和MSP430等,2010年增加Cortex和DSP系列处理器,并持续增加其他系列处理器模型。在编译方面,它也支持IAR、Keil和MPLAB等多种编译器。6.2.软件仿真利用Proteus软件可以进行电路分析实物仿真。下面是针对本次设计的Proteus仿真界面。图6.1 PROTEUS界面Proteus提供了一系统的单片机,元件库等素材,此外还有一系统的虚拟仪器,可以在仿真过程中运用,比如示波器,逻辑分析仪,各种信号源等,下面就是利用Proteus软件中的虚拟仪器观察载波与信号调制后的调制波形的仿真。图6.2 PROTEUS中的虚拟仪器下图就是用Proteus内带的虚拟仪器示波器观察载波与信号调制后的调制波形。图6.3 用示波器观察调制波形6.2.2.电源部分的仿真电源的仿真用Proteus仿真比较困难,Proteus的仿真偏重于逻辑仿真,而对其他方面的变化不太敏感。所以电源部分运用Multisim来仿真。界面如下图。图6.4 Multisim界面本次仿真是用示波器观察电源电路的输出波形。正弦波为220V交流电经过变压器之后的电压波形,测得峰值为12.729V,另一条红线是经过整流和7805稳压后的波形,测得为5.108V,测试基本达到预期的结果。图6.5 电源部分仿真结果6.3.调试及结果在Proteus软件中,运行系统,点击按键2、按键3能够实现加减档功能,1602显示芯片上能够显示当前档位。以下是液晶显示芯片1602显示当前档位的仿真图。图6.6 Proteus仿真显示档位图因为Proteus原件库中没有找到语音芯片,能不能够在加减档的时候成功的伴随有语音提示就只有通过观察主控芯片的输出引脚的电位来判断。这里,我以按“加档”键,即键2为例,叙述调试过程。在按下键2的时候,P14、P15为低,对应语音芯片A8、A9为低,即语音芯片为放音模式。单片机P1口低4为“0,0,1,0”,对应语音芯片A0-A3也为“0,0,1,0”,又因为语音芯片A4-A7接地,即都为低。所以语音芯片A0-A7脚对应电平为“0,0,0,0,0,0,1,0”,即此时,放音地址指向02H。单片机P20脚为高,对应语音芯片PR为高,即开始放音。在按下键1,键3的时候情况大致相同,都能实现,就不多做介绍。由此看来语音提示功能也能够成功实现,调试成功。7.总结与体会本论文详细地介绍了基于单片机的红外遥控电风扇的设计。论文首先列举几个小模块的实施方案,通过分析比较,选择了一些比较简单且经济实惠的方案,然后确定了总体的实施方案。接下来分硬件和软件两部分对各个模块进行了详细的分析介绍,重点介绍了红外信号的产生及调制发射、红外控制信号的接收、CPU的处理、液晶显示、电机调速,以及电源模块电路以及各部分的软件实现。由于时间的匆促,设计中难免有不尽人意的地方,但很多事情过程最重要,我已经从设计中得到了极大的收获和锻炼。我觉得项目设计是一个让我们熟悉理论知识,并将其用于实践的一种非常有效的途径。在这个过程中,自己在知识的综合运用、新知识的学习、工程问题的解决和进行科学研究的基本训练都有了极大提高。我还体会到进行项目设计作所需要的坚毅、不怕苦不怕累的精神。在将理论和实际紧密结合中,也让我体会到了学以致用的乐趣。设计之初我使用protel 99se 绘制原理电路,查找红外遥控一些情况,包括红外信号的编码类型、编码方式等等,经过一步步地学习,老师的指导,结合自己的设计理念有条不紊的进行设计。期间我反复推敲思考设计的实现方法,突破了一个又一个难题,设计在一步步中得到完善,最后设计能完成我很欣慰,有了久违的学习充实感,也让我感觉到受益匪浅。当然在设计中遇到了一些问题,由于自身知识有限,我只能简单实现一些功能,用自己的方法思考设计项目。最后,基本完成项目的要求完成毕业设计。从总的体会来说,这个设计的过程,是我所学知识逐渐融合提升的过程,是我实现电子信息技术逐渐运用的过程。通过本次毕业设计我意识到了我们仅仅从书本上学到的知识是很有限的,我们需要不断开阔我们的视野,扩展我们的思维。在这期间我也学会了大量查阅相关资料获取有用知识的能力,这对我的毕业设计,以及将来要进行的项目开发研究起了知识储备的作用。书本上学到的永远只是空洞的知识理论,也许理论学的很好,可是当真正用到学到的知识去解决实际问题的时候,就会感到自己的差距很大。所以,要结合生活实际把所学的东西,学以致用。项目设计正是给我这样一个去充实自己、发展自己的机会。同时我也意识到了自己的不足,明确了自己以后工作和继续学习深造的方向。8.致谢本项目设计是在指导老师李天倩老师的悉心指导下完成的。感谢李天倩老师对本设计的研究给予我的悉心指导和全力帮助。在本设计的前期,当我在网上查阅设计资料的时候,了解到了风扇对于普通老百姓的重要性以及风扇行业的发展方向,能够设计一种贴近生活,为大家生活带来好处的电器引发了我设计该项目的兴趣。在设计的过程中,学校指导老师不仅给予精心的指导、而且给予热情的鼓励,使我在制作设计、时间把握等各个方面上自觉规划,严格按毕业设计要求完成设计。项目设计让我受益良多,各方面都有锻炼与提高。学生的每一点进步,无不倾注了指导老师的心血。在此,谨向学校指导老师表示衷心的感谢。本设计的完成得到了学院提供的场地支持,以及同学的协助和鼓励。在此,谨向学院以及同学表示衷心的感谢。任何成绩的取得都是学校的教育分不开的,如果没有老师们的耐心指导和同学的帮助,我是不可能有现在的能力,也不会顺利完成本次项目的。在此再次对我的母校,对学校学院,对设计指导的所有老师表示深深的谢意,另外,还感谢帮助过我的同学们。9.参考文献1张毅刚.单片机原理及应用M.高等教育出版社.2003.122谢自美.电子线路设计、实验、测试M.华中科技大学出版社.2009.73廖太全,李萧,郭明琼.常用数字集成电路原理与应用M人民邮电出版社.20064陈永甫.红外辐射-红外器件与典型应用M.电子工业出版社.2009.65李学龙.使用单片机控制的智能遥控电风扇控制器J电子制作.2003.96陈阳海.红外遥控工作原理J电子制作.2007.11期7Stephen Prata. C Primer PlusM人民邮电出版社.2005.28杨帮文.新型集成器件实用电路M电子工业出版社.2006.19虞献文.家用电器百科M高等教育出版社.2003.210吴红星.电机驱动与控制专用集成电路及应用M中国电力出版社.200611王立凤,戴明.基于ISD2560语音芯片的录放电路设计J电子元器件应用2009.6期附录1.电路原理图附录2.程序代码遥控发射部分源程序#include reg51.h#define uchar unsigned char#define uint unsigned int#define keyport P1 /键盘口uchar key; /用来保存按键值sbit emitt=P33; /发射口uint keycode=0x183f; /保存编码值uchar t0count=0;bit carry; /38K载波bit codebit;void delay(uchar sec); /延时一秒void getkey(void); /取键值void init(void); /初始化函数void delayms(uchar ms); /延时一毫秒void main(void) init(); /初始化while(1)delay(10);PCON|=0xfe; /延时10S进入睡眠状态/初始化函数void init(void)EA=1;EX0=1;ET0=1; /打开中断,定时器等ET1=1;TMOD=0x21;TH0= (65536-825)/256 ;TL0= (65536-825)/256 ;TH0= 256-13;TL0= 256-13;TR1=1;void getkey(void) /获得按键值函数if(keyport&0xe0!=0xe0)delayms(20); /延时消抖if(keyport&0xe0!=0xe0)key=keyport&0xe0;switch(key) case 0x60:key=0x01;break; case 0xa0:key=0x02;break; case 0xc0:key=0x03;break; default :key=0x00;break;elsekey=0x00;void int_ser(void) interrupt 0 using 1 /外部中断 0子程序getkey();if(key!=0x00)keycode&=0xffc0;keycode=key|0x1800; /编码处理keycode=keycode2;codebit=(bit)(keycode&0x0001);TR0=1;void time0(void) interrupt 1 using 2 /定时器中断0服务子程序TH1= (65536-825)/256 ;TL1= (65536-825)/256 ;if(t0count28)if(t0count&0x01=0) /将编好的码一柆一柆地移出等待发送codebit=(bit)(keycode&0x0001);keycode=keycode1; elseTR0=0;t0count=0; t0count+; void time1(void) interrupt 3 using 3 /定时器中断01务子程序 carry=carry; /产生载波if(t0count0;ms-)for(i=10;i0;i-)for(j=100;j0;j-);void delay(uchar sec) /延时一秒uchar i,j,k;for(;sec0;sec-)for(i=100;i0;i-)for(j=100;j0;j-)for(k=100;k0;k-);/*接收控制部分源程序(包括主程序文件以及液晶驱动程序)*/#include at89x51.h#includelcd.h#includestdlib.h#define uchar unsigned char#define uint unsigned int#define keyport P2#define lcddata P0sbit motorpin=P21; sbit rec=P30;sbit A8=P14;sbit A9=P15;sbit PD=P16;sbit CE=P17;sbit PR=P20;uchar key; uint rec_code;uchar rec_count=0;bit countdown=0; uchar speed=123;uchar mode=0;uchar t1

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论