收藏 分销(赏)

基于单片机的温度控制器设计.pdf

上传人:丰**** 文档编号:3256369 上传时间:2024-06-27 格式:PDF 页数:66 大小:2.05MB
下载 相关 举报
基于单片机的温度控制器设计.pdf_第1页
第1页 / 共66页
基于单片机的温度控制器设计.pdf_第2页
第2页 / 共66页
基于单片机的温度控制器设计.pdf_第3页
第3页 / 共66页
基于单片机的温度控制器设计.pdf_第4页
第4页 / 共66页
基于单片机的温度控制器设计.pdf_第5页
第5页 / 共66页
点击查看更多>>
资源描述

1、基于单片机的温度控制器的设计 I 摘 要 温度是工业控制中主要的被控参数之一,在日常生活中也经常要用到温度的检测及控制。本文介绍了一种以 AT89C51 单片机为核心控制器,以 DS18B20 为温度传感器的温度控制器。首先,通过对元器件的选择,设计控制器的硬件电路,包括测温电路、按键电路、温度控制继电器电路、LCD 液晶显示电路,AT89C51 单片机最小系统等;然后,设计相关应用程序,包括主程序,读出温度子程序、温度控制继电器程序、LCD 显示程序、按键处理程序等;最后,通过仿真,对整个系统进行调试、分析。最终实现温度采集、显示、控制等功能。仿真结果表明,所设计的控制器能够完成所需功能,并

2、且具有测量精准高、实时性好、使用方便等特点。关键词:温度控制;AT89C52;温度显示;DS18B20 本科毕业(设计)论文 II ABSTRACT The temperature is one of the control parameters in the main industrial control,temperature detection and control are often used to in daily life.This paper introduces a kind of the temperature controller,AT89C51 is the contr

3、oller,temperature sensor is DS18B20.At first,through the choice of components,hardware circuit design,including temperature measurement circuit,key circuit,temperature control relay circuit,LCD liquid crystal display circuit,AT89C51 single-chip microcomputer minimum systems;Then,design related appli

4、cations,including the main program,read the temperature procedure,temperature control relay program,LCD display procedures,key procedures;Finally,through the simulation to the whole system commissioning,analysis,can realize temperature gathering,display,control,and other functions.The simulation res

5、ults show that the designed controller can complete the function,and it has high precision measurement,good real-time,convenient use,etc.Key word:Temperature control;AT89C52;Temperature display;DS18B20基于单片机的温度控制器的设计 I 目录 摘 要.I ABSTRACT.II 第 1 章 引 言.1 1.1 研究的背景及意义.1 1.2 国内外研究现状.1 1.3 研究的设想.2 第 2 章 温度

6、控制器总体设计.3 2.1 温度控制器的选择.3 2.1.1 基于 51 单片机的温度控制器.3 2.1.2 基于 ARM 的温度控制器.3 2.1.3 基于 PLC 的工业温度控制器.4 2.2 本设计的重难点.5 2.3 本章小结.5 第 3 章 温度控制器的硬件电路设计.6 3.1 温度传感器的选择.6 3.1.1 数字温度传感器.6 3.1.2 热电阻温度传感器.7 3.1.3 方案选择.7 3.2 温度采集模块电路的设计.7 3.2.1 DS18B20 介绍.7 3.2.2 温度传感器工作原理.8 3.2.3 DS18B20 工作原理介绍.10 3.2.4 DS18B20 使用中的注

7、意事项.11 3.2.5 DS18B20 和 AT89C51 单片机连接电路.12 3.3 显示模块设计.12 3.3.1 LCD 液晶显示器简介.12 3.3.2 液晶模块简介.13 3.3.3 液晶显示部分与 STC89C51 单片机的接口.15 3.4 按键电路的设计.16 3.4.1 单片机检测按键的原理.16 3.4.2 矩阵键盘的设计.17 3.5 本章小结.18 第 4 章 系统软件设计.19 本科毕业(设计)论文 II 4.1 主程序的设计.19 4.2 DS18B20 初始化程序.20 4.3 LCD 初始化程序的设计.22 4.4 继电器控制的程序.23 4.6 本章小结.

8、28 第 5 章 仿真结果及分析.29 5.1 系统仿真.29 5.2 仿真分析.30 5.3 本章小结.30 第 6 章 结束语.31 6.1 研究总结.31 6.2 本次设计的不足.31 6.3 发展前景及展望.31 6.4 设计小结.32 致 谢.33 参考文献.34 附 录.34 附录 1 程序清单.35 附录 2 电路原理图.62 基于单片机的温度控制器的设计 1 第 1 章 引 言 1.1 研究的背景及意义 温度控制器在生产和生活的领域已经得到了广泛的使用,如家电、汽车、以及各种工业生产过程等,控制电路也由于应用场合所要求的性能指标的不同而不同,在工业生产中,控制技术人员一直都在努

