基于单片机的温控风扇设计 电子信息工程专业.docx

上传人:夺命阿水 文档编号:537845 上传时间:2023-08-16 格式:DOCX 页数:41 大小:926.65KB
返回 下载 相关 举报
基于单片机的温控风扇设计 电子信息工程专业.docx_第1页
第1页 / 共41页
基于单片机的温控风扇设计 电子信息工程专业.docx_第2页
第2页 / 共41页
基于单片机的温控风扇设计 电子信息工程专业.docx_第3页
第3页 / 共41页
基于单片机的温控风扇设计 电子信息工程专业.docx_第4页
第4页 / 共41页
基于单片机的温控风扇设计 电子信息工程专业.docx_第5页
第5页 / 共41页
点击查看更多>>
资源描述

《基于单片机的温控风扇设计 电子信息工程专业.docx》由会员分享,可在线阅读,更多相关《基于单片机的温控风扇设计 电子信息工程专业.docx(41页珍藏版)》请在课桌文档上搜索。

1、题目基于单片机的温控风扇设计摘要现代社会中,众多的工业生产、日常生活都离不开温控风扇的应用,其在工程建设的散热系统、手提电脑处理器降温等有着突出的作用。本研究对温控风扇系统进行分析设计,单片机为其核心构成部分,通过温度传感器DS18B20获取温度信息,输入至单片机内部,单片机与系统设置的温度做比较,发出相应的控制信号,通过ULN2803控制风扇系统对元件进行散热处理,同时能通过判断设定温度与采集温度的温差大小,来确定风扇系统的转速,采用LED八段数码管实现温度显示功能。动态显示当前所处的环境温度和设定温度,并可以通过键盘按钮设定当前温度。键盘部位则可以自主调节设定温度而DS18B20可以测定外

2、部环境温度,然后记录环境温度和设定温度并将其连续及时显示。关键词:单片机、DS18B20温控、LEDAbstractInmodernsociety,manyindustrialproductionanddailylifeareinseparablefromtheapplicationoftemperaturecontrolfan,whichplaysaprominentroleinthecoolingsystemofengineeringconstructionandthecoolingofportablecomputerprocessor.Inthisstudy,thetemperature

3、controlfansystemisanalyzedanddesigned.Thesingle-chipmicrocomputeristhecorecomponent.ThetemperatureinformationisobtainedbythetemperaturesensorDS18B20andinputtothesingle-chipmicrocomputer.Thesingle-chipmicrocomputercompareswiththetemperaturesetbythesystemandsendsoutthecorrespondingcontrolsignal.Thecom

4、ponentsarecooledbytheULN2803controlfansystem,Atthesametime,thespeedofthefansystemcanbedeterminedbyjudgingthetemperaturedifferencebetweenthesettemperatureandthecollectedtemperature,andtheLEDeightsegmentnixietubeisusedtorealizethetemperaturedisplayfunction.Dynamicdisplayofthecurrentenvironmenttemperat

5、ureandsettemperature,andthroughthekeyboardbuttontosetthecurrenttemperature.Thekeyboardpartcanadjustthesettingtemperatureindependently,andtheDS18B20canmeasuretheexternalenvironmenttemperature,thenrecordtheenvironmenttemperatureandsettingtemperature,anddisplaythemcontinuouslyandtimely.Keywords:MCU,DS1

6、8B20,temperaturecontrol,LEDAbstractII第一章整体方案设计错误!未定义书签。1.1 前言错误!未定义书签。1.2 系统整体设计错误!未定义书签。1.3 方案论证错误!未定义书签。1.3.1 温度传感器的选择错误!未定义书签。1.3.2 控制核心的选择错误!未定义书签。1.3.3 温度显示器件的选择错误!未定义书签。1.3.4 调速方式的选择错误!未定义书签。第二章各单元模块的硬件设计错误!未定义书签。2.1 系统器件简介错误!未定义书签。2.1.1 DS18B20单线数字温度传感器简介错误!未定义书签。2.1.2 达林顿反向驱动器ULN2803简介错误!未定义

