毕业设计(论文)基于单片机的温度测量系统研制_第1页
毕业设计(论文)基于单片机的温度测量系统研制_第2页
毕业设计(论文)基于单片机的温度测量系统研制_第3页
毕业设计(论文)基于单片机的温度测量系统研制_第4页
毕业设计(论文)基于单片机的温度测量系统研制_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

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

文档简介

1、毕毕 业业 论论 文文 基于单片机的温度测量系统研制基于单片机的温度测量系统研制 作 者 姓 名 : 专 业、班 级: 学 号: 校内指导教师: 校外指导教师: 完 成 日 期 : 黄河水利职业技术学院自动化工程系 摘摘 要要 随着社会的进步和工业技术的发展,人们越来越重视温度因素,许多产品对温度 范围要求严格,而目前市场上普遍存在的温度检测仪器大都是单点测量,同时还有温 度信息传递不及时、精度不够的缺点,不利于工业控制者根据温度变化及时做出决定。 在这样的形式下,开发一种能够同时测量多点,并且实时性高、精度高,能够综合处 理多点温度信息的测量系统就很有必要。探讨工业场合温度测量处理方法及系统

2、构成。 本课题以 at89s52 单片机系统为核心,能对多点的温度进行实时巡检。根据数字温度 传感器 ds18b20 的特点,构成温度测量系统。利用简单的接口与单片机组成一个温度 测量系统,通过 led 显示数码管对系统进行显示,给出用 ds18b20 和 at89s52 单片机 构成的温度测量系统的应用电路和参考程序。利用 ds18b20 的单总线结构,占用系统 的端口少,非常适合远距离多点温度检测系统。 关键词关键词: : 单片机;单片机;ds18b20ds18b20;温度测量;温度测量 目 录 摘摘 要要.i 引 言.1 1 系统总体设计.2 1.1 系统设计框图.2 1.2 设计方案的

3、选择.2 1.3.1 at89s51 功能简介.4 1.3.2 ds18b20 功能简介.6 2 系统电路设计.10 2.1 系统电路图.10 2.2 硬件设计.10 2.2.1 时针电路.10 2.2.2 复位电路.11 2.2.3 温度采集电路.11 2.2.4 显示电路.12 2.2.5 报警电路.13 3 程序原理及系统流程图.14 3.1 读取温度子程序.15 3.2 温度数据显示子程序.17 3.3 设置温度上下限程序.18 3.4 计时时间设置.20 4 软件仿真.22 4.1 软件介绍.22 4.2 仿真过程.22 5 实物的焊接与调试.25 5 总结.27 6 致谢.28 7

4、 参考文献.29 引 言 温度测量是工业生产中的一个重要环节。因为单片机体积小、价格便宜、具有通 用性和活性,利用单片机设计温度测量系统,既可满足功能要求,又经济实惠。他不但面 向控制,可靠性高,抗干扰能力强,而且具有掉电保护功能。另外,他的 i/o 接口功能很 强,便于系统扩展,应用 研制周期短,开发效率高。本文将主要讨论基于单片机的温度测量系统的硬件和软 件系统的设计问题。 1 系统总体设计 1.1 系统设计框图 根据系统的设计要求,当温度传感器 ds18b20 把所测得的温度发送到单片机单片 机上,经单片机处理,将把温度在显示电路上显示,除了显示温度以外还可以设置一 个报警温度,对所测温

5、度进行监控。利用外接的键盘设置电路,对温度进行上下限设 置。当温度高于或低于设定温度时,开始报警并启动相应程序。同时,系统还会显示 温度计已经工作的时间,方便用户进行简单的人机对话。当开机后,计数器自动运行, 开始记录已开机时间,在进行上下限操作时,计时的功能不关闭,持续计时。同时, 能够设置报警温度,在到达报警时间后能够提示报警。 利用单片机芯片控制温度传感器 ds18b20 进行实时温度检测并显示,能够实现快 速测量环境温度,并可以根据需要设定上下限报警温度。 系统框图如图 1.1; 单片机 报警电路 温度传感 器 键盘设 定 显示设备 温度控制 制 图 1.1 系统框图 1.2 设计方案