9、力解决许多问题,如何提高温度控制对象的控制性能,以及怎样提高控制精度的问题。随着微机测量和控制技术的迅速发展与广泛应用,以单片机为核心的温度采集与控制系统的研发及应用在很大程度上提高了工业生产及生活中对温度的控制水平1。1.2 国内外研究现状 由于微机测量和控制技术的迅速发展和广泛应用,以单片机为核心的温度采集与控制器的设计与应用大大提高了生活和工业生产过程中对温度的控制水平。国外研究对温度控制技术早在 20 世纪 70 年代的时候就已经开始了,比较早。最开始采用的组合仪表装置是模拟式的,能够实时采集和指示、记录以及控制现场的信息。80 年代的末期开始出现的的温度控制系统是分布式的。当今正在开

10、发和研制计算机数据采集的控制系统是多因子综合温度控制系统。这些年来,世界各国的温度测控技术发展的步伐加快,很多国家在实现自动化的基础上正向着完全自动化、无人化的方向大力发展温度控制系统。美国、日本的温度监测系统近 20 年来发展很快,他们结合本国条件做出了具有创新特色的成就,但其监控设备价格昂贵。我国的温度测控系统的技术研究比较晚,开始于20 世纪的 80 年代。我国的工程技术人员在不断地吸收发达国家的温度测控技术的基础之上,逐步掌握了温度室内微机控制系统的技术,但是该技术仅仅限于对温度的单项的环境因子进行控制。我国的温度测控设施计算机的应用发展,在从消化吸收、到简单应用阶段再到实用化、综合性

11、应用阶段进行过渡和不断地发展。在技术上,则是以单片机控制的单参数和单回路的居多,目前还没有真正意义上的多参数温度综合控制系统,与发达国家比,还存在很大差距。我国近年引进了多达16 个国家和地区的工厂环境控制系统,对吸收国外先进经验、推动工厂温度自动检测产生了积极的本科毕业(设计)论文 2 作用。我国目前的温度测量控制系统离到工厂化还有很长的路要走,生产和实际中仍有许多的问题等着我们解决,如存在着装备配套的能力落后,产业化的程度低下,环境控制的水平滞后,软硬件的资源还不能共享和可靠性差等缺点。随着社会的不断发展,温度的测量以及控制变得越来越重要。本文拟采用STC89C52单片机设计了一种对温度进

12、行实时测量及控制的系统。单片机STC89C52 能够根据温度传感器 DS18B20 所采集的温度在液晶显示屏上实时显示,可以手动设置温度范围,通过继电器控制加热,从而把温度控制在设定的范围之内。所有温度数据均通过液晶显示器 LCD 显示出来。1.3 研究的设想 本文拟设计一种基于微处理器的温度实时采集控制系统。温度控制器除需具有温度采集功能外,还要能实时显示温度数据,可以手动设置温度范围,通过继电器控制加热从而把温度控制在设定的范围之内等功能。通过对微处理器的选型、温度传感器的选择、显示器的选择以及设计外围电路完成硬件电路的设计。同时,还需要进行软件的设计完成所需功能。系统通过矩阵键盘来设定要

13、控制的温度大小,单片机 STC89C52 能够根据温度传感器 DS18B20 所采集的温度信号控制温度升降继电器,从而使温度稳定在设定的大小。所有温度数据均通过液晶显示器 LCD 显示出来。基于单片机的温度控制器的设计 3 第 2 章 温度控制器总体设计 2.1 温度控制器的选择 2.1.1 基于 51 单片机的温度控制器 图 2-1 是基于 51 单片机的温度控制器框图。该控制器由温度采集模块、控制模块、显示模块、报警模块以及电源模块等组成。基于单片机的温度控制器框图如图 2-1 所示。单片机显示模块报警电路电源模块温度采集模块键盘模块 图 2-1 基于单片机温度控制器框图 15 单片机是控

