应用电子技术毕业设计(论文)-基于单片机的温度控制系统设计.docx_第1页
应用电子技术毕业设计(论文)-基于单片机的温度控制系统设计.docx_第2页
应用电子技术毕业设计(论文)-基于单片机的温度控制系统设计.docx_第3页
应用电子技术毕业设计(论文)-基于单片机的温度控制系统设计.docx_第4页
应用电子技术毕业设计(论文)-基于单片机的温度控制系统设计.docx_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于单片机的温度控制李恒立毕业设计株洲师范高等专科学校物理与电子工程系毕业论文基于单片机的温度控制姓 名: 指导老师: 专 业: 应用电子技术 班 级: 07级应电班 学 号: 04207107 时 间: 2010-5-5至2010-5-28 27摘 要本文主要通过温度传感(DS18B20)采集温度信号,首先是对DS18B20的深入了解并根据DS18B20的内部结构来设计硬件电路和软件电路的,因思考到温度TH和TL,所以本次设计采用了4个按键来控制,通过按键之间的协调来温度设定值,由于温度的不同,我们采用不同的信息来作为信号处理,所以硬件电路中用蜂鸣器来报警提醒。本系统包括温度传感器,数据传输模块,温度显示模块和温度调节驱动电路其中温度传感器为数字温度传感器DS18B20,包括了单总线数据输出电路部分。文中对每个部分功能、实现过程作了详细介绍。关键词:单片机STC89C52RC 温度传感(DS18B20) 按键设定控制AbstractThis paper DS18B20 done mainly through sensors to measure temperature and throught it to set the temperature.DS18B20 is the frist in_depth understanding of and in accordance with the internal strucrure of DS18B20 to design hardware and software.by taking into account the temperature settings TH and TL so this design uses four buttons to control,through the coordinating role between information to different as signal,processing.hardware Circu it used as a warning to reind the buzzer This system include temperature sensor and data transmission, the module displays module and thermoregulation driven circuit from the sensors into figures of the temperature sensors ds18b20, including a list of the data output circuit. the text of every part of the functions and procedure at present.Keyword:TDP stc89c52rc the controller DS18B20 schematics and procedures目 录摘 要IAbstractII目 录III第一章 绪论1第二章 各元器件介绍32.1 8051系列芯片中STC89 52RC简介32.2 74HC245N介绍42.3 74HC573介绍5 2.4 DS18B20介绍5第三章 各模块电路设计及分析63.1电源电路73.1.2 lm7805应用电路83.2 数码管显示电路设计93.3 复位电路103.3.1 复位电路的工作原理103.4 温度设定电路11第四章 软件程序功能及分析134.1 软件设计总流程清M8B202U0wfjIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII134.1.1软件设计总流程图134.2 DS18B20数据采集及转化算法144.2.1数据采集及算法转化144.3按键设定部分164.3.1按键设定部分C程序流程图16第五章 总结18参考文献19致 谢20IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII附录 21附录1电路图 21附录2程序22Error! No text of specified style in document.第一章 绪论温度是工业生产中主要的被控参数之一,与之相关的各种温度控制系统广泛应用于冶金、化工、机械、食品等领域。温度控制是工业生产过程中经常遇到的过程控制,有些工艺过程对其温度的控制效果直接影响着产品的质量,因而设计一种较为理想的温度控制系统是非常有价值的。温度控制系统广泛应用于社会生活的各个领域,在冶金工业、化工生产、电力工程、造纸行业、机械制造和食品加工等诸多领域中,人们都需要对各类加热炉、热处理炉、反应炉和锅炉中的温度进行检测和控制 ,常用的控制电路根据应用场合和所要求的性能指标有所不同 , 在工业企业中,如何提高温度控制对象的运行性能一直以来都是控制人员和现场技术人员努力解决的问题。这类控制对象惯性大,滞后现象严重,存在很多不确定的因素,难以建立精确的数学模型,从而导致控制系统性能不佳,甚至出现控制不稳定、失控现象。采用数字温度传感器DS18B20,因其内部集成了A/D转换器,使得电路结构更加简单,而且减少了温度测量转换时的精度损失,使得测量温度更加精确。数字温度传感器DS18B20只用一个引脚即可与单片机进行通信,大大减少了接线的麻烦,使得单片机更加具有扩展性。由于DS18B20芯片的小型化,更加可以通过单跳数据线就可以和主电路连接,故可以把数字温度传感器DS18B20做成探头,探入到狭小的地方,增加了实用性。更能串接多个数字温度传感器DS18B20进行范围的温度检测。采用单片机来对他们控制不仅具有控制方便,简单和灵活性大等优点,而且可以大幅度提高被控温度的技术指标,从而能够大大的提高产品的质量和数量。(1)第一阶段(1976-1978):单片机的控索阶段。以Intel公司的MCS 48为代表。MCS 48的推出是在工控领域的控索,参与这一控索的公司还有Motorola 、Zilog等,都取得了满意的效果。这就是SCM的诞生年代,“单机片”一词即由此而来。(2)第二阶段(1978-1982)单片机的完善阶段。Intel公司在MCS 48 基础上推出了完善的、典型的单片机系列MCS 51。它在以下几个方面奠定了典型的通用总线型单片机体系结构。完善的外部总线。MCS-51设置了经典的8位单片机的总线结构,包括8位数据总线、16位地址总线、控制总线及具有很多机通信功能的串行通信接口。 CPU外围功能单元的集中管理模式。 体现工控特性的位地址空间及位操作方式。 指令系统趋于丰富和完善,并且增加了许多突出控制功能的指令。(3)第三阶段(1982-1990):8位单片机的巩固发展及16位单片机的推出阶段,也是单片机向微控制器发展的阶段。Intel公司推出的MCS 96系列单片机,将一些用于测控系统的模数转换器、程序运行监视器、脉宽调制器等纳。第二章 各元器件介绍2.1 8051系列芯片中STC89C52RC简介图2.1 8051芯片STC89C52RC有PDIP封装和PLCC封装,本设计采用PDIP40封装型号;I/O口引脚-P0口;P1口和P2口P3口。(1) 电源和时钟引脚.VCC(40脚)GND(20脚)常压为+5V,低压为+3.3V。(2) XTAL1(19脚);XTAL2(18脚)-外接时钟引脚。XTAL1为片内振荡电路的输入端。 XTAL2为片内振荡电路的输出端,8051的时钟有两种方式,一种是片内振荡方式,需要在这两个引脚接石英晶体和振荡电容, 振荡电容的值一般选择为10P30P。另一种外部时钟方式即XTAL1接地,外部时钟信号从XTAL2脚输入。(3) RST(9脚)-单片机的复位引脚。P0口(39脚32脚)双向8位I/O口,每个口可以独立控制。51单片机PO口内部没有上拉电阻,为高阻状态,所以不能正常的输出高低电平,因此该组I/O口在使用的时候务必要接上拉电阻,一般我们采用接入10K的上拉电阻。P1口(1脚8脚)-准双向8位I/O口。每个口可以独立操作控制,内带上拉电阻,这种接口输出没有高阻状态,输入也不能锁存,固然不是真正的双向I/O口,之所以称它为” 准双向”是因为该口在作为输入使用前要先向该口进行写一操作,然后单片机内部才可以正确读出外部信号,也就是要使其先要有个准备过程,所以才称准双向口。对52单片机的P1.0引脚的第二功能为T2定时器的外部输入,P1.1引脚的第二功能为T2EX捕捉,重装触发,即T2的外部控制器。P2口(21脚28脚)-准双向8位I/O口,每个口都可以独立操作控制,内带上拉电阻,与P1口相似。P3口(10脚17脚)-准双向8位I/O口,每个口可以独立操作控制,内带上拉电阻,作为第一功能使用时就当作普通I/O口,与P1口相似。作为第二功能使用时,各引脚的定义如表:值得强调的是,P3口的每一个引脚均可以独立定义为第一功能的输入/输出或第二功能P3口引脚第二功能定义标号引脚第二功能说明P3.010RXD串行输入口P3.111TXD串行输出口P3.212/INTO外部中断0P3.313/INT1外部中断1P3.414T0定时器/计数器0外部输入口P3.515T1定时器/计数器1外部输入口P3.616/WE外部数据存储器写脉冲P3.717/RD外部数据存储器读脉冲2.2 74HC245N的介绍74HC245是一款高速CMOS器件,74HC245引脚兼容低功耗肖特基TTL(LSTTL)系列。74HC245八路收发器在发送和接收两个方向上都具有正相三态总线兼容输出。74HC245的输出使能端(OE)用于实现轻松级联,而发送/接收端(DIR)用于控制方向。OE控制输出,使得总线被有效的隔离。74HC245与74HC640逻辑功能相似,但74HC245具有原码(正相)输出。74HC245参数74HC245基本参数电压2.06.0V驱动电流+/-7.8 mA传输延迟7 ns5V74HC245其他性质逻辑电平CMOS功耗电量低功耗或电池供电应用74HC245 封装与引脚SO20, SSOP20, DIP20, TSSOP2074HC245 特性 八路双向总线接口 正相三态输出 可选多种封装类型 兼容JEDEC标准no.7A ESD保护 o HBM EIA/JESD22-A114-B超过2000 V o MM EIA/JESD22-A115-A超过200 V 温度范围 o -40+85 -40+125 2.3 74HC573锁存器介绍三态总线驱动输出 置数全并行存取 缓冲控制输入 使能输入有改善抗扰度的滞后作用 原理说明: M54HC563/74HC563/M54HC573/74HC573的八个锁存器都是透明的D 型锁存器,当使能(G)为高时,Q 输出将随数据(D)输入而变。当使能为低时,输出将锁存在已建立的数据电平上。输出控制不影响锁存器的内部工作,即老数据可以保持,甚至当输出被关闭时,新的数据也可以置入。这种电路可以驱动大电容或低阻抗负载,可以直接与系统总线接口并驱动总线,而不需要外接口。特别适用于缓冲寄存器,I/O 通道,双向总线驱动器和工作寄存器。24 DS18B20单总线数字温度计温度器简介温度作为一种最基本的环境条件参数,与工业、农业、养殖业的生产以及医学乃至人们的日常生活都是紧密相关的。因此,对于温度的测量方法与测温装置的研究就凸显得非常重要。由单片机与温度传感器构成的测温系统可广泛应用于很多领域。本文通过对单总线数字集成温度传感器DS18B20的特点、工作原理和使用方法的讨论,结合对单片机AT89S52的编程实现温度的采集。大多单片机接口输入的信号是数字信号,或带有A/D 转换的高端单片机也可输入模拟信号。由单片机获取非电信号的温度信息,必须通过温度传感器。传统的温度测量多以热敏电阻作为温度传感器。但是,热敏电阻的可靠性较差、测量温度精度低,而且还需经A/D转换成数字信号后才能由单片机进行处理。因此,使用数字温度传感器可简化硬件设计、方便单片机读取数据、节约成本。设计单片机数字温度计需要考虑以下3 个方面:(1)温度传感器芯片的选择;(2)单片机和温度传感器的接口电路设计;(3)控制温度传感器实现温度信息采集以及数据传输的软件DS18B20 是美国达拉斯(Dallas)公司的单线数字温度传感器芯片,与传统的热敏电阻不同,DSl8B20 可直接将被测温度转换为串行数字信号,供单片机处理。通过对DSl8B20 编程可以实现912 位的温度读数,并可分别在93.75ms 和750ms 内完成9 位和12 位的数字量。其测温范围55125,最大分辨率为0.0625,在1085范围内其测温准确度为0.5。DS18B20 具有体积小、功耗低、抗干扰能力强、易与微处理器连结等特点,而且它无需任何外围硬件即可方便地进行温度测量,与单片机交换信息仅需要一根I/O 口线,其读写及温度转换的功率也可来源于数据总线,而无需额外电源。另外,每片DSl8B20 都设有唯一的产品序列号,存放在它的内部ROM 中,单片机通过简单的协议就能识别这个序列号。因此,多个DSl8B20 可以挂接于同一条单线总线上,特别适合构成多点温度测控系统。DS18B20 性能特点(1)独特的单线接口,仅需1 个I/O 口引脚即可通信,无需变换其它电路,直接输出被测温度值的数字信号;(2)多点(multidrop)能力使分布式温度检测应用得以简化;(3)不需要外部元件;(4)既可用数据线供电,也可采用外部电源供电;(5)零待机功耗,不需备份电源;(6)测量范围为55+125,固有测温分辨率为0.5;(7)通过编程可实现912 位的数字读数方式;(8)温度数字量转换时间200ms(典型值);(9)用户可定义非易失性的温度告警设置;(10)警告搜索命令能识别和寻址温度在编定的极限之外的器件(温度警告情况);(11)应用范围包括恒温控制、工业系统、消费类产品、温度计或任何热敏系统2。预处理DS18B20 采用3 脚TO-92 封装或8 脚SOIC 封装,其外部形状及管脚图如图1 所示。图中GND 为地,DQ 为数据输入/输出端,该脚为漏极开路输出,常态下呈高电平,可选用的VDD 引脚,不用时应接地。SOIC 封装的NC 为空引脚。第三章 各模块电路设计及分析3.1电源电路3.1.1 电源电路框图及设计图3.1电源电路框图在实际应用中,应在三端集成稳压电路上安装足够大的散热器(当然小功率 的条件下不用)。当稳压管温度过高时,稳压性能将变差,甚至损坏。当制作中需要一个能输出1.5A以上电流的稳压电源,通常采用几块三端稳压电路并联起来,使其最大输出电流为N个1.5A,但应用时需注意:并联使用的集成稳压电路应采用同一厂家、同一批号的产品,以保证参数的一致。另外在输出电流上留有一定的余量,以避免个别集成稳压电路失效时导致其他电路的连锁烧毁。在lm78 * 、lm79 * 系列三端稳压器中最常应用的是TO-220 和TO-202 两种封装。这两种封装的图形以及引脚序号、引脚功能如附图所示。图中的引脚号标注方法是按照引脚电位从高到底的顺序标注的。这样标注便于记忆。引脚为最高电位,脚为最低电位,脚居中。从图中可以看出,不论正压还是负压,脚均为输出端。对于lm78*正压系列,输入是最高电位,自然是脚,地端为最低电位,即脚,如附图所示。对与lm79*负压系列,输入为最低电位,自然是脚,而地端为最高电位,即脚。 此外,还应注意,散热片总是和最低电位的第脚相连。这样在lm78*系列中,散热片和地相连接,而在lm79*系列中,散热片却和输入端相连接。3.1.2 lm7805应用电路lm78XX系列集成稳压器的典型应用电路图,是一个输出正5V直流电 压的稳压电源电路。IC采集成稳压器lm7805,C1、C2输出端滤波电容。当输出电流较大时,lm7805应配上散热板。本毕业设计采用变压器220/6V变压再经过桥式整流电容滤波使得输出为稳定的直流供电。74hc138介绍74HC138是一款高速CMOS器件,74HC138引脚兼容低功耗肖特基TTL(LSTTL)系列。 74HC138译码器可接受3位二进制加权地址输入(A0, A1和A3),并当使能时,提供8个互斥的低有效输出(Y0至Y7)。74HC138特有3个使能输入端:两个低有效(E1和E2)和一个高有效(E3)。除非E1和E2置低且E3置高,否则74HC138将保持所有输出为高。利用这种复合使能特性,仅需4片74HC138芯片和1个反相器,即可轻松实现并行扩展,组合成为一个1-32(5线到32线)译码器。任选一个低有效使能输入端作为数据输入,而把其余的使能输入端作为选通端,则74HC138亦可充当一个8输出多路分配器,未使用的使能输入端必须保持绑定在各自合适的高有效或低有效状态。74HC138与74HC238逻辑功能一致,只不过74HC138为反相输出。 CD74HC138 ,CD74HC238和CD74HCT138 , CD74HCT238是高速硅栅CMOS解码器,适合内存地址解码或数据路由应用。74HC138 作用原理于高性能的存贮译码或要求传输延迟时间短的数据传输系统,在 高性能存贮器系统中,用这种译码器可以提高译码系统的效率。将快速赋能电路用于高速存贮器时,译码器的延迟时间和存贮器的赋能时间通常小于存贮器的典型存取时间,这就是说由肖特基钳位的系统译码器所引起的有效系统延迟可以忽略不计。HC138 按照三位二进制输入码和赋能输入条件,从8 个输出端中译出一个 低电平输出。两个低电平有效的赋能输入端和一个高电平有效的赋能输入端减少了扩展所需要的外接门或倒相器,扩展成24 线译码器不需外接门;扩展成32 线译码器,只需要接一个外接倒相器。在解调器应用中,赋能输入端可用作数据输入端。复合使能输入,轻松实现扩展 兼容JEDEC标准no.7A 存储器芯片译码选择的理想选择 低有效互斥输出 ESD保护 HBM。EIA/JESD22-A114-C超过2000 V MM EIA/JESD22-A115-A超过200 V 温度范围 -40+85 -40+125 多路分配功能。3.2 数码管显示电路设计图3.2显示电路图使用LED显示器时,要注意区分这两种不同的接法。为了显示数字或字符,必须对数字或字符进行编码。七段数码管加上一个小数点,共计8段。因此为LED显示器提供的编码正好是一个字节。TX实验板用共阴LED显示器,根据电路连接图显示16进制数的编码已列在下表。 共阴数码管码表 0x3f , 0x06 , 0x5b , 0x4f , 0x66 , 0x6d , 0 1 2 3 4 5 0x7d , 0x07 , 0x7f , 0x6f , 0x77 , 0x7c , 6 7 8 9 A B 0x39 , 0x5e , 0x79 , 0x71 , 0x00 C D E F 无显示静态显示方式LED显示器工作方式有两种:静态显示方式和动态显示方式。静态显示的特点是每个数码管的段选必须接一个8位数据线来保持显示的字形码。当送入一次字形码后,显示字形可一直保持,直到送入新字形码为止。这种方法的优点是占用CPU时间少,显示便于监测和控制。缺点是硬件电路比较复杂,成本较高。动态显示 动态显示的特点是将所有位数码管的段选线并联在一起,由位选线控制是哪一位数码管有效。选亮数码管采用动态扫描显示。所谓动态扫描显示即轮流向各位数码管送出字形码和相应的位选,利用发光管的余辉和人眼视觉暂留作用,使人的感觉好像各位数码管同时都在显示。动态显示的亮度比静态显示要差一些,所以在选择限流电阻时应略小于静态显示电路中的。 3.3 复位电路单片机复位电路就好比电脑的重启部分,当电脑在使用中出现死机,按下重启按钮电脑内部的程序从头开始执行。单片机也一样,当单片机系统在运行中,受到环境干扰出现程序跑飞的时候,按下复位按钮内部的程序自动从头开始执行。单片机复位电路如下图:图3.3复位电路3.3.1 复位电路的工作原理51单片机要复位只需要在第9引脚接个高电平持续2US就可以实现,在单片机系统中,系统上电启动的时候复位一次,当按键按下的时候系统再次复位,如果释放后再按下,系统还会复位。所以可以通过按键的断开和闭合在运行的系统中控制其复位。在电路图中,电容的的大小是10uF,电阻的大小是10k。所以根据公式,可以算出电容充电到电源电压的0.7倍(单片机的电源是5V,所以充电到0.7倍即为3.5V),需要的时间是10K*10UF=0.1S。也就是说在电脑启动的0.1S内,电容两端的电压时在03.5V增加。这个时候10K电阻两端的电压为从51.5V减少(串联电路各处电压之和为总电压)。所以在0.1S内,RST引脚所接收到的电压是5V1.5V。在5V正常工作的51单片机中小于1.5V的电压信号为低电平信号,而大于1.5V的电压信号为高电平信号。所以在开机0.1S内,单片机系统自动复位(RST引脚接收到的高电平信号时间为0.1S左右)。按键按下的时候为什么会复位在单片机启动0.1S后,电容C两端的电压持续充电为5V,这是时候10K电阻两端的电压接近于0V,RST处于低电平所以系统正常工作。当按键按下的时候,开关导通,这个时候电容两端形成了一个回路,电容被短路,所以在按键按下的这个过程中,电容开始释放之前充的电量。随着时间的推移,电容的电压在0.1S内,从5V释放到变为了1.5V,甚至更小。根据串联电路电压为各处之和,这个时候10K电阻两端的电压为3.5V,甚至更大,所以RST引脚又接收到高电平。单片机系统自动复位。复位电路的原理是单片机RST引脚接收到2US以上的电平信号,只要保证电容的充放电时间大于2US,即可实现复位,所以电路中的电容值是可以改变的。按键按下系统复位,是电容处于一个短路电路中,释放了所有的电能,电阻两端的电压增加引起的。3.4 温度设定电路图3.4温度设定电路图设计按键设定采用C程序完成(C程序介绍部分再说),去抖动设置等都由C程序完成。不需要外围烦琐的外部接口电路,设置简单经济实惠,在电子市场随处可买到四芯常开按钮,结构轻巧,按键灵活。说明:数码管显示设定值,变化范围0099,开始时显示30,每按一下JIAYI按键一次,数值加一,每按一下JIANYI按键设定数值减一,按一下GUILING键数值归零,每按一下ZIJIA+SUODING按键,利用定时器功能开始自动每秒加一,再按一下ZIJIA+SUODING键数值停止自动加一保持显示原数。设定值都设定为无符号整形变量与温度传感器传回的数值进行比较同时做出相应报警信号提示。第四章 软件程序功能及分析4.1软件设计总流程4.1.1软件设计总流程图图4.1 软件设计总流程图分析:程序从主函数开始先进行初始化,DS18B20是一个数字集成的温度转化芯片,对当前温度进行转化处理。同时DS18B20是以一线总线传输的形式传给STC89C52,再STC89C52译码转换到数码管显示当前温度,人工按键设定温度值是以数码管显示的形式直观地反应设定的报警温度,使用者可以根据要求设定报警温度(0-99度可调),STC89C52根据人工按键设定值与当前温度值进行比较,若当前温度值高于设定值则报警电路反应,有效的实施监控,本程序通过一些常用语句和函数调用有效地解决了系统延时、显示乱码和按键抖动等常见问题。本程序采用中断1命令,使人工按键设定更加科学和直观,加1按键每按一次使设定温度值自动加1,减1按键使设定温度值自动减1,自加+锁定按键能够使人工设定更轻巧方便快速.本程序初使化时系统自动设定报警温度为30度,而有效地防止了由于系统不适应环境发生误报警。4.2 DS18B20数据采集及转化算法4.2.1 数据采集及算法转化数据采集及算法转化框图如图4.2图4.2数据采集及算法转化图分析:DSl8B20 可直接将被测温度转换为串行数字信号,供单片机处理。通过对DSl8B20 编程可以实现912 位的温度读数,并可分别在93.75ms 和750ms 内完成9 位和12 位的数字量。其测温范围55125,最大分辨率为0.0625,在1085范围内其测温准确度为0.5。DS18B20采用一线总线传输的形式可以直接把数字量和STC89C52单片机进行通信译码。程序开始初始化,再经DS18B20、ROM操作指令识别判断,再进行存储操作指令,转化处理,读取当前温度值。4.3按键设定部分图4.3按键设定图4.3.1按键设定部分C程序流程图图4.4按键设定流程图分析:通过数码管显示设定值,变化范围00-99,开始时显示30,每按一下,JIAYI按键一次,数值加一,每按一下,JIANYI按键设定数值减1,按一下GUILING键数值归零,每按一下ZIJIA+SUODING按键,利用定时器功能开始自动每秒加1,再按一下ZIJIA+SUODING键数值停止自动加1保持显示原数,设定值都设定为无符号整形变量与温度传感器传回的数值进行比较同进做出相应报警信号提示。第五章 总结大学三年就会在这最后的毕业设计总结划上一个圆满的句号。我曾经以为时间是一个不快不慢的东西,但现在我感到时间过的是多么的飞快,三年了,感觉就在一眨眼之间结束了我的大学生涯。毕业,最重要的一个过程,最能把理论知识运用到实践当中的过程就数毕业设计了。这也是我们从一个学生走向社会的一个转折.另一个生命历程的开始.毕业设计的一个月,我学到了很多,也成熟了很多。我现在将我的过程以及所学到的总结如下:毕业设计题目是:基于单片机的温度控制毕业设计课题主要的步骤是:1、收集资料2、熟悉元器件。熟悉元器件是采购的前提条件,只有把元器件熟悉透彻了才能在采购的时候避免很多的问题。3,选型号4,写C语句烧写到实验板调试看效果5,总结分析在这么的过程中,每一步都是自己亲自做过的,遇到的问题也非常多,在经过遇到问题,思索问题到解决问题的过程中,收获是最多的。以往没有注意到的问题,都在这一次的毕业设计中得以体现,这培养了我的细心,耐心和专心。所感我觉得能够在这次的毕业设计中学到很多的东西,以往不注意的细节,在这一次中是必须让自己去注意的。也是我这三年来所学到知识的一个体现,我深深知道,每一次的学习实践环节都是那么的来之不易,都是通过老师的深思熟虑后,才给我们定下目标。然后让我们在知识的海洋里翱翔,让我们随着年龄的增长不断的扩充自己的知识领域,也逐渐成熟,逐渐长大,老师同时也教导我们逐渐成为一个能够为身边的人,为家庭,为国家做出点点贡献的人,教导我们学会感恩。所以,我在这次的毕业设计中,认真对待每一个过程,希望自己的认真,自己最后的毕业设计的成果能够回报老师这么多年来的教导,这么多年的奉献。参考文献1邱关源.电路 第五版.高等教育出版社.2田立,代方震. 2007. 51单片机C语言程序设计快速入门. 北京.人民邮电出版社3李朝青. 2005. 单片机原理及接口技术(第3版). 北京.北京航天航空大学出版社.4康华光.陈大钦. 1999电子技术基础模拟部分(第4版)北京.高等教育出版社.5康华光.邹寿彬2000电子技术基础数字部分(第4版)北京.高等教育出版社.6郭天祥.编著.51单片机C语言教程入门,提高,开发.拓展全攻略7李忠国.陈刚.编著.单片机应用技能实训8刘南平.主编.朱凤芝.欧触灵.副主编.现代电子设计与制作技术9胡宴如.主编. 高频电子线路10杨翠南.杨碧石.主编 . 数字电子技术与逻辑设计教程附录致 谢在我论文即将完成之际,我首先要向在论文写作中给予我悉心关怀、鼓励和指导的肖利君老师致以深深的敬意和谢意!老师一丝不苟的钻研精神,严谨求实的治学态度,执着忘我的工作作风,独树一帜的思维方式,使学生受益匪浅,并终身难忘。所有人的青春,从一开始的空白无物,到后来的极欲飞扬,阴霾满地,再到现在的尘埃落定,一切都在发生,一切都在结束.美好而缤纷的大学生活,就这样画上了句号,真有些难忘和难舍。纯如钻,强如钢。最大的收获是心智的成熟,一千多个日子里曾悲伤过、失落过、苦恼过,委屈过。而现在懂得擦干眼泪,收拾伤痕,站起继续勇往直前,前面的荆棘,不算什么,路上的障碍,我每攀登越过一次,便往云端靠近了一步。感谢我的朋友和同学对我的关心和帮助!附录附录1:附录2:#include reg52.h#include intrins.h#define uchar unsigned char#define uint unsigned intsbit beep=P15; /蜂鸣器sbit DS=P33; /定义DS18B20接口sbit key1=P34;sbit key2=P35;sbit key3=P36;sbit key4=P37;sbit dula=P16;/申明U1锁存器的锁存端sbit wela=P17;/申明U2锁存器的锁存端sbit led0=P14; /控制发光二极管int temp; uchar flag1; void display(unsigned char *lp,unsigned char lc);/数字的显示函数;lp为指向数组的地址,lc为显示的个数void delay();/延时子函数,5个空指令code unsigned char table=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x00, 0x7d,0x07,0x7f,0x6f,0x40,0x08, 0x77,0x7c,0x39,0x5e,0x79,0x71;/共阴数码管 0-9 - _ 空 表unsigned char l_tmpdate8=0,0,10,0,0,0,0,0;/定义数组变量,并赋值1,2,3,4,5,6,7,8,就是本程序显示的八个数int tmp(void);void tmpchange(void);void tmpwritebyte(uchar dat);uchar tmpread(void);bit tmpreadbit(void);void dsreset(void);void delayb(uint count);void delayms(uint);int numt0,num;void display(unsigned char *lp,unsigned char lc)/显示unsigned char i;/定义变量P2=0;/端口2为输出P1=P10xF8;/将P1口的前3位输出0,对应138译门输入脚,全0为第一位数码管for(i=0;ilc;i+)/循环显示P2=tablelpi;/查表法得到要显示数字的数码段delay();/延时5个空指令if(i=7)/检测显示完8位否,完成直接退出,不让P1口再加1,否则进位影响到第四位数据break;P2=0;/清0端口,准备显示下位P1+;/下一位数码管void delay(void)/空5个指令_nop_();_nop_();_nop_();_nop_();_nop_();void delayb(uint count) /delay uint i; while(count) i=200; while(i0) i-; count-; void dsreset(void) /DS18B20初始化 uint i; DS=0; i=103; while(i0)i-; DS=1; i=4; while(i0)i-;bit tmpreadbit(void) / 读一位 uint i; bit dat; DS=0;i+; /小延时一下 DS=1;i+;i+; dat=DS; i=8;while(i0)i-; return (dat);uchar tmpread(void) /读一个字节 uchar i,j,dat; dat=0; for(i=1;i=8;i+) j=tmpreadbit(); dat=(j7)|(dat1); /读出的数据最低位在最前面,这样刚好/一个字节在DAT里 return(dat); /将一个字节数据返回void tmpwritebyte(uchar dat) /写一个字节到DS18B20里 uint i; uchar j; bit testb; for(j=1;j=8;j+) testb=dat0x01; dat=dat1; if(testb) / 写1部分 DS=0; i+;i+; DS=1; i=8;while(i0)i-; else DS=0; /写0部分 i=8;while(i0)i-; DS=1; i+;i+; void tmpchange(void) /发送温度转换命令 dsreset(); /初始化DS18B20 delayb(1); /延时 tmpwritebyte(0xcc); / 跳过序列号命令 tmpwritebyte(0x44); /发送温度转换命令int tmp() /获得温度 float tt; uchar a,b; dsreset(); delayb(1); tmpwritebyte(0xcc); tmpwritebyte(0xbe); /发送读取数据命令 a=tmpread(); /连续读两个字

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论