6、的选择 1.2.1 单片机的选择 系统采用 at89s52 作为控制核心,配备键盘和液晶显示电路。 at89s52 是 atmel 公司新推出的一种低功耗、高性能 cmos 8 位微控制器,它具有 以下标准功能: 8k 字节 flash,256 字节 ram, 32 位工/0 口线,看门狗定时器,2 个数 据指针,三个 16 位定时器/计数器,一个 6 向量 2 级中断结构,全双工串行口,片内 晶振及时钟电路。其性能完全可以满足系统的要求。 键盘用于设定温度、湿度的上、下限报警范围及控制值,设定采样时间间隔,调 整系统时间。 液晶显示采用 ocmj4x8a 液品显示屏,它内带汉字字库,可以方便

7、的显示汉字及图 形;可以同时显示 4 行 8 列个单元,可以一次显示系统所有状态信息;显示的内容不需 要刷新,节省了单片机的资源;电路结构简单,便于控制,功耗低。 1.2.2 传感器的选择 系统采用集成温度传感器 ds18b20 和集成湿度传感器工 h3605 作为测量温度和湿 度的部件。传感器与单片机的连接电路如图 1.2 所示。 图 1.2 传感器与单片机连接图 ds18b20 是美国 dallas 半导体公司的单总线数字化温度传感器。全部传感元件及 转换电路集成在形如一只三极管的集成电路内,体积小,使用灵活方便。主要特性:适 应电压范围宽,在寄生电源方式下可由数据线供电;支持多点组网功能

8、;温范围-55 +125;分辨率高达 12 位;最大转换时间 750ms;测量结果直接输出数字温度信号,以 “一线总线串行传送给 cpu,同时可传送 crc 校验码,具有极强的抗干扰纠错能力。 图 2 中,r5 作为上拉电阻,提高数据线的电流。 系统采用 ti 公司的 tlc1549 十位串行 a/d 转换器,图 2 中,r1, r2, r6 设定 a/d 转换器的最大输入电压,r3, r4. r7 设置 a/d 转换器的最小输入电压。 1.3 系统部件功能介绍 1.3.1 at89s51 功能简介 at89s52 作为温度测试系统设计的核心器件该器件是 intel 公司生产的 mcs 一 5

9、l 系列单片机中的基础产品,采用了可靠的 cmos 工艺制造技术具有高性能的 8 位单 片机,属于标准的 mcs 一 51 的 cmos 产品。片内含 8k bytes 的可贩毒擦写的只读程序 存储器(perom)和 256 bytes 的随机存取数据存储器(ram),器件兼容标准的 mcs- 51 指令系统。片内置通用 8 位中央处理器(cpu)和 flash 存储单元。结合了 hmos 的 高速和高密度技术及 chmos 的低功耗特征。 其具有如下性质: 与 mcs-51 单片机产品兼容; 8k 字节在系统可编程 flash 存储器; 1000 次擦写周期; 全静态操作:0hz-33mhz

10、; 三级加密程序存储器; 32 个可编程 i/o 口线; 三个 16 位定时器/计数器; 六个中断源; 全双工 uart 串行通道; 低功耗空闲和掉电模式; 掉电后中断可唤醒; 看门狗定时器; 双数据指针; 掉电标识符 。 at89s52 可降至 0hz 静态逻辑操作,支持 2 种软件可选择节电模式。空闲模式下, cpu 停止工作,允许 ram、定时器/计数器、串口、中断继续工作。掉电保护方式下, ram 内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为 止。 由于此设计需要编写程序,需要将程序烤入单片机中,因此单片机必须具有足够 多的存储空间,其具有 8k 字节的 f

11、lash 完全满足要求。32 位的 i/o 口线能够使得单 片机与温度显示器、温度传感器、键盘、报警电路、按键电路和指示灯连接等等变得 可能。16 位的定时计数器使得读取数据变得更加简单,同时其结构有利于晶振电路和 复位电路的连接。最重要的是,能够在掉电状态下保存 ram 内的数据。同时,与同类 51 单片机相比,at89s52 具有更强的可操作性。因此,对于本设计来说,选择 at89s52 是最有利的。 at89s52单片机有两种可用软件编程的省电模式,它们是空闲模式和掉电工作模式。 这两种方式是控制专用寄存器pcon(即电源控制寄存器)中的pd(pcon1)和idl(pcon0) 位来实现