14、制器的控制核心,因此单片机的选择,对所设计系统的实现以及功能的扩展有着很大的影响。单片机种类很多,在众多 51 系列单片机中,较为常用的是 ATMEL 公司的 AT89C51 和 AT89S52 单片机,AT89C51 片内 4KROM 是 Flash工艺的,使用专用的编程器自己就可以随时对单片机进行电擦除和改写,片内有128 字节的 RAM。而 AT89S52 含有在系统可编程的 Flash 存储器,片内有 8K 闪存,RAM 的容量也较 AT89C51 大,为 256 字节。显然这种单片机优点更多,开发时间也大为缩短2。2.1.2 基于 ARM 的温度控制器 图2-2是基于 ARM 处理器

15、的温度控制器框图。此控制器主要是针对工业控制领域现场的仪器仪表而开发的。该框图包括了监控复位、ARM 微处理器、电源、存储器扩展(RAM、Flash 和 EEPROM)、网络通信、DA 转换输出、人机交换接口(LED)、温度检测电路、AD 转换、RS232通信和 CPLD 控制电路(外围设备的译码、配置,本科毕业(设计)论文 4 实现系统的硬件软件化)等一些模块。基于 ARM 温度控制器框图如图2-2所示。RS232A/D转换温度传感器CPLDLCD网络接口D/A转换声光报警开关量输出键盘电源模块、时钟电路、监督复位 JTAC接口和存储模块等ARM微处理器 图 2-2 基于 ARM 温度控制器

16、框图 温度传感器用来测量外部温度信息,通过 CPLD 控制,ARM 微处理器中处理 AD 转换后的数字信号,显示处理信息通过 LCD 显示,由网络接121远程监控。当然,现场也可以通过键盘实时人工进行干预。通过 RS232串口传送由 ARM 微处理器处理的数据到上位机再进行显示存储。若是工作过程中出现了一些错误,立即产生声光报警。而且,键盘还可以在现场进行干预设置,处理故障等等。这里的 ARM单片机选用的是 ATMEL 公司的32位AT91M40800。AT91M40800不但有 ARM7TDMI 内核,而且它的内部还集成了有许多外围的一些设备,很多的内部寄存器就可以快速完成中断的处理。因为

17、AT91M40800微处理器能够通过编程的EBI 和片外存储器达到相连,使它具有很快的访问速度;而且它还具有8个优先级的向量中断控制器和外部数据的控制器相连接,从而可以提高中断响应的速度。所以,AT91M40800微处理器十分的适用于工业实时的控制领域,也是嵌入式工业温度控制器中处理器的最佳选择。2.1.3 基于 PLC 的工业温度控制器 PLC与其他微型计算机相比,更适于在恶劣的工业环境中运行,且数据处理功能大大增强,具有强大的功能指令,编程也极为方便简单编程指令具有模块化功能,能够解决就地编程、监控、通讯等问题。PLC 的梯形图语言清晰、直观、可读性强,易于掌握.PLC 具有丰富的功能指令

18、,能实现加减乘除四则运算及数据传送比较移位等功能,还具有实时时钟指令,可方便的实现定时及时间和年月日的设置基于单片机的温度控制器的设计 5 与显示。PLC 的主要优点可概括如下:1、高可靠性;2、丰富的 I/O 接口模块;3、采用模块化结构;4、编程简单易学;5、安装简单,维修方便。2.1.4 方案选择 上述三种方案各有其优点,且均适合在工业场合使用,但是基于 ARM 处理器的控制器设计方案,设计相对复杂,设计难度较大,开发周期较长;而基于 PLC 的温度控制器,设计成本高,灵活性较低,因此,本课题拟采用 51 单片机作为控制器的主控芯片,基于 51 单片机的温度控制器具有开发周期短,成本低,

19、功耗低,设计简单等优点。2.2 本设计的重难点 由于之前对 51 单片机的学习只限于理论,还没有真正利操作过 51 单片机的硬件和软件的实际开发,所以对 51 单片机进行编程和系统设计对我来说将会是一个很大的挑战。而数字温度传感器 DS18B20 的使用虽然使硬件电路大为简化,但是它的工作原理和各种时序非常复杂,要想使它正常工作,得到单片机要用到的温度采集信号,就必须对它的工作原理和各种时序非常熟悉,这些都是本次设计的重点和难点。2.3 本章小结 本章介绍了数字温度控制器的设计思路,设计方案的选择,以及系统的组成和设计原理,介绍了主板电路和显示电路的原理,还介绍了数字温度传感器DS18B20

