毕业设计(论文)-基于单片机的多功能饮水机硬件设计.doc_第1页
毕业设计(论文)-基于单片机的多功能饮水机硬件设计.doc_第2页
毕业设计(论文)-基于单片机的多功能饮水机硬件设计.doc_第3页
毕业设计(论文)-基于单片机的多功能饮水机硬件设计.doc_第4页
毕业设计(论文)-基于单片机的多功能饮水机硬件设计.doc_第5页
已阅读5页,还剩37页未读 继续免费阅读

下载本文档

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

文档简介

摘 要 随着计算机技术的发展,单片机技术已成为计算机技术中的一个独特的分支, 单片机的应用领域也越来越广泛,特别是在工业控制和仪器仪表智能化中扮演着极 其重要的角色。过去经常采用模拟电路、数字电路实现的电路系统,现在相当大一 部分可以用单片机予以实现,传统的电路设计方法已演变成软件和硬件相结合的设 计方法。在实际应用中,单片机经常要与各种传感器相结合组成一定的应用系统, 以实现系统的自动检测与控制。 本文所设计的智能饮水机就是单片机结合传感器的一个简单应用。该系统设计 综合单片机以及电子技术理论,从生活实际出发,完善了饮水机的功能。设计方案 中,主要采用数字温度传感器 DS18B20 组成测温系统作为检测单元,并运用了 AT89C52 作为主机单元、 X5045EEPROM 作为存储单元、HD7279 芯片来管理键盘 和显示器。整个设计系统实现三个功能,即加热、对温度上下限的控制和定时加热。 与传统的饮水机相比,由于采用了自动检测和控制的电子设计技术,可较好地实现 对水温的测量和控制,具有较广泛的应用前景。 关键词: 温度采集,89C52,X5045,HD7279. 目录目录 摘摘 要要 .I ABSTRACT.II 第第 1 章章 绪绪 论论.1 1.1 引言.1 1.2 研究的目的与意义.1 1.3 本次设计的工作.2 第第 2 章章 总体设计总体设计.3 2.1 设计任务.3 2.2 系统结构设计.3 2.2.1 电路原理和器件选择.3 2.2.2 系统框图及说明.4 第第 3 章章 硬件设计硬件设计.6 3.1 主板设计.6 3.1.1 主机单元.6 3.1.2 存储单元.7 3.1.3 人机接口单元.9 3.2 副板设计.14 3.2.1 温度采集单元.14 3.2.2 时钟单元.15 3.3 控制单元.17 3.4 原理图的绘制设计.17 第第 4 章章 软件设计软件设计.19 4.1 主程序设计.19 4.1.1 主程序和中断程序流程图.19 4.1.2 变量和常量说明.20 4.2 人机接口单元软件设计.22 4.2.1 键处理程序流程图及说明.22 4.2.2变量和常量说明.23 4.2.3 各按键功能及其子程序说明.24 4.3 DS1302 的软件设计.24 4.4 DS18B20 的软件设计.25 第第 5 章章 系统的调试和问题总结系统的调试和问题总结.28 5.1 系统硬件调试.28 5.2 系统软件调试.28 结束语结束语.30 致致 谢谢.31 参考文献参考文献.32 附录一附录一 系统原理图系统原理图.33 附录二附录二 系统系统 PCB 图图.35 附录三附录三 元件列表元件列表.36 第 1 章 绪 论 1.1 引言 信息技术快速发展的今天,单片机技术的贡献是不可缺少的。生产中使用的 智能仪表、分布式控制系统总线、智能家电和智能办公设备都可以见到单片机的 身影。日常生活中使用的电子产品如MP3、手机、智能洗衣机、智能饮水机等 都是以单片机为核心的。本文 所设计的多功能饮水机就是单片机结合传感器的一 个简单应用。 1.2 研究的目的与意义 单片机在电子产品中的应用已经越来越广泛, 在很多电子产品中也用到了温度 检测和温度控制。 目前广泛使用的饮水机,具有价格低廉,制造简便等优点。但是随着用户长时 间使用,这些饮水机功能单一、能耗较大、长时间饮用饮水机的水对健康不利等缺 点逐渐暴露出来。 传统的饮水机的局限性一般体现在以下几个方面:第一,功能相对简单。只有简 单的温度控制,而且用户还不能自己根据自己的喜好设定温控参数。第二,能耗较大。 在没有人使用的时候饮水机也处在开机状态无疑会造成能源的大量浪费,在能源紧 缺的今天这个方面亟待解决。第三, 长期饮用饮水机里的水会对健康不利。由于广 泛使用的饮水机烧水不能完全沸腾,长期饮用这种水会对身体造成较大的伤害。 本此设计的基于 AT89C52 的多功能饮水机, 采用 DS18B20 实现温度采集,经 过 HD7279 管理的 LED 显示, 读数直观、准确。并且程序存储器 E2PROM 采用了, 可以很容易的实现软件升级, 从软件方面提高仪器精度。同时可以对加热实现基本 的控制,从而防止了“千滚水”对身体造成的伤害,满足生活的需求2。 1.3 本次设计的工作 (1)查阅大量的国内外有关多功能饮水机方面的文献资料,剖析了一些饮水机的 实际产品,并吸取同类产品的优点。 (2)根据饮水机的发展趋势和现有的设计条件,提出了多功能饮水机的整体设计 方案和技术要求。 (3)完成了系统硬件部分选型、设计和制作,并进行了调试。 第 2 章 总体设计 2.1 设计任务 1设计题目:多功能饮水机 2仪表功能: 1) 对温度上下限的控制; 2) 定时开机、定时关机; 3) 对实时温度进行采集并在 LED 数码管上进行显示; 3仪表操作:用户可以根据自己的喜好来设计不同温度上下限。上电以后系统将自 动运行,显示的是当前水温,按一次设定按键,可实现显示温度控制的上限值,再 按增建或减键配合左移键可以修改这个值,最后按一下确认键将新修改的值保存。 温度下限、定时开机时间、定时关机时间的修改和温度上限相似,设定键用来切换 设定参数,温度上下限,开机时间、关机时间,以及时钟时间。用增建、减键加上 左移键可以完成对这些参数的修改3。 2.2 系统结构设计 2.2.1 电路原理和器件选择 主机单元由 AT89C52 单片机和相关的存储器组成,是仪表的核心。关键部分期 间名称及其在电路中的主要功能如下: (1)AT89C52:完成监控系统数据采集过程、采集方式和报警过程的控制。是 整个系统的核心处理器,单片机首先把通过传感器测到的现场温度与预先设置的温 度进行比较,如果大于或小于预先设置值,就输出信号去控制加热器的工作,从而实现 温度控制。 (2)X5045:看门狗定时器防止系统死机,保证程序正常运行;内部 EEPROM 有掉电数据存储功能,用于保存各采集通道的报警上限。 (3)HD7279:管理键盘和 LED 显示器,实现人机交互。 (4)DS18B20:单线数字温度传感器,可直接将被测温度转化为串行数字信号, 以供单片机处理。 (5)DS1302:是一种高性能、低功耗、带 RAM 的实时时钟芯片,它可以对年、 月、日、星期、时、分、秒进行计时,且具有闰年补偿功能,工作电压为 2.55.5V。 2.2.2 系统框图及说明: AT89C52 看门狗 时钟芯片 电源 温度检测 加热控制 HD7279 键盘 显示 图 2.1 系统框图 (1)电源部分 电源给系统各芯片提供工作电压。本次设计主要给各个芯片提供+5V 电压。 (2)温度检测部分 本次设计采用 DS18B20 采集温度。 (3)加热控制部分 加热控制部分由 9012 三极管、固态继电器、加热电阻组成。实现对水的加热和 温度控制。 (4)键盘显示部分 将 DS18B20 的温度信号和 DS1302 时钟信号以某种方式显示出来。显示仪表中 常用 LED 数码管显示测量数据。本次设计用数码管显示实时温度值、温度控制上限 值、温度控制上限值,时间、开始时间和关机时间,每个参数显示采用 8 个 LED。 同时为了更好的实现系统的功能,还要设计 5 个按键:设定键、增建、减键、左移 键、确定键,使饮水机具有基本的人机交互功能。本次设计选用 HD7279 与微处理 器接口,可有效实现对按键和 LED 数码管的管理。 (5)看门狗部分 该部分实现采用 X5045 芯片,防止系统死机,保证程序正常运行。另外, X5045 有 EEPROM 保存温度控制的上下限4。 第 3 章 硬件设计 本次设计设计的多功能饮水机,采用 DS18B20 实现温度的实时采集,DS1302 时钟芯片来调整时间。采用 AT89C52 单片机作为系统微控制器,实现与 DS1302、DS18B20 的控制及对数据的处理显示。采用 HD7279 管理键盘和显示器, 采用 X5045 实现掉电保护重要参数功能,看门狗功能,防止系统死机。在硬件电路 设计中主要使用了 DS18B20 温度传感器,DS1302 时钟芯片,单片机 AT89C52,键 盘和显示器管理芯片 HD7279,X5045 等。另外,开关量控制环节选用了 9012 三级 管和固态继电器实现了弱电对强电的控制。 3.1 主板设计 AT89C52、HD7279、X5045 和振荡电路组成了主机单元,是仪表的核心部分。 利用 X5045EEPROM 存储测量值上下限和开机、关机时间,并且具有看门狗定时器 功能,来进行数据采集等过程的设置和控制,振荡电路在单片机内部产生脉冲信号, C1 、C2 为 30pf,晶振振荡频率为 12MHz. 3.1.1 主机单元 AT89C52 单片机是 ATMEL 公司 20 实际 90 年代初期推出的增强型单片机,它完 全兼容标准型的 AT89C51,并在 AT89C51 的基础上增加了 128B 的片内 RAM,4KBFlash 存储器,T2 定时器等功能。 1) 外部引脚及功能: AT89C52 与 AT89C51 的引脚一样,也有 PDIP,PICC,TQFP 等多种封装形式。.如图 3.1,引脚的区别是由于增加了定时器 2 而引起的。有区别的只有 P1.0,P1.1 两个引脚,这两个引脚在不使用定时器 2 时 仍可作为静态 I/O 接口使用,在单片机使用定时器 2 时,P1.0,P1.1 还可能承担着 外部记数脉冲输入,外部触发信号输入,可编程方波输出等功能 5 。 2) 内部增强功能单元 : AT89C52的内部功能完全兼容AT89C51的功能,而且在 AT89C51的基础上增加了128B的片内RAM,4KBFlash存储器,T2定时器等功能。 关于新增加的4KBFlash存储器,只是AT89C52片内ROM地址分配变成为0000H- 1FFFH,其使用方法与AT89C51的一样。 图3.1 AT89C52 引脚配置 3.1.2 存储单元 X5045 是单片机系统电路的一个辅助芯片,它将复位,电压检测,看门狗定时 器和块锁保护的串行 EEPROM 功能集合成一个芯片内;采用 SPI 串行外设接口方式, 降低了系统成本并减少了对电路板空间的要求,提高了系统的可靠性。 1. X5045 的功能介绍 (1)上电复位 当器件通电并超过 VCC 压时,X5045 内部的复位电路将会提供一个约为 200ms 的复位脉冲让微处理器能够正常复位。 (2)看门狗定时器 看门狗定时器对微处理器提供了一个因外界干扰而引起程序陷入死循环或“跑 飞”状态保护的功能。X5045 内部的一个控制寄存器中有两位可编程位决定了定时 周期的长短。当系统出现故障时,在设定的时间内如果没有对 X5045 进行访问,看 门狗定时器以 RESET 信号作为输出响应,即变为高电平,延时约 200ms 以后 RESET 由高电平变为低电平。/CS 的下降沿复位看门狗定时器。 P1.0/T2 1 P1.1/T2EX 2 P1.2 3 P1.3 4 P1.4 5 P1.5 6 P1.6 7 P1.7 8 RST 9 P3.0/RxD 10 P3.6/WR 16 P3.7/RD 17 XTAL2 18 XTAL1 19 VSS 20 P2.2/A10 23 P2.3/A11 24 P2.4/A12 25 P2.5/A13 26 P2.7/A15 28 ALE 30 P0.7/AD7 32 P0.6/AD6 33 P0.5/AD5 34 P0.4/AD4 35 P0.3/AD3 36 P0.2/AD2 37 P0.1/AD1 38 P0.0/AD0 39 VCC 40 U1 89C52 (3)低电压检测 工作过程中 X5045 监测电源电压下降并电源电压跌落到 VCC 压以下时,会产 生一个复位脉冲,复位脉冲保持有效直到电源电压降 1V 以下。如果电源电压在降 落到门限电压后上升,则在电源电压超过门限电压后延时约 200ms,复位信号消失, 使得微处理器可以继续工作6。 (4)串行 EEPROM 存储器 X5045 的存储器部分是具有 Xicor 公司的锁保护 CMOS 4KB 串行 E2PROM。它 被组织 8 位的结构,由一个四线构成的 SPI 总线方式进行操作,一次最多可写 16B。 2X5045 的引脚与定义: 1) SO 串行数据输出端。数据在 SCK 的下降 沿输出到 SO 上。 2) SI 串行数据输入端。所有操作命令、字节 地址及写入的数据在此引脚上输入,SI 线上输入 的数据在 SCK 的上升沿被锁存。 3) SCK 串行时钟输入端,控制数据的输入和输出。 图 3.2 X5045 的引脚图 4) /CS 芯片选择输入端(片选)。当 CS/为低电平时,X25045 能工作。CS/的电 平变化将复位看门狗定时器 5) VCC 电源电压。 6) /WP 写保护输入端,当 WP/为低电平时,对芯片的写操作被禁止,其他功能 仍正常。WP/为高电平时,写操作允许,其他功能仍然正常。 7) /RESET 复位输入端,漏极开路输出方式,高电平有效。用于电源检测和看 门狗超时输出。 8) GND 电源地。 3X5045 与单片机的接口电路 本次设计如图 3.3 所示,89C52 的 P1.0、P1.1、P1.2、P1.3 脚分别与 X5045 的 片选端 1 脚(/CS)、串行输入 2 脚(SO)、串行时钟 6 脚(SCK)和串行输出 5 脚(SI) 相连,二者的 RESET 引脚相连。P1.0 作为芯片选择输入端(片选)负责 X25045 是 CS 1 SO 2 WP 3 VSS 4 SI 5 SCK 6 RESET 7 VCC 8 X5045 否选通,当 89C52 访问 X25045 时将/CS 置低电平。/CS 信号一般不通过 P2 口选通, 因为 P2 口工作于地址总线时,其输出是脉冲方式,呈现高电平,不能保证片选持续 有效,也就不能对其进行任何操作。在这里不使用/WP 信号,直接接+5V。 5045 与单片机引脚连接和相关地址的分配如下 /CS:片选端,低电平有效,与P1.0相连; CLK:串行时钟输入端,与P1.2相连; SO:串行数据输出端,与P1.1相连; SI:串行数据输入端,与P1.3相连; RESET:复位端,与单片机的复位引脚RESET相连。 图 3.3 X5045 与单片机的接口电路 3.1.3 人机接口单元 /CS CS1 SO SO2 /WP 3 VS 4 8 RS 7 CK 6 SI 5 U1 X5045 P00 39 P01 38 P02 37 P03 36 P04 35 P05 34 P20 21 P21 22 P22 23 P23 24 P24 25 P25 26 P26 27 P27 28 RXD 10 TXD 11 P10 1 P11 2 P12 3 P13 4 P15 6 P16 7 P17 8 INT1 13 INT0 12 T1 15 T0 14 EA/VP 31 X1 19 X2 18 RESET RESET9 RD /RD WR /WR ALE/P 30 PSEN 29 P06 32 P07 31 P14 5 U2 AT89C52 -5 VCC 10K R? Res2 CS CK SI SO 30pF C1 30pF C2 12 CRY1 12MHZ -5 VCC HD7279是管理键盘和LED显示器的专用智能控制芯片,该芯片采用串行接口方 式,可同时驱动8位共阴极LED数码管或者64位独立LED发光二极管,同时能对多达 88的键盘矩阵进行监视,具有自动消除键抖动并识别按键代码的功能。从而可以 提高CPU的工作效率,同时其串行接口方式又可以简化CPU接口电路的设计。 1. HD7279的主要特点: (1)与CPU间采用串行接口方式,仅占用4根端口线; (2)内部含有译码器,可直接接收BCD码或16进制码,同时具有两种译码器方式, 实现LED数码管位寻址和段寻址,消隐和闪烁性等多种控制指令,编程灵活; (3)循环左移和循环右移指令; (4)内部含有驱动器,无需外围元件可直接驱动LED; (5)具有极联功能,可方便的实现多于8位显示或多于64键的键盘接口; (6)具有自动消除抖动并识别按键键值的功能。 2 . HD7279 的引脚说明 HD7279为28引脚标准双列直插式封装(DIP),单一的+5V供电,其引脚排列如图 3.4所示。 DIG0-DIG7分别为8个LED数码管的位驱动输出 端。SA-SG分别为LED数码管的A-G的输出端。DP 为小数点的驱动输出端。HD7279与微处理器仅需4 条接口线,其中非CS为片选信号(低电平有效)。RC 引脚用于连接HD7279的外接振荡元件,其典型值 为R=1.5千欧,,C=15pF。非RESET为复位端。该端 由低电平变成高电平并且保持25ms即复位结束。通 常,该端接+5V即可7。 图3.4 HD7279的引脚 VDD 1 VDD 2 NC 3 VSS 4 NC 5 CS 6 CLK 7 DATA 8 KEY 9 SG 10 SF 11 SE 12 SD 13 SC 14 SB 15 SA 16 DP 17 DIG0 18 DIGI 19 DIG2 20 DIG3 21 DIG4 22 DIG5 23 DIG6 24 DIG7 25 CLK0 26 RC 27 RESET 28 7279 表 3.1 HD7279 引脚说明 引脚名称说明 1,2VDD正电源(+5V) 3,5NC悬空 4VSS接地 6CS片选信号,低电平有效 7CLK同步时钟输入端 8DATA串行数据输入输出端 9KEY按键有效输出端 10-16SG-SALED 的 g-a 段驱动输出 17DP小数点驱动输出端 18-25DIG0-DIG7LED 位驱动输出端 26CLKO震荡输出端 27RCRC 震荡器连接端 28RESET复位端,低电平有效 3. AT89C52 与 HD7279 接口 本次设计采用 5 按键和 8 个 LED 显示,所用的是 HD7279 串行接口 8 位 LED 数码管及 64 键盘智能控制芯片。HD7279 与微处理器仅需 4 条接口线。在设计中将 /CS 接 P1.4,CLK 接 P1.5,DATA 接 P1.6,/KEY 接 P1.7,当 P1.4 清零时,选中 HD7279,可对其作相应的操作。 如图 3.5 所示,89C52 的 P1.4、P1.5、P1.6、P1.7 分别与 HD7279A 的 6 脚(/CS)、 7 脚(CLOCK)、8 脚(DATA)和 9 脚(/KEY)相连。P1.4 作为片选线,负责 HD7279A 是否选通,是 8 位准双向 I/O 口,可带 4 个 LSTTL 负载。当 89C52 访问 HD7279A(写入指令、显示数据、位地址、段地址或读出键值)时,将/CS 置低电 平。DATA 为串行数据,当 89C52 向 HD7279A 发送数据时,DATA 为输入端;当 89C52 从 HD7279A 读入数据时,DATA 为输出端。CLK 为数据串行传送的同步时 钟输入端,时钟的上升沿将数据写入 HD7279A 或从 HD7279A 中读出数据。KEY 为按键信号输出端,在无键按下时为高电平,有键按下时为低电平,并一直保持到 按键释放为止。 图 3.5 AT89C52 与 HD7279A 接口电路 7279 与单片机引脚连接和相关地址的分配如下 /CS:片选端,低电平有效,与 P1.4 相连 CLK:串行时钟输入端,与 P1.5 相连 DATA:串行数据输出/输入端,与 P1.6 相连 KEY:按键有效信息端,与 P1.7 相连 实际应用电路中(具体见附录主板原理图),8 只下拉电阻和 8 只位选电阻应 遵从一定的比例关系,下拉电阻应大于位选电阻的 5 倍而小于其 50 倍,典型值为 10 倍。在本次设计中,我选用了 100K 的下拉电阻,10K 的位选电阻。 100K/10K=10 满足比例关系 在不影响显示的前提下,下拉电阻应尽可能地取较小的值,这样可以提高键盘 部分的抗干扰能力8。 P00 39 P01 38 P02 37 P03 36 P04 35 P05 34 P20 21 P21 22 P22 23 P23 24 P24 25 P25 26 P26 27 P27 28 RXD 10 TXD 11 P10 1 P11 2 P12 3 P13 4 P15 6 P16 7 P17 8 INT1 13 INT0 12 T1 15 T0 14 EA/VP 31 X1 19 X2 18 RESET RESET9 RD /RD WR /WR ALE/P 30 PSEN 29 P06 32 P07 31 P14 5 U1 AT89C52 CS 6 DATA 8 CLK 7 KEY 9 NC 3 NC 5 VDD 1 VDD 2 RESET 28 RC 27 CLK0 26 VSS 4 DIG7 25 DIG6 24 DIG5 23 DIG4 22 DIG3 21 DIG2 20 DIG1 19 DIG0 18 DP 17 SA 16 SB 15 SC 14 SD 13 SE 12 SF 11 SG 10 U2 HD7279 VCC 1.5k 15pFC? P1.0/T2 1 P1.1/T2EX 2 P1.2 3 P1.3 4 P1.4 5 P1.5 6 P1.6 7 P1.7 8 RST 9 P3.0/RxD 10 P3.6/WR 16 P3.7/RD 17 XTAL2 18 XTAL1 19 VSS 20 P2.2/A10 23 P2.3/A11 24 P2.4/A12 25 P2.5/A13 26 P2.7/A15 28 ALE 30 P0.7/AD7 32 P0.6/AD6 33 P0.5/AD5 34 P0.4/AD4 35 P0.3/AD3 36 P0.2/AD2 37 P0.1/AD1 38 P0.0/AD0 39 VCC 40 U1 89C52 2.2K R8 2.2K R7 2.2K R6 2.2K R5 2.2K R4 200 200 200 200 200 200 200 200 d9d10 d12d13 d11 VCC VDD 1 VDD 2 Vss 4 CS 6 CLK 7 DATA 8 KEY 9 SG 10 SF 11 SE 12 SD 13 SC 14 SB 15 SA 16 DP 17 DIG1 19 DIG2 20 DIG3 21 DIG4 22 DIG5 23 DIG6 24 DIG7 25 DIG0 18 CLKO 26 RC 27 RESET 28 U2 HD7279 1.5K R3 15pF C4 VCC P1.0 DIG5 DP SA SB SC SD SE SF SG DIG4 DIG3 DIG2 DIG1 DIG0 100K R9 DIG6 DIG7 f 9 g 10 e 1 d 2 K 3 c 4 DP 5 b 6 a 7 K 8 D5 f 9 g 10 e 1 d 2 K 3 c 4 DP 5 b 6 a 7 K 8 D4 f 9 g 10 e 1 d 2 K 3 c 4 DP 5 b 6 a 7 K 8 D3 f 9 g 10 e 1 d 2 K 3 c 4 DP 5 b 6 a 7 K 8 D2 f 9 g 10 e 1 d 2 K 3 c 4 DP 5 b 6 a 7 K 8 D1 f 9 g 10 e 1 d 2 K 3 c 4 DP 5 b 6 a 7 K 8 D6 f 9 g 10 e 1 d 2 K 3 c 4 DP 5 b 6 a 7 K 8 D7 f 9 g 10 e 1 d 2 K 3 c 4 DP 5 b 6 a 7 K 8 D8 S1S2S3S5S4 4. HD7279 与键盘接口 利用 HD7279 的 10 脚作为行线,18 脚22 脚作为列线组成 5 键的键盘,完成 对键盘的译码和键值分别为 20H、18H、10H、08H、00H。根据键值就可以确定是 哪个键按下,具体见图 3.6。 5 HD7279 与 LED 数码管接口 HD7279A 是的串行控制芯片,能同时驱动 8 位共阴极 LED 数码管,在这里我 们只用到了 8 位共阴极 LED 数码管。HD7279A 是动态循环显示方式。HD7279A 的 10 脚-17 脚分别与 8 位 LED 数码管的 g、f、e、d、c、b、a、dp 段相连,18 脚-25 脚为 LED 数码管的位驱动输出端,负责 LED 每一位的亮与灭,如图 3.6 所示。 图 3.6 HD7279 与 LED、键盘接口电路 3.2 副板设计 本次副版设计选用 DS18B20 数字式温度传感器作为温度采集元件、DS1302 时 钟芯片副版的核心单元。同时选用 9012PNP 型三极管和固态继电器作为开关量环节 实现弱电对强电的控制。 3.2.1 温度采集单元 本次设计选用 DS18B20 温度传感器作为温度采集元件。DS18B20 是由美国 DALLAS 公司生产的单线数字温度传感器芯片。与传统的热敏电阻有所不同, DS18B20 可直接将被测温度转化为串行数字信号,以供单片机处理,它还具有微型 化、低功率、高性能、抗干扰能力强等优点。通过编程,DS18B20 可以实现 912 位的温度读数。信息经过单线接口送入 DS18B20 或从 DS18B20 送出,因此从微处 理器到 DS18B20 仅需连接一条信号线和地线。读、写和执行温度变换所需的电源可 以由数据线本身提供,而不需要外部电源。 DS18B20 可用引脚只有三个,如图 3.7 所示。引脚功能和 接线方法随芯片采用的供电方式不同而不同。DS18B20 有两种 供电方式,寄生电源模式和外部电源模式。工作于寄生电源模式 时, VDD 和 GND 都与地相接, DS18B20 从数据线上供电。当总 线为高电平时,DS18B20 从总线上供电,同时内部电容充电, 当总 线变为低电平时, 电容放电为 DS18B20 供电。DQ 为数字信号 输入/输出端;GND 为电源地;VDD 为外接供电电源输入端 (在寄生电源接线方式时接地) 。 图 3.7 DS18B20 引脚 1. 芯片内部结构 DS18B20 内部结构主要由四部分组成:64 位光刻 ROM、温度传感器、非挥发 的温度报警触发器 TH 和 TL、配置寄存器。 光刻 ROM 中的 64 位序列号是出厂前被光刻好的,它可以看作是该 DS18B20 的地址序列码。64 位光刻 ROM 的排列是:开始 8 位是产品类型标号,接着的 48 位 是该 DS18B20 自身的序列号,最后 8 位是前面 56 位的循环冗余校验码。光刻 ROM 的作用是使每一个 DS18B20 都各不相同,这样就可以实现一根总线上挂接多个 DS18B20 的目的9。 2. DS18B20 与单片机接口电路 如图 3.8,DQ 为温度传感器的数据输入/输出端,接到单片机的 P2.0 口。GND 接地,VCC 接电源。 图 3.8 DS18B20 与单片机接口电路 3.2.2时钟单元 DS1302 是 DALLAS 公司推出的一种高性能、低功耗、带 RAM 的实时时钟芯 片,它可以对年、月、日、星期、时、分、秒进行计时,且具有闰年补偿功能,工 作电压为 2.55.5V。DS1302 采用三线接口,与 CPU 进行同步通信,并可采用突发 方式一次传送多个字节的时间数据或 RAM 数据。DS1302 内部有一个 318 的用于 P1.0/T2 1 P1.1/T2EX 2 P1.2 3 P1.3 4 P1.4 5 P1.5 6 P1.6 7 P1.7 8 RST 9 P3.0/RxD 10 P3.1/TxD 11 P3.2/INT0 12 P3.3/INT1 13 P3.4/T0 14 P3.5/T1 15 P3.6/WR 16 P3.7/RD 17 XTAL2 18 XTAL1 19 VSS 20 P2.0/A8 21 P2.1/A9 22 P2.2/A10 23 P2.3/A11 24 P2.4/A12 25 P2.5/A13 26 P2.6/A14 27 P2.7/A15 28 PSEN 29 ALE 30 EA/VPP 31 P0.7/AD7 32 P0.6/AD6 33 P0.5/AD5 34 P0.4/AD4 35 P0.3/AD3 36 P0.2/AD2 37 P0.1/AD1 38 P0.0/AD0 39 VCC 40 AT89C52 DQ 2 GND 1 VCC 3 DS18B20 VCC 临时性存放数据的 RAM 存储器。 1. 芯片引脚说明: 如图 3.8,为 DS1302 的引脚排列 图,其中 Vcc1 为后备电源, VCC2 为主 电源。在主电源关闭的情况下,也能保持时钟的连续运行。DS1302 由 Vcc1 或 Vcc2 两者中的较大者供电。当 Vcc2 大于 Vcc10.2V 时,Vcc2 给 DS1302 供电。当 Vcc2 小于 Vcc1 时,DS1302 由 Vcc1 供电。X1 和 X2 是振荡源,外接 32.768kHz 晶振。RST 是复位/片选线,通过把 RST 输入驱动置高电平来启动所 有的数据传送。 RST 输入有两种功能:首先, RST 接通控制逻辑,允许地址 / 命令序列送入移位寄存器;其次, RST 提供终止单字节或多字节数据的传送手 段。当 RST 为高电平时,所有的数据传送被初始化,允许对DS1302 进行操作。 如果在传送过程中 RST 置为低电平,则会终止此次数据传送, I/O 引脚变为高 阻态。上电运行时,在 Vcc2.5V 之前,RST 必须保持低电平。只有在 SCLK 为低电平时,才能将 RST 置为高电平。 I/O 为串行数据输入输出端 (双向),后 面有详细说明。 SCLK 为时钟输入端 10。 图 3.8 DS1302 引脚 2. DS1302 与单片机的接口电路 如图 3.9,脚 RST 是复位端,接到 89C52 的 P2.4 引脚。GND 引脚接地,VCC 接 电源。SCLK 是串行时钟输入端,接到 89C52 的 P2.5 引脚。I/O 是数据输入/输出端, 接到单片机的 P2.3 口,X1、X2 是 32.768MHz 晶振输入输出端。 图 3.9 DS1302 与单片机的接口电路 3.3 控制单元 本次设计开关量控制环节选用了 9012 三极管和固态继电器实现了弱电对强电的 控制。如图 3.10。 9012PNP 型三极管应用广泛,在收音机等常用家电中可以经常看见它的身影。 9012 三极管在此作为开关量环节,起到了放大电流的作用,与固态继电器结合,从 而实现了开关的作用。 此次选用的固态继电器是百特公司的产品,该型号的固态继电器是直流输入控 制,交流过零导通,过零关断输出型无触点继电器。它常用与控制电路的导通和断 开,是控制一般家用电器,如电动机、加热器、白炽灯的首选器件。 X1 2 X2 3 VCC2 1 GND 4 RST 5 I/O 6 SCLK 7 U? VCC DS1302 100pF C1 100pF C2 12 Y? XTAL P1.0/T2 1 P1.1/T2EX 2 P1.2 3 P1.3 4 P1.4 5 P1.5 6 P1.6 7 P1.7 8 RST 9 P3.0/RxD 10 P3.6/WR 16 P3.7/RD 17 XTAL2 18 XTAL1 19 VSS 20 P2.0/A8 21 P2.1/A9 22 P2.3/A11 24 P2.4/A12 25 P2.5/A13 26 ALE 30 P0.7/AD7 32 P0.6/AD6 33 P0.5/AD5 34 P0.4/AD4 35 P0.3/AD3 36 P0.2/AD2 37 P0.1/AD1 38 P0.0/AD0 39 VCC 40 U1 89C52 图 3.10 开关量控制环节 3.4 原理图的绘制设计 EDA 技术是在电子 CAD 技术基础上发展起来的计算机软件系统,是指以计算 机为工作平台,融合了应用电子技术、计算机技术、信息处理及智能化技术的最新 成果,进行电子产品的自动设计。 此次原理图的设计主要包括键盘显示器电路设计、看门狗,温度采集电路设计。 原理图及其 PCB 图见附录。 (1)绘制原理图步骤: 新建原理图,设定图纸为 A4。 放置元器件,合理调整它们的位置。 绘制各个元器件之间的连线。 进行 ERC 电检查。 把各个元件依次编号和封装。 生成网络表。 进行原理图打印。 (2)生成 PCB 图 根据已经绘制好的原理图生成的网络表设计 PCB 电路板,并要认真填写元件的 封装形式和尺寸大小。 制作电路板步骤: 确认网络表的封装形式和尺寸无误。 9012 1 DC+ 2 DC- 3 AC+ 4 AC- VCC t 加加加加 在 KeepOut 层画出电路板边界。 装入元件库。 装入网络表。 手工对元件进行布局。 进行自动布线。 手工调整布线。 第 4 章 软件设计 硬件与软件是单片机应用开发系统的两个重要组成部分,本设计为了充分体现装 置的智能化以及减小硬件电路的体积,软件部分设计的重要性就显得尤为突出了, 所以软件设计工作在整个设计中是非常重要的、其工作量也是比较大的。 在拟订软件总体设计方案时,由于实际单片机控制系统的功能复杂、信息量大 和程序较长,这就需要选择合理的切合实际的程序结构设计方法。常用的设计方法 有三种:1、模块化的程序设计;2、自顶向下逐步求精程序设计;3、结构化程序设 计。在本设计中采用第一种方法,及模块化程序设计,它的设计思路是把一个复杂 应用程序整体功能规划成若干相对独立的程序模块,各模块可以单独设计、编程、 调试,然后把功能相关的模块通过连接程序连在一起调试,最后各模块在主程序控 制下进行总体调试,最终成为可完成设计要求,具有使用价值的程序11。 4.1 主程序设计 程序设计采用模块化设计,控制时序采用时间触发的时间片轮询调度法,1s 为 一个控制周期,分为 20 个时间片,每个时间片为 50ms,将所有的任务分配在各时 间片完成,主程序仅完成初始化,然后进入休眠状态。 50ms 定时采用 89C52 内部定时器 0,工作在方式 1,由于晶振为 12MHz,1 个机 器周期为 1 微秒,所以 T1 预装初始值=65536-50000=15536=3CB0H。X5045 看门狗 定时器周期设置为 200ms,写入状态寄存器常数 STATUS_REG=20H12。 4.1.1 主程序和中断程序流程图 主程序主要完成系统的初始化功能流程图如图4.1(a)所示,其中包括内部变量 清零、看门狗定时器初始化、键盘/显示芯片初始化、时钟芯片初始化,完成初始化 功能后,系统进入休眠状态,可减少功耗和提高抗干扰能力,由各种中断唤醒,执 行完中断服务程序后,重新进入休眠状态,系统的各任务在T0中断服务程序中执行, 中断服务程序流程图如图4.1(b)所示。 4.1.2 变量和常量说明 相关的主要变量和常量分配,一边安排在主程序开始时采用

温馨提示

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

评论

0/150

提交评论