7、书签。2.1.3 AT89C52单片机简介错误!未定义书签。2.1.4 1.ED数码管简介错误!未定义书签。2.2 各部分电路设计错误!未定义书签。2.2.1 开关复位与晶振电路错误!未定义书签。2.2.2 独立键盘连接电路错误!未定义书签。2.2.3 数码管显示电路错误!未定义书签。2.2.4 温度采集电路错误!未定义书签。2.2.5 风扇电机驱动与调速电路错误!未定义书签。第三章软件设计错误!未定义书签。3.1 程序设置错误!未定义书签。3.2 用KeilC51编写程序错误!未定义书签。3.3 用Proteus进行仿真错误!未定义书签。3.3.1 Proteus简介错误!未定义书签。3.3

8、.2 本设计基于Proteus的仿真错误!未定义书签。第四章系统调试错误!未定义书签。4.1 软件调试错误!未定义书签。4.1.1 按键显示部分的调试错误!未定义书签。4.1.2 传感器DS18B20温度采集部分调试错误!未定义书签。4.1.3 电动机调速电路部分调试错误!未定义书签。4.2 硬件调试错误!未定义书签。4.2.1 按键显示部分的调试错误!未定义书签。4.2.2 传感器DS18B20温度采集部分调试错误!未定义书签。4.2.3 电动机调速电路部分调试错误!未定义书签。4.3 系统功能错误!未定义书签。4.3.1 系统实现的功能错误!未定义书签。4.3.2 系统功能分析错误!未定义

9、书签。结论错误!未定义书签。参考文献错误!未定义书签。致谢错误!未定义书签。附录L电路总图错误!未定义书签。附录2:程序代码错误!未定义书签。第一章整体方案设计1.1 前言在现代社会中,风扇被广泛的应用,在人民日常生活中的作用越来越大,无论是工程建设中的散热系统,还是电脑主机的散热功能,都离不开风扇的使用。由于科学技术的发展,低噪音、低耗能的风扇逐渐被推广,随着科技水平的智能化程度越来越高,如今的风扇的转速可以随着环境温度的变化而变化,同时当环境温度达到或者低于其设定值时,风扇可以自发启动或者停止,实现控制系统的智能化。目前单片机的应用愈加普及,一定程度上促进了温控系统的发展,通过单片机技术的

10、运用,提升温控系统的智能性,实现风扇的自发启动与停止、风扇转速与环境温度相配合,提升风扇的智能化水平。这不仅给人民生活带来了便捷,提升工业生产质效,还避免了资源浪费,提升资源利用率。本命题介绍了8052系列中的不同单片机,早期由ATMEL公司研制并且生产,系统的核心元件为AT89C52,对环境温度进行检测用到DS18B20元件,此后,利用ULN2803元件,触发电机转动,进而带动风扇的转动。此外,对于LED数码管,其所显示温度由两种,一是检测到的环境温度,二是系统预先设置的温度,系统将两者相比较,进而实现风扇电机的自发启动与停止,同时能够根据环境温度的变化来调节风扇转速。1.2 系统整体设计本

11、系统的主要元件分工如下:首先利用温度传感器,对环境温度进行检测以及获取数字信息,进而将其输入单片机中,从而在八段数码管中显示出两种温度,一是环境温度,二是系统预先设置的温度。分别精确到十分位与整数位。并且通过运用PWM脉宽调制法,实现电机转速随着环境温度的改变而改变。此外,为了方面预设温度的调整,设定两个按键来对预设温度进行升高或者降低。该系统运行流程图如下所示:图1.1系统构成框图1.3 方案论证为了提升风扇的智能化水平,本产品风扇电机能根据采集的环境温度是否达到预设温度,实现风扇电机的自发启动与停止,这对温控器件以及温度传感器元件的技术要求较高山。1.3.1 温度传感器的选择可以选用以下两