12、的。pd是掉电模式,当pd=1时,激活掉电工作模式,单片机进入掉电工作状 态。idl是空闲等待方式,当idl=1,激活空闲工作模式,点偏激进入睡眠状态。如需 同时进入两种工作模式,即pd和idl同时为1,则先激活掉电模式。 在空闲工作状态下,cpu保持睡眠状态而所有的片内的外设都保持激活状态,这种 方式由软件产生,此时,片内ram和所有特殊功能寄存器的内容保持不变。空闲模式可 由任何允许的中断请求或硬件复位终止。 终止空闲工作模式的方法有两种,进入中断服务程序,执行完中断服务程序并紧 随rst1(中断返回)指令后,下一条要执行的指令就是使单片机进入空闲模式的那条 指令后面的一条指令。 其二是通

13、过硬件复位可以将空闲工作模式终止。需要注意的是,当由硬件复位来 终止空闲工作模式时,cpu通常是从激活空闲模式那条指令的吓一跳指令开始继续执行 程序的,要完成内部复位操作,硬件复位脉冲要保持两个机器周期(24个时钟周期) 有效,在这种情况下,内部禁止cpu访问片内ram,而允许访问其他端口。为了避免可 能对端口产生意外写入,激活空闲状态的那条指令后一条指令不应是一条端口或外部 存储器的写入指令。 在掉电模式下,振荡器停止工作,进入掉电模式的指令是最后一条被执行的指令。 片内ram和特殊功能寄存器的内容在终止掉电模式前被冻结。退出掉电模式的唯一方法 是硬件复位,复位后将重新定义全部特殊功能寄存器

14、但并没有因此改变ram中的内容, 在vcc恢复到正常工作电平前,复位应无效,但必须保持一定时间以使振荡器重启动并 稳定工作。 at89s52单片机具有一些极限参数: (1)工作温度:-55摄氏度至+125摄氏度 (2)储藏温度:-65摄氏度至+150摄氏度 (3)任一引脚对地电压:-1.0v至+7.0v (4)最高工作电压:6.6v (5)直流输出电流:15.0ma 表 1.1 空闲和掉电模式外部引脚状态 模式程序存储器alepsenp0p1p2p3 空闲模式内部11数据数据数据数据 空闲模式外部11浮空数据地址数据 掉电模式内部00数据数据数据数据 掉电模式外部00浮空数据数据数据 1.3.

15、2 ds18b20 功能简介 (1).ds18b20 的主要特性 适应电压范围更宽,电压范围:3.05.5v,在寄生电源方式下可由数据线供电。 独特的单线接口方式,ds18b20 在与微处理器连接时仅需要一条口线即可实现微 处理器与 ds18b20 的双向通讯。 ds18b20 支持多点组网功能,多个 ds18b20 可以并联在唯一的三线上,实现组网 多点测温。 ds18b20 在使用中不需要任何外围元件,全部传感元件及转换电路集成在形如一 只三极管的集成电路内。 温范围55125,在-10+85时精度为0.5。 可编程的分辨率为 912 位,对应的可分辨温度分别为 0.5、0.25、 0.1

16、25和 0.0625,可实现高精度测温。 在 9 位分辨率时最多在 93.75ms 内把温度转换为数字,12 位分辨率时最多在 750ms 内把温度值转换为数字,速度更快。 测量结果直接输出数字温度信号,以一线总线串行传送给 cpu,同时可传送 crc 校验码,具有极强的抗干扰纠错能力。 负压特性:电源极性接反时,芯片不会因发热而烧毁,但不能正常工作。 (2).ds18b20 的外形和内部结构 图 1.3 ds18b20 的外形 ds18b20 内部结构主要由四部分组成:64 位光刻 rom、温度传感器、非挥发的温度 报警触发器 th 和 tl、配置寄存器。ds18b20 的外形及管脚排列如图

