基于红外控制单片机的风扇_第1页
基于红外控制单片机的风扇_第2页
基于红外控制单片机的风扇_第3页
基于红外控制单片机的风扇_第4页
基于红外控制单片机的风扇_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

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

文档简介

红外遥控电风扇【摘要】电风扇作为一种价格廉价、体积小巧的清热解暑的家用电器,在家庭中的普及率非常高,其技术的开展也越来越成熟。本文介绍了一种利用红外无线遥控来对电风扇调速定时的设计方法。整个系统的核心局部就是红外遥控和STM32控制。系统以STM32F103RBT6为控制器,通过红外接收管接收遥控器信号,芯片解码后进行相应的控制。设计主要分为四个模块:电机舵机模块、红外遥控模块、液晶显示模块、定时模块。【关键词】红外遥控、STM32、定时、调速1引言在炎热的夏天,人们离不开可以降温的家电,虽然在城市生活中空调已经非常普遍,但是电风扇引起廉价的价格、小巧的体积、摆放方便等优点仍然占领着中小城市和农村家庭的大局部市场,而且技术也越来越成熟,功能越来越完善。电风扇是利用电机驱动扇叶旋转以使空气加速流通来实现结束清凉的目的的,它起源于1830年,一名叫詹姆斯·拜伦的人从钟表的结构中受到启发创造了可以固定在天花板上的机械风扇,这种风扇利用发条驱动,但是要得到清凉的风需要爬到天花板高度上发条,使用很麻烦。1872年,法国人约瑟夫研制出靠发条涡轮启动、利用齿轮链条转动的机械风扇。到了1880年,美国人舒乐将扇叶直接装在电动机上,接上电源,利用电能控制风扇,这就是真正意义上的电风扇。1908年,美国的埃克发动机电气公司研制出了齿轮左右摇头的电风扇,防止了电风扇不必要的三百六十度转头送风问题。此后,电风扇的种类开始越来越丰富,台扇、吊扇、地扇、壁扇等,可以根据场合的需求选择种类,而且控制方式也开始改良,从旋钮、按钮的控制方式开展为触摸式、遥控式控制方式,后来又出现了可以定时、自动换挡的智能型风扇。本文提出了一种可以通过红外遥控器实现定时调速控制风扇的设计方案,整个系统是以STM32F103RBT6为核心控制器来实现智能化的。2方案设计2.1方案比拟与选择遥控方式选择基于超声波遥控方式。超声波遥控方式中的超声传感器频带窄,所能携带的信息量少,易受干扰而引起误动作,同时,该种方式作用距离短,通用性强,可互换。假设采用无线电遥控方式。无线电具有绕射和穿透性,不受角度、方向和障碍物的限制。但是由于我们生活的周围充满了电磁波和无线电波,所以无线电遥控很容易受到干扰,稳定性不够高。还可以采用为红外线遥控方式。红外线技术出现较早,本钱低,控制内容多,抗干扰能力强,不会发生任何误动作,响应速度快,不会对其它电器产生干扰,体积小,本钱低,功耗小,与其它方式比,可降低消耗功率90%,而且在日常家庭生活中,几乎家家都有电视遥控器,只需要利用电视遥控器,再用单片机加一个红外接收头就可以读取遥控器的键值,进而根据键值执行相应的操作。所以综上所述,从家具布局和实用性方面考虑,本设计选用红外无线遥控方案。2.2设计方案本系统以AT89S51单片机为控制器,通过家庭万能红外遥控器实现遥控功能,接收端采用红外接收三极管接收红外信号并将其送至单片机,单片机根据不同编码确定不同按键,进而根据按键功能控制系统的工作状态。定时方面选用DS1307时钟芯片来提供时间基准。单片机控制测温通过DS18B20数字温度传感器实现,单片机根据温度的不同控制风扇的3个不同档次的工作状态。系统的温度和时间值都可以通过液晶显示器进行实时显示。系统设计方框图如图2-1所示。图2-1系统设计方框图3系统硬件设计3.1硬件设计应用环境简介本设计硬件电路是在Protel电子设计软件环境下进行设计的,系统整体电路原理图见附录。Protel电子线路设计软件是在TANGO根底上改良的电路CAD软件,它在原理图文件格式、印制板文件格式、原理图器件库文件格式、印制板封装库文件格式、原理图编译和网络表转换与检查等方面保持了与TANGO版本一致或兼容的前提下,对原TANGO版本做了一些改动。Protel电子线路设计软件由原理图编辑、印制板设计、原理图输出、印制板输出、原理图器件库编辑和其他应用程序组成。电路原理图的设计是印制电路板设计中的第一步,也是非常重要的一步。电路原理图设计得好坏将直接影响到后面的工作。首先,原理图的正确性是最根本的要求,因为在一个错误的根底上所进行的工作是没有意义的;其次,原理图应该布局合理,这样不仅可以尽量防止出错,也便于读图、便于查找和纠正错误;最后,在满足正确性和布局合理的前提下应力求原理图的美观。电路原理图的设计过程可分为以下几个步骤:1、设置电路图纸参数及相关信息根据电路图的复杂程度设置图纸的格式、尺寸、方向等参数以及与设计有关的信息,为以后的设计工作建立一个适宜的工作平面。2、装入所需要的元件库将所需的元件库装入设计系统中,以便从中查找和选定所需的元器件。3、设置元件将选定的元件放置到已建立好的工作平面上,并对元件在工作平面上的位置进行调整,对元件的序号、封装形式、显示状态等进行定义和设置,以便为下一步的布线工作打好根底。4、电路图布线利用Protel所提供的各种工具、命令进行画图工作,将事先放置好的元器件用具有电气意义的导线、网络标号等连接起来,布线结束后,一张完整的电路原理图根本完成。5、调整、检查和修改利用Protel所提供的各种工具对前面所绘制的原理图做进一步的调整和修改。6、补充完善对原理图做一些相应的说明、标注和修饰,增加可读性和可观性。7、保存和打印输出这局部工作主要是对设计完成的原理图进行保存,包括存盘、打印输出等,以供以后的工作中使用。3.2红外遥控单元3.2.1红外简介红外线是太阳光线中众多不可见光线中的一种,由英国科学家霍胥尔于1800年发现,又称为红外热辐射,他将太阳光用三棱镜分解开,在各种不同颜色的色带位置上放置了温度计,试图测量各种颜色的光的加热效应。结果发现,位于红光外侧的那支温度计升温最快。因此得到结论:太阳光谱中,红光的外侧必定存在看不见的光线,这就是红外线。也可以当作传输之媒界。红外通讯,就是通过红外线传输数据。在电脑技术开展早期,数据都是通过线缆传输的,线缆传输连线麻烦,需要特制接口,颇为不便。于是后来就有了红外、蓝牙、802.11等无线数据传输技术。在红外通讯技术开展早期,存在好几个红外通讯标准,不同标准之间的红外设备不能进行红外通讯。为了使各种红外设备能够互联互通,1993年,由二十多个大厂商发起成立了红外数据协会(IrDA),统一了红外通讯的标准,这就是目前被广泛使用的IrDA红外数据通讯协议及标准。μμμm之间的近红外线来传送信号的。3.2.2遥控电路设计本设计中作为发射局部使用的遥控器为M5046AP机芯的电视机遥控器。电视机遥控器应用的是红外收发原理,即遥控器前端侧面的红外发射管发射出红外信号,电路板上红外接收管接收到信号后送到单片机内部,经译码后变成相应的操作指令,以实现定时、遥控风扇的功能。其中遥控指令是由16位二进制编码组成的,前8位为用户码,为区别不同遥控器发射的指令,防止遥控器之间互相干扰;后8位为指令码。红外接收管有两种:二极管型和三极管型的。二极管型的相应频率高,但是增益小,三极管型的响应频率低,但是增益高,而且输出为上下电平,信号可直接被单片机识别,无需A/D转换,因此本设计选用红外三极管作为接收管。红外接收管直接接至单片机的P3.2引脚。红外遥控器的内部关键电路和接收管电路如图3-1所示。图3-1遥控器内部关键电路及接收管电路3.3单片机控制单元3.3.1单片机简介单片机是一种集成在电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU、随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能〔可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路〕集成到一块硅片上构成的一个小而完善的计算机系统。单片机也被称为微控制器,它最早是被用在工业控制领域。单片机由芯片内仅有CPU的专用处理器开展而来。早期的单片机都是8位或4位的。其中最成功的是INTEL的8031,因为简单可靠而性能不错获得了很大的好评。此后在8031上开展出了MCS51系列单片机系统。基于这一系统的单片机系统直到现在还在广泛使用。随着工业控制领域要求的提高,开始出现了16位单片机,但因为性价比不理想并未得到很广泛的应用。90年代后随着消费电子产品大开展,单片机技术得到了巨大提高。随着INTELi960系列特别是后来的ARM系列的广泛应用,32位单片机迅速取代16位单片机的高端地位,并且进入主流市场。而传统的8位单片机的性能也得到了飞速提高,处理能力比起80年代提高了数百倍。单片机诞生于20世纪70年代末,经历了SCM、MCU、SoC三大阶段。MCS-51内核结构单片机的数据存储器分为内部数据存储器和外部数据存储器。MCS-51单片机的外部数据存储器〔RAM/IO〕空间为64KB〔地址为0000H~0FFFFH〕,一般通过16位数据指针DPTR来访问,且外部RAM和外部I/O的地址安排是统一编址的。MCS-51的内部数据存储器为128B或256B〔AT89S51的内部数据存储器为128B,地址空间为00H~7FH,8032、8052和8752的内部数据存储器为256B,地址空间为00H~0FFH〕。AT89S51将内部数据存储器中的不同区域从功能和用途方面来划分,可以分为3个区域,即工作存放器区〔00H~1FH〕、位寻址区〔20H~2FH〕、堆栈和数据缓冲器区〔30H~7FH或30H~0FFH〕。I/O口分配:P0口〔P0.0~P0.7〕为双向8位三态I/O口,当作为I/O口使用时,可直接连接外部I/O设备。它是地址总线低8位及数据总线分时服用口,可驱动8个TTL负载。一般作为扩展时地址/数据总线口使用。P1口〔P1.0~P1.7〕的每一位都可以分别定义为输入线和输出线〔做输入时,锁存器必须置1〕,可驱动4个TTL负载。P1口常用作通用I/O口,它是一个标准的准双向口。P2口〔P2.0~P2.7〕为8位准双向I/O口,当作为I/O口使用时,可直接连接外部I/O设备。它是地址总线的高8位复用,可驱动4个TTL负载。一般作为扩展地址总线的高8为使用。P3口〔P3.0~P3.7〕为8位准双向I/O口,是双功能复用口,可驱动4个TTL负载,能够实现第一功能,可作为通用I/O口。3.3.2单片机控制电路单片机控制电路设计如图3-2所示。单片机自身需要时钟电路和复位电路才能工作。本设计中单片机的时钟电路通过在XTAL1和XTAL2之间连接一个12MHz的晶振而实现,2个引脚再分别接一个22pF的对地电容。复位电路通过在RST引脚和电源之间连接一个10U的电解电容来实现的,上电瞬间,电路充电,RST引脚端出现正脉冲,只要电源VCC的上升时间不超过1us,就可以实现上电自动复位,即接通电源,这样就完成了系统的复位操作。单片机的P1.2-P1.4口用于控制风扇的3个档次,设计中用继电器来模拟风扇换挡开关;P1.6和P1.7引脚控制时钟电路;P2口作为液晶显示的8位数据线;P3.0和P3.1口控制风扇工作状态指示灯,分为手动和自动2个状态;P3.2中断0用于接收红外遥控编码信号;P3.4接收温度数据;P3.5-P3.7三个引脚分别控制液晶显示器的控制端。图3-2单片机控制电路3.4时钟单元3.4.1DS1307简介DS1307是I2C总线接口的日历时钟芯片,片内有8个特殊存放器和56的BSPAM,是一种低功耗、BCD码的8引脚实时时钟芯片。DS1307的主要技术性能如下:具有秒、分、时、日、星期、月、年的计数功能,并具有12小时制和24小时制计数模式,可自动调整每月天数及闰年;具有自动掉电保护和上电复位功能;可输出不同频率的方波信号。DS1307的引脚排列如图3-3所示。图3-3DS1307引脚图VCC:+5V电源;VBAT:+3V电源输入;X1、X2:32.768kHz的晶振输入端;SDA:数据线;SCL:时钟线;SQW/OUT:方波信号输出端。3.4.2时钟电路设计单片机控制时钟电路如图3-4所示。DS1307的X1与X2通过32.768KHz的晶振相连,以提供计时基准。SCL与SDA分别连接至单片机的P1.6和P1.7引脚,完成单片机读取时间值。图3-4单片机控制时钟电路3.5测温单元3.5.1DS18B20简介DS18B20是美国DALLAS公司生产的一线式数字温度传感器,它具有微型化、低成效、高性能、抗干扰能力强、易配处理器等优点,特别适用于多点测温系统,可直接将温度转化成串行数字信号给单片机处理,且在同一总线上可以挂接多个传感器芯片。它具有3引脚TO-92小体积封装形式,温度测量范围为-55~+155摄氏度,可编程为9~12位A/D转换精度,测温分辨率可达0.0625摄氏度,被测温度用符号扩展的16位数字量方式串行输出,其工作电源既可在远程引用,也可采用寄生电源方式产生,多个DS18B20可以并联到三根或两根线上,CPU只需一根端口线就能与多个DS18B20通信,占用微处理器端口较少,可节省大量的引线和逻辑电路。以上特点使得DS18B20成为此次设计的首选。引脚定义:DQ:数字信号输入/输出端;GND:电源地;VCC:外接供电电源输入端〔寄生供电方式时接地〕,如图3-5所示。图3-5DS18B20温度传感器芯片引脚3.5.2测温电路设计该局部电路设计如图3-6所示。DS18B20有两种方式供电,一种是采用电源供电方式,此时DS18B20的1脚接地,2脚作为信号线,3脚接电源。另一种是寄生电源供电方式,单片机端口接单线总线,为保证在有效的DS18B20时钟周期内提供足够的电流,可用一个MOSFET管来完成对总线的上拉。寄生供电适合多点测温。鉴于本设计为单片测温,故采用外部电源供电法。DS18B20是单总线控制,I/O引脚与单片机P3.4引脚相连即可实现与单片机之间的通信。图3-6温度测量电路3.6液晶显示单元电路本设计的显示器选用LCD1602液晶显示器。LCD1602可显示16×2个字符,芯片工作电压为4.5-5.5V,工作电流为2.0mA(5.0V),模块的最正确工作电压为5.0V。LCD1602的接口信号说明如表3-1所示。表3-1LCD1602引脚说明编号符号引脚说明编号符号引脚说明1VSS电源地9D2DataI/O2VDD电源正极10D3DataI/O3VL液晶显示偏压信号11D4DataI/O4RS数据/命令选择端〔H/L〕12D5DataI/O5R/W读/写选择端〔H/L〕13D6DataI/O6E使能信号14D7DataI/O7D0DataI/O15BLA背光源正极8D1DataI/O16BLK背光源负极液晶显示电路如图3-7所示。单片机的P2口为液晶显示器的数据线,P3.5-P3.7引脚分别控制液晶显示器的复位端RST、读/写端R/W、使能端E。调节VR1电位器可以调节液晶显示器的比照度。图3-7液晶显示电路3.7风扇档位控制单元单片机控制风扇档位电路如图3-8所示。3个继电器分别接至单片机的P1.2、P1.3、P1.4引脚,当环境温度需要风扇调为一档时,单片机的P1.2引脚输出高电平,此时三极管Q1导通,那么继电器K1导通,风扇调为一档。二档与三档的工作控制原理与一档同理。图3-8风扇档位控制电路4系统软件设计4.1程序设计应用环境本设计软件的设计是在KeilC51的环境下编译的。KeilC51是美国KeilSoftware公司出品的51系列兼容单片机C语言软件开发系统,软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。C51允许用户使用C语言编写中断效劳程序,快速进、出代码和存放器区的转换功能使C语言中断功能更加高效。可再入功能是用关键字来定义的。多任务,中断或非中断的代码要求必须具备可再入功能。C51提供了灵活高效的指针。通用指针用3个字节来存储存储器类型及目标地址,可以在8051的任意存储区内存取任何变量。特殊指针在声明的同时已指定了存储器类型,指向某一特定的存储区域。由于地址的存储只需1-2字节,因此,指针存取非常迅速。另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到KeilC51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能表达高级语言的优势。C语言有以下特点:1、语言简洁、紧凑、使用方便、灵活。C语言一共只有32个关键字,9种控制语句,程序书写自由,主要用小写字母表示,压缩了一切不必要的成分。2、运算符丰富。C的运算符包含的范围很广泛,共有34种运算符,使得C的运算类型极其丰富,表达式类型多样化,灵活使用各种运算符可以实现在其他高级语言中难以实现的运算。3、数据结构丰富,具有现代化语言的各种数据结构,能用来实现各种复杂的数据结构的运算。4、具有结构化的控制语句,用函数作为程序的模块单位,便于实现程序的模块化。5、语法限制不太严格,程序设计自由度大。6、C语言能进行位操作,能实现汇编语言的大局部功能,可以直接对硬件进行操作。因此,C既具有高级语言的功能,又具有低级语言的许多功能,可用来写系统软件。C语言的这种双重性,使它既是成功的系统描述语言,又是通用的程序设计语言。7、生成目标代码质量高,程序执行效率高。8、用C语言写的程序可移植性好。根本上不用修改就能用于各种型号的计算机和各种操作系统。4.2软件设计流程图本系统软件设计流程图如图4-1所示。图4-1系统软件设计流程图4.3读取时间数据程序设计DS1307中的时间存放器地址编码为00H-07H,而具有掉电保护的RAM存放器的地址编码为08H-3FH。当地址指针指向RAM的最后一个地址3FH时,假设进行多字节操作,那么地址指针将会复位而指向00H,这样原来存在00H的数据将会丧失。DS1307的各类时间数据均以BCD码的格式存储在相应的时间存放器中,具体分配如表4-1所示:表4-1DS1307存放器分配00H01H02H03H04H05H06H07H秒分小时星期日期月年控制字DS1307可运行在12/24小时模式下,并由时间控制器中的相应位来进行控制。时钟模块设计流程:单片机按如下顺序将数据写入到DS1307存放器或内部RAM中:1、START信号2、写SLA+W(0xd0)字节,DS1307应答〔ACK〕;3、写1字节内存地址〔在以下第四步写入的第一字节将存入到DS1307内该地址处,DS1307应答〕;4、写数据〔可写多个字节,每一字节写入后DS1307内部地址计数器加一,DS1307应答〕;4.4读取温度数据程序设计DS18B20有三个主要的数据部件:64位激光ROM,温度灵敏元件,非易失性温度告警触发器TH和TL。器件从单线的通信线取得其电源,在信号线为高电平的时间周期内,把能量贮存在内部的电容器中,在单信号线为低电平的时间期内断开此电源,直到信号线变为高电平重新接上寄生〔电容〕电源为止,作为另一种可供选择的方法,DS18B20也可用外部5V电源供电。与DS18B20的通信经过一个单线接口。在单线接口情况下,在ROM操作未定建立之前不能使用存储器和控制操作。主机必须首先提供五种ROM操作指令之一:ReadROM〔读ROM〕;MatchROM(〔符合ROM〕;SearchROM〔搜索ROM〕;SkipROM〔跳过ROM〕;AlarmSearch〔告警搜索〕。这些命令对每一器件的64位激光ROM局部进行操作。如果在单线上有许多器件,那么可以挑选出一个特定的器件,并给总线上的主机指示存在多少器件及其类型。在成功地执行了ROM操作序列之后,可使用存储器和控制操作,然后主机可以提供六种存储器和控制操作命令之一。一个控制操作命令指示DS18B20完成温度测量。该测量的结果将放入DS18B20的高速暂存存储器,通过发出读暂存存储器内容的存储器操作命令可以读出此结果。每一温度告警触发器TH和TL构成一个字节的EEPROM。如果不对DS18B20施加告警搜索命令,这些存放器可用作通用用户存储器。使用存储器操作命令可以写TH和TL。对这些存放器的读访问通过便笺存储器。所有数据均以最低有效位在前的方式被读写。读时间片:当DS18B20读数据时,主机产生读时间片。当主机把数据线从逻辑高电平拉至低电平时,产生读时间片,数据线必须保持在低逻辑电平至少1us,来自DS18B20的输出数据在读时间片下降沿之后15微秒有效。因此,为了读出从读时间片开始算起15微秒的状态,主机必须停止把I/O引脚驱动拉至低电平。在读时间片结束时,I/O引脚经过外部的上拉电阻拉回至高电平。所有读时间片的最短持续期限为60us,各个读时间片之间必须由最短为1us的恢复时间。温度变换:此命令开始温度变化,不需要另外的数据,温度变化将被执行,接着DS18B20便保持在空闲状态,如果总线主机在此命令之后发出读时间片,那么只要DS18B20正忙于进行温度变换,它将在总线上输出“0〞,当温度变换完成时,它便返回“1〞。如果由寄生电源供电,那么总线主机在发出此命令之后立即强制上拉至少2秒。DS18B20的温度变换需要2秒钟。在接收到温度变化命令之后,如果期间未从VDD引脚取得电源,那么DS18B20的I/O引线必须至少保持2秒的高电平以提供变换过程所需的电源。这样,在温度变换命令发出之后,至少在此期间内单引线总线上不允许发生任何其他动作。在接收到复制暂存存储器的命令以后,如果期间没有从VDD引脚取得电源,那么DS18B20的I/O引线必须至少维持10ms的高电平,以便提供复制过程中所需的电源。这样,在复制暂存存储器命令发出之后至少在此期间内单线上不允许发生任何其他的动作。此命令写至DS18B20的暂存存储器,以地址2开始,接着写的两个字节被保存在暂存存储器地址2和3之间中。发出一个复位便可在任何处终止写操作。℃/LSB形式表示。当符号位S=0时,表示测得的温度值为正值,可以直接将二进制位转换为十进制;当符号位S=1时,表示测得的温度值为负值,要先将补码变成原码,再计算十进制数值。4.5读取红外信号程序设计本设计中单片机解码的关键是如何识别“0〞和“1〞,本设计以脉冲周期表示传送码中的0或1,脉宽为0.25ms,间歇时间为1.75ms,0或1不同的是高电平的宽度,0为1ms,1为2ms。由于遥控器脉宽时间值是在一个小范围内上下波动的,检测过程中就存在误差,所以,对接收信号的判断上不能采取精确的计时方法,本设计中采用了范围比拟法,将0设置范围为0.8ms-1.2ms,1设置为1.8ms-2.2ms。对于脉宽的计算采用单片机定时器0来测量。定时器/计数器是单片机内的重要部件,其作用主要包括产生各种时标间隔、记录外部事件的数量等。AT89S51单片机有2个16位的定时器/计数器:定时器/计数器0〔T0〕和定时器/计数器1〔T1〕。定时器/计数器的核心是一个16位的加1计数器:做定时器时,其计数脉冲来源于时钟振荡器〔经12分频后提供〕,这个脉冲的周期称为单片机的机器周期,每一个机器周期定时存放器自动加1,所以定时器也可看做是计算机器周期的计数器,由于每一个机器周期为12个时钟振荡周期,所以定时器的分辨率是时钟振荡频率的1/12,一旦振荡频率选定,那么机器周期也确定;作计数器时,其计数脉冲来源于单片机外部引脚T0〔或T1〕的脉冲。即TX端口有从“1〞到“0〞的负跳变,计数器就自动加1,计算机是在每个机器周期采样为0时,计数器即加一计数,计算机需用两个机器周期来识别1次计数,因而最大计数速率为振荡频率的1/24。AT89S51单片机的定时器/计数器T0由TH0、TL0构成,T1由TH1、TL1构成。TMOD用于控制和确定各定时器/计数器的功能和工作模式。TCON用于控制定时器/计数器T0、T1的启动和停止计数,同时包含定时/计数器的状态。T0、T1的方式存放器TMOD:方式存放器TMOD是一个逐位定义的8位存放器,是只能字节寻址的存放器,字节地址为89H,其格式如表4-2所示。表4-2TMOD存放器格式D7D6D5D4D3D2D1D0GATEC/\TM1M0GATEC/\TM1M0T1T0其中低4位定义定时器/计数器T0,高4位定义定时器/计数器T1,各位的意义如下:GATE——门控位。GATE=1时,由外部中断/INT0、/INT1和TR0、TR1来启动定时器。当/INT0引脚为高电平时,TR0置位,启动定时器T0;当/INT1引脚为高电平时,TR1置位,启动定时器T1。GATE=0时,仅由TR0和TR1置位来启动定时器T0、T1。C/\T——功能选择位。C/\T=1时,选择计数功能;C/\T=0时,选择定时功能。M0、M1——方式选择位。由于M1和M0两位,可以有4种工作方式,如表4-3所示。表4-3T0、T14种工作方式M1M0工作方式计数器配置00方式013位计数器01方式116位计数器10方式2自动再装入的8位计数器11方式3T0分为两个8位计数器、T1停止计数T0、T1控制存放器TCON:TCON是一个逐位定义的8位存放器,既可字节寻址也可位寻址,字节地址为88H,为寻址的地址为88H~8FH。与中断源有关的位如表4-4所示。表4-4TCON存放器位说明位D7D6D5D4D3D2D1D0TCONTF1TF0IE1IT1IE0IT0位地址8FH8DH8BH8AH89H88H各位的意义如下:TF0:T0溢出中断标志。T0被允许计数后,从初值开始加1计数。当产生溢出时硬件置“1〞TF0,向CPU请求中断,一直保持到CPU响应中断时,才由硬件清“0〞〔也可由查询软件清零〕。TF1:T1溢出中断标志。T1被允许计数后,从初值开始加1计数。当产生溢出时硬件置“1〞TF1,向CPU请求中断,一直保持到CPU响应中断时,才由硬件清“0〞〔也可由查询软件清零〕。IE1:外部中断1请求源标志。IE1=1,外部中断向CPU请求中断,当CPU响应该中断时由硬件清“0〞IE1〔边沿触发方式〕。IT1:由软件置位/复位选择外部中断1〔/INT1〕的跳变/电平激活中断请求。当置位IT1为1时,那么外部中断1端口由“1〞-“0〞跳变〔前一个机器周期为高电平,后一个机器周期为低电平,即发生负跳变〕时激活中断请求标志位IE1,向主机请求中断处理;如果复位IT1为0,那么在〔/INT1〕端口出现低电平时,激活中断请求标志IE1,向主机请求中断处理。IE0:外部中断0请求源〔/INT0,P3.2〕标志。IE0=1外部中断0向CPU请求中断,当CPU响应外部中断时,由硬件清“0〞IE0〔边沿触发方式〕。IT0:外部中断0触发方式控制位,其意义和功能与IT1类似。T0、T1的数据存放器:T0、T1各有一个16位的数据存放器,它们都是由高8位存放器和低8位存放器组成。这些存放器不经缓冲,直接显示当前的计数值。T0、T1的数据存放器都是读/写存放器,任何时候都可以对它们进行读/写操作。复位后,这些存放器全部清零。对于红外信号的检测是通过单片机的中断0端口,当红外接收管接收到红外信号时会触发中断0,此时单片机定时器开始计时。4.6显示程序设计LCD1602液晶模块内部的指控器共有11条控制指令。液晶显示模块是一个慢显示器件,所以在执行每条指令之前一定要确认模块的忙标志为低电平,表示不忙,否那么此指令失效。要显示字符时要先输入显示字符地址,也就是告诉模块哪里显示字符。对液晶模块的初始化要先设置其显示模式,在液晶模块显示字符时光标是自动右移的,无需人工干预,每次输入指令前都要判断液晶模块是否处于忙的状态。LCD1602初始化过程:延时15ms;写指令38H〔不检测忙信号〕;延时5ms;写指令38H〔不检测忙信号〕;延时5ms;写指令38H〔不检测忙信号〕;以后每次写指令、读/写数据操作均需要检测忙信号;写指令38H,显示模式设置;写指令08H,显示关闭;写指令01H,显示清屏;写指令06H,显示光标移动设置;写指令0CH,显示开及光标设置。LCD1602写操作时序如图4-2所示。图4-2LCD1602写操作时序5硬件制作5.1元件清单本设计所用元器件如表5-1所示。表5-1元件清单表元器件名称个数元器件名称个数AT89S51单片机1万能红外遥控器1红外接收头1LCD16021DS18B201DS13071继电器3LED灯2901331N4148二极管110K电阻71110K滑线变阻器112MHz晶振122P电容210U电解电容11K电阻1按键1导线假设干5.2制作与调试实验仪器:数字万用表,编程器,电烙铁,剪刀,剥线钳,镊子,吸锡器等。调试过程:首先在画好的电路原理图根底上加元器件的封装,绘制PCB图,在绘制PCB图的过程中,要注意布线问题,板上的数字和模拟走线应该尽量分开,在器件和旁路电容的底部最好不要安排走线。绘制好PCB图后制板。制板后进行元器件的焊接工作,焊接时时要注意元器件焊接顺序为先小后大,注意焊接时间不能过长。焊接完成后将软件编译生成的.hex文件烧写入单片机中并进行系统测试。调试过程中遇到的问题及解决方法:1、电路开始不工作,首先检查硬件,发现有虚焊点,进行补焊。2、通电后LCD屏幕亮,可以显示时间与温度值。3、用遥控器对电路板上红外接收头处遥控操作,按下遥控器按键,可进行时间定时和风扇的档位调整,按下调整档位键时,相应继电器吸合。5、利用遥控器将系统设置为自动状态,通过观察显示器的温度值的变化,可以检测到不同档位的继电器会根据温度的上下而调整档位。5.焊接在焊接之前,画好正确的电路图是是不能马虎的。焊接当中要注意石英晶振焊接时间不要太长时间,以免烧坏。单片机不用到的引脚可以不用焊接上去,既可以节约资源有可以美观。只要遵照正常的步骤以及要求,如不要虚焊,走线平滑,焊点圆滑等,根本都能做到正确完成,并且美观。5.出现的问题(1)设计受外界环境的影响比拟小,所以只要电路仿真成功以及焊接正确,根本的实现并不很难。(2)在制电路板的时候,由于电路板的线路较细,线路较多,所以刻板的时候要认真注意。(3)在制电路PCB板的时候,由于工作比拟繁琐,经常会出现这个或那个问题,我在做的时候就出了好几个问题,钻孔的时候就弄错了孔的位置,在电路图打印出来覆盖的时候方向搞错了,在三氯化铁腐蚀的时候没用热水,结果等了好久才腐蚀结束。(4)在焊接电路中,由于电路焊接的不牢靠和不准确,经常会出现短路现象,会使硬件调试不成功,实物运行功能不能实行。(5)在焊接实物的时候,因为技术的不专业,焊接用的锡有时会用太多了,就会使电路板的反面很难看了,还有不要忘记用松香了。(6)三极管的管脚比拟容易弄混淆了,在焊接管脚的时候,要用万用表都测出b、c、e极,在焊接的时候要注意。(7)在焊接电容的时候,正反极非常重要,千万不能接错了,要不然会发生爆炸事件,就是电容会烧坏了。(8)在编写程序的时候,经常都是写不完整的,都有问题,要多请教其他同学和查找资料才能完成的。(9)在调试过程中,在单片机调试的时候,编程的不完整,会使功能不能实现,要多多的请教老师和其他同学。〔10〕做好总结,为以后留下一笔有用的经验。6总结本文介绍了一种基于单片机的红外无线遥控调速定时系统,系统以MCS-51系列单片机的AT89S51单片机为核心控制器,通过万能红外遥控器和红外接收管实现遥控电风扇的功能。本系统采取了两种控制风扇的方案,一种是遥控方式,通过遥控器可以给风扇的工作时间定时,可以调节风扇的档位;另一种是根据温度值自动调节风扇的档位,测温采用DS18B20数据温度传感器。系统还增加了温度与时间的液晶显示功能。当然,本设计还有许多缺乏之处,还需要继续改良系统性能和进行功能的完善。通过本次设计,对我自身也是一个很好的锻炼,不仅提高了自己的动手能力,还开拓了设计思路,同时进一步深化了所学的专业课知识,对于日后的学习和工作都有很大的好处。参考文献[1]何政.单片机原理与应用[M].上海科学技术出版社,1992年.[2]童诗白,华成英.模拟电子技术根底[M].高等教育出版社,2001.[3]胡汉才.单片机原理及其接口技术[M].清华大学出版社,2006.[4]Electroniccircuitdesignbasis[5]沈精虎.电路设计与制版Protel99入门与提高[M].人民邮电出版社,2004.[6]范风强,兰婵丽.单片机语言C51应用实战集锦[M].电子工业出版社.,2001.[7]顾曙敏.单片机与串行时钟DS1307的接口设计[J].现代电子技术,2003,26(14),85-87.[8]王春芳,张玲丽.无线电遥控多功能数字钟的设计[J].仪表技术,2007年第二期.[9]梁露潇,韦成孟,杨海滔.简易无线电遥控系统[J].中国集体经济,2007年第21期.[10]潘勇,孟庆斌.基于DS18B20的多点温度测量系统设计[J].电子测量技术,2023〔9〕,108-112.[11]Electroniccircuit[M]AndrewR.Cohen[12]赵海标,马明涛.多功能红外遥控开关的设计.吉林农业科技学院学报,2023年02期.[13]杨素行.《模拟电子技术根底简明教程》,高等教育出版社,2004,514-529.[14]余孟尝.《数字电子技术根底简明教程》,高等教育出版社,2006,400-409.[15]郝文化,黄炜.《ProtelDXP电路原理图与PCB设计》,机械工业出版社,2004,InfraredremotecontrolfannerElectronicandinformationengineeringInstructorteacherJushengWu【ABSTRACT】Electricfanasacheaperprice,volumeissmallandexquisiteofthehouseholdappliances,heatgoodvoicesinthefamilyisveryhigh,itstechnologydevelopmentisalsomoreandmoremature.Thispaperintroducesakindofusinginfraredwirelessremotecontroltothedesignmethodoffanspeedcontroltiming.Thewholesystemisthecorepartofinfraredremotecontrolandsingle-chipmicrocomputercontrol.SystemtoAT89S51forcontroller,throughinfraredremotecontrolsignal,receivingtubereceivingmicrocontrollerafterdecodingthecorrespondingcontrol.Controlaspectsincludingtwoaspects:automaticcontrolandmanualcontrol.Automaticcontrolconditionaccordingtotemperatureautomaticshiftinggear;fanManualcontrolconditionthroughremotetimingandspeed.SystemtemperaturemeasurementusingdigitaltemperaturesensorDS18B20,regularlyadoptsDS1307clockchip.ThecurrenttimeandtemperaturecanpassLCDdisplay.【Keyword】infraredremotecontrol,microcontroller,timing,timing附录程序如下voidREAD_1307_DISP(void){uchari; ucharj; j=D1307[0]; iicstart(); writeiic(0xd0); writeiic(0x00); iicstart(); read1(0xd1,7,D1307); iicstop(); i=D1307[0]&0x0f; DISP_dw[7]=TBA[i]; i=(D1307[0]&0x70)>>4; DISP_dw[6]=TBA[i]; i=D1307[1]&0x0f; DISP_dw[4]=TBA[i]; i=(D1307[1]&0x70)>>4; DISP_dw[3]=TBA[i]; i=D1307[2]&0x0f; DISP_dw[1]=TBA[i]; i=(D1307[2]&0x70)>>4; DISP_dw[0]=TBA[i]; i=D1307[4]&0x0f; DISP_up[9]=TBA[i]; i=(D1307[4]&0x30)>>4; DISP_up[8]=TBA[i]; i=D1307[5]&0x0f; DISP_up[6]=TBA[i]; i=(D1307[5]&0x30)>>4; DISP_up[5]=TBA[i]; i=D1307[6

温馨提示

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

评论

0/150

提交评论