收藏 分享(赏)

(毕业论文)基于单片机的温度控制系统的设计.doc

上传人:微传9988 文档编号:2448366 上传时间:2018-09-17 格式:DOC 页数:29 大小:466.50KB
下载 相关 举报
(毕业论文)基于单片机的温度控制系统的设计.doc_第1页
第1页 / 共29页
(毕业论文)基于单片机的温度控制系统的设计.doc_第2页
第2页 / 共29页
(毕业论文)基于单片机的温度控制系统的设计.doc_第3页
第3页 / 共29页
(毕业论文)基于单片机的温度控制系统的设计.doc_第4页
第4页 / 共29页
(毕业论文)基于单片机的温度控制系统的设计.doc_第5页
第5页 / 共29页
点击查看更多>>
资源描述

1、基于单片机的温度控制系统的设计单片机正朝着高性能和多品种的方向发展,它具有低功耗、小体积、大容量、高性能、低价格和外部电路内装化等几个方面的发展特点。采用单片机来控制不仅具有控制方便、简单和灵活性大等优点,而且可以大幅度提高被控温度的技术指标,从而能够大大提高产品的质量和数量。温度控制系统采用 STC89C52RC 单片机作为主控芯片,温度传感器采用 DS18B20 来采集温度发, 显示模块采用 LED 数码管以动态扫描方式实现温度动态显示,以矩正键盘实现温度设定,程序员设定温度控制电路的输入接口,蜂鸣器实现 高、低温的 报警,提醒人们作适当的温度调节。【关键词】: STC89C52RC 单片

2、机、传感器 DS18B20、LED 数码管ABSTRACTSCM are heading for high-performance and many varieties the direction of development, it has a low power consumption, small volume, high capacity, high performance, low price and an external circuit inside outfit change from several aspects such as the development featur

3、es. By single chip microcomputer to control has not only convenient control, simple and flexible wait for an advantage, but also can greatly improve the technical index accused of temperature, thus greatly improve product quality and quantity. Temperature control system adopts STC89C52RC microcontro

4、ller as the master chip, temperature sensor DS18B20 mining to collect temperature temperature display module USES LED digital tube with dynamic scanning mode, in order to realize the dynamic display temperature torque is keyboard realize temperature setting, the programmer is set for temperature con

5、trol circuit of input interface, high temperature, low temperature alarm buzzer realize reminder to make the suitable temperature regulation.【KEY WORD】: STC89C52RC microcontroller, sensor DS18B20, LED digital tube2目 录引言 1一、总体设计 .1二、硬件设计 .2(一)硬件总体框图 2(二)工作原理 3(三)部分元器件介绍 3(四)各模块电路设计及分析 7三、软件设计 .13(一)总

6、体软件设计思想 13(二)系统程序流程框图 14总结 18附录一 Protel 图 .19附录二 程序 20致谢 26毕业论文1引言二十一世纪是科技高速发展的信息时代,电子技术、微型单片机技术的应用更是空前广泛,伴随着科学技术和生 产的不断发展,需要 对 各种参数进行温度测量。因此温度一词在生产生活之中出现的频率日益增多,与之相对应的,温度控制也在各行各业中也发挥着重要的作用。如在日 趋发达的工业中,利用 测 量与控制温度来保证生产的正常运行。在农业 中,用于保证蔬菜大棚的恒温保产等。蔬菜是人们日常生活中不可缺少的副食品,大棚蔬菜满足了人们能一年四季能吃到新鲜蔬菜的愿望,以单片机 为主的温度控

7、制系统可对大棚内部的温度和蔬菜所需的正常温度进行比较,以人性化的方式向大棚管理人员提供温度调节的信息,帮助农民提高作物的产量,减少农民的工作量。本设计所采用的温度控制系统以 STC89C52RC 单 片机为核心,蔬菜大棚的温度 经过温度传感器采样后变换成模拟电压信号,经低通滤波后滤掉干扰信号后送放大器,信号放大后经数字温度传感器 DS18B20 内部集成的 A/D 转换器转换成数字信号传送给单片机,单 片机根据输入的温度得出结果, 经过数码管 显示温度值,超 过温度的设定值范围时,报 警电路会报警,及时提醒农民作出适当的温度 调节。一、总体设计温度控制广泛应用于人们的生产和生活中,单片机控制系