17、 1.3: ds18b20 引脚定义: dq 为数字信号输入/输出端; gnd 为电源地; vdd 为外接供电电源输入端(在寄生电源接线方式时接地)。 图 1.4 ds18b20 内部结构图 ds18b20 工作原理 ds18b20 的读写时序和测温原理与 ds1820 相同,只是得到的温度值的位数因分辨 率不同而不同,且温度转换时的延时时间由 2s 减为 750ms。 ds18b20 测温原理如图 3 所示。图中低温度系数晶振的振荡频率受温度影响很小,用于产生固定频率的脉冲信 号送给计数器 1。高温度系数晶振随温度变化其振荡率明显改变,所产生的信号作为计 数器 2 的脉冲输入。计数器 1 和

18、温度寄存器被预置在55所对应的一个基数值。计 数器 1 对低温度系数晶振产生的脉冲信号进行减法计数,当计数器 1 的预置值减到 0 时,温度寄存器的值将加 1,计数器 1 的预置将重新被装入,计数器 1 重新开始对低温 度系数晶振产生的脉冲信号进行计数,如此循环直到计数器 2 计数到 0 时,停止温度 寄存器值的累加,此时温度寄存器中的数值即为所测温度。图 1.5 中的斜率累加器用 于补偿和修正测温过程中的非线性,其输出用于修正计数器 1 的预置值。 图 1.5 ds18b20 测温原理框图 ds18b20 有 4 个主要的数据部件: 光刻 rom 中的 64 位序列号是出厂前被光刻好的,它可

19、以看作是该 ds18b20 的地 址序列码。64 位光刻 rom 的排列是:开始 8 位(28h)是产品类型标号,接着的 48 位 是该 ds18b20 自身的序列号,最后 8 位是前面 56 位的循环冗余校验码 (crc=x8+x5+x4+1)。光刻 rom 的作用是使每一个 ds18b20 都各不相同,这样就可以 实现一根总线上挂接多个 ds18b20 的目的。 ds18b20 中的温度传感器可完成对温度的测量,以 12 位转化为例:用 16 位符号 扩展的二进制补码读数形式提供,以 0.0625/lsb 形式表达,其中 s 为符号位。 2.3.3 lcd1602 液晶显示器 字符型lcd

20、1602通常有14条引脚线或16条引脚线的lcd,多出来的2条线是背光电源 线vcc(15脚)和地线gnd(16脚),其控制原理与14脚的lcd完全一样,引脚定义如表2.2 所示: 表 1.2 引脚接口说明表 编号符号引脚说明编号符号引脚说明 1vss电源地9d2数据 2vdd电源正极10d3数据 3vl液晶显示偏压11d4数据 4rs数据/命令选择12d5数据 5r/w读/写选择13d6数据 6e使能信号14d7数据 7d0数据15bla背光源正极 8d1数据16blk背光源负极 第 1 脚:vss 为地电源。 第 2 脚:vdd 接 5v 正电源。 第 3 脚:vl 为液晶显示器对比度调整

21、端,接正电源时对比度最弱,接地时对比度 最高,对比度过高时会产生“鬼影”,使用时可以通过一个 10k 的电位器调整对比度。 第 4 脚:rs 为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。 第 5 脚:r/w 为读写信号线,高电平时进行读操作,低电平时进行写操作。当 rs 和 r/w 共同为低电平时可以写入指令或者显示地址,当 rs 为低电平 r/w 为高电平时可 以读忙信号,当 rs 为高电平 r/w 为低电平时可以写入数据。 第 6 脚:e 端为使能端,当 e 端由高电平跳变成低电平时,液晶模块执行命令。 第 714 脚:d0d7 为 8 位双向数据线。 第 15 脚:背光

