




已阅读5页,还剩44页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
西北师范大学知行学院单片机课程设计单片机课程设计设计题目:热水器温度控制器的设计学 校:西北师大知行学院 姓 名: 学 号: 2 系 别: 电信系 班 级: 13电本 指导老师: 摘 要随着科学技术和生产的快速发展,在生活中,温度成为了频繁出现的词汇。温度测量与控制也成为了生活生产中重要的一部分。在化工、石油、冶金等生产领域的物理过程和化学反应中,温度往往是一个很重要的量,需要准确地加以控制。除了这些部门之外,温度控制系统还广泛应用于其他领域,是用途很广的一类工业控制系统。本文所设计的电热水器温度控制系统就采用AT89C51单片机为控制核心,利用AT89C51现有的接口来连接外围硬件模块,并通过DS18B20温度传感器准确的检测出当前的温度、DS1302实时时钟芯片实现显示时间的功能,并将所测到的温度数据传送给单片机进行分析处理。并由LCD1602液晶屏显示温度值及实时时间。其中,系统软件设计中,分别预先设计好所需温度的上下限数值,并通过该上下限控制蜂鸣器的报警,再通过继电器的通断来决定电热丝是否加热,实现对温度的简单控制,达到预先设置范围内。关键词:AT89C51单片机,温度控制AbstractWith the rapid development of science and technology and production, andin life, the temperature has become a frequently occurring words. Temperature measurement and control of production has also become an important part of life. Physical processes and chemical reactions in the chemical, petroleum, metallurgy and other production areas, the temperature is often a very important quantity that needs to be controlled accurately. In addition to these sectors, the temperature control system is also widely used in other areas, is a very versatile class of industrial control systems. In this paper, the design of the electric water heater temperature control system using AT89C51 microcontroller core, use AT89C51 existing interfaces to connect peripheral hardware module, and through DS18B20 temperature sensor accurately detects the current temperature, DS1302 real-time clock chip display function, and the measured temperature data to the microcontroller for analysis. By LCD1602 display and real-time temperature. Among them, the system software design, pre-designed upper and lower limit values were good the desired temperature, and through the upper and lower control buzzer alarm, and then through the relay off to determine whether the heating wire heating, simple control of the temperature reach the pre-set range.Keywords: AT89C51 microcontroller, temperature control目 录第一章 绪 论41.1引言41.2研究的背景及意义41.3本文的主要研究内容和研究对象5第二章 基于单片机的电热水器温度控制系统设计62.1电热水器控制系统功能说明62.2整体设计方案6第三章 系统硬件结构设计73.1系统整体设计线路图73.2最小系统介绍73.3温度采集电路方案103.4继电器控制电路143.5键盘电路143.6实时时钟电路153.7显示电路173.8 温度报警电路23第四章 系统软件设计244.1 编程软件及编程语言的介绍244.2主程序工作流程图244.3 各模块子程序流程图26第五章 系统的仿真275.1 仿真软件275.2 系统的仿真运行与分析28第六章 总结与展望30参考文献31致 谢32毕业设计小结33附 录34附录一:电热水器温度控制系统电路图34附录二:系统软件编程34第一章 绪 论1.1课程设计的的背景及意义由于消费水平的提高和人们对生活品质要求的提高,热水器已由一个高档的奢侈品成为一种必备的家庭用具,受到越来越多人的青睐。而电热水器已经成为今后热水器市场的发展方向。因为气价涨了,而电价却降了;电热水器使用安全、卫生、又无污染。今后几年我国电热水器市场将呈现强劲增长势头,其产品质量、技术水平、服务规范将不断提升,价格也会下降。我国过去的热水器市场一直以燃气热水器为主,近年来电热水器逐渐占据了部分市场成为主导,并且代表了未来的发展趋势。随着电子技术以及应用需求的发展,单片机技术得到了迅速的发展,在高集成度,高速度,低功耗以及高性能方面取得了很大的进展。伴随着科学技术的发展,电子技术有了更高的飞跃,我们现在完全可以运用单片机和电子温度传感器对某处进行温度检测,而且我们可以很容易地做到多点的温度检测,如果对其原理稍加改进,我们还可以进行不同地点的实时温度检测和控制。在现代化的工业生产中,电流、电压、温度、压力、流量、流速和开关量都是常用的主要被控参数。例如:在冶金工业、化工生产、电力工程、造纸行业、机械制造和食品加工等诸多领域中,人们都需要对各类加热炉、热处理炉、反应炉和锅炉中的温度进行检测和控制。采用单片机来对温度进行控制,不仅具有控制方便、组态简单和灵活性大等优点,而且可以大幅度提高被控温度的技术指标,从而能够大大提高产品的质量和数量。因此,单片机对温度的控制问题是一个工业生产中经常会遇到的问题。1.2本文的主要研究内容和研究对象 当今,单片机的技术已经非常成熟了,它集成度高、功能强、存储量大、速度快、抗干扰性强和指令丰富等的优点,使它的应用遍及各个领域。本系统设计一个基于用AT89C51的水温控制系统,能在一定的范围内采集监控水温,控制精度有所提升,同时具有较好的快速性,报警,显示等功能且价格低廉,具有很高的工程应用价值和现实意义。整体设计思路:采用单片机AT89C51为核心。用温度传感器DS18B20采集温度变化信号,通过单片机处理后监控温度,并完成液晶显示、报警等操作;其中传感器用于检测实时水温,LCD显示屏用于显示采集的温度数值,当水温超过设定值时,报警装置进行报警,加热器停止加热;当水温低于设定值时,加热开关断开,温度回落。第二章 基于单片机的电热水器温度控制系统设计2.1电热水器控制系统功能说明本课题采用单片机为主控芯片来设计电热水器温度控制系统,主要功能如下:1测量并采集热水器内的温度,并通过显示器实时显示水温,显示范围为090;2正常状态下实时显示时钟;3在温度未达到或超过设定值时报警系统作用;4当温度低于设定值时,电热丝进行加热;当温度超过设定值时,加热开关停止加热,温度下降。2.2整体设计方案采用单片机AT89C51为核心。用温度传感器DS18B20采集温度变化信号,通过单片机处理后监控温度,并完成液晶显示、报警等操作;其中传感器用于检测实时水温,LCD显示屏用于显示采集的温度数值,当温度低于设定值时,电热丝进行加热;当水温高于设定值时,加热停止,温度回落。微控制器模块AT89C51LCD显示电路水温采集装置键盘电路报警电路复位电路加热开关实时时钟图2-1 系统硬件方案第三章 系统硬件结构设计3.1系统整体设计线路图图3-1系统整体电路图3.2最小系统介绍单片机最小系统主要由电源、复位、振荡电路以及扩展部分等部分组成。最小系统原理图如图3-2所示。图3-2最小系统电路图3.2.1复位电路复位电路是一种用来使电路恢复到起始状态的电路设备,它的操作原理与计算机有着异曲同工之妙,只是启动原理和手段有所不同。单片机在启动时都需要复位,以使CPU及系统各部件处于确定的初始状态,并从初态开始工作。89系列单片机的复位信号是从RST引脚输入到芯片内的施密特触发器中的。当系统处于正常工作状态时,且振荡器稳定后,如果RST引脚上有一个高电平并维持2个机器周期(24个振荡周期)以上,则CPU就可以响应并将系统复位。单片机系统的复位方式有:手动按钮复位和上电复位。1、手动按钮复位手动按钮复位需要人为在复位输入端RST上加入高电平。一般采用的办法是在RST端和正电源Vcc之间接一个按钮。当人为按下按钮时,则Vcc的+5V电平就会直接加到RST端。由于人的动作再快也会使按钮保持接通达数十毫秒,所以,完全能够满足复位的时间要求。2、上电复位AT89C51的上电复位电路即只要在RST复位输入引脚上接一电容至Vcc端,下接一个电阻到地即可。对于CMOS型单片机,由于在RST端内部有一个下拉电阻,故可将外部电阻去掉,而将外接电容减至1uF。上电复位的工作过程是在加电时,复位电路通过电 容加给RST端一个短暂的高电平信号,此高电平信号随着Vcc对电容的充电过程而逐渐回落,即RST端的高电平持续时间取决于电容的充电时间。为了保证系统能够可靠地复位,RST端的高电平信号必须维持足够长的时间。上电时,Vcc的上升时间约为10ms,而振荡器的起振时间取决于振荡频率,如晶振频率为10MHz,起振时间为1ms;晶振频率为1MHz,起振时间则为10ms。当Vcc掉电时,必然会使RST端电压迅速下降到0V以下,但是,由于内部电路的限制作用,这个负电压将不会对器件产生损害。另外,在复位期间,端口引脚处于随机状态,复位后,系统将端口置为全“l”态。如果系统在上电时得不到有效的复位,则程序计数器PC将得不到一个合适的初值,因此,CPU可能会从一个未被定义的位置开始执行程序。3.2.2 振荡电路图3-3振荡电路图单片机系统里都有晶振,在单片机系统里晶振作用非常大,全程叫晶体振荡器,他结合单片机内部电路产生单片机所需的时钟频率,单片机晶振提供的时钟频率越高,那么单片机运行速度就越快,单片接的一切指令的执行都是建立在单片机晶振提供的时钟频率。在通常工作条件下,普通的晶振频率绝对精度可达百万分之五十。高级的精度更高。有些晶振还可以由外加电压在一定范围内调整频率,称为压控振荡器(VCO)。晶振用一种能把电能和机械能相互转化的晶体在共振的状态下工作,以提供稳定,精确的单频振荡。单片机晶振的作用是为系统提供基本的时钟信号。通常一个系统共用一个晶振,便于各部分保持同步。有些通讯系统的基频和射频使用不同的晶振,而通过电子调整频率的方法保持同步。晶振通常与锁相环电路配合使用,以提供系统所需的时钟频率。如果不同子系统需要不同频率的时钟信号,可以用与同一个晶振相连的不同锁相环来提供。STC89C51使用11.0592MHz的晶体振荡器作为振荡源,由于单片机内部带有振荡电路,所以外部只要连接一个晶振和两个电容即可,电容容量一般在15pF至50pF之间。 3.3温度采集电路方案本部分电路主要通过传感器来实现对温度的测量,本系统选用的是DS18B20传感器,DS18B20是美国DALLAS公司继DS1820之后推出的增强型单总线数字温度传感器。它在测温精度、转换时间、传输距离、分辨率等方面较DS1820有了很大的改进,给用户带来了更方便的使用和更令人满意的效果。3.3.1 DS18B20的介绍1.DS18B20的结构DS18B20主要由寄生电源、温度传感器、64位串行ROM单线接口、存储中间数据的高速暂存器(内含便笺式RAM)、用于存储用户设定的温度上下限值的TH和TL触发器存储与控制逻辑、8位循环冗余检验码(CRC)发生器部分。DS18B20管脚排列如图3-4所示:图3-4 DS18B20的引脚图本设计使用的是三引脚的产品。其中,1号引脚接地,2号引脚接数据端,3号引脚接电源。2.DS18B20的主要特点数字型智能温度传感器有以下主要特点:(1) 适应电压范围更宽,电压范围:3.05.5V,在寄生电源方式下可由数据线供电。(2) 独特的单线接口方式,DS18B20 在与微处理器连接时仅需要一条口线即可实现微处理器与 DS18B20 的双向通讯。 (3) DS18B20 支持多点组网功能,多个 DS18B20 可以并联在唯一的单总线上,实现组网多点测温 。(4) DS18B20 在使用中不需要任何外围元件,全部传感元件及转换电路集成在形如一只三极管的集成电路内 。(5) 测温范围55125,在-10+85时精度为0.5 。(6) 温度分辨力可编程。DS18B20的数字温度输出可进行912位编程。在实际应用时,需要在分辨力与转换时间两者之间权衡考虑。当DS18B20工作在12位分辨力时,温度与数字输出的对应关系见表3-1:表3-1 DS18B20输出数据与温度的对应关系温度/数字输出(二进制)数字输出(十六进制)+1250000 0111 1101 000007D0H+850000 0101 0101 00000550H+25.06250000 0001 1001 00010191H+10.1250000 0001 1010 001000A2H+0.50000 0001 1010 10000008H00000 0000 0000 00000000H-10.1251111 1111 0101 1110FF5EH-25.06251111 1110 0101 1111FE6FH-551111 1100 1001 0000FC90H(7) 测量结果直接输出数字温度信号,以“一线总线”串行传送给 CPU,同时可传送 CRC 校验码,具有极强的抗干扰纠错能力 。3.DS18B20测温原理用一个高温度系数的振荡器确定一个门周期,内部计数器在这个门周期内对一个低温度系数的振荡器的脉冲进行计数来得到温度值。计数器被预置到对应于-55的一个值。如果计数器在门周期结束前达到0,则温度寄存器(同样被预置到-55)的值增加,表明所测量的温度大于-55。同时,计数器被复位到一个值,这个值由斜坡式累加器电路确定,斜坡式累加器电路用来补偿感温振荡器的抛物线特性。然后计数器又开始计数直到0,如果门周期仍未结束,将重复这一过程。斜坡式累加器用来补偿感温振荡器的非线性,以期待在测温时获得比较高的分辨力。这是通过改变计数器对温度每增加一度所需计数的值来实现的。因此,要想获得所需的分辨力,必须同时知道在给定温度下计数器的值和每一度的计数值。温度测量电路的方框图如图3-5所示:图3-5 DS18B20测温原理图3.3.2 测温电路 本文中测温电路主要使用DS18B20传感器,通过P3.7口与单片机相连,实现数据的传递。其具体硬件原理图如图3-6所示: 图3-6 测温电路原理图DS18B20芯片有两种供电方式:寄生电源供电方式和外部电源供电方式。本文采用的是外部电源供电方式。在外部电源供电方式下,DS18B20工作电源由VDD引脚接入,此时I/O线不需要强上拉,不存在电源电流不足的问题,可以保证转换精度,同时在理论上总线上可以挂接任意多个DS18B20传感器,组成多点测温系统。注意:在外部供电的方式下,DS18B20的GND引脚不能悬空,否则不能转换温度,读取的温度总是85。外部电源供电方式是DS18B20的最佳工作方式,工作稳定可靠,抗干扰能力强,而且电路也比较简单,可以开发出稳定可靠的多点温度监控系统,在外接电源方式下,可以充分发挥DS18B20宽电源电压范围的优点,即使电源电压VCC降到3V,依然能够保证温度量精度。在实际应用中还需要注意的是,连接DS18B20的总线电缆是有长度限制的,试验中,当采用普通信号电缆传输长度超过50m时,读取的温度数据将发生错误,当将总线电缆改为双绞线带屏蔽电缆时,正常通信距离可达150m,当采用每米绞合次数更多的双绞线带屏蔽电缆时,正常通信距离进一步加长,这种情况主要是由总线分布电容使信号波形发生畸形造成的,因此,在用DS18B20进行长距离测温系统设计时,要充分考虑总线分布电容和阻抗匹配问题。3.4继电器控制电路图3-7继电器控制电路设计图该部分通过单片机的P口输出的高低电平来控制固态继电器的通断,从而决定电热丝是否加热,当P口输出低电平时,加热电阻通电,周围的温度缓慢升高,DS18B20测得的温度值也升高;当P口输出高电平时,加热电路断开,温度回落。3.5键盘电路键盘是单片机系统设计中必不可少的组成部分,是系统与用户之间信息交流的途径之一。键盘是一组按键的集合,它是最常用的单片机输入设备。键盘,通常包括有数字键(09)、字母键(AZ)以及一些功能键。操作人员可以通过键盘向单片机输入数据、地址、指令或其他控制命令,实现人机对话。通过键盘输入数据,用户可以将控制指令传递给系统,并对系统的运行状态进行设置,使得系统能够按照用户的要求工作。根据需要的键盘数量的分为独立式键盘和矩阵式键盘。本次设计采用独立式键盘,就是各按键相互独立,每个按键各接一根输入线。独立式键盘电路配置灵活,软件结构简单、方便。图3-8键盘电路3.6实时时钟电路实时时钟的缩写是RTC(Real-Time Clock)。RTC是集成电路,通常称为时钟芯片。本设计采用串行实时时钟芯片DS1302。DS1302时钟芯片包括实时时钟/日历和31字节的静态RAM。它经过一个简单的串行接口与微处理器通信。实时时钟/日历提供秒、分、日、周、月和年等信息。DS1302的性能特征如下:31*8位暂存数据存储RAM;串行I/O口方式使得引脚数目最少;2.55.5V满度工作范围(还有2.05.5V满度工作范围可供选择);2.5V时耗电小于300nA;用于时钟或RAM数据读/写的单字节或多字节(脉冲方式)数据传送;8引脚DIP或可选的用于表面安装的8引脚SOIC封装;可选的工业温度范围-40+85。3.6.1 DS1302管脚图和管脚说明(1)DS1302为8管脚芯片,其管脚排列如图3-9所示:图3-9 DS1302管脚排列图(2)DS1302的管脚功能说明:Vcc 主电源X1,X2 振荡源GND 地线/RST 复位/片选线I/O 串行数据输入/输出端(双向)SCLK 串行数据输入端Vcc1 后备电源DS1302连接原理图如图3-10所示:图3-10实时时钟电路3.7显示电路我们对液晶显示器并不陌生。液晶显示模块已作为很多电子产品的通过器件,如在计算器、万用表、电子表及很多家用电子产品中都可以看到,显示的主要是数字、专用符号和图形。在单片机的人机交流界面中,一般的输出方式有以下几种:发光管、LED数码管、液晶显示器。发光管和LED数码管比较常用,软硬件都比较简单,在前面章节已经介绍过,在此不作介绍,本章重点介绍字符型液晶显示器的应用。 在单片机系统中应用晶液显示器作为输出器件有以下几个优点:(1)显示质量高由于液晶显示器每一个点在收到信号后就一直保持那种色彩和亮度,恒定发光,而不像阴极射线管显示器(CRT)那样需要不断刷新新亮点。因此,液晶显示器画质高且不会闪烁。(2)数字式接口液晶显示器都是数字式的,和单片机系统的接口更加简单可靠,操作更加方便。(3)体积小、重量轻液晶显示器通过显示屏上的电极控制液晶分子状态来达到显示的目的,在重量上比相同显示面积的传统显示器要轻得多。(4)功耗低相对而言,液晶显示器的功耗主要消耗在其内部的电极和驱动IC上,因而耗电量比其它显示器要少得多。1.液晶显示简介:(1)液晶显示原理液晶显示的原理是利用液晶的物理特性,通过电压对其显示区域进行控制,有电就有显示,这样即可以显示出图形。液晶显示器具有厚度薄、适用于大规模集成电路直接驱动、易于实现全彩色显示的特点,目前已经被广泛应用在便携式电脑、数字摄像机、PDA移动通信工具等众多领域。(2)液晶显示器的分类液晶显示的分类方法有很多种,通常可按其显示方式分为段式、字符式、点阵式等。除了黑白显示外,液晶显示器还有多灰度有彩色显示等。如果根据驱动方式来分,可以分为静态驱动(Static)、单纯矩阵驱动(Simple Matrix)和主动矩阵驱动(Active Matrix)三种。2. 液晶显示器各种图形的显示原理:(1)线段的显示点阵图形式液晶由MN个显示单元组成,假设LCD显示屏有64行,每行有128列,每8列对应1字节的8位,即每行由16字节,共168=128个点组成,屏上6416个显示单元与显示RAM区1024字节相对应,每一字节的内容和显示屏上相应位置的亮暗对应。例如屏的第一行的亮暗由RAM区的000H00FH的16字节的内容决定,当(000H)=FFH时,则屏幕的左上角显示一条短亮线,长度为8个点;当(3FFH)=FFH时,则屏幕的右下角显示一条短亮线;当(000H)=FFH,(001H)=00H,(002H)=00H,(00EH)=00H,(00FH)=00H时,则在屏幕的顶部显示一条由8段亮线和8条暗线组成的虚线。这就是LCD显示的基本原理。(2)字符的显示用LCD显示一个字符时比较复杂,因为一个字符由68或88点阵组成,既要找到和显示屏幕上某几个位置对应的显示RAM区的8字节,还要使每字节的不同位为“1”,其它的为“0”,为“1”的点亮,为“0”的不亮。这样一来就组成某个字符。但由于内带字符发生器的控制器来说,显示字符就比较简单了,可以让控制器工作在文本方式,根据在LCD上开始显示的行列号及每行的列数找出显示RAM对应的地址,设立光标,在此送上该字符对应的代码即可。(3)汉字的显示汉字的显示一般采用图形的方式,事先从微机中提取要显示的汉字的点阵码(一般用字模提取软件),每个汉字占32B,分左右两半,各占16B,左边为1、3、5右边为2、4、6根据在LCD上开始显示的行列号及每行的列数可找出显示RAM对应的地址,设立光标,送上要显示的汉字的第一字节,光标位置加1,送第二个字节,换行按列对齐,送第三个字节直到32B显示完就可以LCD上得到一个完整汉字。3.1602字符型LCD简介:字符型液晶显示模块是一种专门用于显示字母、数字、符号等点阵式LCD,目前常用16*1,16*2,20*2和40*2行等的模块。(1)1602LCD的基本参数及引脚功能1602LCD分为带背光和不带背光两种,基控制器大部分为HD44780,带背光的比不带背光的厚,是否带背光在应用中并无差别,两者尺寸差别如下所示:(2)1602LCD主要技术参数:表3-2 1602LCD主要技术参数显示容量162个字符芯片工作电压4.55.5V工作电流2.0mA(5.0V)模块最佳工作电压5.0V字符尺寸2.954.35(WH)mm(3)引脚功能说明:1602LCD采用标准的14脚(无背光)或16脚(带背光)接口,各引脚接口说明如表3-3所示:表3-3引脚接口说明表编号符号引脚说明编号符号引脚说明1VSS电源地9D2数据2VDD电源正极10D3数据3VL液晶显示偏压11D4数据4RS数据、命令选择12D5数据5R/W读/写选择13D6数据6E使能信号14D7数据7D0数据15BLA背光源正极8D1数据16BLK背光源负极第1脚:VSS为地电源。第2脚:VDD接5V正电源。第3脚:VL为液晶显示器对比度调整端,接正电源时对比度最弱,接地时对比度最高,对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度。第4脚:RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。第5脚:R/W为读写信号线,高电平时进行读操作,低电平时进行写操作。当RS和R/W共同为低电平时可以写入指令或者显示地址,当RS为低电平R/W为高电平时可以读忙信号,当RS为高电平R/W为低电平时可以写入数据。第6脚:E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。第714脚:D0D7为8位双向数据线。第15脚:背光源正极。第16脚:背光源负极。(4)1602LCD的指令说明及时序1602液晶模块的读写操作、屏幕和光标的操作都是通过指令编程来实现的。(说明:1为高电平、0为低电平)1602液晶模块内部的控制器共有11条控制指令:指令1:清显示,指令码01H,光标复位到地址00H位置。指令2:光标复位,光标返回到地址00H。指令3:光标和显示模式设置 I/D:光标移动方向,高电平右移,低电平左移 S:屏幕上所有文字是否左移或者右移。高电平表示有效,低电平则无效。指令4:显示开关控制。 D:控制整体显示的开与关,高电平表示开显示,低电平表示关显示 C:控制光标的开与关,高电平表示有光标,低电平表示无光标 B:控制光标是否闪烁,高电平闪烁,低电平不闪烁。指令5:光标或显示移位 S/C:高电平时移动显示的文字,低电平时移动光标。指令6:功能设置命令 DL:高电平时为4位总线,低电平时为8位总线 N:低电平时为单行显示,高电平时双行显示 F: 低电平时显示5x7的点阵字符,高电平时显示5x10的点阵字符。指令7:字符发生器RAM地址设置。指令8:DDRAM地址设置。指令9:读忙信号和光标地址 BF:为忙标志位,高电平表示忙,此时模块不能接收命令或者数据,如果为低电平表示不忙。指令10:写数据。指令11:读数据。表3-4 1602液晶模块内部的控制器控制指令序号指令RSR/WD7D6D5D4D3D2D1D0 1清显示0000000001 2光标返回000000001* 3置输入模式00000001I/DS 4显示开、关控制0000001DCB 5光标或字符移位000001S/CR/L* 6置功能00001DLNF* 7置字符发生存储器地址000字符发生存储器地址 8置数据存储器地址001显示数据存储器地址 9读忙标志或地址01BF计数器地址 10写数CGRAM或DDRAM)10要写的数据内容11从CGRAM或DDRAM读数11 读出的数据内容与HD44780相兼容的芯片时序表如下:表3-5基本操作时序表读状态输入RS=L,R/W=H,E=H输出D0-D7=状态字写指令输入RS=L,R/W=L,D0-D7=指令码,E=高脉冲输出无读数据输入RS=H,R/W=H,E=H输出D0-D7=数据写数据输入RS=H,R/W=L,D0-D7=数据,E=高脉冲输出无(5)读写操作时序如图所示:图3-11 读操作时序图3-12 写操作时序1602LCD的RAM地址映射及标准字库表液晶显示模块是一个慢显示器件,所以在执行每条指令之前一定要确认模块的忙标志为低电平,表示不忙,否则此指令失效。要显示字符时要先输入显示字符地址,也就是告诉模块在哪里显示字符,图3-13是1602的内部显示地址:图3-13 1602LCD内部显示地址例如第二行第一个字符的地址是40H,那么是否直接写入40H就可以将光标定位在第二行第一个字符的位置呢?这样不行,因为写入显示地址时要求最高位D7恒定为高电平1所以实际写入的数据应该是:01000000B(40H)+10000000B(80H)=11000000B(C0H)。在对液晶模块的初始化中要先设置其显示模式,在液晶模块显示字符时光标是自动右移的,无需人工干预。每次输入指令前都要判断液晶模块是否处于忙的状态。1602液晶模块内部的字符发生存储器(CGROM)已经存储了160个不同的点阵字符图形,如图10-58所示,这些字符有:阿拉伯数字、英文字母的大小写、常用的符号、和日文假名等,每一个字符都有一个固定的代码,比如大写的英文字母“A”的代码是01000001B(41H),显示时模块把地址41H中的点阵字符图形显示出来,我们就能看到字母“A”3.8 温度报警电路当环境温度不在设置温度范围内,需要发出警报,报警电路由三极管和蜂鸣器。电路中刚才用PNP三极管,选用低功率三极管,当P1.0低电平,三极管集电极正偏,发射级反偏,三极管导通,驱动蜂鸣器报警。图3-14报警电路第四章 系统软件设计4.1 编程软件及编程语言的介绍本电热水器温度控制系统程序由MCS-51单片机C语言编写,该软件主要由以下几个子模块组成:主程序模块,按键模块温度采集和控制模块,温度显示模块等,程序源代码见附录2。应用C51语言编写程序具有以下特点:(1)不要求了解处理器的指令集,也不必了解存储器的结构。(2)寄存器分配和寻址方式由编译器管理,编程时不必考虑存储器的寻址等。(3)可使用与人的思维更接近的关键字和操作函数。(4)可使用C51语言中库文件的许多标准函数。(5)通过C语言的模块化编程技术,可以将已编制好的程序加入到新的程序中。(6)C51语言编译器几乎适用于所有的目标系统,已完成的软件项目可以很容易的转移到其他微处理器和环境中。4.2主程序工作流程图在主程序中,主要完成的任务系统的开机自检、加热系统。开 始 初始化DS18B20显示当前温度判断当前温度值超过设定温度上限加热开关断开红灯亮设定温度上、下限启动电热丝升高温度是否低于设定温度下限是绿灯亮否结束图4-1 主程序工作流程图4.3 各模块子程序流程图开 始初始化DS18B20是否存在ROM操作指令存储操作指令读取温度值返回否是图4-2 测温程序流程图“G”“K”开始接收数据P0.1=0 加热丝工作P0.1=1 加热丝停止工作判断数据为“K”还是“G”图4-3 控制部分流程图第五章 系统的仿真5.1 系统的仿真运行与分析本次仿真主要对单片机的温度控制系统的硬件和软件进行了联合仿真,在仿真过程中灵活运用Proteus软件和Keil软件的特点,实现了实时时钟和温度的显示,并能对温度进行控制,当温度低于设定值时,加热开关启动电热丝进行加热,当实时温度低于设定值时,加热开关断开,温度回落。图5-1系统运行仿真1.打开已经设计好的电路图文件,运行仿真。首先,LCD显示实际水温.2.设置设定温度。系统中有四个为设定温度数值的按键,前两个为温度上限的加减键,下两个为温度下限的加减键。3.模拟加热。系统采用一个绿灯来模拟加热装置,当绿灯亮则表示开启加热装置,系统处于加热状态;绿灯灭则表示关闭加热装置,系统处于停止加热状态。当设定水温高于实际水温时,系统自动启动加热装置;当设定水温低于实际水温时,系统自动关闭加热装置。第六章 课程设计总结本文在经过详细的查阅国内外各种文献、资料的过程后,将单片机与各大模块电路相结合,研制出了具有使用价值的热水器温度控制系统。本文详细阐述了基于AT89C51单片机的温度控制系统的设计,从硬件选型、硬件电路设计,到软件设计和系统仿真。硬件件设计方面,按照模块化的设计思想实现了系统总体结构设计,软件设计方面,按照不同功能需求通过C语言编程实现了系统的仿真运行。本设计的突出特点和研究结论是:1. 本设计中采用了先进的温度传感器DS18B20,它在测温精度、转换时间、传输距离、分辨率等方面较DS1820有了很大的改进,给用户带来了更方便的使用和更令人满意的效果。2. 本设计采用串行实时时钟芯片DS1302。它经过一个简单的串行接口与微处理器通信。实现了秒、分、日、周、月和年等信息的显示。3. 本文采用液晶显示屏进行内容的显示,LCD显示屏连线简单,显示的内容清晰明了,大大的节省了线路空间及成本。课程设计小结在本次课程设计的过程中,从最开始的课题思路的考虑到最后的着手,我查阅了很多国内外各种资料,本文所设计的电热水器温度控制系统就采用AT89C51单片机为控制核心,利用AT89C51现有的接口组织外围硬件模块。然后分硬件和软件两部分进行研究。硬件是指以温度控制器为核心,由外接温度测量电路、报警电路、实时时钟电路、键盘、复位电路、热水器加热开关、LCD显示电路组成。而软件部分则主要是为系统功能的实现而进行的C言编程和结果的仿真。本次课程设计历时近2个多月,从最初的课题思路到最后的仿真运行,我学到了很多,各元器件的选择,各模块的设计以及最后总电路图的连接,都对我的理论知识和动手能力有了很大的提高,当然,在画原理图、模块设计和电路连接过程中不可避免地遇到了各种各样的问题,在处理问题的过程中必须保持冷静清晰的头脑,结合理论和实际情况来解决问题。我结合自己这几年的理论知识在老师们的帮助下,态度认真的完成了这次课程设计。附 录附录一:电热水器温度控制系统电路图附录二:系统软件编程#include#include#define uchar unsigned char#define uint unsigned intuchar code table=0123456789;uchar sec,sec1,sec2,min,min1,min2;hour,hour1,hour2; /shijianuchar day,day1,day2;mon,mon1,mon2,year,year1,year2,week,week1; /riqiuchar bai,shi,ge,dec,dec1,dec2;float realtemp; /wenduuchar temp_l,temp_h;uchar flag;sbit key1=P30;sbit key2=P31;sbit key3=P32;sbit key4=P33;sbit key5=P11;sbit rw=P25;sbit rs=P26;sbit en=P27;sbit io=P34;sbit rst=P35;sbit sclk=P36;sbit DQ=P37;sbit beep=P10;sbit ACC0=ACC0;sbit ACC7=ACC7;void delay(int ms) / 延时子程序int i;while(ms-) for(i = 0; i 250; i+) _nop_(); _nop_(); _nop_(); _nop_(); voi
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2020-2025年中国数码相机行业市场运营现状及行业发展趋势报告
- 船舶水手技能测试题库及答案
- 钳工公司招聘笔试题库及答案
- 堆(取)料机司机上岗证考试题库及答案
- 渗透测试员实操任务书
- 氧化剂分析测试工安全技术操作规程
- 塔式起重机司机安全技术操作规程
- 化学纤维生产人员基础技能培训手册
- 变电设备安装工应急处置分析及对策
- 打造高效能教师队伍的教育技术培训方案
- 新生儿呕吐护理个案
- 业务提成奖励协议书范本
- 中建信息化管理手册
- 银行对公业务基础培训
- 2024-2030年中国人力资源外包(HRO)服务行业需求趋势与盈利前景预测报告
- 华南理工大学《汽车车身智能制造技术》2023-2024学年第一学期期末试卷
- JJF(京) 129-2024 固定污染源温室气体(CO2、CH4) 排放连续监测系统校准规范
- 常见蔬菜病虫害的识别与防治课件
- 学校军训服合同模板
- 2024不锈钢电缆桥架
- 过氧化物酶在环境污染物降解中的应用
评论
0/150
提交评论