12、种温度传感器作为本系统的核心温度采集元件:A方案:通过热敏电阻来反映环境温度的变化,同时与运算放大器相配合,将热敏电阻反映的电压形式的温度信号通过AD转换,变成数字形式的温度信号,从单片机的输入端口传递温度信息,进而进行下一系统运转过程。B方案:通过DS18B20元件对环境温度信息进行采集,通过AD转换,将其所收集的电压形式温度信息转化为数字信号形式的温度信息,进而输入系统进行下一步操作。采用A方案选取热敏电阻作为核心,其优点是成本低,热敏电阻方便安装等,但其也有缺点,例如当温度产生微小变化时,热敏电阻的灵敏度低,变化不大,因此对温度采集过程会产生误差。同时,热敏电阻的电阻与温度之间的特性曲线

13、非线性,这种测量方式具有一定的误差,但通过在外部添加矫正电路,一定程度上可以降低误差,但这种操作方式会一定程度上提升系统的设计难度,而且在环境温度产生微小变化时,由于热敏电阻的灵敏度较低,其阻值变化不明显,综合考虑A方案缺乏便捷性以及精准性。采用B方案由于DS18B20型温度传感器的精确度高,对采集温度过程中很大程度上减少了测量误差,相比于热敏电阻,其灵敏度高,其内部可以直接把电信号转化为数字信号,减少了电路的复杂程度。通过单线总技术,让系统电路简单化,并且提升其自动控制水平,提升系统的精简性与智能性。B方案与系统要求相契合。1.3.2 控制核心的选择本产品中的选取AT89C52单片机作为温控

14、系统的核心元件,对其输入对应功能的代码,实现温度采集与判定,在输入输出端口中输出数字信号。这一单片机的优点包括性能完善、工作耗能小、存储器容量大等,相比于其它单片机,AT89C52的兼容性较强,购买价格便宜,非常契合系统的运行。1.3.3 温度显示器件的选择A方案:通过LED数码管获取数字信号,进而显示温度值。B方案:通过LCD液晶显示屏,获取数字信号温度信息,进而显示温度值。A方案的优点是采购价格低,耗能低,所显示出的温度即使在黑暗环境下也清晰可见,所植入的程序易理解,因此这类温度显示器得到了推广,普遍应用于人民的日常生活当中。由于它是通过动态扫描的方式来显示数字,只要显示间隔时间大于20M

15、S,数字信息就能通过人眼采集,因此,设定适合的闪烁频率就可使用A方案。B方案的LCD液晶显示屏相比于LED数码管其所显示出的数字比较美观,除此之外还能显示多元化的字符以及图案。但相比于LED数码管,其采购成本较高,同时,其对应功能的代码程序设计难度也较高,为了提升便捷性,降低成本,因此A方案比较契合该系统。1.3.4 调速方式的选择A方案:选取DACO832元件作为核心元件,采集到的环境温度输入此芯片,通过相应的模拟信号输入至晶闸管,控制其角的变化,进而控制系统的不同功能,实现风扇转速的自调节。B方案:选用脉宽调节法(PWM),通过输入编程代码实现对输入脉冲宽度的调节,进而调节输出波形,控制风

16、扇转动速度。这种方法一般采取矩形波的脉冲信号,对脉冲宽度的调节时严格控制其占空比。PWM的占空比反映高电平脉冲在一个完整周期内所占的比例,高电平时间持续越长,电机转速就越高,当脉冲没有低电平时,风扇电机达到最大转速。下面为三种输出PWM信号的方法:(1)通过软件对PWM高改变高低电平的持续时间。当高电平的持续时间快要结束时,同时对I/O输出端口进行取反处理,通过软件的功能实现对其转变为低电平,增加延时时间;当低电平即将变成电平时,重复上述过程,不断循环处理便可输出PWM信号。这种方法比较契合本系统。(2)通过定时器的使用,与(1)中的控制方法相同,控制脉冲高低电平的持续时间,但这种方法系统对应

17、功能所需代码的编写过程难度相对较高。(3)单片机具有自带的PWM调节器。众多系列的单片机都有这种功能,本设计中的AT89例外。A方案能够的性能较好,其灵敏度高,环境温度变化时对应的风扇电机速度变化灵敏,但DACO832芯片的购买成本高,对本系统的而言其性价比较低。B方案采用软件系统对风崩电机的转速进行调节,这种方法转变性比较强,相比于硬件系统其成本低,单片的功能的体现不亚于硬件系统,对于比较单一的控制系统而言,B方案比较适合。第二章各单元模块的硬件设计本设计的主要硬件包含:型号为DS18B20的输出离散型号的数字温度传感器;型号为AT89C52的CMOS8位单片机;5位发光二极管封装的数码管显