22、源正极。 第 16 脚:背光源负极。 2 系统电路设计 2.1 系统电路图 首先对硬件系统 18b20 定义端口为 p1.3,p2.4,p2.5,p2.6 和 p0 口控制液晶 lcm1602 的显示,定义端口 p1.5 为马达控制端口,p1.7 为喇叭控制端口。首先对温度采集,将 采集到的温度转换数字,采集到的温度由 lcm 液晶显示屏显示。再将采集到的温度所 属软件设置的哪个范围,而控制 p1.5 的电平输出。电路原理图如 2.1 所示: 图 2.1 系统电路图 电路原理图用 protues 软件绘制而成。用 protues 软件绘制电路原理图方便,快 捷。protues 软件有丰富的元件

23、库,智能的器件搜索,智能化的连线,可输出高质量的 图纸。电路原理图清晰明了。 2.2 硬件设计 系统的硬件组成部分包括:主控制器 at89c52 单片机、温度传感器 ds18b20、显示 电路 lcd1602、报警装置等构成;整个设计的电路包括了最小系统电路、温度控制电路、 温度显示电路、按键电路和报警电路五部分电路组成。 2.2.1 时针电路 at89c52 芯片内部有一个高增益反向放大器,用于构成震荡器。反向放大器的输入 端为 xtal1,输出端为 xtal2。在 txal1 和 xtal2 两端跨接由石英晶体及两个电容构成 的自激震荡器10,如图 2.2 所示。电容器 c1 和 c2 取

24、 22pf,选用不同的电容量对震 荡频率有微调作用。但石英晶体本身的标定频率才是单片机震荡频率的决定因素。 图 2.2 时钟电路 时钟电路中,两个电容都选择 22pf 的电容,电容各一端接与晶振相连,各一端 接地。选择的晶振是频率为 12mhz。此模块就是产生象时钟一样准确的振荡电路。 2.2.2 复位电路 at89c52 单片机通常采用上电自动复位和开关手动复位两种方式。本系统采用上电 复位电路,如图 3-3 所示,所谓上电复位,是指单片机只要一上电,便自动地进入复 位状态。在通电瞬间,电容 c 通过电阻 r 充电,rst 端出现正脉冲,用以复位。 图 2.3 复位电路 复位电路的基本功能是

25、:系统上电时提供复位信号,直至系统电源稳定后,撤销 复位信号。为可靠起见,电源稳定后还要经一定的延时才撤销复位信号,以防电源开 关或电源插头分-合过程中引起的抖动而影响复位。rc 复位电路可以实现上述基本功能, 但解决不了电源毛刺和电源缓慢下降等问题,而其调整 rc 常数改变延时会令驱动能 差。 2.2.3 温度采集电路 温度控制电路主要运用到了 ds18b20 和 at89s52。如何使两者连接实现功能是温度 控制电路的主要设计目的。 在硬件上,ds18b20 与单片机的连接有两种方法,一种是 vcc 接外部电源,gnd 接 地,i/o 与单片机的 i/o 线相连;另一种是用寄生电源供电,此

26、时 udd、gnd 接地,i/o 接单片机 i/o。内部寄生电源 i/o 口线要接 5k 左右的上拉电阻。这里采用的是第一 种连接方法,如图 2.4 所示 图 2.4 ds18b20 管脚图 dq 为数据输入/输出引脚,连接 p1.3。开漏单总线接口引脚。当被用着在寄生电 源下,也可以向器件提供电源,gnd 为地信号;vcc 为电源信号。 p2 口为一个内部上拉电阻的 8 位双向 i/o 口,p2 口缓冲器可接收,输出 4 个 ttl 门电流,当 p2 口被写“1”时,其管脚电位被内部上拉电阻拉高,且作为输入。作为 输入时,p2 口的管脚电位被外部拉低,将输出电流,这是由于内部上拉的缘故。 图

27、 2.5 温度采集电路 传感器数据采集电路主要指 ds18b20 温度传感器与单片机的接口电路。ds18b20 可 以采用两种方式供电,一种是采用电源供电方式,此时 ds18b20 的 1 脚接地,2 脚作为 信号线,3 脚接电源。另一种是寄生电源供电方式考虑到实际应用中寄生电源供电方式 适应能力差且易损坏,此处采用电源供电方式,i/o 口接单片机的 p2.4 口。 2.2.4 显示电路 用 at89c52 的 p0 口作为数据线,用 p2.4、p2.5、p2.6 分别作为 lcd 的 e、r/w、rs。其中 e 是下降沿触发的片选信号,连接 p2.6,r/w 是读写信号,连接 p2.5,rs