8、统是整个控制系统的核心,它完成整个系统的信息处理及协调功能。本设计选用 STC89C52RC 芯片,其功能强大,兼容性好。1.温度传感器的选择方案一:测温电路选用热敏电阻器件作为感测温度的核心元件,由于温度变化引起热敏电阻的变化,从而导致 输出电压的微弱变化,再将其采集到 A/D 转换芯片ADC0809 进行 A/D 转换,将模拟信号转化为数字信号后,送入单片机进行数据处理,利用显示电路把被测温度显示出来。方案二:使用数字集成温度传感器 DS18B20 作为感测温度的元件,直接输出数字温度信号给单片机进行处理, 显示出被测温度值。方案比较:对于方案一,采用热敏电阻有价格便宜、元件易购的优点,但

9、 热敏电阻对温度的细微变化不敏感,在信号采集、放大、转换过程中还会产生失真和误差,并且由于热敏电阻的 R-T 关系的非线性,其本身 电阻对温度的变化存在 较大误差,而且在人体所处环境温度变化过程中难以检测到小的温度变化。对于方案二,由于数字集成温度传感器 DS18B20 的高度集成化,大大降低了外接放大转换等电路的误差因素,温度误差很小,并且由于其感测温度的原理与上述方案的原理有着本质的不同,使得其温度分辨率极高。温度 值在器件内部转换成数字量直接输出,简化了系统程序设计,又由于该传感器采用先进 的单总线技术,与 单片机的接口变2得发出简洁,抗干扰能力高。比较以上两种方案,很容易看出,采用方案

10、二,电路比较简单,软件设计容易实现,故设计中采用方案二。2.显示电路的选择方案一:采用共阳数码管显示温度。方案二:采用液晶显示屏 LCD 显示温度。方案比较:对于方案一,该方案成本低廉,显示温度明确醒目,在夜间也能看到,功耗极低, 显示驱动程序的编写也相对简单。缺点是扫描时会有闪烁,可利用人眼的视觉惰性,将 扫描频率增大来消除闪烁感。对于方案二,液晶显示屏既能显示字符又能显示图形,但是液晶显示屏价格昂贵,驱动程序复杂。比较以上两种方案,从简单实用的原则综合考虑,本方案采用方案一。3.显示方式的选择方案一:采用静态显示方式。方案二:采用动态显示方式方案比较:对于方案一,每个数码管的段选必须接一个

11、 8 位数据线来保持显示的字形码。当送入一次字形码后,显示字形可一直保持,直到送入新字形码为止。其 优点是占用 CPU 时间少,显 示便于监测和控制。缺点是硬件电路比较复 杂,成本 较高。对于方案二,它将所有位数码管的段选线并联在一起,由位选线控制时那一位数码管有效。选亮数码管采用动态扫描显示,利用 发光管的余辉和人眼视觉暂留作用,使人的感觉好像各位数码管同时在显示。动态显示的亮度比静态显示要差一些,所以在选择限流电阻式应略小于静态显示电路中的。比较以上两种方案,从简单实用的原则综合考虑,本方案采用方案一。二、硬件设计(一)硬件总体框图图 2.1 硬件总体框图毕业论文3温度控制系统总体框图如图

12、 2.1 所示。本系统的主要组成部分:STC89C52 单片机、温度采集器 DS18B20、键盘电路、温度 显示电路、 报警电路、电源电路等。(二)工作原理程序员通过键盘电路设定控制温度,系统工作时,由 DS18B20 温度传感器采集温度信号送入单片机处理,当温度超过设定范围时, 报警 电路自动提醒人们作出适当的温度调节。同 时, 温度 显示模块利用 LED 数码管以动态扫描方式显示温度。(三)部分元器件介绍1STC89C51RC 单片机本设计使用的是 STC 公司生产的 STC89C52RC 单片机,它是一款性价比非常高的单片机,它完全兼容 ATMEL 公司的 52 单片机,有无法解密、低功

13、耗、高速、高可靠、 强抗静电、 强抗干扰等很多特点。其次 STC89C52RC 单 片机内部资源比起 ATMEL 公司的单片机来要丰富的多,STC89C51RC 单片机内部有 1280 字节的 SRAM、8-64K 字节的内部程序存储器、 2-8K 字节的 ISP 引导码、除 P0-P3 口外还多 P4 口(PLCC 封装) 、片内自带 8 路 8 位 AD,片内自 带EEPROM、双数据指针等。STC89C52RC 有 PDIP 封装和 PLCC 封装,本 设计采用 PDIP40 封装型号。I/O 口引脚为 P0 口、 P1 口、P2 口和 P3 口。(1)电源和时钟引脚:VCC(40 脚)