20、的特点,以及 LCD 的使用。并通过框图形式可以更直观、形象地描述了系统的整体组成结构。本科毕业(设计)论文 6 第 3 章 温度控制器的硬件电路设计 3.1 温度传感器的选择 温度是表征物体冷热程度的物理量,它可以通过物体随温度变化的某些特性(如电阻、电压变化等特性)来间接测量,利用这种物理特性制成的传感器称为温度传感器。常用的温度传感器有热电偶、热敏电阻、热电阻、集成温度传感器及数字式温度传感器等多种温度传感器。3.1.1 数字温度传感器 典型的数字温度传感器如DS18B20,该传感器主要特性如下:1、数据线供电是寄生电源方式下的供电方式,电压适应的范围更宽,电压范围:3.05.5V;2、

21、DS18B20在和微处理器的连接仅仅需一条总线即就可以实现DS18B20和微处理器双向的通信,它的单线接口方式十分特殊;3、DS18B20可以支持多个点的组网功能,多个DS18B20可并联的在唯一的总线上,能够实现组网的多点测温;4、转换的电路及全部传感器元件就像一只三极管集成在的集成电路内,DS18B20 在使用的时候不需要任何的外围元件;5、在-10+85时精度为 0.5,测温范围 55+125;6、可分辨温度依次为0.5、0.25、0.125和0.0625,相对应的可以编程的分辨率是912位,可实现高精度测温;7、12位分辨率时最多在750毫秒内把温度值转换为数字,在9位分辨率时最多在

22、93.75毫秒内把温度转换为数字,速度更快;8、直接输出数字温度信号的测量结果,可传送CRC校验码,同时以单总线串行方式传送给CPU,有极强抗干扰和纠错能力;9、负压特性:接反电源的极性时,芯片不会因发热而烧毁,但不能正常工作。基于单片机的温度控制器的设计 7 3.1.2 热电阻温度传感器 热电阻的测量精度高,性能稳定,使用方便,测量范围宽,在高精度、低温测量中占有重要的地位。热电阻传感器主要用于中低温度(-200+650或 850)范围的温度测量。常用的工业标准化热电阻有铂热电阻和铜热电阻。铂电阻传感器是利用金属铂(Pt)的电阻值随温度变化而变化的物理特性而制成的温度传感器。以铂电阻作为测温

23、元件进行温度测量的关键是要能准确地测量出铂电阻传感器的电阻值。铂电阻具有适用范围广、测量范围大、稳定性高、重复性好、价格低廉、使用方便等优点,成为目前工业和实验室中温度测量应用最广泛普遍的传感元件之一,工业中应用较多的热电阻传感器如Pt100。3.1.3 方案选择 对比上述两种方案,虽然 Pt100 的测量温度范围比较大,但是由于其测温原理是电阻值随着温度的改变而改变,需要设计非常优良的温度采集电路,其中应包括测温部分,线性化部分,放大部分,A/D 转换部分,这就会使外围的电路更加复杂。DS18B20 是数字式温度传感器,只需一根总线就可以与单片机通信,是外围的电路大大简化,测量的精度更准确。

24、因此本控制器的设计中,温度传感器拟选择DS18B20作为温度采集传感器。3.2 温度采集模块电路的设计 3.2.1 DS18B20 介绍 DS18B20 引脚图如图 3-1 所示。27.0DQ2VCC3GND1U1DS18B20 图 3-1 DS18B20 引脚图 本科毕业(设计)论文 8 DALLAS 最新的单线数字温度传感器 DS18B20 是一种新型“一线器件”,它的体积更小、更适用于多种场合、而且适用电压更宽、也更经济。DALLAS 半导体公司开发的数字化温度传感器 DS18B20 也是世界上第一片支持“一线总线”接口的数字温度传感器。温度的测量范围为-55+125 摄氏度,能编程为

25、9 位12 位转换精度,0.0625 摄氏度的测温分辨率,分辨率的设定参数及用户设定的报警温度会存储在 EEPROM 中,掉电后依然能保存。用符号扩展的 16 位数字量方式串行的输出被测温度;采用寄生电源方式产生,其工作的电源既可以远端引入;3 根或 2 根线上可并联多个 DS18B20,CPU 只需要一根端口线就能与诸多的 DS18B20 通信,较少占用微处理器的端口,可以节省逻辑电路和大量的引线,因而用它来组成的测温系统,具有线路简单,在一根通信线,可挂 多个这样的数字温度计,非常的方便。3.2.2 温度传感器工作原理 DS18B20 的读写时序及测温原理与 DS1820 是相同的,得到的