28、 是寄存器选择信号,连接 p2.4。图 2.6 为 lcd1602 的硬件连接。 图 2.6 lcd1602 的硬件连接 vee 用连接一阻值为 10k 的电阻,主要用于调节对比度的调整。接正电源时对比 度最落,接地电源时,对比度最高。对比度过高时,会产生“鬼影”。因此连接一 10k 的电阻用以调整。当 p0 口作为 i/o 用时需要上拉电阻,如图 3.5 接一排阻,用于上拉。 2.2.5 报警电路 系统采用的报警器件是蜂鸣器,用引脚 p1.7 控制。如图 2.7 所示 图 2.7 报警电路 蜂鸣器和普通扬声器相比,最重要一个特点是只要按照极性要求加上合适的直流 电压,就可以发出固有频率的声音

29、,因此使用起来比扬声器简单。由此可知,蜂鸣器 的控制和 led 的控制对单片机而言是没有区别的。 3 程序原理及系统流程图 y y n 初始化中断和定时器 开始 显示初始化 set 键被按下? 从 ds18b20 读取温度并显示 温度极限 返回 执行报警程序 n 按键设置 图 3.1 主程序流程 主程序的主要功能是负责温度的实时显示、读出并处理 ds18b20 的测量的当前温 度值,温度测量每 250ms 进行一次。主程序的第二个功能是查询 set 键是否被按下, 以实现设置温度上下限的功能。其程序流程见图 3.1 所示。由总的流程图可以分析出, 在整个程序中应该包括如下几个部分:读写 ds1

30、8b20 子程序,温度转换子程序,处理 温度数据子程序,动态数据显示子程序等。 3.1 读取温度子程序 读出温度子程序的主要功能是读出 ram 中的数据,在读出时需进行 crc 校验, 校验有错时不进行温度数据的读取。其程序流程图如图 3.2 所示。 y n 开始 初始化 ds18b20 写 ds18b20 读取温度指令 温度转移成功? 移入温度寄存器 单片机读取温度数据 结束 图 3.2 读取温度子程序 cpu 对 ds18b20 的访问流程是:先对 ds18b20 初始化,再进行 rom 操作命令, 最后才能对存储器操作,数据操作。ds18b20 每一步操作都要遵循严格的工作时序和 通信协

31、议。如主机控制 ds18b20 完成温度转换这一过程,根据 ds18b20 的通讯协议, 须经三个步骤:每一次读写之前都要对 ds18b20 进行复位,复位成功后发送一条 rom 指令,最后发送 ram 指令,这样才能对 ds18b20 进行预定的操作。 void init_ds18b20(void) unsigned char x=0; dq = 0; delay_18b20(80); dq = 1; delay_18b20(14); x=dq; delay_18b20(20); 上述程序中将 dq 拉低,精确延时,再将 dq 拉高,通过判断 x 的值来确定是否 已经初始化完成。 另外,由于

32、 ds18b20 单线通信功能是分时完成的,它有严格的时隙概念,因此读 写时序很重要。单总线的所有处理均从初始化开始。初始化过程是主机通过向作为从 机的 ds18b20 芯片发一个有时间宽度要求的初始化脉冲实现的。初始化后,才可进行 读写操作。rom 操作命令 总线主机检测到 ds18b20 的存在,便可以发出 rom 操作 命令之一。对 ds18b20 操作,先跳过 rom,即是启动 ds18b20 进行温度变换,之后 通过匹配 rom 再逐一地读回每个 ds18b20 的温度数据。在 ds18b20 组成的测温系 统中,主机在发出跳过 rom 命令之后,再发出统一的温度转换启动码 44h,