14、和 GND(20 脚)常压为+5V,低 压为 3.3V。(2)XTAL1(19 脚)XTAL2(18 脚)外接时钟引脚XTAL1 为片内振 荡电路的输入端。XTAL2 为片内振荡电路的输出端。8052 系列的时钟有两种方式,一种是片内振荡方式,需要在 这两个引脚接石英晶体和振荡电容,振荡电容的值一般选择为 10P30P 。另一种外部 时钟 方式即 XTAL1 接地,外部 时钟信号从 XTAL2 脚 输入。(3)RST(9 脚) 单片机的复位引脚P0 口(39 脚 32 脚) 双向 8 位 I/O 口。每个口可以独立控制。52 系列单片机 P0口内部没有上拉电阻,为高祖状态,所以不能正常的输出高

15、低电平,因此 该组 I/O 口在使用的时候务必要接上拉电阻,一般我们采用接入 10K 的上拉电阻。P1 口(1 脚 8 脚)准双向 8 位 I/O 口。每个口可以独立操作控制,内带上上拉电阻,这 种接口没有高阻状 态, 输入页不能锁存,固然不是真正的双向 I/O 口,之所以称它为“准双向 ”时因为该口在座位 输入使用前要先向 该口进行写一操作,然后单片机内部才能正确地读出外部信号, 页就是要使其先要有个准备过程,所以才称为准双向口。 对52 单片机的 P1.0 引脚的第二功能 为 T2 定时器的外部输入,P1.1 引脚的第二功能为T2EX 捕捉,重装触发,即 T2 的外部控制器。P2 口(21

16、 脚 28 脚) 准双向 8 位 I/O 口。每个口可以独立操作控制,内带上上拉电阻,与 P1 口相似。P3 口(10 脚 17 脚) 准双向 8 位 I/O 口。每个口可以独立操作控制,内带上上4拉电阻,作为第一功能使用时就当作普通 I/O 口,与 P1 相似。作为第二功能使用时,个引脚的定义如表 2-1 所示,值得强调的是, P3 口的每一个引脚均可以独立定义为第一功能的输入、输出或第二功能。表 2-1 P3 口第二功能定 义标号 引脚 第二功能 说明P3.0 10 RXD 串行输入口P3.1 11 TXD 串行输出口P3.2 12 /INT0 外部中断 0P3.3 13 /INT1 外部

17、中断 1P3.4 14 T0 定时器/计数器 0 外部输入口P3.5 15 T1 定时器/计数器 1 外部输入口P3.6 16 /WE 外部数据存储器写脉冲P3.7 17 /RD 外部数据存储器读脉冲STC89C52RC 有 40 个引脚,引脚排列如图 2.2 所示。图 2.2 STC89C52RC 引脚排列2温度传感器 DS18B20本设计采用 DS18B20 芯片,如图 2.3 所示,具有体积更小、精度更高、适用 电压更宽、采用一线总线、可组网等优点,在实际应用中取得了良好的 测温效果。毕业论文5图 2.3 温度芯片 DS18B20美国 DALLAS 半导体公司的数字化温度传感器 DS18

18、20 是世界上第一个支持“一线总线”接口的温度 传感器,其内部使用了再板( ON-BOARD)专利技术,全部传感元件及转换电路集成在形如一只三极管的集成电路内。 “一 线总线”独特而且经济的特点,使用户可轻松地组建传感器网络。 DS18B20 因为其内部集成了 A/D 转换器,使得电路结构更加简单,而且减少了温度转换时 的精度损失,使得 测量更加精确。DS18B20 的特性:(1)适应电压范围更宽,电压范围为 3.0V5.5V,寄生电源方式下可由数据线提供,无需外部工作电源,也可由外部电源供电,零待机功耗,不需 备份电源。(2)独特的单总线接口方式,DS18B20 在微处理器连接时, 仅需要一