18、示器风扇直流电动机;型号为ULN2803驱动器。其他电子元器件包含:多种不同阻值的电阻器;多种不同电容量的电容器;多个晶体振荡器;各类电压源以及电流源;多个按键;多个DIP开关。2.1 系统器件简介2.1.1 DS18B20单线数字温度传感器简介DS18B20属于DALLAS公司开发的一款数字温度传感器产品,该产品性能稳定、体积紧凑、功率损耗低、适用范围广,能够采集环境的温度信息并以数字信号的形式进行输出。若在一些微观领域使用DS18B20进行温度的测量,则可以充分发挥它的功能。其工作特性如下:第一,可以对环境的温度信息进行捕捉,并将这些信息转化为离散的数字信号,信号的输出端仅设有一条线路,D

19、S18B20在该线路上以串行通信的方式将数字信号传输于中央处理器CPU,在这个过程中,还可以进行循环冗余效验,保证了数据传输的准确性以及稳定性;第二,以摄氏度为单位,DS18B20的测温区间为-55,125,在区间-10,85内,DS18B20可以控制在0.5摄氏度以内的测量误差;第三,DS18B20温度分辨率设有0.5C9bits、0.25CIobits、0.125oC11bits0.0625C12bits这4个级次,即最高采样位数为12bits,显示温度的最小变化量为0,0625摄氏度;第四,DS18B20“一线总线”的模式,可以实现使用一条线路与MPU进行半双工通信;第五,多个DS18B

20、20可以连接于一根接线上,构成温度监测网络,对环境温度进行大范围的监测;第六,DS18B20工作时,以V为单位,其两段的电压值区间为3.0,5.5。它的内部包含4个核心器件:64bits的只读存储器;用于采集温度信息的传感器;温度高位与温度低位的触发报警器寄存器。DS18B20含有引脚(3个),其中DQ端用于输出数字信号,GND端用于接地,VDD端用于外接电源的输入。2.1.2 达林顿反向驱动器ULN2803简介本文主要对基于单片机的温控风扇进行设计,电机在需要一定的驱动电流才能正常工作,因此需引入相应的驱动电路。本设计选取ULN2803作为电机工作电流的驱动器。反向驱动器ULN2803的硬件

21、接口较少,可以简化系统开发者的安装操作流程,并为本系统的风扇直流电动机提供充足的工作电流,ULN2803的本质为CMe)S器件中的接口型集成芯片,18脚为输入端,1118脚为输出端,可集中驱动8路小型直流电机。在本系统中,AT89C52的8个I/O口与ULN2803的8路输入进行连接,输入TTL高电平,进而实现对8个相应电机的控制。ULN2803的内部由8路NPN达林顿管构成,并采用合适的形式进行封装,包含18个管脚,1脚至8脚为输入端口,可接收TTL电平以及CMe)S电平;11脚至18脚为输出端口,可输出充足的电压以及电流;9脚为GND端,用于接地;10脚为供电输入端口,接正极电源。若在18

22、脚中输入5V的TTL高电平或者输入6V至15V的CMOS高电平,那么对应的1178脚最高输出电压可以达到50V,相应的电流可达500mA,以摄氏度为单位,ULN2803可正常运行的温度限值区间为0,70,本设计将选取工作电压为12V的直流电机,因此ULN2803符合该电机的驱动条件。2.1.3 AT89C52单片机简介AT89C52属于Cc)MS8位单片机,由制作商爱特梅尔公司推出,是一款性能极佳、工作电压低的单片机产品。AT89C52的组件使用爱特梅尔的NVM技术制作,可兼容InteI8051系统,内部装有8bitsCPU、容量为8KB的ROM、容量为256B的RAM。AT89C52功能强大