33、就可以实 现所有 ds18b20 的统一转换,再经过 250ms 后,就可以用很少的时间去逐一读取。这 种方式使其 t 值往往小于传统方式。 unsigned char a,b; signed int temp; ea=0; init_ds18b20(); writeonechar(0 xcc); writeonechar(0 x44); delay_18b20(70); ea=1; init_ds18b20(); ea=0; writeonechar(0 xcc); writeonechar(0 xbe); a=readonechar(); b=readonechar(); ea=1; te

34、mp=b; temp0) data_t4=shuju/100+0 x30; else shuju=shuju+0 x01; data_t4=-; data_t5=shuju%100/10+0 x30; data_t6=shuju%10+0 x30; 段程序的作用在于,在接收到温度信息后,通过转化,变成能在 lcd 上显示的字 符。再通过 lcd 显示出来。 3.3 设置温度上下限程序 该系统可以设置温度上下限,当 set=1,开启中断,可以设置温度上限,如果 dec 有效,减一;如果 add 有效,加一。当 set=2,开启中断,可以设置温度下限,如果 dec 有效,减一;如果 add 有效,

35、加一。流程图如 3.3 所示。 对于设置上下限来说,最重要的是切换到底是对 th 还是 tl 进行设置,可加减温 度。因此在设计过程中必须满足这两点, n y n y 开始 set 等于 0? set 等于 1? 开中断设置温度上限 set 等于 2 开中断设置温度下限 复位 结束 n y 图 3.3 设置温度上下限程序 用于说明进入加减状态,方便修改温度上限。 sbit point=p13; sbit th=p14; sbit tl=p15; void delay(uchar k) uchar i,j; for(j=0;jk;j+) for(i=0;i200;i+); 3.4 计时时间设置

36、计时器作为本设计的特点,其程序时间相当重要 y n 初始化计时器 开始 开始计时 到达报警时间? 继续计时 结束 报警 图 5-4 计时器工作流程 当计数器被初始化后,根据 at89s52 的内部晶振周期,开始计时。当达到设置的 报警温度时,报警电路发出报警声,此报警声有别于当温度到达温度上限时的报警声, 使得用户不会发生混淆。 在程序编写过程中,最为重要的是如何在进行其他设置时,计时器还持续工作, 并且如何使得计时器的跳动变得正确,如何使计时期在到达报警时间后,能够发出警 报,如何使报警的声音又别于温度到达上限时发出的报警声。 write1602com(0 x80); data_t5=.;

37、for(i=0;i10;i+) dealdata(); write1602dat(data_ti); delay(1); 整段程序过于繁琐,不作赘述。本段程序的功能主要是如何使得计时的温度显示 在显示器上。 4 软件仿真 4.1 软件介绍 proteus 是英国 labcenter 公司开发的电路分析与实物仿真及印制电路板设计 软件,它可以仿真、分析各种模拟电路与集成电路,软件提供了大量模拟与数字元 器件及外部设备,各种虚拟仪器,特别是它具有对单片机及其外围电路组成的综合 系统的交互仿真功能。 proteus 主要由 isis 和 ares 两部分组成,isis 的主要功能是原理图设计及与电路

38、 原理图的交互仿真,ares 主要用于印制电路板的设计。 4.2 仿真过程 在 proteus 中仿真如下图所示,主要包括四部分:测量并显示温度,设置温度上 限,设置温度下限和测量开机时间。 图 4.1 测试温度仿真 在仿真过程中,主要检测 ds18b20 是否能快捷的检测出室温,能否随着温度的变 化而变化。这是检验是否能检验温度的重要标准。 由仿真结果可以看出,温度传感器显示的温度和 lcd 上显示的温度是相同的,并 且正确测出了室温,这就很好的验证了本设计具有准确的检测出室温并且能正确的显 示的功能。 设置温度上下限时,主要通过第四按键来选择是否修改上下限。而设置温度上限 和设置温度下限的