19、个 I/O 引脚即可实现与 DS18B20 的双向通 讯,无需 变换其它电路,直接输出被测温度值的数字信号,通过编程可实现 912 位的数字读数方式,温度数字量转换时间为 200ms(典型值)。(3)DS18B20 支持多点组网功能,多个 DS18B20 可以并 联在唯一的三线上,实现组网多点功能。(4)DS18B20 在使用中不需要任何外围元件,全部传感元件及转换电路集成在形如一只三极管的集成电路内。(5)DS18B20 提供了 9 位摄氏温度测量,具有非易失性、上下触 发门限用户可编程的报警功能,警告搜索命令能 识别和寻址温度在编定的极限之外的器件(温度警告情况),应用范围包括恒温控制、工

20、 业系统、消 费类产品、温度计或任何热敏系统。(6)DS18B20 测量温度的工作范围为-55+125,在-10+85时精度为0.5。(7)可编程的分辨率为 912 位,对应的可分辨温度分别为 0.5、0.25、0.125和 0.0625,可实现高精度测温。(8)在 9 位分辨率时最多在 93.75ms 内把温度转换为数字,在 12 位分辨率时最多在 750ms 内吧温度值转换为数字,速度更快。(9)DS18B20 的测量结果直接输出数字温度信号,以“ 一线总线”串行传送给 CPU,同时可传送 CRC 校验码,具有极强的抗干扰纠错能力。(10)DS18B20 具有负压特性,当电源极性接反时,芯

21、片不会因为发热而烧毁。(11)每片 DS18B20 具有唯一的 64 位序列码, 这些码允许多片 DS18B20 在同一条总线上工作,因而可方便地使用单个微处理器控制分布在大范围内的多片 DS18B20 器6件。DS18B20 的内部结构主要由四部分组成:64 位光刻 ROM、温度 传感器、非挥发的温度报警触发器 TH 和 TL、高速暂存器。DS18B20 的引脚定义:(1)DQ:数字信号输入/输出端,该脚为漏极开路输出,常态下呈高电平。(2)GND:电源地。(3)VDD:外界供电电源输入端,可 选用,不用时应接地。3.74HC24574HC245 是一款高速 CMOS 器件,74HC245

22、引脚兼容低功耗肖特基 TTL(LSTTL)系列。74HC245 八路收发器在发送和接收两个方向上都具有正相三 态总线兼容输出。74HC245 输出使能端(OE)用于实现轻松级联,而发 送/ 接收端(DIR)用于控制方向。OE控制输出,使得总线被有效的隔离。74HC245 特性如下:(1)八路双向总线接口(2)正相三态输出(3)可选多种封装类型(4)兼容 JEDEC 标准 no.7A(5)ESD 保护HBM EIA/JESD22-A114-B 超过 2000VMM EIA/JESD22-A115-A 超过 200V(6)温度范围-40+85 -40+12574HC245 管脚如图 2.3 所示:

23、图 2.3 74HC245 管脚图毕业论文74.74HC573 八进制三态非反转透明锁存器74HC573 是一款高性能硅门 CMOS 器件,它的 输入和标准 CMOS 输出是兼容的。加上拉电阻,它们能和 LS/ALSTTL 输出兼容。其特点如下:(1)三态总线驱动输出。(2)置数全并行存取。(3)缓冲控制输入。(4)使能输入有改善抗扰度的滞后作用。原理说明:74HC573 的八个锁存器都是透明的 D 型锁存器,当锁存使能段为高时,输出将随数据(D)输入而变。当锁存使能为低时, 输出将锁存在已建立的数据电平上。输出控制不影响锁存器的内部工作,甚至输出被关闭时,新的数据也可以置入。 这种电路可以驱

24、动大电容或低阻抗负载,可以直接与系统总线接口并驱动总线,而不需要外接口,特别适用于缓冲寄存器,I/O 通道,双向 总线驱动器和工作寄存器。74HC573 管脚排列如图 2.4 所示:图 2.4 74HC573 管脚排列图74HC573 真值表如表 2-2 所示:表 2-2 74HC573 真值表输入 输出输出使能 锁存使能 D QL H H HL H L LL L X 不变H X X ZX=不用关心Z=高阻态(四)各模块电路设计及分析1.电源电路8电源是系统硬件设计的重要组成部分之一,这部分的设计直接影响系统的精度和可靠性。电 源电路的设计有如下要求:电源电路的输出质量要高,输出纹波电压要小、

