3。5 DS18B20的工作原理来自优I尔Y论S文C网WWw.YoueRw.com 加QQ7520~18766
DS18B20的内部有两个温度系数不相同的温敏振荡器,其中,振荡频率不易受温度影响的低温度系数晶振为计数器1提供相应的温度值。振荡频率随温度而明显改变的高温度系数晶振产生的信号为计数器2提供脉冲输入,用来控制闸门的关闭时间。当为初态时,计数器1和温度寄存器被预置在一个基值上,这个基值与-55 ℃相对应。计数器1对低温度系数晶振产生的脉冲信号进行减法计数,如果计数器1的预置值在计数器2控制的闸门时间临近之前减到0,那么温度寄存器的值将会以加1运算,这时斜率累加器输出的计数值作为计数器1的新预置值,计数器1将对低温度系数晶振产生的脉冲信号重新进行计数,如此循环下去,直到计数器2计数到0时,温度寄存器值停止累加,这个时候所需测量的温度就是温度寄存器的数值。[11]
4 系统硬件设计
4。1 系统结构设计思路
整个设计由电源模块为系统运行提供电源,通过温度传感器将检测数据传送至单片机再经由显示模块将温度显示出来。
单片机方面的选择有两种构想,一是采用CPLD可编程逻辑器件,二是采用AT89C51单片机,用这两者来实现对系统的控制与处理的功能,CPLD可利用VHDL语言进行编写和开发,其处理速度非常快,但是整个系统对信息处理的要求并不是很高,AT89C51单片机完全可以胜任,而且单片机在控制上优于CPDL,如果采用CPDL,将会在系统控制上产生一系列难题,况且单片机价格低廉,因此本设计采用AT89C51单片机。
温度传感器方面的选择也有两种构想,一是采用铂电阻测温的模拟温度传感器,二是采用数字温度传感器DS18B20,但是模拟温度传感器在实际操作时,存在着数据处理麻烦,信号容易失真等诸多问题,而DS18B20可以将温度直接转化为串行数字信号进行处理,并且连接电路比较简单,软件设计也易于实现,因此采用DS18B20温度传感器。
4。2 系统框图
系统框图如图4。1所示,系统的核心是AT89C51单片机,DS18B20传感器将检测到的温度数据传送至单片机进行处理,然后将处理好的数据送至液晶LCD,随后液晶LCD将所检测到的温度显示出来,而当检测到的温度高于或低于设定值时蜂鸣器会即刻报警。
图4。1 系统框图
4。3 系统硬件设计
本系统硬件组成如图4。2所示,AT89C51单片机为系统的主控制模块,系统的电源模块选择接入5伏电压,液晶LCD作为系统的显示模块。单片机的P1口与液晶显示器的数据口相接,P0口接入上拉电阻用来增强驱动能力。
图4。2 系统硬件组成
4。4 单片机最小运行系统论文网
单片机最小运行系统由晶振电路和复位电路组成,晶振电路如图4。3所示,它的作用是产生12MHZ的晶振为单片机提供时钟信号。复位电路如图4。4所示,它的作用是通过开关控制电容的充放电给RST提供两个周期以上的高电平来实现系统的复位功能。
图4。3 晶振电路
图4。4 复位电路
5 系统软件设计思路
5。1 程序结构分析
系统的子程序由按键设定检测温度程序、温度信号处理程序和液晶LCD显示程序组成,分别由主程序调用。其中,按键设定程序用来设定低温报警和高温报警的上下限值。温度信号处理程序用来对温度传感器传送的数据进行处理、判断和显示。液晶LCD显示程序用来控制系统的显示部分。
5。2 温度读取子程序流程图