26、温度值的位数却会因为分辨率的不同而不同,而且进行温度转换时的延时时间从 2s 减为 750ms。DS18B20 的测温原理:低温度系数的晶振,它是用以产生固定频率的脉冲信号给计数器 1,它的振荡频率受到温度的影响非常的小。高温度系数的晶振,则它的振荡率会随着温度的变化而明显的改变,产生的信号就作为计数器 2 的脉冲输入。温度寄存器以及计数器 1 被预先设置在55所对应的一个基数值。对从低温度系数晶振产生的脉冲,将会通过计数器 1 来进行减法的计数,当计数器 1 预置的值减到了 0 的时候,计数器 1 的预置值将重新装入,这时候温度寄存器的值就加 1。计数器 1 也就重新开始进行计数,如此循环,

27、停止温度寄存器值的累加时计数器 2的计数值到 0,所测温度就为此时温度寄存器中的数值。DS18B20 功能特点:1.采用了总线技术,与单片机的通信只需要一根 I/O 线,在一根线上可以挂接多个的 DS18B20。2.每只 DS18B20 它是根据序列号来访问相应的器件,具有一个独有的,不可更改的 64 位的序列号,。基于单片机的温度控制器的设计 9 3.低压供电,电源范围为 3-5V,可本地供电,也能直接通过数据线提供电源(即寄生电源 2 方式)。4.在-10C 至+85C 范围内的可以达到精度为0.5 摄氏度,测温的范围为55+125 摄氏度。5.温度超过了的预定值的器件可以用报警搜索命令识

28、别以及寻址。6.用户可以自己设定报警上下限温度。7.它转换 12 位的温度的最大时间为 750 毫秒,可编辑的数据位 9-12 位。8.DS18B20 的分辨率由用户通过 EEPROM 设置为 9-12 位。9.DS18B20 可以将检测到的温度值直接转化为数字量,并且通过串行通信方式 10.与主控制器进行数据的通信。DS18B20 有 4 个主要数据部件:1.光刻 ROM 中的 64 位序列号在出厂之前就已经被光刻好了,它可看作该DS18B20的地址的序列码。64 位光刻 ROM 的排列为:开始的 8 位(28H)是产品类型的标号,接着 48 位是该 DS18B20 的自身序列号,最后的 8

29、 位是前面的 56 位循环冗余校验码(CRC=X8+X5+X4+1)。光刻 ROM 的作用是让每一个 DS18B20 都不相同,这样的话就能够一根总线上可挂接多个的 DS18B20。2.DS18B20 温度传感器能实现对温度的测量,以 12 位的转化为例:用 16 位的符号扩展二进制补码读数的形式提供,以 0.0625/LSB 的形式表达,其中 S 是符号位。3.DS18B20 温度传感器它的内部存储器包括一个高速暂存 RAM 以及一个非易失性的、可电擦除的 EEPRAM,后者存放高温度和低温度的触发器 TH、TL 以及结构寄存器。4.配置寄存器。DS18B20 内部结构及功能:DS18B20

30、 内部的结构如图 3-7 所示。主要包括以下部分:电源,温度传感器,64 位的 ROM 单总线接口,用于存放中间数据的高速暂存器 RAM,用于存储用户设本科毕业(设计)论文 10 定温度上下限的 TH 和 TL 触发器,控制逻辑,8 为循环冗余校验码(CRC)发生器等 7 部分。DS18B20 内部结构如图 3-2 所示。VDD温度传感器高温触发器TH低温触 发器TL配置触发器8位CRC发生器64位RAM和单总线接口高速缓存存储器和控制逻辑 图 3-2 DS18B20 内部结构 3.2.3 DS18B20 工作原理介绍 温度的读取:DS18B20 出厂时配置为 12 位,读取温度时共读取 16

31、 位,所以要把后 11 位的 2进制转化为 10 进制后再乘以 0.0625 就是所测的温度,还需判断正负。前 5 个的数字为符号位,若前 5 位为 1 时,读取的温度就为负数;若前 5 位为 0 时,读取的温度就为正数。DS18B20写操作:1.数据线首先置低电平“0”。2.延时的时间为 15ms。3.再按从低位到高位的顺序发送字节(一次只能发送一位)。4.延时的时间为 45ms。5.把数据线拉到高电平。6.重复上(1)到(6)的操作,一直到所有的字节全部都发送完为止。7.最后把数据线拉高。DS18B20读操作:基于单片机的温度控制器的设计 11 1.把数据线拉高“1”。2.延时 2ms。3