25、 稳压效果要好。本设计控制系统 部分电源采用 5V 直流 电源供电,因此,系统需要提供 5V 电压。电源电路的结构如图 2.5 所示,将电网电压接入的 220V 电压送到变压器降压。将降压后的交流电压送到整流电路变成直流电压。再通过低通滤波电路滤波,使平滑的电压输出到稳压电路中,得到 稳定性足够高的 5V 直流 电,将处理后的电压送入后面的控制电路。图 2.5 电源电路2温度设定电路单片机应用系统中除了有专门的复位电路外,其他的按键或键盘都是以开关状态来设置控制功能或输入数据。本设计采用软件方法消除抖动,当检测到有键按下时,执行一个 10ms 的演示程序后,再确认该键电平是否仍保持闭合状态电平

26、,如保持闭合状态电平则确认为真正的按键状态,从而消除了抖动影响。键盘处理程序首先执行等待按键,并确认有无按键按下。当确认有按键按下后,下一步就要识别时哪一个按键按下。对照如图 2.6 所示的 4X4 键盘,说明线反转法工作原理。首先辨别键盘中有无按键按下,有单片机 I/O 口向键盘送全扫描字,然后 读入行 线状态来判断。方法是:向行 线输出全扫描字 00H,把全部列 线置为低电平,然后列线的电平状态读入累加器 A 中。如果有按键按下,总会有一根行 线电平被拉至低电平从而使行线不全为 1。判断键盘中哪一个按键按下是通过将列线逐列置低电平后,检查输入状态来实现的。方法是:依次给列线送低电平,然后查

27、所有行 线状态,如果全 为 1,则 所按下的键不在此列;如果不全为 1,则所按下的键必在此列,而且是在与零电平行线相交的交点上的那个键。键盘共有 16 个按键,用于方便设定温度,具体如下:数字 09:数字按键;确认:修改设置温度时进行确认;毕业论文9消除:修改设置温度时进行删除;开启:打开电源;关闭:关闭电源;F1:显示及设 置转换到温度点 1,按此 键后,显示预设 置温度的数码管闪烁;F2:显示及设 置转换到温度点 2,按此 键后,显示预设 置温度的数码管闪烁。键盘的按键分布如表 2-3:表 2-3 键盘的按键分布P2.0 0 1 2 3P2.1 4 5 6 7P2.2 8 9 F1 F2P

28、2.3 清除 开启 关闭 确定P2.4 P2.5 P2.6 P2.73.单片机接口电路设计DS18B20 可以采用两种方式供电,一种是采用 电源供电方式,此 时 DS18B20 的 1脚接地,2 脚作为信号线,3 脚接电源。另一种 时寄生 电源供电方式,如图 2.7 所示,此时为保证在有效的 DS18B20 时钟周期内提供足够的电流,可用一个 MOSFET 和单片机的 P1.0 来完成 对总线的上拉,本设计采用电源供电方式,P1.1 口接单线总线为保证在有效的 DS18B20 时钟周期内提供足够的电流,可用一个 MOSFET 和单片机的 P1.0 来完成对总线的上拉。当 DS18B20 处于写

29、存储器操作哦温度 A/D 操作时,总线必须有强的上拉,上拉开启时间最大为 10us。采用寄生电源供电方式是 VCC 和 GND 均接地。由于单线制只有一根线,因为此 发送接口必须是三状态的。主机控制 DS18B20 完成温度转换必须经过 3 个步骤:(1)初始化;(2)ROM 操作命令;(3)存储器操作命令。单片机DS18B20P1.01GND2DQ 3VCC10图 2.7 DS18B20 与单片机的接口(1)晶振电路单片机晶体振荡电路分为串联型与并联型振荡电路,图 2.8 的电路是并联型振荡电路,单片机 XTAL1 和 XTAL2 分别接 30pF 的电容,中 间再并接一个 12MHZ 的晶

30、振,形成单片机的晶振电路。其主要作用是产生正弦信号,振荡由谐振回路的参数决定,晶体作为一个等效的电感,它的 L 很大,使得 Q 值很大,其他元件和杂散参数对振荡影响很小,所以稳定性很高。图 2.8 晶振电路(2)串口引脚P0 口接 9 个 2.2K 的排阻,然后接到 显示电路上。P1.0 接到温度 传感器 DS18B20 上。P1.1 和 P1.2 引脚接到继电 器电路的 4.7K 电阻上。P2.5 接蜂鸣器 电路,其他引脚悬空。P3 中 P3.5、P3.6、P3.7 接到按键电路。(3)其他引脚ALE 悬空,复位引脚接到复位电路, VCC 接电源,VSS 接地, EA 接电源。4.温度显示电

