《基于单片机的电脑机箱风扇温控系统的设计大学毕设论文.doc》由会员分享,可在线阅读,更多相关《基于单片机的电脑机箱风扇温控系统的设计大学毕设论文.doc(47页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、 2015届毕业设计说明书 基于单片机的电脑机箱风扇温控系统 院 、 部: 电气与信息工程学院 学生姓名: 朱杭亮 指导教师: 龙卓珉 职称 讲师 专 业: 自动化 班 级: 自本 1103 完成时间: 2015年6月 摘 要当今市面上所使用的电脑机箱散热方式基本是使用散热风扇,但是存在的不足也是可见的,刚开始一般不会看出什么问题,但是用久了明显会感觉到风扇发出的噪音特别影响用户的体验,还有高耗电量也有违绿色环保概念,这成为了一个令人费解的问题。很多有创新头脑的人们经过研究比较,发明了液冷散热和液氮散热,它们都是利用元素的特性来降低机箱内部空气的温度,这个方法虽然看似可行,但毕竟不适用于全部人
2、,因为资源的不足以及高成本是个大问题。如何解决散热问题已经成为当务之急。该设计拟使用AT89S52芯片作为主控芯片设计一个智能控制的电脑机箱风扇温控系统,能够根据机箱内温度的改变控制风扇以不同速度运转,并通过LCD液晶显示屏显示温度、转速和时间,系统优化方面用到了复位电路,看门狗电路以及报警电路,系统还预留了很多可扩展口。通过Proteus仿真该系统能够实现各项功能。 关键词:单片机;风扇;看门狗ABSTRACTOn the market today,the computer case cooling way we used is basically using cooling fan, bu
3、t the deficiencies are also visible, generally do not see any problems at first, but as time goes we can feel the noise from fan particularly affect the user experience,and there are high power consumption also works against the green environmental protection concept, it has become a puzzling proble
4、m. A lot of people who have innovative mind compered after study, invented the liquid-cooled heat and liquid nitrogen cooling, they are all useing the characteristics of the element to reduce the case of internal air temperature, this method looks plausible, but after all is not applicable to all pe
5、ople, because of the lack of resources and high cost. How to solve the cooling problem has become a top priority.The design intends to use AT89S52 chip as the main control chip to design a computer case fan temperature control system of intelligent control, according to the change of temperature ins
6、ide the case to control fan running at different speed, and shows the temperature, speed, and time through the LCD display, in the aspect of system optimization,it used reset circuit, watchdog circuit and alarm circuit, system also set aside a lot of extensible mouthes. The system can realize the fu
7、nction through the Proteus simulation. Key words single chip microcomputer; Fan; watchdog目 录1 绪论1 1.1 设计背景1 1.2 设计目的1 1.3 设计要求12 硬件电路设计2 2.1 工作框图2 2.2 硬件总原理图2 2.3 系统实现的功能3 2.4 系统电源3 2.5 芯片介绍3 2.5.1 主控芯片3 2.5.2 MAX706“看门狗”芯片6 2.6 时钟频率电路设计7 2.7 复位电路设计8 2.8 1602显示电路设计9 2.9 PWM调速电路设计10 2.10 报警电路设计12 2.1
8、1 看门狗电路设计13 2.12 测温电路设计143 软件设计17 3.1 系统工作总流程17 3.2 PWM调速程序18 3.3 DS18B20测温程序18 3.4 计时程序19 3.5 看门狗程序20 3.6 LCD1602显示程序21 3.7 报警程序22 3.8 风扇测速程序234 系统仿真24 4.1 仿真软件介绍24 4.2 仿真结果24 4.3 仿真分析26结束语27参考文献28致 谢31附 录321绪论1.1设计背景科学的发展如此迅速,人们对更高品质生活的追求已经日益强烈,PC的出现无疑开辟了一个新领域,集如此多功能于一身,使得人们已经离不开PC这个功能强大的伙伴。以前的PC并
9、没有像现在一样需要运行如此多的程序,因而发热量和频率都很低,不用担心散热的问题,最多也只是采用普通的散热片进行散热。但是随着时代的发展,人们对于PC的要求越来越高。PC所承担的任务也越来越繁多,芯片的散热问题已经影响了PC的生存发展。散热问题的产生,使得人们想出了各种各样的方法去解决它。大多数人使用的一般都是散热片加散热电扇的方法,当然还有高手使用的是液冷散热和液氮散热等等。据我们所知,电脑机箱是近似于封闭状态,把机箱里面的热量排出去是根本的解决办法,那是不是多加几台散热电扇就可以解决这个问题呢,但随之而来的问题也是一大堆,比如噪音大,更费电,既影响了自己也影响着他人,而且现在提倡绿色低碳环保
10、,这无疑不能成为一个有效的方法,为了解决这一难题,所以便有了今天这个课题的出现。1.2设计目的能够随时让用户知道现在机箱内到底多少度,并且能在不用用户动手的情况下轻松调节散热风扇的运转速率,更好的散热能让用户放心,同时噪音问题和污染问题也得到了更好的解决。1.3 设计要求 (1)机箱内的温度的改变会造成风扇运转速率的改变,当测到温度如果小 于二十五度,风扇不会转动,如果里面温度比五十度还高,为了散热, 风扇就会以最快的速率转动,可想而知,如果温度处于二十五度和五 十度之间,风扇速率就会依据温度变化做出调整。(2)整个系统运行的时间可以让用户清楚看到。(3)风扇的运转速率用户可以清楚看到。(4)
11、测到的温度情况用户能够清楚看到。 (5)当没有测到机箱内部温度时,蜂鸣器会发出声音提醒用户,液晶屏也 会一闪一闪说明出故障了。相反的还有一种情况就是里面温度过高了, 超过了五十度,用户也能通过声音和显示屏了解到。2 硬件电路设计2.1 工作框图控制核心当然是由单片机来做,其他各模块都需要通过控制核心来实现各自的功能,并相互促进。具体的运行流程如下:通过温度测试电路测到的温度,经过单片机响应,把命令信号送至各个模块,风扇控制电路会根据接收到的信号采取相应的动作:停转或变速,看门狗电路作为监视电路,它和报警电路担任着系统的稳定性保护的作用,整个系统就能够安全地完成它的任务了。工作框图如图1所示。
12、时钟晶振 复位电路 温度测试 看门狗 电路 电路 电路 AT89S52单片机 LCD1602显示 PWM风扇控制电路 报警电路 电路 图1 系统工作流程2.2 硬件总电路图AT89S52作为硬件电路的核心,再加上晶振和复位电路,共同构成了单片机最小控制系统。显示电路上,采用的是LCD1602显示器,在1602显示电路上采用的是可控背光设计,今后如有所需可关闭背光。把两个8050的三极管并联构成风扇的控制电路,这样做是能够把最大电流限度拉高,以适应多电扇同时运作。使用单排插是为今后需求所保留的扩展口1。2.3系统实现的功能基于单片机的电脑机箱风扇温控系统在控制核心上面选择了单片机,在另外的模块中
13、比如显示电路、调速方式等也做了测试比较,最终完成的一个性能优秀的温控系统。其主要性能中较为突出的几个包括了LCD显示温度、时间,风扇速率的实时监视和测量,还有就是对于故障情况下的报警功能等,这些都给了用户一个方便可靠的依托,替用户分担了很多意料之外的故障情况。每一个事物都是需要追求完美的,在完成这些功能的同时,其还保存了相当多有用的可扩展口,可依据以后的发展前景再另外设置其他一些实用的功能2。 2.4 芯片介绍2.4.1 主控芯片微控制器的核心地位体现在各类装置设备上,此次也不例外。众所周知,AT89S52作为市面上大多数人的不二选择,其性价比毋庸置疑,而且不用担心货源不足,其兼容性和耐用性也
14、是人们选择它的原因之一。其由ATMAL公司制造,已经是一个在单片机发展中比较成熟的型号了3。微控制器中的硬件与软件并没有严格的界限之分。硬件是指组成微机系统的全部物理装置的总称,软件系统是微控制器使用的全部程序的统称,硬件相当于物质基础,而要控制微机必须靠软件系统,除了和微机交换讯息以外,还能命令微机做其他各种工作。两者在一起才构成一个完整的单片机系统。AT89S52单片机是ATMAL公司89系列单片机中的一种具有8位Flash存储器的单片机,在单片机的进化过程中,其最具代表性的地方是片内含有Flash存储器,使它的应用范围变得更宽广,用于解决各种复杂的控制问题,特别是在生产手提式仪器,便携式
15、商品等方面,且成本较低。如图2是它的引脚图。 图2 引脚图AT89S52是一个8位的耗功比较低,性能优秀的CMOS微控制器,里面含有8kBytes只读程序存储器,它可以重新擦写1000多次,由ATMEL公司制造,使用的是性价比高且不容易丢失的存储技术,更重要的是它可以与工业中的80C51相互兼容,里面还拥有8位中央处理器和ISPFlash存储单元,因此它成为了很多应用上以及许多工业中广泛采用的控制芯片4。它的特点比较多,具体见下:它能够与MCS-51系列单片机相互兼容,有四十个引脚,8kbFlash片内程序存储器,至少可以重复擦写一千多次,工作电压范围宽,为4到5.5V,拥有256B随机存取数
16、据存储器(RAM),三个十六位的可以进行程序编写的定时计数器,三十二个外部双向输入/输出口,五个中断优先级,两层中断嵌套中断,还有两个全双工串行通行口,看门狗电路5。此外,AT89S52的振荡频率可以为0HZ,而且可以人为进行改写程序使他进入省电模式,一般在空闲的时候,CPU会停止没用的活动,而一些有用的程序还是会继续运行,比如说定时器,计数器,串行口,中断服务程序等,一般为了保护数据,系统在掉电的时候回保存RAM的数据,停止其他的作用,直到中断开启或者说有人为的开启。外观上,它又有三种不同的封装模式,如LCC、PDIP和TQFP,可以根据客户的需要变换形式6。图3 AT89S52内部结构图现
17、在大多寄存器都具有了其特殊的功能,功能的不同也成为不同寄存器的区分标准。AT89S52单片机就是其中之一。我们也叫它们专用寄存器(Special Function Register)。共含有二十二个不同寄存器。其地址单元是在RAM地址中的,也就是我们常用到的80HFFH中7。详细名称及地址见表1。表1 AT89S51特殊功能寄存器列表符号地址注视*ACC0E0H累加器*B0F0H乘法寄存器*PSW0D0H程序状态字SP81H堆栈指针DPL82H数据存储器指针低8位DPH83H数据存储器指针高8位*IE0A8H中断允许控制器*IP0D8H中断优先控制器*P080H端口0*P190H端口1*P20
18、A0H端口2*P30B0H端口3PCON87H电源控制及波特率选择*SCON98H串行口控制器SBUF99H串行数据缓冲器*TCON88H定时器控制TMOD89H定时器方式选择TL08AH定时器0低8位TL18BH定时器0高8位TH08CH定时器1低8位TH18DH定时器1高8位在80HFFH地址中包含了所有的特殊功能寄存器,但除去这些寄存器,还有很多未被用到的地址,里面的内容我们是不知道的,一般来说不会去操作这些单元,如果去操作的话,会得到一些随机的数值,写入进去也是没用的。所以,我们不能把数据写入这里,当然这些单元的存在肯定是有意义的,公司将来挖掘新的功能时就会使用到它们。2.4.2 MA
19、X706“看门狗”芯片MAX706在监控整个电路方面表现十分出色,我们也叫它“看门狗”芯片,由于其表现出的优良性能也使它越来越受欢迎。其内部本身就设有一个1.6s的看门狗定时器,还有一个电源电压监视器和电源故障报警器。可想而知,其就是用来检测电池、电源电压及MPU和MCU的工作状态8。引脚图如图4所示。 图4 引脚图引脚说明:MR:人工复位 PFI:电源掉落电压监测输入 WDI:看门狗输入 WDO:看门狗输出 RESET:复位信号输出基本参数: 工作电压范围:1.05.5V 电源电流:150350V 复位闵值:4.254.5V 复位脉冲宽度:140280(mm) 输出电压:0.4V 看门狗超时
20、周期:1.6s上拉电流:100600V MR脉冲宽度:150(mm) MR输入闵值:0.82.0V PFO输出电压:-1.50.4V 存储温度范围:-65160工作温度范围:-4085焊接温度范围:+3002.5 系统电源由于本系统是基于单片机的风扇控制,所以单片机和风扇都要电源供应,供应电扇的电压要控制在12V,单片机系统的供给电源没有特别的要求,总共两路电源,都可直接用电脑本身的电源,毕竟本系统是在电脑机箱的内部运作的。PC所使用的电源大多是是多路输出的AC-DC开关电源。按标准要求来制定,则其他各组输出需分别采用颜色不同的导线。具体如下:3.3V的使用的导线呈橘黄色,而5V的使用的则是红
21、色导线,接地的导线为黑色,其他各路12V的看上去区别都不大,都是黄色或偏黄色(黄色与其他颜色搭配在一起)。另外还有一些接口的导线具体如下:4pin(2*2)的一边接了12V导线,另一边是地线,同样的是6pin和8pin也是一边接地,一边接了12V的导线;另外,在4pin(2*2)中,D型接口总共四根,一根12V,一根5V还有两根接地,软驱供电同上;SATA供电接口有一根3.3V,一根12V,一根5V,还有2根接地。在电压符合的情况下,此次设计最终决定借用D型接口。表2 PC电源不同颜色线定义编号颜色定义1绿色开机信号2蓝色-12V3黄色+12V4紫色5VBS5灰色PWR OK6橘黄色+3.3V
22、7黑色GND8红色+5V2.6 复位电路设计不论什么情况下,计算器启动或运行都要先进行复位,复位有很多种,对于8051系列都是用的上电复位。不论何种复位,其作用都是让系统和装置回到最开始的时候,再接着运行下去。如果在RET复位引脚端上再接一个适当大小的电容,使其变为+5V,在接地端再加一个电阻,上电复位就能顺利完成了。如图5所示。图5 复位电路要使电路能够安全持续的运行下去,复位电路在其中的作用不容小觑,复位电路也分好多种类,这里使用了两种复位电路,按键复位以及上电复位。上电复位的工作过程:刚通电情况下,电流在电路里达到最大值,此时电容是正在充电的状态,RET端属于高电平状态,因为电容端类似于
23、短路,在很短暂的时间过后,电流稳定下来了,流经电容的电流变0了,RST是低电平,所以程序就继续运转下去了。按键复位的工作过程:当用户摁下按键,RST与VCC可视为直接相连,此时电容类似于短路,不摁按键,VCC类似于对把电流由导线灌输到电容中,因为接有一个电阻,RST还是高电平状态,直至充电完,电容断开,RST才变为低电平。从按下到松开这段时间已经足够满足复位对时间的要求了。程序继续安全地工作。表3 MCS-51系列单片机复位后内部各单元的初始状态寄存器初始状态值寄存器初始状态值PC0000HTMOD00HACC00HTCON00HB00HTH000HPSW00HTL000HSP07HTH100
24、HDPTR0000HTL100HP1、P2、P3、P40FFHSCON00HIPxxx00000BPCON0xxx0000BIE0xx00000BSBUF不定2.7 时钟频率电路设计单片机只靠自己是无法运行的,必须通过时钟的引导。而其本身在内部就存放着一个时钟振荡电路,所以当存在一个振荡源时,其发出的信号可以使片内其他单元做出响应,从而可以决定其工作速率的大小。原理图如图6所示。图6 晶振电路经过比较选择的石英晶体振荡器,是一种比较新颖的脉冲发生器。运行原理如下:先接通电源加电,差不多延迟10ms之后,此电路的振荡器起振,XTAL2引脚处会出现一个正弦波信号,大小约为3V,石英晶振的频率决定了
25、其振荡频率。电路中的两个电容C3,C4,对振荡器起到了帮助起振和微调频率的作用。C3,C4的值一般为33PF。单片机在工作的时候,其时钟周期不限于是内部产生的还是外部直接输入的,用一除以时钟信号频率就会得到该值,两者属于倒数关系。2.8 1602显示电路设计液晶显示屏消耗的功率很低,本身也很轻巧方便,但其却能显示很多内容,已经越来越多的被使用,并得到了广泛好评,尤其是在一些袖珍电子仪器和系统中。本系统用到的是LCD1602液晶是一种点阵型液晶模块,鉴于其可以显示数字、字母和符号等,我们也称它为字符型液晶,它不能显示图像是因为它的结构的特殊性,是由若干个五乘以十一或者五乘以七等点阵字符位构成的,
26、每个单元都能显示一个字符,且每一位每一行之间都存在空隙,大小相当于一个点距,所以有了字间距和行间距的概念9。其外观图如图7所示。 图7 LCD1602外观图管脚功能: 1602采用标准的16脚接口,其中: 第1脚:VSS为电源地 第2脚:VDD接5V电源正极 第3脚:V0为对比度调整端,其对比度在接电源正极时最弱,接地时 则相反(如果太高的话会产生类似“鬼影”的东西)。 第4脚:RS为寄存器选择,高电平(1)时选择数据寄存器,低电平(0) 时选择指令寄存器。 第5脚:RW为读写信号线,高电平(1)时进行读操作,低电平(0)时进 行写操作。 第6脚:E(或EN)端为使能(enable)端。 第7
27、14脚:D0D7为8位双向数据端。 第1516脚:空脚或背灯电源。15脚背光正极,16脚背光负极。 1602LCD特性:(1)+5V电压,对比度可调 (2)内含复位电路 (3)提供各种控制命令,如清屏、显示移位、光标闪烁、字符闪烁等多种功能。 根据1602引脚功能设计的电路图如下。其中单片机P0口用做数据口,P2口高三位做控制口。其15脚则连接单片机控制的三极管,用来控制背光的开与关。如图8所示。图8 LCD1602电路2.9 PWM调速电路设计脉宽调制(Pulse Width Modulation,简称PWM)调速系统,简称脉宽调制,最早是用于那些功率不大,不可逆的驱动,现在广泛应用在测量、
28、通信等众多领域之中,受到了广泛好评。脉宽调制是一种常用的简易模拟控制方式,晶体管内存在的栅极和基极会受到脉宽调制的控制,依据其所载的电荷的多少,从而控制晶体管的开关还有其导通时间长短,电源的输出电压在工作条件变化能够保持恒定就是靠这种方法实现的,微处理器复杂多变的数据输出同时也为了其控制模拟电路创造了显著有效的途径。 PWM控制技术操作简单,应答性强,已经成为电力电子技术中应用最广的控制方式,同时也是现代人们专研的热门10。本系统中,采用就NPN8050三极管,三极管的导通和截止是靠单片机输出占空比的方波的变化来控制的,而其时间的长短控制着风扇转速的大小。因为考虑到存在集电极电流不是很大的原因
29、,于是在电路上并联了两只8050。如图9所示。8050三极管参数: 类型:开关型; 极性:NPN; 材料:硅; 最大集存器电流:0.5A; 直流电增益:10到60; 频率:150MHz 功耗:625MW; 最大集存器发射电(VCEO):25; 图9 PWM电路本系统演示时所采用的风扇为一个3pin风扇如图10所示。具体参数如下: 外观尺寸:70mm70mm15mm 转速参考:280010%RPM 轴承类型:双滚珠轴承 使用寿命:60000小时 噪音参考:14DB3DB 风量参考:23.38CFM 额定电压:12V 额定电压:0.14A 接口类型:主板3pin口 转速监测:支持 包装类型:原包装
30、 适用范围:CPU风扇替换,小机箱风扇图10 被控风扇其3pin接口,红线为+12V输入,蓝线为转速信号输出,黑线接地。关于转速的信号是每转一圈会输出2个脉冲信号11。2.10 报警电路设计 整个系统必然会有各种大大小小的瑕疵,如何解决这些瑕疵是一个关键性问题,我们在生活中常常会接触的报警系统可以为这个难题做很好的解释,简而言之就是说加入一个报警电路可以为整个系统提供良好的运行环境。如下图就是报警电路的线路图。9012三极管作了主导结构,整个报警电路的运行都是围绕其来完成的,什么时候导通和什么时候截止关系着内部蜂鸣器的响声。工作原理大致如下:外界的不定因素很容易影响蜂鸣器的发声,因此在系统处于
31、刚开始的状态时,MCU上的P20口一直保持着高电平,这样做就不会在没有必要的时候听到蜂鸣器叫,让用户无法辨认是出故障或是真正需要报警了。正常情况下来说,系统认为符合了报警的需求了,就会在P20口输出低电平信号,9012三极管就接通了,蜂鸣器此时发声来提醒用户应对故障情况12。图11 报警电路2.11 看门狗电路设计单片机构成的微机系统中,单片机的正常运行状态总会被外界所影响,程序运行不流畅,中断,或进入死循环,进一步影响到由单片机控制的整个系统受到或多或少的影响,对生产生活造成很严重的后果,为了解决这个关键问题,既然不能改变外界的电磁场,则需要时刻都知道单片机的运行状态,由此出现了一种可以随时
32、了解对象单片机运行是否正常的芯片,我们叫“看门狗”13。看门狗,用专业术语来讲就是watchdog timer,它内置的一个输入口根据其有趣的名字有了一个形象的称呼,我们叫喂狗端,在MCU正常运行的时候,每过一定时间便会发一个信号到喂狗端,使MDT清零,如果信号中断了或是超过一定时间(一般在程序运转出现故障时),就发出另一个复位信号回到MCU,MCU接到信号就会自动复位,从而继续运行,简单来说,看门狗的设计主要就是用来防止MCU程序中断、发生死循环或者死机的14。单片机系统看门狗包括软件看门狗和硬件看门狗两种。软件看门狗借用的是MCU内置的计数器或定时器单元,只要在程序中合适的地方插入“喂狗”
33、指令,当程序停转或是进入死循环,就可以利用软件给程序计数器PC重新赋值,强行使程序能够从头开始安全地运行下去。 此次设计中并没有使用AT89S52软件看门狗,而是更看重硬件看门狗强大的功能。其电路图如图12所示。借由MAX706的引脚功能,在1.6秒内,若6脚电平没有任何改变,那么Max706将在7脚发出一个200ms的低电平复位信号。真正实行时只需在规定的时间范围(1.6s)内实施喂狗这一指令,就不会有信号发出去,从而让系统又进行没必要的复位动作。图12 看门狗电路2.12 测温电路设计此次设计对温度传感器的要求可谓相当高,经过比较,最终决定了由DALLAS公司制造出来的“一总线”数字温度传
34、感器(DS18B20),相比其他的传感器,其性能优秀,体型也小,可以同时使用多个,挂在同一根通信线上也方便,很适合做一个测温系统。它的引脚图如图13所示。所有在测温系统总会存在一个关键性问题,也就是外界的不定因素对测量结果的影响,比如引线过长、所需测量的点太多等,还有就是环境本身存在的各种能干扰测量数据的电场磁场,这些问题一直困扰这用户和开发者。但DS18B20的出现,其强大的特征让这些困扰问题有了更好的解决。首先,DS18B20相比其他同类产品,测温范围扩大到了55和125之间,并且在一定范围内误差可以精确到0.5。其次,它的分辨率范围也更宽更准确,用户可以从912位之中进行挑选。其可以直接
35、连接单片机,就不用再通过其他一些复杂的硬件结构,降低了成本和失误率。其最突出的特点就是“一线总线”,顾名思义,就是说其他产品需要用到很多线的情况下,它只要用一根线就能完成相同的工作,这也是解决干扰性问题的最主要的原因。在设计制作上,准备一个阻值大一点的电阻是必须的,首先数据脚的上拉需要电阻,由于DS18B20是单总线温感,在没有接电源的情况下,需强上拉数据线供电,若接有电源,则只一次上拉就可以使DS18B20持续运行。此外,如果在不存在温度传感器的情况下,此电阻也扮演关键角色,负责后面的电路的保卫工作。也如图13所示。 图13 DS18B20引脚和设计图DS18B20有4个主要的数据部件:1)
36、光刻ROM中的64位序列号可当成是该DS18B20的固定地址序列码,是不能改变的。它的排列规律如下:开始8位(28H)是产品类型标号,接着的48位是该DS18B20其本身的序列号,最后8位则是前面56位的循环冗余校验码(CRC=X8+X5+X4+1)。光刻ROM的作用就是使每个DS18B20都各不一样,这样就能够在一根总线上挂接多个DS18B20了。2)DS18B20中的温度传感器的作用是测量温度,以12位转化作为例子:用16位符号扩展的二进制补码读数形式提供,以0.0625/LSB形式表达出来,其中S为符号位。如表4所示:表4 温度值格式表LS ByteBit7Bit6Bit5Bit4Bit
37、3Bit2Bit1Bit0MS ByteBit15Bit14Bit13Bit12Bit11Bit10Bit9Bit8SSSSS以上是12位经过转化后得到的数据,分别储存在18B20的两个8byte的RAM内,二进制中的前面5位是符号位,如果测得的温度大于0,那这5位就是0,所测的数值乘以0.0625,便可计算出实际的温度;如果温度小于0,那这5位就是1,测到的数值需要取反再加1再乘以0.0625才可得到实际的温度。3)DS18B20温度传感器的存储器。DS18B20温度传感器的内部存储器包括了一个非易失性可电擦除的EEPRAM和一个高速暂存RAM,前者存放了高温度和低温度触发器TH、TL和结构
38、寄存器。 4)配置寄存器。该字节各位的意义如下:表5 DS18B20配置寄存器 由表3看出,低5位一直为1,TM是测试模式位,其作用是控制DS18B20在工作模式和测试模式之间的转换。在DS18B20出厂时TM被设置为0,无需修改。分辨率的高低由R1和R0来控制,具体如表6所示:(出厂为12位)表6 分辨率设置表R1R0分辨率最大转换时间009位93.78ms0110位187.5ms1011位375ms1112位750ms从DS18B20通讯协议得知,要使主机控制下的DS18B20完成温度转换必须完成三个步骤:确保每一次读写前都对DS18B20进行了复位,复位成功后就会先发出一条ROM指令,最
39、后再发出RAM指令并传输出去,这样做DS18B20预定的操作才能实现。复位的操作如下:让主CPU先将数据线下拉500us,释放,在确保DS18B20接受到信号的1660us之后,发出一个60240us的低存在脉冲,若原CPU又重新接收到了信号,说明复位成功。表7 ROM指令表指令约定代码功能读ROM33H读DS1820中的编码符合ROM65H发出命令后,接下来发出64位ROM编码,访问单总线与该编码相对应的1820作出反应搜索ROM0F0H用于确定挂接在同一总线上的1820的个数和识别64位ROM地址。跳过ROM0CCH忽略64位ROM地址,转而向1820发转换温度命令。告警搜索命令0ECH执
40、行后只有温度超过设定值上限或下限时才会做反应。温度转换44H启动温度转换,时长为500ms,存入内部RAM当中读暂存器0BH内部RAM中内容写暂存器4EH先在内部RAM3、RAM4字节上写下温度的数据命令,然后再向外传输2字节的数据复制暂存器48H将RAM3、4字节内容复制到EEPROM中重调EEPROM0B8H将EEPROM中内容恢复到RAM中读供电方式0B4H寄生供电时发送“0”,外界电源供电时则发送“1”3 软件设计3.1 系统工作总流程软件的具体流程可以参看如图14。复位成功之后,即系统初始化,单片机会接收处理温度传感器所测的温度,单片机计时器同时计时,计数器则记风扇转速,这些数据都会
41、通过LCD液晶显示屏显示出来。根据测到的温度,单片机发出控制信号控制电扇的正常运行、停转或者全速运转。全部过程都是由看门狗模块监视着的,出现故障或者系统不正常,一经发现便会马上做出复位响应,促使系统安全回到开始状态并再次运行下去。 开始 系统初始化 系统正常与否 N Y 单片机接收温度 传感器温度 LCD显示数据单片机计时器开始计时计数器计数风扇 温度50温度处理控制信号 25温度50 风扇停转 PWM控制转速 报警 PWM控制风扇全速运转图14 软件总流程图3.2 PWM调速程序本系统主控采用的是AT89S52,其功能中并没有PWM,所以只能通过软件编写程序模拟来产生PWM。单片机T0计时器中断便很好的解决了这个问题。首先计时器初始化,定时5000usTMOD =0x51; /0x51; /T0定时方式1 t1 计数 方式1TH0 = 0x0EC;TL0 = 0x78;中断程序如下:void time0() interrupt 1 using 2 t+; i+;