32、.数据线拉低“0”。4.延时 15ms。5.将据线拉高“1”。6.延时 15ms。7.读数据线的状态得到了 1 个状态位,并且进行数据处理。8.延时 30ms。3.2.4 DS18B20 使用中的注意事项 DS18B20 虽具有连接方便、测温系统简单、占用口线少、测温的精度高等优点,然而在实际的应用中也应该注意以下几方面问题:1.DS18B20 从测温结束直到把温度值转换成为了数字量,需要一些转换时间,这必须保证,不然会出现转换错误现象,从而使温度输出总是显示为85度。2.在实际的使用中,应该使电源电压保持在5V 左右的大小,若是电源的电压过低了,就会降低所测得的温度精度。3.较小的硬件开销就

33、需要比较复杂的软件来进行补偿,因为DS1820和微处理器间数据是串行传送的,所以,对DS1820进行读写编程,就必须严格保证读写时序,否则就不能读取测得的温度值。4.DS18B20的有关资料由于未提及单总线上所挂DS18B20 数量,就使人误认为能够挂任意多个的DS18B20,但在实际的应用中并不是这样的,如果在单总线上所挂载的DS18B20超过了8个,就要解决微处理器的总线驱动问题,在进行多点测温系统设计时必须注意这一点。5.在DS18B20测温程序的设计中,向DS18B20 发出了温度转换命令后,程序总是要等待DS18B20的返回信号,若某个DS18B20 接触不好或这断线,当程序读该DS

34、18B20 时,将会没有返回的信号,程序就进入了死循环,这一点在进行DS18B20本科毕业(设计)论文 12 硬件连接和软件设计的时候也要给予重视34。3.2.5 DS18B20 和 AT89C51 单片机连接电路 DS18B20 可以有两种供电的方式,一种用的是电源供电的方式,此时 DS18B20的 1 脚接地,3 脚接电源,2 脚是信号线。另一种是寄生电源供电的一种方式,如图 3-3 所示单片机端口接的是单总线,为了在 DS18B20 有效的时钟周期之内提供的电流足够,对总线的上拉可用一个 MOSFET 管来完成。当 DS18B20 处于温度 A/D 转换操作和写存储器操作时,必须有强的上

35、拉在总线上,上拉的最大开启时间为 10 微秒。采用寄生电源供电的供电方式时 VDD 端接地,单线制由于只有一根线,因此发送接口必须是三态的5。DS18B20 与单片机的接口电路如图 3-3 所示。XTAL218XTAL119ALE30EA31PSEN29RST9P0.0/AD039P0.1/AD138P0.2/AD237P0.3/AD336P0.4/AD435P0.5/AD534P0.6/AD633P0.7/AD732P1.01P1.12P1.23P1.34P1.45P1.56P1.67P1.78P3.0/RXD10P3.1/TXD11P3.2/INT012P3.3/INT113P3.4/T0

36、14P3.7/RD17P3.6/WR16P3.5/T115P2.7/A1528P2.0/A821P2.1/A922P2.2/A1023P2.3/A1124P2.4/A1225P2.5/A1326P2.6/A1427U1AT89C5127.0DQ2VCC3GND1U2DS18B20R14.7k 图 3-3 DS18B20 与单片机的接口电路 3.3 显示模块设计 3.3.1 LCD 液晶显示器简介 显示器是人和机器交流信息的重要界面,早期的是以显像管(CRT/Cathode Ray Tube)显示器为主,但是随着技术的不断发展,各种各样的显示技术不断诞生,而基于单片机的温度控制器的设计 13 液

37、晶(LCD)显示器由于具有耗电量较低、短小轻薄、无辐射的危险,平面直角显示,和稳定不闪烁的影像等优势,更是在近年来不断下跌的价格吸引下,逐渐取代了主流的 CRT 之地位。液晶是一种既有液体的流动性还具光学特性的有机化合物,它的透明程度和呈现颜色受外加电场影响,利用这个特点就可以做成字符显示器。液晶显示器(LCD)英文为 Liquid Crystal Display,它是一种采用液晶控制透光度的技术来实现色彩的显示器。和 CRT 显示器比,LCD 的优点是十分明显的。因为通过控制是否透光从而控制亮和暗,当色彩不变化时,液晶也就保持不变,这样就不用考虑刷新率的问题。显示接口用来显示系统的状态,命令

38、和采集的电压数据。本系统的显示部分用的是 LCD 液晶模块,采用的是一个161 字符型液晶的显示模块。点阵图形式的液晶显示器是由 M 行N 列个显示单元组成的,若 LCD 显示屏有64 行,每行有 128 列,每 8 列对应 1 个字节的 8 个位,则每行有 16 字节,共有 168=128 个点所组成,屏上 6416 个显示单元和显示 RAM 区 1024 个的字节是相对应的,屏上相应位置的亮暗和每一个字节的内容是对应的。一个字符是由 68 或者 88 一个点阵所组成的,所以要找到和屏上某几个位置相对应显示 RAM 区的 8 个字节,而且应该使每一个字节不的同位为 1 状态,其它的则为 0,