31、路本设计采用七段数码管和移位寄存器芯片 74LS164。单片机通过 I2C 总线将要显示的数据信号传送到移位寄存器芯片 74LS164 寄存,再由移位寄存器控制数码管的显示,从而实现移位寄存点亮数码管显示。由于 单片机时钟频 率达到 12M,移位寄存器的移位速度相当快,从视觉角度上看,就像是全部数码管同 时显 示一样。当清除端(CLEAR)为低电平时,输出端(QA-QH)均为低电平。串行数据输入端(A,B)可控制数据。当 A、B 中任意一个为低电平, 则禁止新数据 输入,在时钟端(CLOCK)脉冲上升沿作用下 Q0 为低电平。当 A、B 有一个为高电平,则另一个就允许输入数据,并在 CLOCK

32、 上升沿作用下决定 Q0 的状态,74LS164 引脚分配图如图 2.9 所示。毕业论文11图 2.974LS164 引脚分配图引出端说明:CLOCK:时钟输入端;CLEAR:同步清零输入端(低电平有效);A,B:串行数据输入端;QA-QH:输出端。74LS164 真值表见表 2-4:表 2-4 真值表INPUTS OUTPUTSCLEAR CLOCK A B QA QB QH LHHHHXLX XX XH HL XX LL L LQA0 QB0 QH0H QAn QGnL QAn QGnL QAn QGn温度显示电路如图 2.10 所示,采用 LED 数码管以 动态扫描方式实现温度动态显示。

33、本设计中所涉及数码管皆采用共阳极数码管,显示电路为动态扫描式。图 2.10 温度显示电路5.温度测试电路12采用温度芯片 DS18B20。使用集成芯片,能 够有效的减小外界的干 扰,提高测量的精度,简 化电路的结构。电路如图 2.11 所示:图 2.11 温度传感器电路6. 温度调节控制电路单片机通过三极管控制继电器的通断,最后达到控制加热器的目的。继电器电路如图 2.12 所示。当温度未达到所要求的温度范围时,单片机发送高电平信号使时三极管饱和导通, 继电器让电源与加 热器接通,加 热器加热,温度慢慢升高。当温度上升到预定温度时,单 片机发送低电平信号 进入截止状态, 继电器的 弹片打到另一

34、侧,使加 热器与电源断开,加热器停止加热。图 2.12 继电器电路图7.复位电路设计为了确保电路稳定工作,复位电路时必不可少的一部分,当单片机在系统运行中,受到环境干扰出现程序跑飞时,按下复位按钮,内部的程序自动从头开始执行。复位电路工作原理如图 2.13 所示,VCC 上电时,C 充电,在电阻上电流降为 0,电压也为 0,使得单片机进入工作状态。工作期 间,按下 S,C 放电。 S 松开,C 又充电,在电阻上出现电压,使得单片机复位。几个毫秒后, 单 片机进入工作状态。电容的大小是10uF,电阻的大小是 10K。因此, 电容充到 5V 电源电压的 0.7 倍,即此时电压为 3.5V,需要的时

35、间是 10K*10UF=0.1S。所以在开机 0.1S 内,单片机系统自动复位, RST 引脚接收到的高电平信号时间为 0.1S 左右。毕业论文13图 2.13 复位电路三、软件设计(一)总体软件设计思想主程序调用了 5 个子程序,分别是数码管显示程序、键盘扫描及案件处理程序、温度信号处理程序、继电器控制程序、单片机与 PC 机串口通讯程序。程序结构图如图 3.1所示。主程序是对温度控制系统的各个模块的实现。键盘扫描电路及按键处理程序:实现键盘的识别及进入相应的程序。温度信号处理程序:对温度芯片送过来的数据进行处理,进行判断和显示。数码管显示程序:向数码管的显示送数,控制系统的显示部分。串口通

