电气自动化毕业论文

基于单片机的数字温度计设计

时间:2020-12-01 16:57:28 电气自动化毕业论文 我要投稿

基于单片机的数字温度计设计

  下面是小编整理的关于基于单片机的数字温度计设计的论文,欢迎大家借鉴!

  摘要:随着国民经济的发展,人们需要对各中加热炉、热处理炉、反应炉和锅炉中温度进行监测和控制。介绍一种基于AT89C51单片机的一种温度测量及报警电路,该电路采用DS18820作为温度监测元件,测量范围0℃~+100℃,使用LED模块显示,能设置温度报警上下限。详细给出了软硬件系统的各部分电路,该电路设计新颖、功能强大、结构简单,在数字、智能化方面有广泛的用途。

  关键词:温度测量 DS18820 AT89C51单片机 LM016L液晶模块

  近年来单片机发展十分迅速,一个以微机应用为主的新技术革命浪潮正在蓬勃兴起,单片机的应用已经渗透到电力、冶金、化工、建材、机械、食品、石油等各个行业。温度控制系统在国内各行各业的应用虽然已经十分广泛,传统的温度控制方式,主要缺点是温度波动范围大,不能满足高精度,高速度的控制要求。本文将介绍一种基于单片机控制的数字温度计,具有体积小、可靠性高、抗干扰能力强和使用方便等独特优点,在数字、智能化方面有广泛的用途。

  1 系统硬件构成

  本次设计主要由单片机、测温模块、显示模块、报警模块、按键模块、复位电路和晶振电路构成。利用单片机控制温度传感器进行实时温度检测并显示,能够实现快速测量环境温度,并可以根据需要设定上下限报警温度。该系统扩展性非常强,它可以在设计中加入时钟芯片以获取时间数据,在数据处理同时显示时间,并且可以对某些时间点的温度数据进行存储,利用键盘来进行调时和温度查询,获得的数据可以通过串口与计算机进行串口通信,方便的采集和整理时间温度数据。

  2 关键硬件设计

  2.1 单片机的选择

  单片机AT89C51具有低电压供电和体积小等特点,四个端口只需要两个口就能满足电路系统的设计需要,很适合便携手持式产品的设计使用系统可用二节电池供电。

  80C51有40个引脚,4个8位并行I/O口,1个全双工异步串行口,同时内含5个中断源,2个优先级,2个16位定nO/计数器。80C51的存储器系统由4K的程序存储器(掩膜ROM),和128B的数据存储器(mm)组成。

  2.2 温度传感器

  DALLAS最新单线数字温度传感器DS18820是一种新型的“一线器件”,其体积更小、更适用于多种场合、且适用电压更宽、更经济。温度测量范围为-55~+125摄氏度,可编程为9位~12位转换精度,测温分辨率可达0.0625摄氏度,分辨率设定参数以及用户设定的报警温度存储在EEPROM中,掉电后依然保存。被测温度用符号扩展的16位数字量方式串行输出;其工作电源既可以在远端引入,也可以采用寄生电源方式产生;多个DS18820可以并联到3根或2根线上,CPU只需一根端口线就能与诸多DS18820通信,占用微处理器的端口较少,可节省大量的引线和逻辑电路。因此用它来组成一个测温系统,具有线路简单,在一根通信线,可以挂很多这样的数字温度计,十分方便。

  DS18820可以采用两种方式供电,一种是采用电源供电方式,此时DS18820的1脚接地,2脚作为信号线,3脚接电源。另一种是寄生电源供电方式,如图2所示单片机端口接单线总线,为保证在有效的DS18820时钟周期内提供足够的电流,可用一个MOSFET管来完成对总线的上拉。当DS18820处于写存储器操作和温度A/D转换操作时,总线上必须有强的上拉,上拉开启时间最大为10us。采用寄生电源供电方式时VDD端接地。由于单线制只有一根线,因此发送接口必须是三态的。

  2.3 LCD液晶显示

  显示器是人与机器沟通的重要界面,本文采用LM016L做为显示屏。LM016L液晶模块采用HD44780控制器,HD44780具有简单而功能较强的指令集,可以实现字符移动,闪烁等功能,LM016L与单片机MCU通讯可采用8位或4位并行传输两种方式,HD44780控制器由两个8位寄存器,指令寄存器(IR)和数据寄存器(DR)忙标志(BF),显示数mm(DDmm),字符发生器ROMA(cGOROM)字符发生器mm(CGmm),地址计数器mm(Ac)。IR用于寄存指令码,只能写入不能读出,DR用于寄存数据,数据由内部操作自动写入DDmm和CGmm,或者暂存从DDmm和CGmm读出的数据,BF为1时,液晶模块处于内部模式,不响应外部操作指令和接受数据,DDTAM用来存储显示的字符,能存储80个字符码,CGROM由8位字符码生成5*7点阵字符160中和5*10点阵字符32种。

  如图3所示,用89C51的`P2口作为数据线,用P3.2、P3.1、P3.0分别作为LCD的E、R/W、RS。其中E是下降沿触发的片选信号,R/W是读写信号,RS是寄存器选择信号本模块设计要点如下:显示模块初始化:首先清屏,再设置接口数据位为8位,显示行数为1行,字型为5~7点阵,然后设置为整体显示,取消光标和字体闪烁,最后设置为正向增量方式且不移位。向LCD的显示缓冲区中送字符,程序中采用2个字符数组,一个显示字符,另一个显示电压数据,要显示的字符或数据被送到相应的数组中,完成后再统一显示,首先取一个要显示的字符或数据送到LCD的显示缓冲区,程序延时2.5ms,判断是否够显示的个数,不够则地址加一取下一个要显示的字符或数据。

  2.4 串口通讯模块

  80C51内部已集成通信接口URT,只需扩展一片MAX232芯片将输出信号转换成RS-232协议规定的电平标准,MAX232是一种双组驱动器,接收器,每个接收器将EIA/TIA-232-E电平输入转换为5V TTL/CMOS电平。・每个驱动器将TTL/CMOS输入电平转换为EIA/TIA-232-E电平。即EIA接口,就是把5V转换为-8V到*15V电位0V转换为8V到15V再经RXD输出,接收时由RXD输入,把-8V到-15V电位转换为5V,8V到15V转换为OV。MAX232的工作电压只需5V,内部有振荡电路产生正负9V电位。

  3 软件程序设计

  从软件的功能不同可分为两大类:一是监控软件(主程序),它是整个控制系统的核心,专门用来协调各执行模块和操作者的关系。二是执行软件(子程序),它是用来完成各种实质性的功能如测量、计算、显示、通讯等。每一个执行软件也就是一个小的功能执行模块。这里将各执行模块一一列出,并为每一个执行模块进行功能定义和接口定义。各执行模块规划好后,就可以规划监控程序了。首先要根据系统的总体功能选择一种最合适的监控程序结构,然后根据实时性的要求,合理地安排监控软件和各执行模块之间地调度关系。主程序流程见图4。