39、为1的点亮,为0的点为暗,这样就组成了某一个字符。但是对内部自带字符发生器的控制器来说,字符显示就会比较简单了,可以使控制器在文本方式下工作,根据在每行的列数找出显示RAM 对应的地址和 LCD 开始显示的行列号,设立光标,在此送入该字符的对应代码就可以了。3.3.2 液晶模块简介 LM016L 结构及功能:LM016L 液晶模块采用了 HD44780 的控制器,hd44780 是具有简单而功能较强的指令集,能实现字符移动,闪烁等一些功能,LM016L 与单片机 MCU 通讯可以采用8 位或者 4 位并行传输的两种方式,hd44780 控制器是由两个 8 位的寄存器,地址计数器 RAM(AC)

40、,和字符发生器 ROMA(CGOROM)字符发生器 RAM(CGRAM),显示数本科毕业(设计)论文 14 RAM(DDRAM),及指令寄存器(IR)以及数据寄存器(DR)忙标志(BF)。寄存指令码用IR,只可以写入不可以读出,DR用以寄存数据,数据是暂存从DDRAM和CGRAM读出,或内部操作自动的写入DDRAM 和 CGRAM 的数据,当 BF 为 1 时,液晶模块就会处于内部模式,不响应接受数据和外部操作指令,DDTAM 用以存储显示字符,能够存储总共 80 个字符码,CGROM 是由 5*10 点阵字符 32 种和 8 位字符码生成的 5*7点阵字符 160 种.CGRAM 是专门给用

41、户编写特殊字符而留的,容量只有 64 个字节,可以自定义 4 个 5*10 点阵字符或 8 个 5*7 点阵字符,AC 可存储 CGRAM 和 DDRAM 的地址,若是地址码随指令写入了 IR 的话,那么 IR 就自动把地址码装入 AC,与此同时,选择 DDRAM 或者 CGRAM5。LM016L 液晶模块的引脚图如图 3-4 所示。D714D613D512D411D310D29D18D07E6RW5RS4VSS1VDD2VEE3LCD1LM016L 图 3-4 1601 引脚图 LM016L 引脚介绍:Vss(1 脚):一般的会接地。Vdd(2 脚):一般接电源。Vee(3 脚):液晶显示器

42、的对比度调整端,接电源时它的对比度是最弱的,接地时它的对比度却是最高的(如果对比度过高则会产生“鬼影”,使用时可通过一个 10K电位器用来调整对比度)。RS(4 脚):RS 是选择寄存器的引脚,低电平 0 时选择的是指令寄存器、高电平 1时就会选择数据寄存器。R/W(5 脚):R/W 是读写的信号线,低电平(0)时则进行的是写操作,高电平(1)时基于单片机的温度控制器的设计 15 进行的是读操作。E(6 脚):E(或 EN)端是使能(enable)端,也即下降沿使能。DB0(7 脚):底 4 位的三态、双向数据总线的 0 位(最低位)。DB1(8 脚):底 4 位的三态、双向数据总线 的 1

43、位。DB2(9 脚):底 4 位的三态、双向数据总线的 2 位。DB3(10 脚):底 4 位的三态、双向数据总线的 3 位。DB4(11 脚):高 4 位的三态、双向数据总线 的 4 位。DB5(12 脚):高 4 位的三态、双向数据总线的 5 位。DB6(13 脚):高 4 位的三态、双向数据总线的 6 位。DB7(14 脚):高 4 位的三态、双向数据总线 的 7 位(最高位)(也是 busy flag)6。寄存器选择控制如表 3-1。表 3-1 寄存器选择控制 RS R/W 操作说明 0 0 写入指令寄存器(清除屏等)0 1 读 busy flag(DB7),及读取位址计数器(DB0D

44、B6)值 1 0 写入数据寄存器(显示各字型等)1 1 从数据寄存器中读取数据 3.3.3 液晶显示部分与 STC89C51 单片机的接口 如图 3-5 所示。用 89C51 的 P0 口作数据线,用 P1.2、P1.1、P1.0 分别作 LCD的 E、R/W、RS。其中,E 是下降沿触发片选信号,R/W 是读写信号,RS 是寄存器选择信号,本模块有如下设计要点:显示模块的初始化:首先要清屏,然后再设置 8 位接口数据位,显示的行数为 1 行,字型的为 57 点阵,然后再设置成整体显示,取消光标以及字体的闪烁,最后再设置成正向增量的方式且为不移位。送字本科毕业(设计)论文 16 符给 LCD

