




已阅读5页,还剩28页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
毕业论文(设计)题目 单片机水温控制系统 学生姓名 林寿鸿 学 号 309030321 年级专业 09级应用电子技术 所 在 系 电气工程 指导教师 谌令梅 职称 副教授 完成时间 2012 年 月 摘 要温度控制系统可以说是无所不在,现代冶金、石油、化工、热水器系统、空调系统均需要提供温度控制功能。温度是极为重要而又普遍的热工参数之一,在环境恶劣或温度较高等场合,为了保证生产过程正常安全地进行,提高产品的质量和数量,以及减轻工人的劳动强度、节约能源,要求对加热炉炉温进行测、显示、控制,使之达到工艺标准。如何更快、更准确的控制所需的温度是温度控制技术的关键。本文所设计的水温控制系统可适用于多种温控系统电路中。它以单片机AT89C51为核心,通过4个数码管显示温度和3个按键实现人机对话,使用单总线温度转换芯片DS18B20实时采集温度并通过数码管显示,并提供指示灯用来指示系统现在所处状态,如:温度设置、加热、停止加热等,整个系统通过三个按键来设置加热温度和控制运行模式。关键词: 单片机 数码管显示 单总线 DS18B20目 录前言.31 系统设计方案.41.1功能要求.41.2设计思路.41.3方案论证与比较.51.4方案实施.52硬件设计部分.52.1硬件原理框图及原理.62.2单片机AT89C51介绍.62.3键盘电路设计.132.4数码管显示电路设计.142.5温度采集电路设计.152.6报警电路设计.192.7加热管控制电路设计.193 系统软件设计.203.1 软件设计流程图.203.2 软件程序编制.223.3 软硬件调试说明.274 结束语.29致谢.30参考文献.31附录.32 前 言 能及时准确地得到温度信息并对其进行适时的控制,在许多工业场合中都是重要的环节.水温的变化影响各种系统的自动运作,例如冶金、机械、食品、化工各类工业中,广泛使用的各种加热炉、热处理炉、反应炉等,对工件的水处理温度要求严格控制。对于不同控制系统,其适宜的水质温度总是在一个范围。超过这个范围,系统或许会停止运行或遭受破坏,所以我们必须能实时获取水温变化。对于,超过适宜范围的温度能够报警。同时,我们也希望在适宜温度范围内可以由检测人员根据实际情况加以改变。单片机对对温度的控制是工业生产中经常使用的控制方法.自从1976年Intel公司推出第一批单片机以来,80年代单片机技术进入快速发展时期,近年来,随着大规模集成电路的发展,单片机继续朝快速、高性能方向发展。单片机主要用于控制,它的应用领域遍及各行各业,大到航天飞机,小至日常生活中的冰箱、彩电,单片机都可以大显其能。单片机将微处理器、存储器、定时/计数器、I/O接口电路等集成在一个芯片上的大规模集成电路,本身即是一个小型化的微机系统。单片机技术与传感与测量技术、信号与系统分析技术、电路设计技术、可编程逻辑应用技术、微机接口技术、数据库技术以及数据结构、计算机操作系统、汇编语言程序设计、高级语言程序设计、软件工程、数据网络通信、数字信号处理、自动控制、误差分析、仪器仪表结构设计和制造工艺等的结合,使得单片机的应用非常广泛。同时,单片机具有较强的管理功能。采用单片机对整个测量电路进行管理和控制,使得整个系统智能化、功耗低、使用电子元件较少、内部配线少、成本低,制造、安装、调试及维修方便。传统的温度采集电路相当复杂,需要经过温度采集、信号放大、滤波、AD转换等一系列工作才能得到温度的数字量,并且这种方式不仅电路复杂,元器件个数多,而且线性度和准确度都不理想,抗干扰能力弱。现在常用的温度传感器芯片不但功率消耗低、准确率高,而且比传统的温度传感器有更好的线性表现,最重要的一点是使用起来方便。 1 系统设计方案 1.1基本功能 (1)循环温度采集与显示; (2)温度在当前环境温度到水沸点的范围内可自动调整,精度1; (3)温度控制值在0到100范围内以1为步进调节,控制误差1; (4)实时温度达到温度设定值自动报警; (5)直接通过按键操作去调整水温设定; (6)具有可视化操作界面; 1.2设计要求 按功能要求,实际完成水温控制系统的功能。1.3温度采集方案论证方案一:采用模拟集成温度传感器 由于本设计的温度测温电路,可以使用热敏电阻Pt100其感温效应,Pt100温度传感器为正温度系数热敏电阻传感器,主要技术参数如下: 1、测量范围:-200+850; 2、允许偏差值:A级(0.150.002t), B级(0.300.005t); 3、热响应时间 30s; 4、最小置入深度:热电阻的最小置入深度200mm; 5、允通电流 5mA。 另外,Pt100温度传感器还具有抗振动、稳定性好、准确度高、耐高压等优点。 铂热电阻的线性较好,在0100摄氏度之间变化时,最大非线性偏差小于0.5摄氏度。铂热电阻阻值与温度关系为.图1-1传感器放大电路传感器电路包括传感器测量电桥和放大电路两部分,R2、R3、R4和Pt100组成传感器测量电桥,为了保证电桥输出电压信号的稳定性,电桥的输入电压通过TL431稳至2.5V。从电桥获取的差分信号通过两级运放放大后输入单片机。电桥的一个桥臂采用可调电阻R3,通过调节R3可以调整输入到运放的差分电压信号大小,通常用于调整零点。 放大电路采用LM358集成运算放大器,为了防止单级放大倍数过高带来的非线性误差,放大电路采用两级放大,如图 1-2所示,前一级约为10倍,后一级约为3倍。温度在0100度变化,当温度上升时,Pt100阻值变大,输入放大电路的差分信号变大,放大电路的输出电压Av对应升高。 这种设计需要用到A/D转换电路,感温电路比较麻烦。 方案二 采用数字单片智能温度传感器 进而考虑到用温度传感器,在单片机电路设计中,大多都是使用传感器,所以这是非常容易想到的,所以可以采用一只温度传感器DS18B20,此传感器特性如下DS18B20是DALLAS公司生产的一线制数字温度传感器;温度测量范围为55125,可编程为9位12位A/D转换精度,测温分辨率可达0.0625,被测温度用符号扩展的16位数字量方式串行输出;其工作电源既可在远端引入,也可采用寄生电源方式产生;多个DS18B20可以并联到一起,CPU只需一根数据线就能与诸多DS18B20通信(如图3-2),占用微处理器的端口较少,可节省大量的引线和逻辑电路。以上特点使DS18B20非常适用于远距离多点温度检测系统。图1-2 DS18B20温度采集电路1.4方案实施 通过以上两种方案比较,很容易看出,采用方案二,电路比较简单,软件设计也比较简单,故采用了方案二。 2 硬件设计部分2.1系统原理框图及原理 数码管显示键盘加热管控制单片机 at89c51报警DS18B20 图 21 系统原理框图框图原理介绍系统以89c51单片机为CPU,温度传感器DS18B20读取外界温度传送给CPU,再由CPU将温度值传送给数码管显示,通过键盘可以设定上下限温度值,当及时温度小于设定值时加热管导通进行加热,高于设定温度时停止加热同时报警模块启动报警。 2.2单片机AT89C51介绍AT89C51 是一种带4K 字节闪烁可编程可擦除只读存储器(FPEROMFalsh Programmable and Erasable Read Only Memory)的低电压,高性能CMOS8 位微处理器,俗称单片机。AT89C2051 是一种带2K 字节闪烁可编程可擦除只读器的单片机。单片机的可擦除只读存储器可以反复擦除100 次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51 指令集和输出管脚相兼容。由于将多功能8 位CPU 和闪烁存储器组合在单个芯片中,ATMEL 的AT89C51是一种高效微控制器,AT89C2051 是它的一种精简版本。AT89C51 单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。单片机内部结构图为如图2-1。 图2-2单片机内部结构图 2.2.1 主要特性(1)与MCS-51 兼容(2)4K 字节可编程闪烁存储器(3)寿命:1000 写/擦循环(4)数据保留时间:10 年(5)全静态工作:0Hz-24Hz(6)低功耗的闲置和掉电模式(7)片内振荡器和时钟电路2.2.2 管脚说明单片机引脚图见2-3VCC:供电电压 GND:接地。P0 口:P0 口为一个8位漏级开路双向I/O 口,每脚可吸收8个TTL门电流。当P1 口的管脚第一次写1 时,被定义为高阻输入。P0 能够用于外部程序数存储器,它可以被定义为数据/地址的第8位。在FIASH 编程时,P0 口作为原码输入口,当FIASH 进行校验时,P0 输出原码,此时P0口外部必须被拉高。P1 口:P1 口是一个内部提供上拉电阻的8 位双向I/O 口,P1 口缓冲器能接收输出4TTL 门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1 口作为第八位地址接收。P2 口:P2 口为一个内部上拉电阻的8 位双向I/O 口,P2 口缓冲器可接收输出4 个TTL 门电流,当P2 口被写“1”时,其管脚被内部上拉电阻拉高,且图2-3 单片机引脚图作为输入。并因此作为输入时,P2 口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2 口当用于外部程序存储器或16 位地址外部数据存储器进行存取时,P2 口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2 口输出其特殊功能寄存器的内容。P2 口在FLASH 编程和校验时接收高八位地址信号和控制信号。P3 口:P3 口管脚是8 个带内部上拉电阻的双向I/O 口,可接收输出4个TTL 门电流。当P3 口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3 口将输出电流(ILL)这是由于上拉的缘故。P0,P1,P2,P3 口引脚图为如图2-2所示。RST:复位输入。ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。EA:选择外部存储器。XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2:来自反向振荡器的输出。 2.2.3 振荡器特性XTAL1和XTAL2分别为反向放大器的输入和输出。该反向放大器可以配置为片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,XTAL2应不接。有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。 2.2.4芯片擦除整个PEROM 阵列和三个锁定位的电擦除可通过正确的控制信号组合,并保持ALE 管脚处于低电平10ms 来完成。在芯片擦操作中,代码阵列全被写“1”且在任何非空存储字节被重复编程以前,该操作必须被执行。 2.2.5单片机中断与定时器/计数器简介中断是为使单片机具有对外部或内部随即发生的时间实时处理而设置的,中断功能的存在很大程度上提高了单片机处理外部或内部事件的能力。他是单片机最重要的功能之一。对于单片机来讲,中断是指CPU在处理某一事件A时,发生了另一事件B,请求CPU迅速去处理(中断发生),CPU暂时停止当前的工作(中断响应),转去处理时间B(终端服务),待CPU处理完事件B,再回到原来事件A被中断的地方继续处理事件A(中断返回),这一过程称为中断,其断过程示意图如图2-4所示。 89C51内部有5个中断源,它们的符号、名称及产生的条件如下:INT0外部中断0,低电平或下降沿引起。INT1外部中断1,低电平或下降沿引起。T0定时器/计数器0中断,由T0计数器计满清零引起。T1定时器/计数器1中断,由T1计数器计满清零引起。TI/RI串行口中断,串行端口完成一帧字符发送/接收后引起。以上5个中断源的中断级别如下表2。图2-4 单片机中断过程示意图表2 中断源中断级别中断源默认中断级别序号(C语言使用)入口地址(汇编语言使用)INT0外部中断0最高00003HT0定时器/计数器0中断第二1000BHINT1外部中断1第三20013HT0定时器/计数器1中断第四3001BHTI/RI串行口中断最低40023H终端允许寄存器IE中断允许寄存器IE用来设定各个中断源的打开和关闭,IE在特殊功能寄存器中,字节地址为A8H,为抵制分别是A8AFH,该寄存器可进行位寻址,各位定义见表3。表3 IE位定义位序号D7D6D5D4D3D2D1D0位符号EA-ET2ESET1EX1ET0EX0位地址AFH-ADHACHABHAAHA9HA8H中断优先级寄存器IP中断优先级寄存器在特殊功能寄存器中,字节地址为B8H,为抵制分别是B8HBFH,IP用来设定各个中断源属于两级中断中的哪一段,可进行位寻址。各位定义键表4。表4 IP位定义位序号D7D6D5D4D3D2D1D0位符号-PSPT1PX1PT0PX0位地址-BCHBBHBAHB9HB8H单片机的定时器中断定时器/计数器的实质是加1计数器(16位),由高8位和低8位两个寄存器组成,TMOD是定时器/计数器的工作方式寄存器,群定工作方式和功能,TCON是控制寄存器,控制T0、T1的启动和停止及溢出标志。起结构框图如图2-5所示。 图2-5 定时器/计数器结构图加1计数器输入的计数脉冲有两个来源,一个是由系统的时钟振荡器输出脉冲经过12分频后送来;另一个是T0或T1引脚输入的外部脉冲源,每来一个脉冲计数器加1,当加到计数器为全1时,再输入一个脉冲就使计数器回零,且计数器的溢出使TCON寄存器中TF0或TF1置1,向CPU发出中断请求(定时器/计数器中断允许时)。如果定时器/计数器工作与定时模式,则表示定时时间已到;如果工作与计数模式,则表示计数值已满5。定时器/计数器工作方式寄存器TMOD定时器/计数器工作方式寄存器在特殊功能寄存器中,字节地址为89H,不能位寻址,TMOD用来确定定时器的工作方式及功能选择,单片机复位时TMOD全部被清0,各位定义如下。表5 TMOD位定义位序号D7D6D5D4D3D2D1D0位符号GATEC/M1M0GATEC/M1M0每个定时器/计数器都有4种工作方式,由M1M0设定,对应关系如下。表6 定时器/计数器工作方式定义M1M0工作方式00方式0,为13位定时器/计数器01方式1,为16位定时器/计数器10方式2,8位初值自动重装的8位定时器/计数器11方式3,仅适用于T0,分成两个8位计数器,T1停止计数定时器/计数器控制寄存器TCON定时器/计数器控制寄存器在特殊功能寄存器中,字节地址为88H,位地址分别是88H8FH,该寄存器可以进行位寻址,TCON寄存器用来控制定时器的启、停,标志定时器溢出和中断情况,单片机复位时TCON全部被清0,各位定义如表7所示6。表7 TCON各位定义位序号D7D6D5D4D3D2D1D0位符号TF1TR1TF0TR0IE1IT1IE0IT0位地址8FH8EH8DH8CH8BH8AH89H88H 2.2.6单片机最小系统电路单片机的最小系统是由电源、复位、晶振、EA=1组成。如下图所示图2-5 单片机最小系统 2.1.8 按键按键,在单片机外围电路中,通常用到的按键都是机械弹性开关,当开关闭合时,线路导通,开关断开时,线路断开,图2-6是集中单片机系统常见的按键。图2-6 单片机系统常见的按键单片机检测按键的原理是:当检测按键时,用的是单片面积的输入功能,把按键的一段接地,另一端与单片机的某个I/O口相连,让单片机不断地检测该I/O是否变为低电平,当按键闭合时,即当该I/O口通过按键与地相连,变为低电平,程序一旦检测到I/O口变为低电平则说明按键被按下,然后执行相应的指令。按键的连接方法如图2-7所示,右侧的I/O端与单片机的任一I/O口相连,按键在被按下时,其触点的电压变化过程如图2-8所示。 图2-7按键与单片机连接图 图2-8按键被按下时电压的变化由图4-8可看出,理想波形与实际波形之间是有区别的,实际波形在按下和释放的瞬间都有抖动现象,抖动时间的长短和按键的机械特性有关,一般为510ms,通常我们手动按下键后立即释放,这个动作中稳定闭合的时间超过20ms。因此单片机在检测键盘是否按下时要加上去抖动操作,通常我们用软件延时的方法就能很容易解决抖动问题。编写单片机的键盘检测程序时,一般在检测按下时加入去抖延时,检测松手时就不用加了。检测流程图如图2-9所示。图2-9 按键检测流程图2.3 键盘电路设计键盘是单片机应用系统中的主要输入设备,单片机使用的键盘分为编码键盘和非编码键盘。编码键盘采用硬件线路来实现键盘的编码,每按下一个键,键盘能够自动生成按键代码,并有去抖功能。因此使用方便,但硬件较复杂。非编码键盘仅仅提供键开关状态,由程序来识别闭合键,消除抖动,产生相应的代码,转入执行该键的功能程序。非编码键盘中键的数量较少,硬件简单,在单片机中应用非常广泛。图为按键和AT80C51的接线图,检测仪共设有3个按键,每个按键由软件来决定其功能,3个按键功能分别为:(1) SW1:设定按键(设定按键)(2) SW2:加法按键(当前位加1)(3) SW3:减法按键(当前位减1)单片机按键和AT80C51的接线图见图2-10 图2-10 单片机按键和AT80C51的接线图2.4数码管显示电路设计(1)数码管显示说明各个数码管的段码都是单片机的数据口输出,即各个数码管输入的段码都是一样的,为了使其分别显示不同的数字,可采用动态显示的方式,即先只让最低位显示0(含点),经过一段延时,再只让次低位显示1,如此类推。由视觉暂留,只要我们的延时时间足够短,就能够使得数码的显示看起来非常的稳定清楚,过程如表8。表8数码管编码表段码位码显示器状态08H01H0abH02H112H04H222H08H3a1H10H424H20H504H40H6aaH80H7 本论文中使用了4个数码管,其中前三位使用动态扫描显示实测温度,在到达设置加热温度的时候,4个数码管是闪烁,以提示目前处在温度到达设置度数。加热保温状态时第4位数码管显示符号“”,在设置上限温度时显示“H”,在设置下限温度时则显示“L”。数码管显示电路图见图2-11 图2-11 LED数码管显示电路图2.5温度采集电路设计(1) DS18B20介绍 Dallas最新单线数字温度传感器DS18B20简介新的“一线器件”体积更小、适用电压更宽、更经济。Dallas半导体公司的数字化温度传感器DS1820是世界上第一片支持“一线总线”接口的温度传感器。一线总线独特而且经济的特点,使用户可轻松地组建传感器网络,为测量系统的构建引入全新概念。DS18B20、DS1822“一线总线”数字化温度传感器同DS18B20一样,DS18B20也支持“一线总线”接口,测量温度范围为 -55+125,在-10+85范围内,精度为0.5。DS1822的精度较差为2。现场温度直接以“一线总线”的数字方式传输,大大提高了系统的抗干扰性。其DS18B20的管脚配置和封装结构如图2-12所示。 图2-12 DS18B20封装引脚定义: DQ为数字信号输入/输出端; GND为电源地; VDD为外接供电电源输入端(在寄生电源接线方式时接地)。 (2)DS18B20的单线(1wire bus)系统单线总线结构是DS18B20的突出特点,也是理解和编程的难点。从两个角度来理解单线总线:第一,单线总线只定义了一个信号线,而且DS18B20智能程度较低(这点可以与微控制器和SPI器件间的通信做一个比较),所以DS18B20和处理器之间的通信必然要通过严格的时序控制来完成。第二,DS18B20的输出口是漏级开路输出,这里给出一个微控制器和DS18B20连接原理图。这种设计使总线上的器件在合适的时间驱动它。显然,总线上的器件与(wired AND)关系。这就决定:(1)微控制器不能单方面控制总线状态。之所以提出这点,是因为相当多的文献资料上认为,微控制器在读取总线上数据之前的I/O口的置1操作是为了给DS18B20一个发送数据的信号。这是一个错误的观点。如果当前DS18b20发送0,即使微控制器I/O口置1,总线状态还是0;置1操作是为了是I/O口截止(cut off),以确保微控制器正确读取数据。(2)除了DS18B20发送0的时间段,其他时间其输出口自动截止。自动截止是为确保:1时,在总线操作的间隙总线处于空闲状态,即高态。2时,确保微控制器在写1的时候DS18B20可以正确读入。由于DS18B20采用的是1Wire总线协议方式,即在一根数据线实现数据的双向传输,而对AT89S52单片机来说,硬件上并不支持单总线协议,因此,我们必须采用软件的方法来模拟单总线的协议时序来完成对DS18B20芯片的访问。 DS18B20的复位时序,如图2-13 图2-13 DS18B20的复位时序图 DS18B20的读时序对于DS18B20的读时序分为读0时序和读1时序两个过程。对于DS18B20的读时隙是从主机把单总线拉低之后,在15秒之内就得释放单总线,以让DS18B20把数据传输到单总线上。DS18B20在完成一个读时序过程,至少需要60us才能完成。DS18B20的读时序图如图2-14所示。图2-14 DS18B20的读时序 DS18B20的写时序对于DS18B20的写时序仍然分为写0时序和写1时序两个过程。对于DS18B20写0时序和写1时序的要求不同,当要写0时序时,单总线要被拉低至少60us,保证DS18B20能够在15us到45us之间能够正确地采样IO总线上的“0”电平,当要写1时序时,单总线被拉低之后,在15us之内就得释放单总线。如图2-15所示。图2-15 DS18B20的写时序图(3)DS18B20的供电方式在图2-16中示出了DS18B20的寄生电源电路。当DQ或VDD引脚为高电平时,这个电路便“取”的电源。寄生电路的优点是双重的,远程温度控制监测无需本地电源,缺少正常电源条件下也可以读ROM。为了使DS18B20能完成准确的温度变换,当温度变换发生时,DQ线上必须提供足够的功率。有两种方法确保 DS18B20 在其有效变换期内得到足够的电源电流。第一种方法是发生温度变换时,在 DQ 线上提供一强的上拉,这期间单总线上不能有其它的动作发生。如图3-8 所示,通过使用一个 MOSFET 把 DQ 线直接接到电源可实现这一点,这时DS18B20 工作在寄生电源工作方式,在该方式下 VDD 引脚必须连接到地。 图2-16 DS18B20供电方式1另一种方法是 DS18B20 工作在外部电源工作方式,如图2-17 所示。这种方法的优点是在 DQ 线上不要求强的上拉,总线上主机不需要连接其它的外围器件便在温度变换期间使总线保持高电平,这样也允许在变换期间其它数据在单总线上传送。此外,在单总线上可以并联多个 DS18B20,而且如果它们全部采用外部电源工作方式,那么通过发出相应的命令便可以同时完成温度变换。 图2-17 DS18B20供电方式2(4)DS18B20设计中应注意的几个问题DS18B20具有测温系统简单、测温精度高、连接方便、占用接口线少等优点,但在实际应用中也应注意以下几方面的问题:较小的硬件开销需要相对复杂的软件进行补偿,由于DS18B20 与微处理器间采用串行数据传送。因此, 在对DS18B20 进行读写编程时,必须严格的保证读写时序,否则将无法读取测温结果。在DS18B20 有关资料中均未提及1Wire上所挂DS18B20数量问题,容易使人误认为可以挂任意多个DS18B20,在实际应用中并非如此。当1Wire上所挂DS18B20超过8个时,就需要考虑微处理器的总线驱动问题,这一点在进行多点测温系统设计时要加以注意。连接DS18B20的总线电缆是有长度限制的。实际应用中,测温电缆线建议采用屏蔽4芯双绞线,其中一对线接地线与信号线,另一组接VCC 和地线,屏蔽层在源端单点接地。本文以广泛应用的数字温度传感器DS18B20为例,说明了1Wire总线的操作过程和基本原理。事实上,基于1Wire总线的产品还有很多种,如1Wire总线的E2PROM、实时时钟、电子标签等。他们都具有节省I/O资源、结构简单、开发快捷、成本低廉、便于总线扩展等优点,因此有广阔的应用空间,具有较大的推广价值。本设计将温度传感器DS18B20与单片机TXD引脚相连,读取温度传感器的数值。DS18B20与单片机连接图如图所示2-18所示。 图2-18 DS18B20与单片机连接图2.6报警电路设计同时可以在系统里设定温度上限值,由于加热停止后,加热管还有余热当采集到的外界温度高于当前所设定温度上限值时,程序就会进入报警子程序,触发蜂鸣器进行报警。报警电路原理图如图2-19所示。图2-19 报警电路图图中的三极管8550的作用是增加驱动能力,比9012的驱动电流还大些,因此选用8550。当程序进入报警子程序时,把P3.7置0,就会触发蜂鸣器,为了使报警声音效果更好,对P2.7取反,发出报警嘟噜声音。2.7加热管控制电路设计继电器是常用的输出控制接口,可以做交直流信号的输出切换。它具有控制系统(又称输入回路)和被控制系统(又称输出回路),通常应用于自动控制电路中,它实际上是用较小的电流去控制较大电流的一种“自动开关”。故在电路中起着自动调节、安全保护、转换电路等作用。继电器控制接点操作说明如下:COM:Common,共同点。输出控制接点的共同接点。NC:Normal Close常闭点。以Com为共同点,NC与COM在平时是呈导通状态的。NO:Normal Open常开点。NO与COM在平时是呈开路状态的,当继电器动作时,NO与COM导通,NC与COM则呈开路状态。当89S52的P3.3输出高电平时,继电器不导通,反之当输出低电平时,继电器导通,这样就激活了连接回路。见图220- 图2-20 单片机控制继电器电 3 系统软件设计3.1 软件设计流程图良好的设计方案可以减少软件设计的工作量,提高软件的通用性,扩展性和可读性。本系统的设计方案和步骤如下:(1) 根据需求按照系统的功能要求,逐级划分模块。(2) 明确各模块之间的数据流传递关系,力求数据传递少,以增强各模块的独立性, 便于软件编制和调试。(3) 确定软件开发环境,选择设计语言,完成模块功能设计,并分别调试通过。 (4) 按照开发式软件设计结构,将各模块有机的结合起来,即成一个较完善的系统。首先接通电源系统开始工作,系统开始工作后,通过按键设定温度值的上限值和下限值,确定按键将设定的温度值存储到指定的地址空间,温度传感器开始实时检测,调用显示子程序显示检测结果,调用比较当前显示温度值与开始设定的温度值比较,如果当前显示值低于设定值就通过继电器起动加热装置,直到达到设定值停止加热,之后进行保温,如果温度高于上限进行报警。 本系统采用的是循环查询方式,来显示和控制温度的。主要包括四段程序的设计:DS18B20读温度程序,数码管的驱动程序,键盘扫描程序,以及抱经处理程序。 开始N设置键按下Y第二下第一下 确认第三下显示下限显示上限Y加1度减1度 减温键按下YN 原值加温键按下N显示当前温度N水温大于上限温度水温小于下限温度YY加热警报显示闪烁 停止加热3.2软件程序编制#include /头文件 #include char code de=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d, / 字形码 0x07,0x7f,0x6f,0x39,0x00,0x38,0x76;char code dex=0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f;/字位码char li8=0,0;sbit DQ=P36;/ 温度sbit a=P30;/ 设置sbit b=P31;/ 加sbit c=P32;/ 减sbit d=P37;/ 蜂鸣器sbit f=P33;/ 继电器int s=50,xia=40,x=0,t,y ,u;void delay (int us)/延时int s;for (s = 0; s us; s+);void delay1(int x) int i; while(x-)for(i=0;i120;i+);void fengming(int x) / 报警程序 int i; while(x-)for(i=0;i100;i+)d=d;delay1(2);unsigned char ow_reset(void)/温度传感器子程序:复位 unsigned char presence; DQ = 0; delay(29); DQ = 1; delay(3); presence = DQ;delay(25); return(presence); unsigned char read_bit(void)/ 读位unsigned char i;DQ = 0; DQ = 1; for (i = 0; i 3; i+); return(DQ); void write_bit(char bitval)/写位DQ = 0; if(bitval=1) DQ =1; delay(5);DQ = 1;unsigned char read_byte(void)/ 读字节unsigned char i;unsigned char value = 0;for (i = 0; i 8; i+)if(read_bit() value|= 0x01i; delay(6); return(value);void write_byte(char val)/ 写字节unsigned char i;unsigned char temp;for (i = 0; i i; temp &= 0x01; write_bit(temp); delay(5);void display_temp1(unsigned char x)/显示程序int j,k; li0=x/100; li1=(x%100)/10; li2=x%10; if(y=1)li3=13; /显示H else if(y=2)li3=12; /显示L else li3=10; /显示C if(li0=0)li0=11;if(li1=0)li1=11; for(k=0;k80;k+)for(j=0;j8;j+) P1=dexj;P2=delij; delay(30); void ReadyReadTemp(void)/ 读温程序 int time; ow_reset(); write_byte(0xCC);write_byte(0x44); for(time=0;time2)y=0;u=1; /设置按键 if(y=1)/上限设置 u=0; if(b=0) delay(10);if(b=0)delay(20);s+; if(s120)s=120; /最高120C else if(c=0) delay(10);if(c=0)delay(20);s-; if(s120)xia=120;else if(c=0)delay(20);if(c=0)xia-;if(xia0)xia=0;display_temp1(xia);f=1; h=0; i
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 国家能源九江市2025秋招法学类面试追问及参考回答
- 博尔塔拉自治州中石化2025秋招面试半结构化模拟题及答案炼化装置操作岗
- 中国移动荆州市2025秋招笔试性格测评专练及答案
- 承德市中石化2025秋招笔试行测50题速记
- 2025年机务教员考试试题及答案
- 江西地区中石油2025秋招面试半结构化模拟题及答案机械与动力工程岗
- 国家能源营口市2025秋招笔试综合知识题专练及答案
- 九江市中储粮2025秋招质检化验岗高频笔试题库含答案
- 儋州市中石油2025秋招笔试模拟题含答案法律与合规岗
- 中国广电乌海市2025秋招笔试行测经典题及答案
- 2025-2026学年人教版(2024)九年级物理全册第十四章 内能的利用(单元同步检测练习)(含答案)
- 第1课时 10的加、减法(教学设计)-2024-2025学年一年级上册数学人教版
- 2025至2030中国聚烯烃行业项目调研及市场前景预测评估报告
- 2025四川达州宣汉县国有资产管理服务中心县属国有企业招聘劳动合同职工26人笔试历年参考题库附带答案详解
- 外国戏剧史课件
- (正式版)DB15∕T 4179-2025 《输氢管道工程施工规范》
- DB61T 1188-2018 足部修护技术规范
- 小区内垃圾清运合同范本
- 教师培训结核病防治知识课件
- 新教科版小学1-6年级科学需做实验目录
- 《电子商务法律法规》课程标准
评论
0/150
提交评论