36、讯程序:实现 PC 机与 单片机进行通讯,将温度传送给 PC 机。14图 3.1 程序结构图(二)系统程序流程框图系统程序主要包括主程序,读出温度子程序,复位 应答子程序,写入子程序等。1.主程序主程序的主要功能是负责温度的实时显示、读出并处理 DS18B20 测量的当前温度值,温度 测量每 1s 进行一次。这样可以在一秒之内测量一次被测温度,其程序流程见图3.2 所示。通过调用温度子程序把存入内存储中的整数部分与小数部分分开放在不同的两个单元中,然后通过调用子程序 显示出来。毕业论文15图 3.2 主程序流程图2.读出温度子程序读出温度子程序的主要功能是读出 RAM 中的 9 字节,在读出时

37、需进行 CRC 校验,校验有错时不进行温度数据的改写。DS18B20 的各个命令对时序的要求特别严格,所以必须按照所要求的时序才能达到预期的目的,同时,要注意读进来的是高位在后,低位在前,共有 12 位数,小数 4 位,整数 7 位, 还有一位符号位。其程序流程 见图 3.3 所示。16图 3.3 读出温度子程序3.复位、应答子程序其程序流程见图 3.4 所示。毕业论文17图 3.4 复位、 应答子程序5.系统总流程图其程序流程见图 3.5 所示。程序开始时先设置初始化,然后控制数码管, 显示当前温度。接着判断 F1、F2 按键 是否按下。按下 F1 进入温度控制点 1 的程序,按下 F2 进

38、入温度控制点 2 的程序。程序控制 设置温度的两个数码管闪烁,此时键盘输入有效。有按 键按下的时候进入按键处理程序。按下确认按键后,程序进入判断程序和继电器控制程序。继电器动作后,程序回到显 示当前程序,并开始循 环 。18图 3.5 系统总流程图毕业论文19总结毕业论文代表着大学生涯的终结,完成它既有一种收获感,又有一种失落感,可是无论如何它代表着我大学的付出与收获,代表我的大学历程。本文设计的是基于单片机的温度控制,采用单总线数字集成温度传感器,被控对象温度直接以“ 单总线”的数字形式传输,大大提高了抗干扰性。文中采用了 STC89C52RC单片机和 74HC573 锁存器, 设计中用到了

39、一些常用的电路,电源电路,复位电路等。通过这次毕业设计,使我对 STC89C52RC 单片机有了比 较系统的了解和认识,并且知道了许多以前不知道的,而 74HC573 锁存器虽然也是常用元件,可是我以前从来没有接触过,所以对它很陌生,但这次毕业设计让我对它有了全面的了解,而且掌握了它所有的功能,对于一些常用电路在原有的基础上有了更深的了解,了解了它们的工作原理。一篇毕业论文让我受益匪浅,知道了自己的不足,学到了更多,虽然也有很多无奈,可是从中学到知识的乐趣远远大于了这种感觉。这次毕业设计让我深深地了解到电子领域的博大精深,我深切感受到自己知识的缺乏,对于一个学 电子专业的我来说,知道的 还远远

40、不 够,但我知道通 过实践,让自己把理论与实践相结合,我才能不断进步。正如我的人生信条“ 踏踏实实做事,认认真真做人”,只有脚踏实地,把理论知识能够运用到实际中去,才能学以致用,做好每一件事。20附录一 Protel 图毕业论文21附录二 程序程序代码:ORG 0000HTEMPER_L EQU 29HTEMPER_H EQU 28HFLAG1 EQU 38HA_BIT EQU 20HB_BIT EQU 21HXS EQU 30HMOV A,#00HMOV P2,AMAIN:LCALL GET_TEMPER;调用读温度子程序MOV A,29HMOV B,ACLR CRLC ACLR CRLC

41、ACLR CRLC ACLR CRLC ASWAP AMOV 31H,A MOV A,BMOV C,40H;将 28H 中的最低位移入 CRRC AMOV C,41HRRC AMOV C,42HRRC AMOV C,43HRRC AMOV 29H,A22LCALL DISPLAY;调用数码管显示子程序AJMP MAIN;这是 DS18B20 复位初始化子程序INIT_1820:SETB P1.0NOPCLR P1.0;主机 发出延时 537 微秒的复位低脉冲MOV R1,#3TSR1:MOV R0,#107DJNZ R0,$DJNZ R1,TSR1SETB P1.0;然后拉高数据 线NOPNO