45、显示缓冲区,程序采用的是一个显示的字符,2 个字符数组,另一则显示电压数据,相应数组中被送入要显示的字符或者数据,完成之后再统一的显示.LCD显示的缓冲区送人一个要显示的字符或者数据,通过软件延时 2.5 毫秒后,再作个数是否够显示的判断,若不足够则地址加一,取下一个要显示的字符或者数据67。液晶与 80C51 单片机连接电路如图 3-5 所示。XTAL218XTAL119ALE30EA31PSEN29RST9P0.0/AD039P0.1/AD138P0.2/AD237P0.3/AD336P0.4/AD435P0.5/AD534P0.6/AD633P0.7/AD732P1.01P1.12P1.

46、23P1.34P1.45P1.56P1.67P1.78P3.0/RXD10P3.1/TXD11P3.2/INT012P3.3/INT113P3.4/T014P3.7/RD17P3.6/WR16P3.5/T115P2.7/A1528P2.0/A821P2.1/A922P2.2/A1023P2.3/A1124P2.4/A1225P2.5/A1326P2.6/A1427U1AT89C51D714D613D512D411D310D29D18D07E6RW5RS4VSS1VDD2VEE3LCD1LM016LR110kR210kR310kR410kR510kR610kR710kR810k 图 3-5 液晶

47、与 89C51 单片机的连接电路 3.4 按键电路的设计 3.4.1 单片机检测按键的原理 单片机的 I/O 口即可以作为输出也可以作为输入使用,当该检测按键使用的是它的输入功能,我们把按键的其中一端接地,另一段与单片机的 I/O 口相连,开基于单片机的温度控制器的设计 17 始时先给 I/O 口赋一个高电平,然后让单片机一直不断循环检测该 I/O 口是已经否变为了低电平,若是按键闭合,就相当于此 I/O 口通过按键接地了,变成低电平,程序如果检测到 I/O 口变为了低电平就说明该按键已被按下,然后就执行相应的指令和程序8。3.4.2 矩阵键盘的设计 键盘接口电路是单片机系统设计非常重要的一环

48、,作为人机交互界面里最常用的输入设备。我们可以通过键盘输入数据或命令来实现简单的人机通信。通过 4X4的矩阵键盘来可以对温度方便的进行设定,并通过液晶显示器实时显示温度设置的情况。44 的矩阵式键盘由 4 根列线和 4 根行线交叉构成,行列的交叉点上就是按键,这样就有16 个按键。其中交叉点的行线和列线不连接,当按键按下,位于交叉点处的列线和行线导通。行线由上拉电阻连接 VCC。若是无按键按下,行线为高电平;若是有键按下,行、列线在交点导通,此时,行线电平状态是与此行线相连列线的电平状态关联。这是判断按键是否按下的关键环节。但是,矩阵键盘的每一条行线均和 4 条列线相连接,位于交点处的按键是否

49、按下均会影响该键所在列线和行线的电平状态,各个按键之间将会相互的影响,按键分析时必须把列线、行线的状态信号配合处理,才能确定闭合键的位置9。在本设计中,按键电路原理图如图 3-6 所示。XTAL218XTAL119ALE30EA31PSEN29RST9P0.0/AD039P0.1/AD138P0.2/AD237P0.3/AD336P0.4/AD435P0.5/AD534P0.6/AD633P0.7/AD732P1.01P1.12P1.23P1.34P1.45P1.56P1.67P1.78P3.0/RXD10P3.1/TXD11P3.2/INT012P3.3/INT113P3.4/T014P3.

50、7/RD17P3.6/WR16P3.5/T115P2.7/A1528P2.0/A821P2.1/A922P2.2/A1023P2.3/A1124P2.4/A1225P2.5/A1326P2.6/A1427U1AT89C51 图 3-6 按键电路原理图 本科毕业(设计)论文 18 3.5 本章小结 本章节重点分析了数字温度控制系统的硬件电路的设计,介绍了设计中要用到的芯片,包括有单片机芯片 80C51、和液晶显示芯片 LM016L、数字温度传感器芯片 DS18B20 等。介绍了 80C51 的结构、特点、中断、定时/计数等。还介绍了设计中所用到的芯片,以及按键电路。通过本章加深了对 51 单片机

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 学术论文 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服