




下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、基于单片机的水温控制系统毕业设计基于单片机的水温控制系统设计摘要温度控制系统可以说是无所不在,热水器系统、空调系统、冰箱、电饭煲、电风扇 等家电产品以至手持式高速高效的计算机和电子设备,均需要提供温度控制功能。本系 统的设计可以用于热水器温度控制系统和饮水机等各种电器电路中。它以单片机 AT80C51为核心,通过3个数码管显示温度和4个按键实现人机对话,使用单总线温度 转换芯片DS18B20实时采集温度并通过数码管显示,并提供各种运行指示灯用来指示系 统现在所处状态,如:温度设置、加热、停止加热等,整个系统通过四个按键来设置加 热温度和控制运行模式。关键词:单片机、数码管显示、单总线、DS18
2、B20.BaSed TemPeratUre COntrOI SyStemAbStraCtTemPeratUre Control SyStem Can be Said to be ubiquitous, Water heaters, air COnditioning SyStemSJ refrigerators, rice cookers, electric fans and Other home appliances as Well as high-speed and efficient hand-held COmPUterS and electronic equipment are requ
3、ired to PrOVide temperature COntrOL The SyStem design Can be USed for drinking Water heater temperature ContrOl SyStemS and Other electrical circuits. AT80C51 microcOntroller as the COre Of it, through the three temperature digital display and 4 keys to achieve man-machine dialogue, the USe Of Singl
4、e-chip bus temperature COnversiOn temperature DS18B20 real-time acquisition and through the digital display and OfferS a variety Of OPerating Iight to indicate SyStem now IiVe in the state, SUCh as: temperature setting, heating, and StOP heating, the entire SyStem through the four buttOnS to Set the
5、 heating temperature and COntrOl the operating mode.KEY VVORDS : MiCrOCOntrOIler, digital display, Single bus, DS18B20绪论及时准确地得到温度信息并对其进行适时的控制,在许多工业场合中都是重要的环 节水温的变化影响各种系统的自动运作,例如冶金、机械、食品、化工各类工业中, 广泛使用的各种加热炉、热处理炉、反应炉等,对工件的水处理温度要求严格控制。对 于不同控制系统,其适宜的水质温度总是在一个范围。超过这个范围,系统或许会停止 运行或遭受破坏,所以我们必须能实时获取水温变化。对于,
6、超过适宜范围的温度能够 报警。同时,我们也希望在适宜温度范围内可以由检测人员根据实际情况加以改变。单片机对对温度的控制是工业生产中经常使用的控制方法.自从1976年InteI公司 推出第一批单片机以来,80年代单片机技术进入快速发展时期,近年来,随着大规模集 成电路的发展,单片机继续朝快速、高性能方向发展。单片机主要用于控制,它的应用 领域遍及各行各业,大到航天飞机,小至日常生活中的冰箱、彩电,单片机都可以大显 其能。单片机将微处理器、存储器、定时/计数器、I/O接口电路等集成在一个芯片上的 大规模集成电路,本身即是一个小型化的微机系统。单片机技术与传感与测量技术、信 号与系统分析技术、电路设
7、计技术、可编程逻辑应用技术、微机接口技术、数据库技术 以及数据结构、计算机操作系统、汇编语言程序设汁、高级语言程序设计、软件工程、 数据网络通信、数字信号处理、自动控制、误差分析、仪器仪表结构设计和制造工艺等 的结合,使得单片机的应用非常广泛。同时,单片机具有较强的管理功能。采用单片机 对整个测量电路进行管理和控制,使得整个系统智能化、功耗低、使用电子元件较少、 内部配线少、成本低,制造、安装、调试及维修方便。传统的温度采集电路相当复杂,需要经过温度采集、信号放大、滤波、AD转换等一 系列工作才能得到温度的数字量,并且这种方式不仅电路复杂,元器件个数多,而且线 性度和准确度都不理想.抗干扰能力
8、弱。现在常用的温度传感器芯片不但功率消耗低、 准确率高,而且比传统的温度传感器有更好的线性表现,最重要的一点是使用起来方 便。中文摘要英文摘要Il绪 论Ill1系统总体设计1硬件总体设计11.1.1硬件系统子模块 1软件总体设计12硬件系统设计2硬件电路分析和设计报告22. 1. 1单片机最小系统电路22. 1.2键盘电路32. 1. 3数码管及指示灯显示电路42. 1.4温度采集电路52. 1.5电源电路102.1.6报警电路设计 112. 1. 7加热管控制电路设计113系统软件设计13主程序流程图13各个模块的流程图153. 2. 1读取温度DS18B20模块的流程153.2.2键盘扫描
9、处理流程173.2.3报警处理流程184系统调试19硬件电路调试19软件调试19系统操作说明书21数据测试21总结23致谢24参考文献25附录一:系统源程序26附录二系统硬件总图361 系统总体设计硬件总体设计设计并制作一个基于单片机的热水器温度控制系统的电路,其结构框图如图I-I图1 - 1系统结构框图硬件系统子模块(1) 单片机最小系统电路部分(2) 键盘扫描电路部分(3) 数码管温度显示和运行指示灯电路部分(4) 温度采集电路部分(5) 继电器控制部分(6) 报警部分软件总体设计良好的设计方案可以减少软件设计的工作量,提高软件的通用性,扩展性和可读 性。本系统的设计方案和步骤如下:(1)
10、 根据需求按照系统的功能要求,逐级划分模块。(2)明确各模块之间的数据流传递关系,力求数据传递少,以增强各模块的独立 性,便于软件编制和调试。(3)确定软件开发环境,选择设计语言,完成模块功能设计,并分别调试通过。(4)按照开发式软件设计结构,将各模块有机的结合起来,即成一个较完善的系 统。首先接通电源系统开始工作,系统开始工作后,通过按键设定温度值的上限值和 下限值,确定按键将设定的温度值存储到指定的地址空间,温度传感器开始实时检 测,调用显示子程序显示检测结果,调用比较当前显示温度值与开始设定的温度值比 较,如果当前显示值低于设定值就通过继电器起动加热装置,直到达到设定值停止加 热,之后进
11、行保温,如果温度高于上限进行报警。2硬件系统设计硬件电路分析和设计报告本次设计主要思路是通过对单片机编程将由温度传感器DS18B20采集的温度外加驱 动电路显示出来,包括对继电器的控制,进行升温.当温度达到上下限蜂鸣器进行报 警。开关按钮是用于确认设定温度的,初始按下表示开始进入温度设定状态,然后通 过和设置温度的升降,再次按下时,表示确认所设定的温度.然后转入升温或降温。 所接的发光二极管用于表示加热状态,所接的发光二极管用于表示保温状态。接继电 器。是温度信号线。整个电路都是通过软件控制实现设计要求。因为80C51单片机内部自带8K的RoM和256字节的RA因此不必构建单片机系统的 扩展电
12、路。如图2-1,单片机最小系统有复位电路和振荡器电路。值得注意的一点是 单片机的31脚鬲/HP必须接高电平,否则系统将不能运行。因为该脚不接时为低电 平,单片机将直接读取外部程序存储器,而系统没有外部程序存储器,所以丑/up必 须接VCC。在按键两端并联一个电解电容,滤除交流干扰,增加系统抗干扰能力。U235Q2815VCC012 345 67 H H 1 1 n K H PPPPPPPPINTlP20INTOP21AT80C51 P22TlP23TOP24P25EA/VPXlX2P26P27RESETRXDTXiIEDALE/PWRPSEN38373635343332212223242526
13、272810Il30。亠390001020304050607 PPPPPPPP图2-1单片机最小系统图键盘电路键盘是单片机应用系统中的主要输入设备,单片机使用的键盘分为编码键盘和非 编码键盘。编码键盘采用硬件线路来实现键盘的编码,每按下一个键,键盘能够自动 生成按键代码,并有去抖功能。因此使用方便,但硬件较复杂。非编码键盘仅仅提供 键开关状态,由程序来识别闭合键,消除抖动,产生相应的代码,转入执行该键的功 能程序。非编码键盘中键的数量较少,硬件简单,在单片机中应用非常广泛。图为按键和AT80C51的接线图,检测仪共设有4个按键,每个按键由软件来决定其 功能,4个按键功能分别为:(1) SWI
14、:设定按键(设定按键)(2) SW2 :加法按键(当前位加5)(3) SW3 :减法按键(当前位减5)(4) SW4 :退出设置键(系统初始化)0123456711 Ix 11 11 11 11 H 11 PPPPPPPP0001020304050607 PPPPPPPPINTlP20INTOP21AT80C51 P22TlP23TOP24P25e7vpP26P27XlX2RESETRXDTXDRbALE/PWRPSEN2L 25_ 26._IJL(LOL39 2只 32 335332JL22.2X_2Z_4.7kVCCCOm234567893PLl4P1.25P1.36P1.47P1.58P
15、1.69PL712P1.0图2-2单片机按键和AT80C51的接线图数码管及指示灯显示电路(1) 数码管显示说明各个数码管的段码都是单片机的数据口输出,即各个数码管输入的段码都是一样 的,为了使其分别显示不同的数字,可采用动态显示的方式,即先只让最低位显示 0(含点),经过一段延时,再只让次低位显示1,如此类推。由视觉暂留,只要我们的 延时时间足够短,就能够使得数码的显示看起来非常的稳定清楚,过程如表3-1。表2-1数码管编码表段码位码显示器状态08HOIHabH02H12HOlH 222H08H 3alHIOH 424H20H 504H40H 6aaH80H7本论文中使用了3个数码管,其中前
16、两位使用动态扫描显示实测温度,在设置加热 温度的时候,两个数码管是闪烁,以提示目前处在温度设置状态。第三位数码管静态 显示符号“°C” O(2) 运行指示灯说明本热水器温度控制系统中共使用到3个LED指示灯和3个数码管。右上角的红色LED是电源指示灯;数码管右边的红色LED是加热指示灯,当刚开机或温度降到设定温度5。C以下时, 该灯会亮,表示目前处于加热状态;当温度上升到设定温度时,该LED灭,同时数码管 右边的绿色LED亮,表示目前处于保温状态,用户可以使用热水器;当温度再次下降到 设定温度5°C以下时,绿色LED灭,红色加热的LED灯亮,不断循环。图2-3 LED数码管
17、显示电路图温度采集电路(1)DS18B20 介绍DalIaS最新单线数字温度传感器DS18B20简介新的“一线器件”体积更小、适用电 压更宽、更经济。DalIaS半导体公司的数字化温度传感器DS1820是世界上第一片支持 “一线总线”接口的温度传感器。一线总线独特而且经济的特点,使用户可轻松地组建传 感器网络,为测量系统的构建引入全新概念。DS18B20s DS1822u线总线”数字化温 度传感器同DS18B20样,DS18B20也支持“一线总线”接口,测量温度范围为-55CO >125CO)在-IOCo>85CO范围内,精度为±0. 5COO DS1822的精度较差为&
18、#177;2C。现场温 度直接以“一线总线"的数字方式传输,大大提高了系统的抗干扰性。其DS18B20的管脚 配置和封装结构如图2-4所示。图 2-4 DS18B20 封装引脚定义: DQ为数字信号输入/输出端; GND为电源地; VDD为外接供电电源输入端(在寄生电源接线方式时接地)。(2) DS18B20的单线(I-Wire bus)系统单线总线结构是DS18B20的突出特点,也是理解和编程的难点。从两个角度来理解 单线总线:第一,单线总线只定义了一个信号线,而且DS18B20智能程度较低(这点可 以与微控制器和SPl器件间的通信做一个比较),所以DS18B20和处理器之间的通信
19、必 然要通过严格的时序控制来完成。第二,DS18B20的输出口是漏级开路输出,这里给出 个微控制器和DS18B20连接原理图。这种设计使总线上的器件在合适的时间驱动它。 显然,总线上的器件与(Wired AND)关系。这就决定:(1)微控制器不能单方面控 制总线状态。之所以提出这点,是因为相当多的文献资料上认为,微控制器在读取总 线上数据之前的I/O口的置1操作是为了给DS18B20个发送数据的信号。这是一个错误 的观点。如果当前DS18b20发送0,即使微控制器I/O口置1,总线状态还是0;置1操作是 为了是I/O口截止(CUt Off),以确保微控制器正确读取数据。(2)除了DS18B20
20、发 送0的时间段,其他时间其输出口自动截止。自动截止是为确保:1时,在总线操作的 间隙总线处于空闲状态,即高态。2时,确保微控制器在写1的时候DS18B20可以正确读 入。由于DS18B20采用的是I-Wire总线协议方式,即在一根数据线实现数据的双向传 输,而对AT89S52单片机来说,硬件上并不支持单总线协议,因此,我们必须采用软件 的方法来模拟单总线的协议时序来完成对DS18B20芯片的访问。 DS18B20的复位时序,如图2-5图2-5 DS18B20的复位时序图 DS18B20的读时序对于DS18B20的读时序分为读0时序和读1时序两个过程。对于DS18B20的读时隙是从主机把单总线
21、拉低之后,在15秒之内就得释放单总线, 以让DS18B20把数据传输到单总线上。DS18B20在完成一个读时序过程,至少需要60US 才能完成。DS18B20的读时序图如图2-6所示。图2-6 DS18B20的读时序 DS18B20的写时序对于DS18B20的写时序仍然分为写0时序和写1时序两个过程。对于DS18B20写0时序和写1时序的要求不同,当要写0时序时,单总线要被拉低至 少60us,保证DS18B20能够在15us到45us之间能够正确地采样IO总线上的“0”电平, 当要写1时序时,单总线被拉低之后,在15us之内就得释放单总线。如图2-7所示。图2-7 DS18B20的写时序图(3
22、) DS18B20的供电方式在图2-8中示出了DS18B20的寄生电源电路。当DQ或VDD引脚为高电平时,这个电路 便“取”的电源。寄生电路的优点是双重的,远程温度控制监测无需本地电源,缺少 正常电源条件下也可以读RoM。为了使DS18B20能完成准确的温度变换.当温度变换发 生时,DQ线上必须提供足够的功率。有两种方法确保DS18B20在其有效变换期内得到足够的电源电流。第一种方法是 发生温度变换时,在DQ线上提供一强的上拉,这期间单总线上不能有其它的动作发 生。如图2-8所示,通过使用一个MOSFET把DQ线直接接到电源可实现这一点,这 时DS18B20工作在寄生电源工作方式,在该方式下V
23、DD引脚必须连接到地。图2-8DS18B20供电方式1另一种方法是DS18B20工作在外部电源工作方式,如图2-9所示。这种方法的优 点是在DQ线上不要求强的上拉,总线上主机不需要连接其它的外围器件便在温度变 换期间使总线保持高电平,这样也允许在变换期间其它数据在单总线上传送。此外, 在单总线上可以并联多个DS18B20,而且如果它们全部采用外部电源工作方式,那么 通过发出相应的命令便可以同时完成温度变换。图2-9 DS18B20供电方式2(4) DS18B20设计中应注意的几个问题DS18B20具有测温系统简单、测温精度高、连接方便、占用接口线少等优点,但在 实际应用中也应注意以下几方面的问
24、题:较小的硬件开销需要相对复杂的软件进行补 偿,由于DS18B20与微处理器间采用串行数据传送。因此,在对DS18B20进行读写编 程时,必须严格的保证读写时序,否则将无法读取测温结果。在DS18B20有关资料中 均未提及Iwire上所挂DS18B20数量问题,容易使人i吴认为可以挂任意多个DS18B20,在 实际应用中并非如此。当IWire上所挂DS18B20超过8个时,就需要考虑微处理器的总线 驱动问题,这一点在进行多点测温系统设计时要加以注意。连接DS18B20的总线电缆是有长度限制的。实际应用中,测温电缆线建议采用屏蔽4芯双绞线,其中一对线接地线 与信号线,另一组接YCC和地线,屏蔽层
25、在源端单点接地。本文以广泛应用的数字温度传感器DS18B20为例.说明了IWire总线的操作过程和 基本原理。事实上,基于IWire总线的产品还有很多种,女OlWire总线的E2PROM.实时 时钟、电子标签等。他们都具有节省I/O资源、结构简单、开发快捷、成本低廉、便于 总线扩展等优点,因此有广阔的应用空间,具有较大的推广价值。本设计将温度传感器DS18B20与单片机TXD引脚相连读取温度传感器的数值。DS18B2O与单片机连接图如图所示2T0所示。U201234567P1P1P1P1P1P1P1PIgl 9- 3 4 5 6 7 POPOPOPO4POPO(PO15143119INTlP2
26、0INTOP2ITlAT80C51 驚TO应P25EA/VPP26P27XlX2RESETRXD_TXD_RDALE/PWRPSEN,图2-10 DS18B20与单片机连接图电源电路采用L7805稳压块,输出为5V。电子组件要正常运作都需要电源电压供电,一般常 用的电源电压为+5V或÷12V1因为数字IC (Ingegrated CirCUit :集成电路)所供给 的电压为+5V,而CMoS IC所供给的电压为+12V, 7805是一个稳压块。7805稳压管把高 电压转换到低电压,7805稳压管具有保护单片机的作用。L7805输出端要并联上一个电 解电容,滤除交流电干扰,防止损坏单片
27、机系统。本设计采用两种供电方式,一种为 DC718V直流稳压电源变换成5V的直流电;另一种为四节干电池共6Y经二极管加压后得 到将近5V的直流电源,电源配以开关和指示灯,以方便使用。黄色发光二极管表示保 温,红色的表示加热状态。图2-11系统电源设计图同时可以在系统里设定温度上限值,由于加热停止后,加热管还有余热当采集到 的外界温度高于当前所设定温度上限值时,程序就会进入报警子程序,触发蜂鸣器进 行报警。报警电路原理图如图所示。图2-12报警电路图图中的三极管8550的作用是增加驱动能力,比9012的驱动电流还大些,因此选用 8550o当程序进入报警子程序时,把置0,就会触发蜂鸣器,为了使报警
28、声音效果更 好,对取反,发出报警嘟噜声音。加热管控制电路设计继电器是常用的输出控制接口,可以做交直流信号的输出切换。它具有控制系统(又称输入回路)和被控制系统(又称输出回路),通常应用于自动控制电路中,它 实际上是用较小的电流去控制较大电流的一种“自动开关”。故在电路中起着自动调 节、安全保护、转换电路等作用。继电器控制接点操作说明如下: COM : CommOnl共同点。输出控制接点的共同接点。NC : NOrmaI CIOSe常闭点。以Com为共同点,M与CoM在平时是呈导通状态的。NO : NOrmaI OPen常开点。0与CoM在平时是呈开路状态的,当继电器动作时,0与CoM导通,C与
29、CoM则呈开路状态。当89S52的输出高电平时,继电器不导通,反之当输出低电平时,继电器导通,这 样就激活了连接回路。图2-13单片机控制继电器电3系统总设计本系统采用的是循环查询方式,来显示和控制温度的。主要包括四段程序的设计:DS18B20读温度程序,数码管的驱动程序,键盘扫描程序,以及抱经处理程序。主程序流程图yi保温指示灯亮,停止加热加热指示灯亮,开始加热 N -V二退度二二二温度一N预设温度加5预设温度减5i18B20图3-1主程序流程图各个模块的流程图读取温度DS18B20模块的流程由于DS18B20采用的是一根数据线实现数据的双向传输,而对AT89S52单片机来 说,硬件上并不支
30、持单总线协议,因此,我们必须采用软件的方法来模拟单总线的协 议时序来完成对DS18B20芯片的访问。DS18B20单线通信功能是分时完成的,它有严格的时隙概念。因此系统对DS18B20 的各种操作必须按协议进行。操作协议为:初始化DS18B20 (发复位脉冲)一发RoH功 能命令一发存储器操作命令一处理数据DS18B20虽然具有测温系统简单、测温精度高、 连接方便、占用口线少等优点,DS18B20必须首先调用启动温度转换函数,根据数据手册上对应转换时间来超作, 如为12位转换,则应该是最大750mS,另外在对DS18B20超作时,时序要求非常严格, 因此最好禁止系统中断。由于DS18B20是在
31、一根I/O线上读写数据,因此,对读写的数据位有着严格的时序 要求。DS18B20有严格的通信协议来保证各位数据传输的正确性和完整性。该协议定义 了几种信号的时序:初始化时序、读时序、写时序。所有时序都是将主机作为主设 备.而每一次命令和数据的传输都是从主机主动启动写时序开始,如果要求单总线器 件回送数据,在进行写命令后,主机需启动读时序完成数据接收。数据和命令的传输 都是低位在先。DS18B20的读时序:(1) 对于DS18B20的读时序分为读0时序和读1时序两个过程。(2) 对于DS18B20的读时隙是从主机把单总线拉低之后,在15秒之内就得释放单 总线,以让DS18B20把数据传输到单总线
32、上。DS18B20在完成一个读时序过程,至少需要 60US才能完成。DS18B20的写时序:(1)对于DS18B20的写时序仍然分为写0时序和写1时序两个过程。(2)对于DS18B20写0时序和写1时序的要求不同,当要写0时序时,单总线要被拉 低至少60us,保证DS18B20能够在15us到45us之间能够正确地采样IO总线上的“0”电 平,当要写1时序时,单总线被拉低之后,在15us之内就得释放单总线。系统程序设计主要包括三部分:读岀温度子程序、温度转换命令子程序、显示温度子程序。程序代码为:图3-2读取温度DS18B20模块的流程图GET-TEMPER: SETB DQ;读出转换后的温度
33、值LCALL INlT-1820;先复位 DS18B20JB FLAGl, TSS2RET ;判断DS1820是否存在若DS18B20不存在则返回TSS2: MOVA,#0CCH;DS18B20已经被检测到!跳过ROM匹配LCALL WRlTE-I820MOVA, #44H;发出温度转换命令LCALL WRlTE.1820LCALL DISPLAY ;这里通过调用显示子程序实现延时一段时间,等待AD转换结束,12位的话750微秒LCALL INlT_1820;准备读温度前先复位MOV A,#0CCH;跳过RoM匹配LCALL WRlTE_1820MOV A, SOBEH;发出读温度命令LCAL
34、L WRITE_1820LCALL READ_18200;将读出的温度数据保存到35H/36HRET键盘扫描处理流程此流程为键盘扫描处理,CFU通过检测各数据线的状态(0或1)就能知道是否有按键闭合以及哪个按键闭合。键盘管理程序的功能是检测是否有按键闭合,如果有按键 闭合,消除抖动,根据键号转到相应的键处理程序,按键流程图如图3-3所示。图3-3键盘扫描子程序流程图3. 2. 3报警处理流程运行程序后,温度传感器DS18B2O即可对环境进行温度采集,并送LED数码管显 示。我们可以在程序里设定温度上限值当采集到的外界温度高于当前所设定温度上 限值时,程序就会进入报警子程序,触发蜂鸣器进行报警。
35、其程序流程图如图3-4所图3-4报警子程序流程图4系统调试硬件电路调试仔细检查所接电路,按照硬件原理图接线,理论上是能实现的,如果数码管不显 示,则应该检查线路是否正确或是因为单片机没有工作,还有集电极和发射极是否 接对。如果只显示两个八,则可能是DS18B20没有接正确检查上拉电路是否接好。 另外要注意的是,由单片机输出的控制信号比较小,需要进行放大才能驱动继电器工 作,否则就不能实现升温过程,通常选用8350三极管来进行放大。还有220V交流电 绿色接头和加热管黄色接头必须接正确.否则导致电路烧坏。蜂鸣器是低电平有效。 如果能注意这些问题,电路基本不会出错。软件调试如果硬件电路检查后,没有
36、问题却实现不了设计要求,则可能是软件编程的问 题,首先应检查初始化程序,然后是读温度程序,显示程序,以及继电器控制程序, 对这些分段程序,要注意逻辑顺序,调用关系,以及涉及到了标号,有时会因为一个 标号而影响程序的执行,除此之外,还要熟悉各指令的用法,以免出错。还有一个容 易忽略的问题就是,源程序生成的代码是否烧入到单片机中,如果这一过程出错,那 不能实现设计要求也是情理之中的事。本人在设计的时候在伟福仿真软件进行调试, 通过此软件进行调试可以很方便的观察单片机内部各个寄存器及内部存储器变化情 况,以方便进行调试。图为单片机功能调试图:图4-1单片机功能调试图硬件与软件调试相结合,仔细检查各个
37、模块的设计,旧能顺利完成任务,实现设 计要求,在调试过程中必须认真耐心,不能有一点马虎,否则遗漏一个小的问题就会 导致整个设计的失败。系统操作说明本系统上电后数码管显示当前测量温度,此时加热指示灯和保温指示灯均 不点亮;若此时按“自动加热”键,则单片机自动将预加热温度设置为80。C并 开始加热,送出一个加热信号,并点亮加热指示灯;若按“温度设置”键,则 进入预加热温度设置界面,此时数码管闪烁显示预设置温度,此时通过按键“ + ”和“ - ”进行设置温度,预设置温度按“5”递増或递减,设置好温度后 再按一次“温度设置”键确定,单片机保存预设置温度,并开始加热。此时单 片机通过数码管显示实时检测的
38、温度并和预设置温度进行对比,如果实测温度 大于或等于预设置温度,则单片机发出停止加热信号并熄灭加热指示灯,点亮 保温指示灯,且当超过预设温度时发出报警;当温度下降到预设置温度以下3度 时,单片机再次发出加热信号,同时熄灭保温指示灯,点亮加热指示灯,依次 循环控制。数据测试1 -静态数据测试取一桶净水,改变它的温度,观察数码管上显示的温度值,并用温度计进 行测温,记录两组数据,比较差异。记录表如下:表47静态温度数据测试表123456显不温度234763778490测量温度244763808491有测试数据可知,本系统测温结果与温度计测温基本一致,能满足设计, 证明了设计的合理性。2.动态数据测
39、试进行温度设定,通过设定温度值(73C) I观察加热管的加热情况,以及 数码管的显示值,再用温度计测量水温,每隔一段时间记录一次数据,将两组 值进行比较。记录表如下:(设定前温度为25。C)表4-2静态温度数据测试表x组数分12345678910111213显ZF温度25293439424853586267707375测量温度25283438424953596367717475通过上表可看出在加热的过程中,显示的温度与实测的温度近似一样,说明系统的设计达到精度要求,但还是略有偏差,基本不影响设计结果。整个测试过程表明设计达到了任务书的要求,证明了该方案是合理可行的,顺利完成了设计,达到了预想结
40、果。通过本次的设计,使我们不仅对单片机这门课程有了更深刻的认识,懂得 了如何运用课本知识结合实际来完成定时器的显示和编程方法以及数码显示电 路的驱动方法,使我们能够很快的适应现代控制技术发展的需求,同时也提高 了我们的思维能力和实际操作能力,为以后更好的走上工作岗位奠定了坚实的 基础。另外,这次的设计还让我更进一步的认识了关于AT80C51等芯片的引脚功 能以及使用方法,使我学会了应用不同的芯片来配合完成整个设计的操作。在做硬件电路的这段时间里,从思考设讣到对电路的调试经过了许多困 难。同样在对软件进行设讣时,也可为一路坎坷。但是通过对软硬件不断撞 墙,不断思考解决问题的过程中,我学会了很多东
41、西,同时对单片机也有了更 深的认识。在做设计的时候,很需要耐心和对事物的细心,很多时候一个简单 问题的一个简单的疏忽就会导致整个电路的不丄作,只有不断的检查不断的调 试,才能真正完成一个设计的制作。只有不断的发现问题解决问题,才能从问 题中改变自己,提升自己对单片机的能力。此设计虽然能够完成温度的显示和控制,但功能和精度有待于进一步提 高。以后可以通过加入PlD算法优化控制功能,并通过液晶显示屏实时显示温 度。致谢经过半年的忙碌和工作,本次毕业设计已经接近尾声,作为一个专科生的 毕业设计,由于经验的匮乏,难免有许多考虑不周全的地方,如果没有导师的 督促指导,以及一起工作的同学们的支持,想要完成
42、这个设计是难以想象的。 首先感谢李月英老师出的这些论文选题,给了我这么一个展现自己能力的平 台。在这一个论文设计之中,涉及到了方方面面的知识,没有大学期间各个学 科老师的辛勤栽培,也不会有我见天的成果。所以要感谢所有的任课老师。在这里也要感谢我的室友们,是他们在平时无微不至的照顾,才有了我更 棒的身体,和更多的学习时间。三年的时间里,我们没有红过脸,我们一直保 持着那份纯真的友谊,是我们的互相帮助,才有了今天的这份德业双修。所以 在这里也要感谢我们的郑州科技学院,是学院给了我们这么宽广的一个交流平 台,能够在获得知识的同时,也能得到同样珍贵的友谊。在论文即将完成之际,我的心情很是激动,那些埋头
43、苦干和终曰坐在电脑 跟前的场景还是历历在目,辛勤劳动的付出,相信也能够给我带来同样分量的 收获。从开始进入课题到论文的顺利完成,有太多太多的要感谢的朋友和老 师,在这里请接受我真挚的感谢!1 乐建波编着温度控制系统化学工业出版社2 谢自美编着电子线路设计实验测试(第二版)华中科技大学出版社20003 武庆生仇梅编着单片机原理与应用电子科技大学出版社4 谭浩强编着C程序设计北京:清华大学出版社1999年5 华中理工大学电子学教研室编电子技术基础数字部分(第四版)高等 教育出版社6 电子制作7 王彬任艳颖编着DigitaI IC SyStem DeSign西安电子科技大学出版 社8 赵丽娟邵欣编着
44、基于单片机的温度监控系统的设计与实现机械制造9 郭炳坤简单的恒温箱温控电路J仪器与未来,1991附录仁系统源程序EMPER_L EQU29H;用于保存读出温度的低8位TEMPERJiEQU28H;用于保存读出温度的高8位FLAGIEQU38H;是否检测到DS18B20标志位A_BITEQU20H;数码管个位数存放内存位置B_BITEQU21H;数码管十位数存放内存位置BIEQU70H;温度小数点位AIEQU71H;设定温度值DQEQU;DQ为DS18B20数据位BELLEQU;/蜂鸣报警ORGOOOOH;单片机内存分配申明!AjMPMAlNO;IllllllllllllllII/前面的都是定义
45、MAIN: MOV R0, #10MI:CPLACALL DELAYI25DJNZ RO, MI ;/此段为灯闪5次,无实际意义;/MAINO:MOV Al, #80;默认加热为80度MAINl:LCALL D1820 ;调用读温度子程序LCALLDISPLAY;调用数码管显示子程序MOVA, 29HCLRCCJNEA,A1,MAIN1.1SETBBELL ; 温度相等,关闭蜂鸣器AJMPMAlNl_1_A; /下等不用叫蜂鸣器MAIN1_1:JCMAlNI_2;为1转移,表示小于设定温度CPL BELL ;蜂鸣器断续鸣叫MAINI_1_A: CLR;/下面是表示没达到温度SETBAJMP M
46、AIN2;Iiihiiiiiihiiiiii/主要是检测温度是否小于设定的温度,小于,则开发热管CLRMAlNI_2:SETB BELL ;/关闭蜂鸣器CLR; 开发热管SETB;/A/上面的是大于,关发热管MAIN2:JB ,MAINl;/看有否按下ACALLDELAYl25;延时防抖动,常用的手法,网上很多介绍的JB ,MAINl;/再次查看CLRJNB , $; /等按键完全松手才进入!SETBSETB;/检测到按键后后进入设定温度ACALL DlSPLAYIJB,MAIN2_2ACALLDELAYI25JB,MAIN2_2JNB,$MOVA,#5ADDA, AlCLRCMAIN2_1:
47、CJNEA,#100, MAlN2_1_1MOV A, #99AJMPMAIN2丄3/上面这一段是+5度按键,按下+5度MAIN2_1_1:JCMAlN2_1_3MAIN2_1_2:CLRCMOVA, #99MAIN2_1_3:MOVAl, AMAIN2._2:JB,MAIN2_3ACALLDELAYl25JB,MAIN2_3JNB,$MOVA,A1CJNEA, #99, ZYIMOVB,#4AJMPZY2ZYl:MOVB, #5ZY2:CLRCMOVA,A1SUBBA,BMAIN2_2_1:JNCMAIN2._2_2MOVAl, #0AJMPMAIN2.3;Iiiiiiiiii,/U/上面这
48、一段是-5度按键,按下-5度MAIN2._2_2:MOVAl, AMAIN2.3JB,NlAlN21ACALL DELAYI25JB , MAIN2.1CLRJNB , $SETBAJMP MAlNlD1820:'/上面这一段是退出的意思的!LCALL GET_TENIPER ;调用读温度子程序MOV Bl, 29HMOV A, 29HMOV C, 40H ;将28只中的最低位移入CRRC AMOV C,41HRRC AMOV C, 42HRRC AMOV C, 43HRRC AMOV 29H, AMOV A, BIMOV B,#IoHMUL ABMOV B,#IoHDlV ABMOV
49、 B,#10MUL ABMOVB,#IOHDlV ABRET;/上面这一段是读取温度后进行转换的意思!;/-Jiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii/INlT_1820: SETB DQ;这是DS18B20复位初始化子程序NOPCLR DQ;主机发出延时537微秒的复位低脉冲MOV Rl, #3TSRl: MOVR0, #107DJNZR0, $DJNZRl, TSRISETBNOPNOPNOPNOPDQ;然后拉高数据线MOVR0, #25HTSR2: JNBDQ, TSR3;等待 DS18B20 回应DJNZRO, TSR2LJMPTSR4 ;延时TSR3: SETB
50、FLAGI;置标志位,表示DS1820存在LJMPTSRoTSR4: CLRFLAGI;清标志位,表示DS1820不存在LJMPTSR7TSR6: DJNZRO, TSR6;时序要求延时一段时间TSR7: SETBDQRETGET TEMPER:SETBDQ;读出转换后的温度值LCALLINIT-.1820;先复位 DS18B20JBFLAGl, TSS2RET;判断DS1820是否存在若DS18B20不存在则返回TSS2:MOVA, #0CCH;DS18B20 已经被检测到!跳过 RoM匹配LCALLWRITE1820MOVA, #44H;发出温度转换命令LCALLWRITE 1820LCALLDlSPLAY;这里通过调用显示子程序实现延时一段时间, 等待AD转换结束,12位的话750微秒LCALL INIT_1820;准备读温度前先复位MOV A, #0CCH;跳过ROM匹配LCALL WRITE_1820MOV A, #0BEH;发出读温度命令LCALL WRITE_1820LCALL RE
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 火灾山体滑坡地震应急预案(3篇)
- 软件设计师考试自我激励与提升策略试题及答案
- 逆袭成功的软件设计师考试试题及答案
- 企业网络服务模型试题及答案
- 高考数学解析能力提升指南试题及答案
- 2025年网络攻防技能试题及答案
- 法学概论的影响力试题与答案分析
- 面对失败的成长经历2023年高考作文试题及答案
- 网络测量工具试题及答案
- 多媒体技术在教研中的应用计划
- 2025浙江省乐清苍南永嘉二模联考科学试题卷
- Java高级软件开发面试题及答案
- 3.4 羧酸的衍生物 课件高二下学期化学人教版(2019)选择性必修3
- 2025年消防安全培训考试试卷及完整答案
- 2024年河北省井陉县事业单位公开招聘警务岗笔试题带答案
- 2025年信息科技与创新能力考核试题及答案
- 2025年智慧城市建设相关知识考试试卷及答案
- 2025年4月自考00522英语国家概况答案及评分参考
- 2025年江西南昌初三一模中考语文试卷试题(含答案详解)
- 2025年吉林省长春市中考一模历史试题(原卷版+解析版)
- 2025人教版三年级下册数学第七单元达标测试卷(含答案)
评论
0/150
提交评论