23、,适用于各种不同系统的开发,它含有40只管脚,对应的功能如下:VCC:作为供电输入端口,接5V电压。GND:用于接地端或0线。P0.7-P0.0:PO端共含有八只管脚,从P0.0至P0.7位数逐渐上升。P0.7P0.0包含两种使用情况:若AT89C52不连接外部存储器,且确保Po口功能的正常,则需要在PO的引出端中插入一个电阻并输入高电平,进而实现中央处理器通过PO端与外部设备进行数据交换以及信息传输的功能。若AT89C52外部接有存储器,那么在中央处理器与外部存储器进行数据传输时,相应引脚会先传输外部存储器的低八位地址信号,再传输中央处理器对应的读写信息。P1.7P1.0:Pl端包含了P1.

24、7P1.0这8个管脚,属于插入了上拉电阻的半双工通信I/O接口,具备一般I/O端的功能,能够用于传输I/O信息,不同之处在于Pl端内部预先插入了上拉电阻,因此Pl端可直接通路使用。在使用AS语言进行编程时,可以通过Pl端对AT89C52的EPROM的低八位地址信息进行输入。P2.7P2.0:P2端包含了P2.7P2.0这8个管脚,属于插入了上拉电阻的半双工通信I/O接口,具备一般I/O端的功能,传送用户的输入/输出数据,此外,P2还能与P0.7P0.0管脚的功能配合使用,实现外接存储器高八位地址信号的传输功能,输出16位地址信号,进而协同选取外接存储器的存储元集合,不足之处在于,二者配合使用时

25、无法输出中央处理器对外接存储器的读写信息。对于一些其他不同的51机,P2.7P2.0脚还能够与P0.7P0.()脚协同使用,输入单片机内部EPROM的高四位地址信号。P3.7P3.0:P3端包含了P3.7P3.0这8个管脚,属于插入了上拉电阻的半双工通信I/O接口,在对P3端进行写1操作后,其将输出高电平。P3端具备一般I/O端口的功能,可以让CPU与外部设备进行数据的输入与输出,P3口也作为一些特殊功能端口使用,如下所示:P3.O: RXD (串行数据接收口)P3.1: TXD (串行数据发送口)P3.2: INTO (外部中断O输入)P3.3: INTl (外部中断1输入)P3.4: TO

26、 (记数器O计数输入)P3.5: Tl (记时器1外部输入)P3.6: WR (外部RAM写选通信号)Pl. 0 0Pl. 1 Pl. 2 LPl. 3 CPl.4 Pl. 5 Pl.6 LPl. 7 CRESET RXD/P3. 0 TXD/P3.1 INT0/P3. 2 L fmP3. 3 T0/P3.4 Tl/P3. 5 P3.S CM/P3. 7 CXTAL2 E XTALl CPDIP Vss 01234567890 12345G789111111111120987654321098765432143333333333222222222J VccPO. O/ADOJ PO. 1AD1

27、PO. 2AD2PO. 3AD3J P0.4AD4PO. 5AD5PO. 6AD6PO. 7AD7EA/VppALE/PROCPSENP2. 7/AD15P2.6AD14P2. 5AD13J P2.4AD12P2.3AD11P2. 2AD10P2. 1AD9P2. 0AD8P3.7:RD(外部RAM读选通信号)图2.1.1AT89C51单片机ALE/PROG:地址锁存器允许/编程线,在访问片外存储器时在ALE/乐而线上输出高电位脉冲,此时外部存储器在引脚P0.7P0.1的地址为低八位地址。该低八位地址是外部存储器专门用于外部地址的锁存器。为了上述工序完成后更好地储存读取相关数据,单片机自动进入

28、以ALE/乐南线上输出频率为1/6晶振频率的脉冲序列。PSEN:是读取外部程序存储器的先通信号,CPU从外部获取指令时,PSEN在一次工作周期中仅仅释放两次有效信号。但存在一种特殊情况,那就是读取外部存储器相关数据的过程中,不会释放PSEN信号。EA/VPP:允许访问片外存储器/编程电源线。程序存储器的选取是由EA电平状态2.1.4 决定的,当诙处于高电平状态时,只选用片内程序存储器;当丽处于低电平状态时,只选用外程序存储器。在固态存储器与动画编辑器工作过程中,砺经常性地使用12V编辑电压(VPP)o2.1.5 1.ED数码管简介在本系统中,温度由五根LED管表示。LED管又名数码管,由八段具