42、PNOPMOV R0,#25HTSR2:JNB P1.0,TSR3;等待 DS18B20 回应DJNZ R0,TSR2LJMP TSR4;延 时TSR3:SETB FLAG1;置标志位,表示 DS18B20 存在LJMP TSR5TSR4:CLR FLAG1;清标志位,表示 DS18B20 不存在LJMP TSR7TSR5:MOV R0,#17TSR6:DJNZ R0,TSR6;时序要求延时一段时间TSR7:SETB P1.0RET;读出转换后的温度值GET_TEMPER:SETB P1.0LCALL INIT_1820;先复位 DS18B20JB FLAG1,TSS2RET;判断 DS18B

43、20 是否存在?若 DS18B20 不在则返回TSS2:MOV A,#0CCH;MOV A,#44HLCALL WRITE_1820;LCALL DISPLAYLCALL INIT_1820MOV A,#0CCH毕业论文23LCALL WRITE_1820MOV A,#0BEHLCALL WRITE_1820LCALL READ_18200;将读出的温度数据保存到 35H/36HRET;写 DS18B20 的子程序,有具体的时序要求WRITE_1820:MOV R2,# 8;一共哦、有 8 位数据CLR CWR1:CLR P1.0MOV R3,#6DJNZ R3,$RRC AMOV P1.0,

44、CMOV R3,#23DJNZ R3,$SETB P1.0NOPDJNZ R2,WR1RET;读 DS18B20 的程序,从 DS18B20 中读出两个字节的温度数据READ_18200:MOV R4,#2;将温度高位和低位从 DS18B20 中读出MOV R1,#29H;低位存入 29H(TEMPER_L),高位存入 28H(TEMPER_H)RE00:MOV R2,#8;数据一共有 8 位RE01:CLR CSETB P1.0NOPNOPCLR P1.0NOPNOPNOPSETB P1.0MOV R3,#9RE10:DJNZ R3,RE10MOV C,P1.0MOV R3,#23RE20:

45、DJNZ R3,RE2024RRC ADJNZ R2,RE01MOV R1,ADEC R1DJNZ R4,RE00RETDISPLAY:CLR CSUBB A,#30JNB CY,T1MOV A,BCLR CSUBB A,#25JNB CY,XIANSHIT1:CLR P1.2XIANSHI:MOV A,BMOV B,#10;10 进制/10=10 进制DIV ABMOV B_BIT,A;十位在 AMOV A_BIT,B;个位在 BMOV R0,#4CLR C;多加的DPL1:MOV R1,#250DPLOP:MOV DPTR,#NUMTAB1MOV A,A_BIT;取个位数MOV A,A+D

46、PTR;查个位数的 7 段代码MOV P0,A;送出个位的 7 段代码CLR P2.1;开个位显示ACALL D1MS;显示 1msSETB P2.1MOV DPTR,#NUMTABMOV A,B_BIT;取十位数MOV A,A+DPTR;查十位数的 7 段代码MOV P0,A;CLR P2.2 开十位显示ACALL D1MS;显示 1ms毕业论文25SETB P2.2JC XSWMOV A,31HMOV B,#160DIV ABMOV XS,BXSW:MOV A,XSMOVC A,A+DPTRMOV P0,ACLR P2.0ACALL D1MSSETB P2.0SETB CDJNZ R1,D

47、PLOPDJNZ R0,DPL1RETD1MS:MOV R7,#80DJNZ R7,$RETNUMTAB:DB 3FH, 06H, 5BH, 4FH, 66H, 7DH, 07H, 7FH, 6FH, 7FH, 7FH, 7FH, 7FH, 7FH, 7FHNUMTAB1:DB 0BFH, 86H, 0DBH, 0CFH, OE6H, OEDH, OFDH, 87H, OFFH, OEFHEND26参考文献1李建忠.单 片机原理及应用.西安电子科技大学出版2张俊谟.单 片机中级教程.北京航空航天大学出版3刘训非、陈希、程雪敏、蔡成炜.单片机技术及应用.清华大学出版社4谢文和,传 感器技术及应用. 北京:高等教育出版社5余锡存、曹国华.单片机原理及接口技术.西安电子科技大学出版社6张毅刚、修林成、胡振江 . MCS-51 单片机应用设计.哈尔滨工业大学出版社7殷庆纵、李福.电子线路 CAD.北京大学出版社8陈尚松、郭庆、雷加,电子测量与仪器. 北京: 电子工业出版社9www.hust-

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 学术论文 > 管理论文

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报