39、方式相同。所以举例演示上限的设置方法。 图 4.2 温度上限设置的仿真演示 当按下 point 键,直至表示 th 的 d6 灯亮起,再按下 enter 键表示确定修改,此 时 lcd 上,代表温度上限的数字开始闪烁跳动,在通过 add 键和 sub 键组合使用,加 减温度上限,在演示中,我将温度上限上调了亮度,再按 enter 键确定,则温度上限 修改完成,下限的设置方法相同。 通过显示证明了本设计的温度计能够精确的调整温度的上下限设置。 对于开机时间的测试则更加容易说明。 图 4.3 开机时间测试仿真演示 刚开机时,lcd 显示屏的右下角显示的是 3 秒,在相同的环境下,使其正常运行数 十

40、分钟后,其它数值未发生改变,而代表开机时间的数字则变成了 48 分钟,比较真实 的时间发现,这个时间和真实的时间是相同的,这说明此设计能很好的记录开机的时 间,方便人们的观测。 图 4.4 报警电路仿真 当设置的最高温度低于室温时,报警电路开始启动,报警灯持续闪烁,耳边不断 响起报警声。直至设置高于常温的最高温度。 在设计中加入了计时报警功能,当计数器到达 30 秒或者 30 秒的倍数时,电路自 动报警,提示用户温度计已经运行的时间。 5 实物的焊接与调试 由于本次设计使用的是万能实验板,上面没有布线,并且所需元器件比较多,所 以焊接起来比较麻烦,因此焊接时一定要小心,避免虚焊和短路。每焊完一

41、个元器件 或者一条线路都要用万用表检查焊接是否成功。 实物焊出来之后,先要进行硬件调试。电路的调试过程是检验、修正设计方案的 实践过程,也是应用理论知识来解决实践中各类问题的关键环节,是电路设计者必须 掌握的基本技能。 把电子元器件连接起来,实现特定功能的关键一步是调试。调试方法有两种:分 块调试法和整体调试法。 图5.1 实物成品 具体的调试步骤如下: (1) 电前检查。任何组装好的电子电路,在通电调试之前,必须认真检查电路连 线是否有误。检查的方法是对照电路图,按一定的顺序逐级对应检查。特别是注意电 源是否接错,电源与地是否有短接,集成电路和晶体管的引脚是否接错,轻轻拨一拨 元器件,观察焊

42、点是否牢固等 (2)通电检查。先调试好所需电源电压数值,然后再给电路接通电源。电源一经接 通,先要观察是否有异常现象,如冒烟、异常气味、放电的声光、元器件发烫等。如 果有,应立即关断电源,待故障排除后,方可重新接通电源。然后,测量每个集成块 的电源引脚电压是否正常,以确信集成电路是否已通电工作。 (3)分块调试。分块调试时应明确本部分的调试要求,按调试要求测试性能指示和 观察波形。调试顺序按信号的流向进行,这样可以把前面调试过的输出信号作为后一 级的输入信号,为最后的整机联调创造条件。 (4)整机联调。整机联调时应观察各单元电路连接后各级之间的信号关系,主要观 察动态结果,检查电路的性能和参数

43、,分析测量的数据和波形是否符合设计要求。 实物经过硬件调试后还要进行软件调试,即将程序写入到单片机存储器中,实现设计功 能。 5 总结 在单片机自动控制已经广泛的应用于人们的生产和生活的今天,传统用模拟电路 来控制温度的做法,已经逐渐被淘汰。这个系统的实现,改变了传统的温度控制方法, 为温度的控制开辟了一条新的道路。 与传统的温度计相比,具有读数方便,测温范围广,测温准确,其输出温度采用 数字显示,由于并且单片机价格的相对低廉,能够大量的普及。现在温度计的需求在 日益增大当中。 生活中,人们渐渐习惯了温度计的存在,而单片机的相对低廉决定了温度计的经 济效益。对于本系统的使用者来说,本系统能够很稳定的控制温度而且稳定性很高。 只要配上适当的温度传感器,这个系统便还可以实现很多领域的温度自动控制。这对 于提高系统的利用率,避免重复设计有很大的帮助的。在本系统的作用下,可以为工 作系统提供一个良好的环境,使产品的数量和质量有很大的提高。使得产品的生产成 本降低,从而使系统的使用者获得的利润提高了。 在农业大棚技术发展的今天,大棚

温馨提示

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

评论

0/150

提交评论