29、有发光功能的二极管组成,根据外界条件的变化,这八段具有发光功能的二极管可以组成成千上万种不同的组合。如下图2.1.2所示,其中标有字母a-g的二极管根据不同的发光组合可以用来表示数字0-9或字母A-F;标有dp的二极管则表示小数点。一般而言,LED管结构主要分为两类:共阴极结构;共阳极结构;其具体的结构设计图如图2.1.2(a)、(b)所示。两种结构不同的地方在于这八段二极管终端接连的差异,通过观察和分析两者的结构设计图可以得出,共阳极结构中,八段二极管与阳极相连接;共阴极结构中,八段二极管与阴极相连接。控制电平的高低状态可以使得二极管按照预先设定的组合发光,以此表示具体的数字组合或者字母组合

30、,最终形成一段字形码,又称为段选码。(i bItndC数码管引脚分配图图2.1.2七段LED数码管表2.1.17段LED的段选码表显示字符共阴极段码共阳极段码显示字符共阴极段码共阳极段码03fHCOH87fH80H106HF9H96fH90H25bHA4HA77H88H34fHBOHB7fH83H466H99HC39HC6H56dH92HD3fHAlH67dH82HE79H86H707HF8HF71H8EH在采用共阴极结构的单片机中,给“a、b、c”三个二极管输入高电平时,即这三个二极管同时发光时就会显示数字iiTfo其具体操作为在PO输入端输入段选码07(三),即(MX)(M)IIl就可以显

31、示数字“7”。其他数字与段选码的相互关系如上表2.1.1所示。2.2 各部分电路设计2.2.1 开关复位与晶振电路复位不仅在单片机中发挥着非常重要的作用,还在外部组成结构之一的I/O接口电路中发挥着至关重要的作用。因此,需要设计一个具有复位功能的开关,除此之外,该开关还需同步单片机系统和外部I/O接口电路,以此简化整个操作过程。另外,借助XTALl和XTAL2引脚有利于确保石英晶体以及微调电容接触状态良好。按照以上方法设计的具有复位功能的开关示意图如图2.2.1所示。具体功能如下:当按触Sl时,单片机系统进行复位,此时电容Cl、C2、C3以及电阻R2、R3都参与了整个复位过程。2.2.2 独立

32、键盘连接电路该独立键盘拥有两个具有特定功能的按钮,分别为:S2和S3。其中S2和单片机系统的P13接口相接;S3和单片机系统的P14接口相接。当单片机系统通电并按下S2、S3任一按钮之后,Pl处会显示实时的电平状态。此时可以通过按触两个按钮调节初始温度大小,S2按钮为减按钮,S3为加按钮,每一次按触的变化值都是单位1,按触后系统会计算出最终的初始温度值。其接线图如下:UlS2_-fe-PB-I -PB-VCCPiorr Piirr P12 P13 P14 P15 P16131215POWER3119181716:CINTlINTOTlTOEA/VPXlX2RJESETRD WRAT89C52A

33、T89C5238373635343332212223242526272810113029RXDTXDALEJPPSEN2021222322526 Ppppppp图222独立键盘连接电路2.2.3 数码管显示电路本设计制作中选用5位共阴极数码管作为显示模块,它和单片机硬件的接口如图2.2.3所示。该5位共阴极数码管按顺序可分为DS1、DS2、DS3、DS4以及DS5。其中DSl3作为前3位共阴极数码管,其主要负责测量温度的工作。一般而言,其能测量的温度范围在OC至IO(TC之间,另外,在该测量范围内,其最终测量的温度精准度控制在0.1C。除此之外,初始温度值由后2位数码管DS4、DS5显示,而且

34、改2位数码管有且仅有显示温度初始值得功能,其可显示的初始温度值区间为0,99O其各线路的衔接如下图2.2.3所示。通过观察下图,可以发现5位数码管借助a-g以及dp线与单片机相连接,其接口也是按照字母顺序对接单片机的POo-PO7接口。除此之外,还需要给单片机Po接口处添加一个电阻为IOK的电阻R,有利于精准地控制电平状态。POO POl P02P03P04P05P06P07813r12L5P10T Pll/TP12P13P14P15P16P17191891716INTlINTOAT89C52TOEA/VPXl 3QRESETRD WRRXDTXD ALE PSENJu丁AT89C52IQ图2

35、.2.3数码管显示电路2.2.4 温度采集电路内部计数时钟周期是DS18B20温度转换器的技术核心,当内部计数时钟周期正常运作时,DS18B20温度转换器才具有测量温度的功能。高温系数振荡器发出的门周期是后续计算低温系数振荡器时钟信号一个重要参数。此外,以-55。C作为一个权届值,然后预先设定相关数值与55C相对应,再以该权届值为界限,若当计数器输出结果为0时,高温系数振荡器还处于震荡状态,则表明此次测量的温度大于55,此时原先存在在显示屏的温度值就会加重复以上过程直至高温系数震荡器停止震荡,该时显示屏显示的数值为温度的测量值。除此之外,该数值会被换算为16位二进制的表示形式储存在内部存储器。

36、当需要读取温度测量值时只需要向系统输入相关指令向。单片机有利于DS18B20温度转换器实现其测量温度的功能。因此,在实际使用情况中,往往将DS18B20温度转换器的信号线与单片机的I/O线相连接。除此之外,单片机的I/O接口还可以同时与多个DS18B20温度转换器相连接,提高单片机的使用效2.2.5 风扇电机驱动与调速电路本系统由T89C52通过I/O端进行PWM脉冲的输出,再使用ULN2803将输出的电流电压参数放大至适宜的值,ULN2083与电机链接并发挥驱动作用,最终使工作电压为12V的直流电机正常运作并实现电机转速的调控功能。通过PC机的如键盘等终端设备进行目标环境温度值的设定,并使用

37、51机相关软件将目标温度控制值转化为AT89C52的操作指令,进而使AT89C52的1.7引脚输出用于调控电机转速的PWM脉冲,该脉冲在其电流电压参数由ULN2803放大后可用于对电机的控制电路进行驱动,通过这些流程后最终可实现风扇电机的启动、关停以及工作频率的自动化调控功能。若外界的温度值上升,那么风扇的工作频率也将上升,随之转速上升;若外界的温度值降低,那么风扇的工作频率也将下降,随之转速降低;若外界温度低于目标温度值,那么风扇将停止运作;若外界温度高于目标温度值,那么风扇将重新运行,进而实现风扇电机转速根据环境温度的自适应调节功能。电机的驱动与控制电路见图2.2.5,从该图中可以清晰地看

38、到VCC输入+12V直流电压至MOTOR-DC,同时MOTOR-DC与ULN2803的输出端0UT7管脚连接;ULN2803的输入端IN7管脚与AT89C52的TXD引脚相接,同时GND脚接地,COM口接+12V的VCC输入电压,此时AT89C52的TXD脚将输出PWM脉冲,通过ULN2803的放大作用实现对VCCUlJl2 - 1 MOTOR-DC的启动、关停以及工作频率的调控功能。2 T 7 T TPiorr Piirr P12 P13 P14 P15 P16 P17POO POlP02P03P04P05P06P07S3635343332POWERINTlINTOTl若 AT89C52EA

39、ZVPXl-l一RESETRXDTXD亚ALEWRPSENU113C-OO-2S123456789D 123456784. Nnnnnnnn* Tl TA Tl Tl TA I I I -fk-AT89C52ULN2803OUTl 0UT2 0UT3 0UT4 0UT5 0UT6 0UT7 0UT8 COM图2.2.5风扇电机驱动与调速电本设计选取了工作电压为12V的直流电机,若ULN28031的18脚输入5V的TTL高电平或者输入6V至15V的CMOS高电平,那么对应的11-18脚最高输出电压可以达到50V,相应的电流可达500mA,以摄氏度为单位,ULN2803可正常运行的温度限值区间为0

40、,70。因为本设计采用了51系列单片机AT89C52,其I/O端输出TTL高电平,满足ULN2803的使用要求,所以能够选取ULN2803作为电机的驱动器件。第三章软件设计3.1 程序设置主程序、DS18B20初始化功能、DS18B20温度转换功能、温度读取功能、键盘扫描功能、数码管指示功能、温度功能和风扇发动机控制功能等均可使用和应用,旨在控制电风扇的相关指标。一般情况下,DS18B20程序恢复初始状态可以由DS18B20初始函数控制;外界环境温度可以通过DS18B20温度转换功能进行实时监测和记录;温度读取功能的功能则是将温度转换函数收集和记录的数据进行读取并将这些数据进行换算传输至主机中

41、;键盘扫面功能的功能需要通过完成设定温度的原始数值进行加减设定来完成;对于检测、收集、记录的相关温度的数据进行处理则离不开温度处理功能,除此之外电风扇发动机转速的改变也离不开温度处理函数的运行;电风扇发动机是否转动以及转读的高低以外界温度和设定的温度为基础加以风扇电机控制函数进行控制。如图3.1.1所示该程序的具体使用方法:图3.1.1主程序流程图3.2 用KeilC51编写程序本系统的编写程序使用的是由美国KeilSoftware公司开发的基于系列兼容单片机C语言类的KeiIC5151编写程序,该程序的优势主要体现在其编程语言简单灵活,且编写的函数模块可移植性强9,因而易学易用,效率高。随着

42、时代的发展,关于单片机的相关技术也在发生日新月异的变化。现在的市面上基于单片机的开发软件种类和数量日益增多,同时为了提高编写得到的程序的安全性,单片机的开发技术也由原有编程语言转向高级的编程语言。在此基础上,Keil软件脱颖而出,其是目前使用人数最多、涉及面最广的基于MCS-51系列的单片机开发软件。KeilC51软件之所以在众多单片机软件中脱颖而出,因为该软件具有众多的优势,其中最主要的优势由以下两方面:一是KeilC51软件的数据库庞大且丰富,能够大大缩短编程人员的使用时间,同时可以简化使用流程;二是KeilC51软件集开发、集成、调试于一体,当程序编写完成之后可以直接进行调试缩短时间。K

43、eilC51软件具有的这两点优势足以使其在开发大型软件时具有显著优势从而在众多开发软件中脱颖而出。使用Keil软件的流程是:建立所需的工程一建立新文件夹并在其中编写程序一在Keil软件直接调试软件使用界面如图所示3.2.IodfLbI-ision2-E:xuexi0322数码管温度像盘Text1.c=)FleEditViewProjectDebugFlashPeripheralsToolsSVCSfindowKelp-gl图N罐昌mis电一4%,聃I口髓俘圜命X$X.rc.tIrJProjectWorkspace-Target 1 -E), 白 Source Group 1 固 STARTUP

