任才 孔德尉* 沈阳工学院 刘文宇 国网辽宁省电力有限公司检修分公司
系统的结构框图,如图1所示。
图1 系统结构框图
本系统是由STC89C52单片机、LCD1602液晶显示模块、DS18B20温度检测模块、按键模块、报警模块、加热模块和冷却模块组成的。本系统能完成以下功能:
⑴系统通过DS18B20温度检测模块对温度进行检测。
⑵可以在LCD1602液晶显示模块上实时显示检测的温度。
⑶系统可以用按键设置上限温度和下限温度。当周围的温度超过上限温度时,系统控制继电器使冷却模块工作。当周围温度低于下限温度时,系统控制继电器使加热模块工作。当周围温度在上限温度和下限温度之间时维持原状态。
通过系统要实现的功能分析,系统需要以下几个模块,分别为:主控模块、显示模块、温度检测模块,以下就针对这几个模块进行选型。
使用51系列单片机,这个系列的单片机是一个可靠性高,价格低,性能高的8位单片机,它有32个I/O口,并且这个系列的单片机可以在线编程和调试,既方便又实用。
使用LCD液晶显示屏,LCD液晶显示屏的显示功能比较多,它既可以显示大量的文字,也可以显示图形和数字,显示的多样性清晰可见,设计一个家庭温度控制器,只需要一个LCD1602的液晶屏就可以了,价格也比较便宜,但是需要的接口线较多,会给调试带来很多不方便。
DS18B20数字温度传感器接线很方便,可以用在很多的场合,它有很多种外观,如螺纹式、管道式、不锈钢封装式、磁铁吸附式。它还有很多种型号,如LTM8877,LTM8874等等。封装后的DS18B20可以用在各种非极限温度场合。如:机房测温、大棚测温等等。它体积小,使用方便,耐磨耐碰,封装形式多样,适用各种狭小空间数字测温和控制领域。
单片机最小系统有单片机、时钟电路、复位电路组成,时钟电路选用了12MHZ的晶振提供时钟,作用为给单片机提供一个时间基准,其中执行一条基本指令需要的时间为一个机器周期,单片机的复位电路,按下复位按键之后可以使单片机进入刚上电的起始状态。图中10K排阻为P0口的上拉电阻,由于P0口跟其他I/O结构不一样为漏极开路的结构,因此要加上拉电阻才能正常使用。
用STC89C52的P0口作为数据线,用P1.2、P1.1、P1.0分别作为LCD的EN、R/W、RS。其中EN是下降沿触发的片选信号,R/W是读写信号,RS是寄存器。设计如下:显示模块初始化:首先清屏,然后设置接口的数据位为8位,显示行数为1行,字型为5*7点阵,整体显示,再取消光标和字体闪烁,最后设置成正向增量方式且不移位。向显示器的缓冲区传送字符,程序采用的是2个字符数组,其中一个显示字符,另一个显示电压,要显示的字符或数据传送到对应的数组,完成后再统一显示出来。首先取一个要显示的字符或数据送到LCD的显示缓冲区,程序延时2.5ms,判断是否够显示的个数,不够则地址加一取下一个要显示的字符或数据。
本设计带有一些参数设置的功能,用户可以通过按键设定上限温度和下限温度,当超过上下限温度的时候,单片机会驱动蜂鸣器发声。
由于蜂鸣器的工作电流一般比较大,以致于单片机的I/O口是无法直接驱动的,所以要利用三极管开关电路来驱动。本处选用的是8550三极管,它是一个PNP型的三极管,当基极给低电平的时候三极管导通,这时候蜂鸣器发声,当给高电平的时候,三极管关闭,蜂鸣器不发声。
[1]刘树中,孙书膺,王春平.单片机和液晶显示驱动器串行接口的实现[J].微计算机信息.
[2]彭伟.单片机C语言程序设计实训100例[M].北京:电子工业出版社.