44、 51 囱 Text!. ctfinclud#defineucharunsignedcharsbi t sbit Sbit sbit#defineuintunsignedintDQ=Pla7;keyl=PlA3;key2=Pl4;dianji=P31;floatff;/aonum,dinum;uinty3;ucharShi,gs,xiaoshu,shading二ucharcodedispcode=0x3f,0x06,0x5b,0x4f,0x,0x6d,0x7d,0x07,0x7f,0xf,0x77,0x7c,0x39,0x5e,0x79,0x71;ucharcodetabll=/带小数点的段码

45、Oxbf,0x86,Oxdb,Oxcf,ULJassemblingSTARTUP.ApilingTextl.c.linkingL:250 C:26NUMR/WProgramSize:data=44.1Xdata=Ocode=1804creatinghexfilefromdflml.dflml-0Error(s),OWarning(s).BuildCommandlFIndrFiIes/图3.2.1KeilC51软件的使用界面3.3 采用Proteus进行仿真3.3.1 Proteus简介Proteus软件是由英国Labcenter公司研发出品的一款EDA的工具软件。此软件已在市场上存在了十几年,他的用户覆盖面广,几乎全球都有它的用户,且受到全球各地用户

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 在线阅读 > 生活休闲


备案号:宁ICP备20000045号-1

经营许可证:宁B2-20210002

宁公网安备 64010402000986号