智能饮水机毕业论文

毕业论文(设计)

题目:智能饮水机控制系统

摘 要

随着计算机技术的发展,单片机技术已成为计算机技术中的一个独特的分支,单片机的应用领域也越来越广泛,特别是在工业控制和仪器仪表智能化中扮演着极其重要的角色。过去经常采用模拟电路、数字电路实现的电路系统,现在相当大一部分可以用单片机予以实现,传统的电路设计方法已演变成软件和硬件相结合的设计方法。在实际应用中,单片机经常要与各种传感器相结合组成一定的应用系统,以实现系统的自动检测与控制。

本文所设计的智能饮水机就是单片机结合传感器的一个简单应用。该系统设计综合单片机以及电子技术理论,从生活实际出发,完善了饮水机的功能。设计方案中,主要采用数字温度传感器DS18B20组成测温系统作为检测单元,并运用了AT89C52作为主机单元、 X5045EEPROM作为存储单元、HD7279芯片来管理键盘和显示器。整个设计系统实现三个功能,即加热、对温度上下限的控制和定时加热。与传统的饮水机相比,由于采用了自动检测和控制的电子设计技术,可较好地实现对水温的测量和控制,具有较广泛的应用前景。

【关键词】 温度采集 89C52 X5045 HD7279

Abstract

With the development of computer technology, single-chip technology has

become the computer technology in a unique branch, SCM applications are

increasingly widespread, especially in the industrial control and instrumentation

play an extremely intelligent important role. to achieve automatic control of a

system to detect sensors often need to control the volume of industrial production

in the modern automated production processes in particular, the use sensors to

monitor and control the production process parameters, which makes the

application of sensors is the extensive, it is no exaggeration to say that almost

every project a modern, can not be separated from a variety of sensors. In this

paper, drinking fountains designed by the smart sensor is the single-chip

combination of a simple application.

The system is an integrated single-chip design, as well as the theory of

electronic technology, from the reality of life, improve the function of the

drinking fountains. Design, mainly composed of digital temperature sensor 18b20

detection unit as a temperature measurement system and the use of the 89C52,

x5045, hd7279, clock chips, such as 1302 integrated device. The design system of

three functions, namely, heating the upper and lower limits of temperature control

and heating time to time. Compared with the conventional drinking fountains, as a

result of the use of the automatic detection and control of electronic design

technologies to achieve better temperature measurement and control, with a wider

range of applications.

【Key Words】Temperature acquisition;89C52;X5045;HD7279

目 录

1 绪 论 ........................................................................ 错误!未定义书签。

1.1引言 ............................................................................. 错误!未定义书签。

1.2 研究的目的与意义 ..................................................... 错误!未定义书签。

2 总体设计 ................................................................... 错误!未定义书签。

2.1 设计任务 ................................................................. 错误!未定义书签。

2.2系统结构设计 ............................................................. 错误!未定义书签。

2.2.1电路原理和器件选择 ............................................................. 错误!未定义书签。

2.2.2系统框图及说明 ....................................................................................................... 4

3 硬件设计 ................................................................... 错误!未定义书签。

3.1 主板设计 ..................................................................... 错误!未定义书签。

3.1.1主机单元 ................................................................................................. 4

3.1.2 存储单元 ................................................................................................ 4

3.1.3 人机接口单元 ..................................................................................................... 7

3.2 副板设计 ................................................................................................... 10

3.2.1 温度采集单元 ...................................................................................... 10

3.2.2 时钟单元 ............................................................................................................ 11

3.3 控制单元 .................................................................................................... 11

3.4 原理图的绘制设计 ................................................................................... 12

4 软件设计 ...................................................................................................... 13

4.1 主程序设计 ................................................................................................. 13

4.1.1 主程序和中断程序流程图 ................................................................ 14

4.1.2 变量和常量说明 ............................................................................................ 15

4.2 人机接口单元软件设计 ............................................................................. 16

4.2.1 键处理程序流程图及说明 ................................................................ 16

4.2.2 变量和常量说明 ................................................................................ 17

4.2.3 各按键功能及其子程序说明 ..................................................................... 18

4.3 DS1302的软件设计 ................................................................................. 19

4.4 DS18B20的软件设计 .............................................................................. 19

5 系统的调试和问题总结 ..................................................................... 20

5.1 系统硬件调试 ........................................................................................... 20

5.2 系统软件调试 ........................................................................................... 21

参考文献 ........................................................................................................... 22

致 谢 ................................................................................................................ 23

附录一 系统原理图 .................................................................................... 24

附录二 系统PCB图 .................................................................................... 26

智能饮水机控制系统

1 绪 论

1.1引言

信息技术快速发展的今天,单片机技术的贡献是不可缺少的。生产中

使用的智能仪表、分布式控制系统总线、智能家电和智能办公设备都可以

见到单片机的身影。日常生活中使用的电子产品如MP3、手机、智能洗衣

机、智能饮水机等都是以单片机为核心的。本文所设计的智能饮水机就是

单片机结合传感器的一个简单应用[1]。

1.2 研究的目的与意义

单片机在电子产品中的应用已经越来越广泛, 在很多电子产品中也用到

了温度检测和温度控制。

目前广泛使用的饮水机,具有价格低廉,制造简便等优点。但是随着

用户长时间使用,这些饮水机功能单一、能耗较大、长时间饮用饮水机的

水对健康不利等缺点逐渐暴露出来。

传统的饮水机的局限性一般体现在以下几个方面:第一,功能相对简单。

只有简单的温度控制,而且用户还不能自己根据自己的喜好设定温控参数。

第二,能耗较大。在没有人使用的时候饮水机也处在开机状态无疑会造成

能源的大量浪费,在能源紧缺的今天这个方面亟待解决。第三,长期饮用

饮水机里的水会对健康不利。由于广泛使用的饮水机烧水不能完全沸腾,

长期饮用这种水会对身体造成较大的伤害。

本此设计的基于AT89C52的多功能饮水机,采用DS18B20实现温度采

集,经过HD7279管理的LED显示,读数直观、准确。并且程序存储器

E2PROM采用了,可以很容易的实现软件升级,从软件方面提高仪器精度。

同时可以对加热实现基本的控制,从而防止了“千滚水”对身体造成的伤

害,满足生活的需求[2]。

2 总体设计

2.1 设计任务

1.设计题目:智能饮水机

2.仪表功能:

1) 对温度上下限的控制;

2) 定时开机、定时关机;

3) 对实时温度进行采集并在LED数码管上进行显示;

3.仪表操作:用户可以根据自己的喜好来设计不同温度上下限。上电以后

系统将自动运行,显示的是当前水温,按一次设定按键,可实现显示温度

控制的上限值,再按增建或减键配合左移键可以修改这个值,最后按一下

确认键将新修改的值保存。温度下限、定时开机时间、定时关机时间的修

改和温度上限相似,设定键用来切换设定参数,温度上下限,开机时间、

关机时间,以及时钟时间。用增建、减键加上左移键可以完成对这些参数

的修改[5]。

2.2系统结构设计

2.2.1电路原理和器件选择

主机单元由AT89C52单片机和相关的存储器组成,是仪表的核心。关

键部分期间名称及其在电路中的主要功能如下:

(1)AT89C52:完成监控系统数据采集过程、采集方式和报警过程的控制。

是整个系统的核心处理器,单片机首先把通过传感器测到的现场温度与预先

设置的温度进行比较,如果大于或小于预先设置值,就输出信号去控制加热器

的工作,从而实现温度控制。

(2)X5045:看门狗定时器防止系统死机,保证程序正常运行;内部

EEPROM有掉电数据存储功能,用于保存各采集通道的报警上限。

(3)HD7279:管理键盘和LED显示器,实现人机交互。

(4)DS18B20:单线数字温度传感器,可直接将被测温度转化为串行数

字信号,以供单片机处理。

(5)DS1302:是一种高性能、低功耗、带RAM的实时时钟芯片,它可以

对年、月、日、星期、时、分、秒进行计时,且具有闰年补偿功能,工作

电压为2.5~5.5V。2-1图及说明:

图2-1 系统框图 (1)电源部分

电源给系统各芯片提供工作电压。本次设计给各个芯片提供+5V电压。

(2)温度检测部分

本次设计采用DS18B20采集温度。

(3)加热控制部分

加热控制部分由9012三极管、固态继电器、加热电阻组成。实现对

水的加热和温度控制。

(4)键盘显示部分

将DS18B20的温度信号和DS1302时钟信号以某种方式显示出来。显示

仪表中常用LED数码管显示测量数据。本次设计用数码管显示实时温度值、

温度控制上限值、温度控制上限值,时间、开始时间和关机时间,每个参

数显示采用8个LED。同时为了更好的实现系统的功能,还要设计5个按键:

设定键、增建、减键、左移键、确定键,使饮水机具有基本的人机交互功

能。本次设计选用HD7279与微处理器接口,可有效实现对按键和LED数码

管的管理。

(5)看门狗部分

该部分实现采用X5045芯片,防止系统死机,保证程序正常运行。另

外,X5045有EEPROM保存温度控制的上下限[4]。

(6)报警部分

该部分实现的作用是在水烧开后可以起提醒的作用,避免对此再加热。

3 硬件设计

本次设计设计的多功能饮水机,采用DS18B20实现温度的实时采集,

DS1302时钟芯片来调整时间。采用AT89C52单片机作为系统微控制器,实

现与DS1302、DS18B20的控制及对数据的处理显示。采用HD7279管理键盘

和显示器,采用X5045实现掉电保护重要参数功能,看门狗功能,防止系统

死机。另外,开关量控制环节选用了9012三级管和固态继电器实现了弱电

对强电的控制。

3.1 主板设计

AT89C52、HD7279、X5045和振荡电路组成了主机单元,是仪表的核

心部分。利用X5045EEPROM存储测量值上下限和开机、关机时间,并且

具有看门狗定时器功能,来进行数据采集等过程的设置和控制,振荡电路

在单片机内部产生脉冲信号,C1 、C2为30pf,晶振振荡频率为12MHz。

3.1.1主机单元

AT89C52与AT89C51的引脚一样,也有PDIP,PICC,TQFP等

多种封装形式。脚的区别是由于增加了定时器2而引起的。有区别的只有

P1.0,P1.1两个引脚,这两个引脚在不使用定时器2时仍可作为静态I/O接

口使用,单片机使用定时器2时,P1.0,P1.1还可能承担外部记数脉冲输入,

外部触发信号输入,可编程方波输出等功能[5] 。

-

图3-1 AT89C52 引脚配置

3.1.2 存储单元

X5045是单片机系统电路的一个辅助芯片,它将复位,电压检测,看门

狗定时器和块锁保护的串行EEPROM功能集合成一个芯片内;采用SPI串行

外设接口方式,降低了系统成本并减少了对电路板空间的要求,提高了系

统的可靠性。

1. X5045的功能介绍

(1)上电复位

当器件通电并超过VCC压时,X5045内部的复位电路将会提供一个约为

200ms的复位脉冲让微处理器能够正常复位。

(2) 看门狗定时器

看门狗定时器对微处理器提供了一个因外界干扰而引起程序陷入死循

环或“跑飞”状态保护的功能。X5045内部的一个控制寄存器中有两位可编

程位决定了定时周期的长短。当系统出现故障时,在设定的时间内如果没

有对X5045进行访问,看门狗定时器以RESET信号作为输出响应,即变为

高电平,延时约200ms以后RESET由高电平变为低电平。/CS的下降沿复位

看门狗定时器。

(3) 低电压检测

工作过程中X5045监测电源电压下降并电源电压跌落到VCC压以下时,

会产生一个复位脉冲,复位脉冲保持有效直到电源电压降1V以下。如果电

源电压在降落到门限电压后上升,则在电源电压超过门限电压后延时约

200ms,复位信号消失,使得微处理器可以继续工作。

(4) 串行EEPROM存储器

X5045的存储器部分是具有Xicor公司的锁保护CMOS 4KB串行E2PROM。

它被组织8位的结构,由一个四线构成的SPI总线方式进行操作,一次最

多可写16B。如图3-2:

[6]

图3-2 X5045的引脚图

2.X5045的引脚与定义:

1) SO 串行数据输出端。数据在SCK的下降沿输出到SO上。

2) SI 串行数据输入端。所有操作命令、字节地址及写入的数据在此引

脚上输入,SI线上输入的数据在SCK的上升沿被锁存。

3) SCK 串行时钟输入端,控制数据的输入和输出。

4) /CS芯片选择输入端(片选)。当CS/为低电平时,X25045能工作。CS/的电平变化将复位看门狗定时器。

5) VCC 电源电压。

6) /WP写保护输入端,当WP/为低电平时,对芯片的写操作被禁止,其他功能仍正常。WP/为高电平时,写操作允许,其他功能仍然正常。

7) /RESET 复位输入端,漏极开路输出方式,高电平有效。用于电源检测和看门狗超时输出。

8) GND 电源地。

3.X5045与单片机的接口电路

本次设计如图3-3所示,89C52的P1.0、P1.1、P1.2、P1.3脚分别与X5045的片选端1脚(/CS)、串行输入2脚(SO)、串行时钟6脚(SCK)和串行输出5脚(SI)相连,二者的RESET引脚相连。P1.0作为芯片选择输入端(片选)负责X25045是否选通,当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 人机接口单元

HD7279是管理键盘和LED显示器的专用智能控制芯片,该芯片采用串行接口方式,可同时驱动8位共阴极LED数码管或者64位独立LED发光二极管,同时能对多达8×8的键盘矩阵进行监视,具有自动消除键抖动并识别按键代码的功能。从而可以提高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的引脚

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 满足比例关系

在不影响显示的前提下,下拉电阻应尽可能地取较小的值,这样可以提高键盘部分的抗干扰能力。 4. HD7279与键盘接口

[8]

利用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可以实现9~12位的温度读数。信息经过单线接口送入DS18B20或从DS18B20送出,因此从微处理器到DS18B20仅需连接一条信号线和地线。读、写和执行温度变换所需的电源可以由数据线本身提供,而不需要外部电源。 DS18B20可用引脚只有三个,引脚功能和接线方法随芯片采用的供电方式不同而不同。DS18B20有两种供电方式,寄生电源模式和外部电源模式。工作于寄生电源模式时, VDD和GND 都与地相接, DS18B20 从数据线上供电。当总线为高电平时,DS18B20从总线上供电,同时内部电容充电, 当总线变为低电平时, 电容电为DS18B20供电。DQ为数字信号输入/输出端;GND为电源地;VDD为外接供电电源输入端(在寄生电源接线方式时接地)。 1. 芯片内部结构

DS18B20内部结构主要由四部分组成:64位光刻ROM、温度传感器、非挥发的温度报警触发器TH和TL、配置寄存器。光刻ROM中的64位序列号是出厂前被光刻好的,它可以看作是该DS18B20的地址序列码。64位光刻ROM的排列是:开始8位是产品类型标号,接着的48位是该DS18B20自身的序列号,最后8位是前面56位的循环冗余校验码。ROM的作用是使每一个DS18B20都各不相同,这样就实现一根总线上挂接多个DS18B20的目的[9]。 2. DS18B20与单片机接口电路,DQ为温度传感器的数据输入/输出端,接到单片机的P2.0口。GND 接地,VCC接电源。 3.2.2时钟单元

DS1302是DALLAS公司推出的一种高性能、低功耗、带RAM的实时时钟芯片,它可以对年、月、日、星期、时、分、秒进行计时,且具有闰年补偿功能,工作电压为2.5~5.5V。DS1302采用三线接口,与CPU进行同步通信,并可采用突发方式一次传送多个字节的时间数据或RAM数据。DS1302内部有一个31×8的用于临时性存放数据的RAM存储器。 1. 芯片引脚说明:

如图3-7,为DS1302的引脚排列图,其中Vcc1为后备电源,VCC2为主电源。在主电源关闭的情况下,也能保持时钟的连续运行。DS1302

由Vcc1或Vcc2两者中的较大者供电。当Vcc2大于Vcc1+0.2V时,Vcc2给DS1302供电。当Vcc2小于Vcc1时,DS1302由Vcc1供电。X1和X2是振荡源,外接32.768kHz晶振。

RST是复位/片选线,通过把RST输入驱动置高电平来启动所有的数据传送。RST输入有两种功能:首先,RST接通控制逻辑,允许地址/命令序列送入移位寄存器;其次,RST提供终止单字节或多字节数据的传送手段。当RST为高电平时,所有的数据传送被初始化,允许对DS1302进行操作。如果在传送过程中RST置为低电平,则会终止此次数据传送,I/O引脚变为高阻态。上电运行时,在Vcc≥2.5V之前,RST必须保持低电平。只有在SCLK为低电平时,才能将RST置为高电平。I/O为串行数据输入输出端(双向),后面有详细说明。SCLK为时钟输入端[10]。

图3-7 DS1302 引脚

2. DS1302与单片机的接口电路

脚RST是复位端,接到89C52的P2.4引脚。GND引脚接地,VCC接电源。SCLK是串行时钟输入端,接到89C52的P2.5引脚。I/O是数据输入/输出端,接到单片机P2.3口,X1、X2是32.768MHz晶振输入/输出端。

3.3 控制单元

本次设计开关量控制环节选用了9012三极管和固态继电器实现了弱电对强电的控制。如图3-8。

9012PNP型三极管应用广泛,在收音机等常用家电中可以经常看见它的身影。9012三极管在此作为开关量环节,起到了放大电流的作用,与固态继电器结合,从而实现了开关的作用。

此次选用的固态继电器是百特公司的产品,该型号的固态继电器是直流输入控制,交流过零导通,过零关断输出型无触点继电器。它常用与控制电路的导通和断开,是控制一般家用电器,如电动机、白炽灯的首选器件。

图3-8 开关量控制环节

3.4 原理图的绘制设计

EDA技术是在电子CAD技术基础上发展起来的计算机软件系统,是指以计算机为工作平台,融合了应用电子技术、计算机技术、信息处理及智能化技术的最新成果,进行电子产品的自动设计。

此次原理图的设计主要包括键盘显示器电路设计、看门狗,温度采集电路设计。 绘制原理图步骤:

①新建原理图,设定图纸为A4。 ②放置元器件,合理调整它们的位置。 ③绘制各个元器件之间的连线。 ④进行ERC电检查。

⑤把各个元件依次编号和封装。 ⑥生成网络表。 ⑦进行原理图打印。

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=20H

[12]

4.1.1 主程序和中断程序流程图

主程序主要完成系统的初始化功能流程图如图4-1(a)所示,其中包括内部变量清零、看门狗定时器初始化、键盘/显示芯片初始化、时钟芯片初始化,完成初始化功能后,系统进入休眠状态,可减少功耗和提高抗干扰能力,由各种中断唤醒,执行完中断服务程序后,重新进入休眠状态,系统的各任务在T0中断服务程序中执行,中断服务程序流程图如图4-1(b)所示。

4.1.2 变量和常量说明

相关的主要变量和常量分配,采用的地址分配如下表4.1~4.3所示:

表4.1 片内RAM主要变量分配伪指令表

表4.2 X5045主要变量分配伪指令表

表4.3 DS18B20主要变量分配伪指令表

4.2 人机接口单元软件设计

4.2.1 键处理程序流程图及说明

键盘查询程序设计分配在每个时间片内完成一次,间隔50ms,通过设置按键标志位,保证按一次键响应一次

[13]

键处理任务模块程序流程图如图4.4所示,在每个时间片内调度一次,由于查询按键的间隔位50ms,超过了键抖动持续时间(小于20ms),故无需编制按键防抖动设计。

程序框图说明:首先判断有无键按下,有键按下时,KEY-OK标志位置0;无键按下时,KEY_OK标志位置1。判断键有无处理过,处理过则返回,未处理过,则KEY-FIG位置0,且读出键值,根据键值的不同调用相应的子程序,从而保证每个按键只处理了一次。

图4-4 键处理程序流程图

毕业论文(设计)

题目:智能饮水机控制系统

摘 要

随着计算机技术的发展,单片机技术已成为计算机技术中的一个独特的分支,单片机的应用领域也越来越广泛,特别是在工业控制和仪器仪表智能化中扮演着极其重要的角色。过去经常采用模拟电路、数字电路实现的电路系统,现在相当大一部分可以用单片机予以实现,传统的电路设计方法已演变成软件和硬件相结合的设计方法。在实际应用中,单片机经常要与各种传感器相结合组成一定的应用系统,以实现系统的自动检测与控制。

本文所设计的智能饮水机就是单片机结合传感器的一个简单应用。该系统设计综合单片机以及电子技术理论,从生活实际出发,完善了饮水机的功能。设计方案中,主要采用数字温度传感器DS18B20组成测温系统作为检测单元,并运用了AT89C52作为主机单元、 X5045EEPROM作为存储单元、HD7279芯片来管理键盘和显示器。整个设计系统实现三个功能,即加热、对温度上下限的控制和定时加热。与传统的饮水机相比,由于采用了自动检测和控制的电子设计技术,可较好地实现对水温的测量和控制,具有较广泛的应用前景。

【关键词】 温度采集 89C52 X5045 HD7279

Abstract

With the development of computer technology, single-chip technology has

become the computer technology in a unique branch, SCM applications are

increasingly widespread, especially in the industrial control and instrumentation

play an extremely intelligent important role. to achieve automatic control of a

system to detect sensors often need to control the volume of industrial production

in the modern automated production processes in particular, the use sensors to

monitor and control the production process parameters, which makes the

application of sensors is the extensive, it is no exaggeration to say that almost

every project a modern, can not be separated from a variety of sensors. In this

paper, drinking fountains designed by the smart sensor is the single-chip

combination of a simple application.

The system is an integrated single-chip design, as well as the theory of

electronic technology, from the reality of life, improve the function of the

drinking fountains. Design, mainly composed of digital temperature sensor 18b20

detection unit as a temperature measurement system and the use of the 89C52,

x5045, hd7279, clock chips, such as 1302 integrated device. The design system of

three functions, namely, heating the upper and lower limits of temperature control

and heating time to time. Compared with the conventional drinking fountains, as a

result of the use of the automatic detection and control of electronic design

technologies to achieve better temperature measurement and control, with a wider

range of applications.

【Key Words】Temperature acquisition;89C52;X5045;HD7279

目 录

1 绪 论 ........................................................................ 错误!未定义书签。

1.1引言 ............................................................................. 错误!未定义书签。

1.2 研究的目的与意义 ..................................................... 错误!未定义书签。

2 总体设计 ................................................................... 错误!未定义书签。

2.1 设计任务 ................................................................. 错误!未定义书签。

2.2系统结构设计 ............................................................. 错误!未定义书签。

2.2.1电路原理和器件选择 ............................................................. 错误!未定义书签。

2.2.2系统框图及说明 ....................................................................................................... 4

3 硬件设计 ................................................................... 错误!未定义书签。

3.1 主板设计 ..................................................................... 错误!未定义书签。

3.1.1主机单元 ................................................................................................. 4

3.1.2 存储单元 ................................................................................................ 4

3.1.3 人机接口单元 ..................................................................................................... 7

3.2 副板设计 ................................................................................................... 10

3.2.1 温度采集单元 ...................................................................................... 10

3.2.2 时钟单元 ............................................................................................................ 11

3.3 控制单元 .................................................................................................... 11

3.4 原理图的绘制设计 ................................................................................... 12

4 软件设计 ...................................................................................................... 13

4.1 主程序设计 ................................................................................................. 13

4.1.1 主程序和中断程序流程图 ................................................................ 14

4.1.2 变量和常量说明 ............................................................................................ 15

4.2 人机接口单元软件设计 ............................................................................. 16

4.2.1 键处理程序流程图及说明 ................................................................ 16

4.2.2 变量和常量说明 ................................................................................ 17

4.2.3 各按键功能及其子程序说明 ..................................................................... 18

4.3 DS1302的软件设计 ................................................................................. 19

4.4 DS18B20的软件设计 .............................................................................. 19

5 系统的调试和问题总结 ..................................................................... 20

5.1 系统硬件调试 ........................................................................................... 20

5.2 系统软件调试 ........................................................................................... 21

参考文献 ........................................................................................................... 22

致 谢 ................................................................................................................ 23

附录一 系统原理图 .................................................................................... 24

附录二 系统PCB图 .................................................................................... 26

智能饮水机控制系统

1 绪 论

1.1引言

信息技术快速发展的今天,单片机技术的贡献是不可缺少的。生产中

使用的智能仪表、分布式控制系统总线、智能家电和智能办公设备都可以

见到单片机的身影。日常生活中使用的电子产品如MP3、手机、智能洗衣

机、智能饮水机等都是以单片机为核心的。本文所设计的智能饮水机就是

单片机结合传感器的一个简单应用[1]。

1.2 研究的目的与意义

单片机在电子产品中的应用已经越来越广泛, 在很多电子产品中也用到

了温度检测和温度控制。

目前广泛使用的饮水机,具有价格低廉,制造简便等优点。但是随着

用户长时间使用,这些饮水机功能单一、能耗较大、长时间饮用饮水机的

水对健康不利等缺点逐渐暴露出来。

传统的饮水机的局限性一般体现在以下几个方面:第一,功能相对简单。

只有简单的温度控制,而且用户还不能自己根据自己的喜好设定温控参数。

第二,能耗较大。在没有人使用的时候饮水机也处在开机状态无疑会造成

能源的大量浪费,在能源紧缺的今天这个方面亟待解决。第三,长期饮用

饮水机里的水会对健康不利。由于广泛使用的饮水机烧水不能完全沸腾,

长期饮用这种水会对身体造成较大的伤害。

本此设计的基于AT89C52的多功能饮水机,采用DS18B20实现温度采

集,经过HD7279管理的LED显示,读数直观、准确。并且程序存储器

E2PROM采用了,可以很容易的实现软件升级,从软件方面提高仪器精度。

同时可以对加热实现基本的控制,从而防止了“千滚水”对身体造成的伤

害,满足生活的需求[2]。

2 总体设计

2.1 设计任务

1.设计题目:智能饮水机

2.仪表功能:

1) 对温度上下限的控制;

2) 定时开机、定时关机;

3) 对实时温度进行采集并在LED数码管上进行显示;

3.仪表操作:用户可以根据自己的喜好来设计不同温度上下限。上电以后

系统将自动运行,显示的是当前水温,按一次设定按键,可实现显示温度

控制的上限值,再按增建或减键配合左移键可以修改这个值,最后按一下

确认键将新修改的值保存。温度下限、定时开机时间、定时关机时间的修

改和温度上限相似,设定键用来切换设定参数,温度上下限,开机时间、

关机时间,以及时钟时间。用增建、减键加上左移键可以完成对这些参数

的修改[5]。

2.2系统结构设计

2.2.1电路原理和器件选择

主机单元由AT89C52单片机和相关的存储器组成,是仪表的核心。关

键部分期间名称及其在电路中的主要功能如下:

(1)AT89C52:完成监控系统数据采集过程、采集方式和报警过程的控制。

是整个系统的核心处理器,单片机首先把通过传感器测到的现场温度与预先

设置的温度进行比较,如果大于或小于预先设置值,就输出信号去控制加热器

的工作,从而实现温度控制。

(2)X5045:看门狗定时器防止系统死机,保证程序正常运行;内部

EEPROM有掉电数据存储功能,用于保存各采集通道的报警上限。

(3)HD7279:管理键盘和LED显示器,实现人机交互。

(4)DS18B20:单线数字温度传感器,可直接将被测温度转化为串行数

字信号,以供单片机处理。

(5)DS1302:是一种高性能、低功耗、带RAM的实时时钟芯片,它可以

对年、月、日、星期、时、分、秒进行计时,且具有闰年补偿功能,工作

电压为2.5~5.5V。2-1图及说明:

图2-1 系统框图 (1)电源部分

电源给系统各芯片提供工作电压。本次设计给各个芯片提供+5V电压。

(2)温度检测部分

本次设计采用DS18B20采集温度。

(3)加热控制部分

加热控制部分由9012三极管、固态继电器、加热电阻组成。实现对

水的加热和温度控制。

(4)键盘显示部分

将DS18B20的温度信号和DS1302时钟信号以某种方式显示出来。显示

仪表中常用LED数码管显示测量数据。本次设计用数码管显示实时温度值、

温度控制上限值、温度控制上限值,时间、开始时间和关机时间,每个参

数显示采用8个LED。同时为了更好的实现系统的功能,还要设计5个按键:

设定键、增建、减键、左移键、确定键,使饮水机具有基本的人机交互功

能。本次设计选用HD7279与微处理器接口,可有效实现对按键和LED数码

管的管理。

(5)看门狗部分

该部分实现采用X5045芯片,防止系统死机,保证程序正常运行。另

外,X5045有EEPROM保存温度控制的上下限[4]。

(6)报警部分

该部分实现的作用是在水烧开后可以起提醒的作用,避免对此再加热。

3 硬件设计

本次设计设计的多功能饮水机,采用DS18B20实现温度的实时采集,

DS1302时钟芯片来调整时间。采用AT89C52单片机作为系统微控制器,实

现与DS1302、DS18B20的控制及对数据的处理显示。采用HD7279管理键盘

和显示器,采用X5045实现掉电保护重要参数功能,看门狗功能,防止系统

死机。另外,开关量控制环节选用了9012三级管和固态继电器实现了弱电

对强电的控制。

3.1 主板设计

AT89C52、HD7279、X5045和振荡电路组成了主机单元,是仪表的核

心部分。利用X5045EEPROM存储测量值上下限和开机、关机时间,并且

具有看门狗定时器功能,来进行数据采集等过程的设置和控制,振荡电路

在单片机内部产生脉冲信号,C1 、C2为30pf,晶振振荡频率为12MHz。

3.1.1主机单元

AT89C52与AT89C51的引脚一样,也有PDIP,PICC,TQFP等

多种封装形式。脚的区别是由于增加了定时器2而引起的。有区别的只有

P1.0,P1.1两个引脚,这两个引脚在不使用定时器2时仍可作为静态I/O接

口使用,单片机使用定时器2时,P1.0,P1.1还可能承担外部记数脉冲输入,

外部触发信号输入,可编程方波输出等功能[5] 。

-

图3-1 AT89C52 引脚配置

3.1.2 存储单元

X5045是单片机系统电路的一个辅助芯片,它将复位,电压检测,看门

狗定时器和块锁保护的串行EEPROM功能集合成一个芯片内;采用SPI串行

外设接口方式,降低了系统成本并减少了对电路板空间的要求,提高了系

统的可靠性。

1. X5045的功能介绍

(1)上电复位

当器件通电并超过VCC压时,X5045内部的复位电路将会提供一个约为

200ms的复位脉冲让微处理器能够正常复位。

(2) 看门狗定时器

看门狗定时器对微处理器提供了一个因外界干扰而引起程序陷入死循

环或“跑飞”状态保护的功能。X5045内部的一个控制寄存器中有两位可编

程位决定了定时周期的长短。当系统出现故障时,在设定的时间内如果没

有对X5045进行访问,看门狗定时器以RESET信号作为输出响应,即变为

高电平,延时约200ms以后RESET由高电平变为低电平。/CS的下降沿复位

看门狗定时器。

(3) 低电压检测

工作过程中X5045监测电源电压下降并电源电压跌落到VCC压以下时,

会产生一个复位脉冲,复位脉冲保持有效直到电源电压降1V以下。如果电

源电压在降落到门限电压后上升,则在电源电压超过门限电压后延时约

200ms,复位信号消失,使得微处理器可以继续工作。

(4) 串行EEPROM存储器

X5045的存储器部分是具有Xicor公司的锁保护CMOS 4KB串行E2PROM。

它被组织8位的结构,由一个四线构成的SPI总线方式进行操作,一次最

多可写16B。如图3-2:

[6]

图3-2 X5045的引脚图

2.X5045的引脚与定义:

1) SO 串行数据输出端。数据在SCK的下降沿输出到SO上。

2) SI 串行数据输入端。所有操作命令、字节地址及写入的数据在此引

脚上输入,SI线上输入的数据在SCK的上升沿被锁存。

3) SCK 串行时钟输入端,控制数据的输入和输出。

4) /CS芯片选择输入端(片选)。当CS/为低电平时,X25045能工作。CS/的电平变化将复位看门狗定时器。

5) VCC 电源电压。

6) /WP写保护输入端,当WP/为低电平时,对芯片的写操作被禁止,其他功能仍正常。WP/为高电平时,写操作允许,其他功能仍然正常。

7) /RESET 复位输入端,漏极开路输出方式,高电平有效。用于电源检测和看门狗超时输出。

8) GND 电源地。

3.X5045与单片机的接口电路

本次设计如图3-3所示,89C52的P1.0、P1.1、P1.2、P1.3脚分别与X5045的片选端1脚(/CS)、串行输入2脚(SO)、串行时钟6脚(SCK)和串行输出5脚(SI)相连,二者的RESET引脚相连。P1.0作为芯片选择输入端(片选)负责X25045是否选通,当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 人机接口单元

HD7279是管理键盘和LED显示器的专用智能控制芯片,该芯片采用串行接口方式,可同时驱动8位共阴极LED数码管或者64位独立LED发光二极管,同时能对多达8×8的键盘矩阵进行监视,具有自动消除键抖动并识别按键代码的功能。从而可以提高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的引脚

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 满足比例关系

在不影响显示的前提下,下拉电阻应尽可能地取较小的值,这样可以提高键盘部分的抗干扰能力。 4. HD7279与键盘接口

[8]

利用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可以实现9~12位的温度读数。信息经过单线接口送入DS18B20或从DS18B20送出,因此从微处理器到DS18B20仅需连接一条信号线和地线。读、写和执行温度变换所需的电源可以由数据线本身提供,而不需要外部电源。 DS18B20可用引脚只有三个,引脚功能和接线方法随芯片采用的供电方式不同而不同。DS18B20有两种供电方式,寄生电源模式和外部电源模式。工作于寄生电源模式时, VDD和GND 都与地相接, DS18B20 从数据线上供电。当总线为高电平时,DS18B20从总线上供电,同时内部电容充电, 当总线变为低电平时, 电容电为DS18B20供电。DQ为数字信号输入/输出端;GND为电源地;VDD为外接供电电源输入端(在寄生电源接线方式时接地)。 1. 芯片内部结构

DS18B20内部结构主要由四部分组成:64位光刻ROM、温度传感器、非挥发的温度报警触发器TH和TL、配置寄存器。光刻ROM中的64位序列号是出厂前被光刻好的,它可以看作是该DS18B20的地址序列码。64位光刻ROM的排列是:开始8位是产品类型标号,接着的48位是该DS18B20自身的序列号,最后8位是前面56位的循环冗余校验码。ROM的作用是使每一个DS18B20都各不相同,这样就实现一根总线上挂接多个DS18B20的目的[9]。 2. DS18B20与单片机接口电路,DQ为温度传感器的数据输入/输出端,接到单片机的P2.0口。GND 接地,VCC接电源。 3.2.2时钟单元

DS1302是DALLAS公司推出的一种高性能、低功耗、带RAM的实时时钟芯片,它可以对年、月、日、星期、时、分、秒进行计时,且具有闰年补偿功能,工作电压为2.5~5.5V。DS1302采用三线接口,与CPU进行同步通信,并可采用突发方式一次传送多个字节的时间数据或RAM数据。DS1302内部有一个31×8的用于临时性存放数据的RAM存储器。 1. 芯片引脚说明:

如图3-7,为DS1302的引脚排列图,其中Vcc1为后备电源,VCC2为主电源。在主电源关闭的情况下,也能保持时钟的连续运行。DS1302

由Vcc1或Vcc2两者中的较大者供电。当Vcc2大于Vcc1+0.2V时,Vcc2给DS1302供电。当Vcc2小于Vcc1时,DS1302由Vcc1供电。X1和X2是振荡源,外接32.768kHz晶振。

RST是复位/片选线,通过把RST输入驱动置高电平来启动所有的数据传送。RST输入有两种功能:首先,RST接通控制逻辑,允许地址/命令序列送入移位寄存器;其次,RST提供终止单字节或多字节数据的传送手段。当RST为高电平时,所有的数据传送被初始化,允许对DS1302进行操作。如果在传送过程中RST置为低电平,则会终止此次数据传送,I/O引脚变为高阻态。上电运行时,在Vcc≥2.5V之前,RST必须保持低电平。只有在SCLK为低电平时,才能将RST置为高电平。I/O为串行数据输入输出端(双向),后面有详细说明。SCLK为时钟输入端[10]。

图3-7 DS1302 引脚

2. DS1302与单片机的接口电路

脚RST是复位端,接到89C52的P2.4引脚。GND引脚接地,VCC接电源。SCLK是串行时钟输入端,接到89C52的P2.5引脚。I/O是数据输入/输出端,接到单片机P2.3口,X1、X2是32.768MHz晶振输入/输出端。

3.3 控制单元

本次设计开关量控制环节选用了9012三极管和固态继电器实现了弱电对强电的控制。如图3-8。

9012PNP型三极管应用广泛,在收音机等常用家电中可以经常看见它的身影。9012三极管在此作为开关量环节,起到了放大电流的作用,与固态继电器结合,从而实现了开关的作用。

此次选用的固态继电器是百特公司的产品,该型号的固态继电器是直流输入控制,交流过零导通,过零关断输出型无触点继电器。它常用与控制电路的导通和断开,是控制一般家用电器,如电动机、白炽灯的首选器件。

图3-8 开关量控制环节

3.4 原理图的绘制设计

EDA技术是在电子CAD技术基础上发展起来的计算机软件系统,是指以计算机为工作平台,融合了应用电子技术、计算机技术、信息处理及智能化技术的最新成果,进行电子产品的自动设计。

此次原理图的设计主要包括键盘显示器电路设计、看门狗,温度采集电路设计。 绘制原理图步骤:

①新建原理图,设定图纸为A4。 ②放置元器件,合理调整它们的位置。 ③绘制各个元器件之间的连线。 ④进行ERC电检查。

⑤把各个元件依次编号和封装。 ⑥生成网络表。 ⑦进行原理图打印。

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=20H

[12]

4.1.1 主程序和中断程序流程图

主程序主要完成系统的初始化功能流程图如图4-1(a)所示,其中包括内部变量清零、看门狗定时器初始化、键盘/显示芯片初始化、时钟芯片初始化,完成初始化功能后,系统进入休眠状态,可减少功耗和提高抗干扰能力,由各种中断唤醒,执行完中断服务程序后,重新进入休眠状态,系统的各任务在T0中断服务程序中执行,中断服务程序流程图如图4-1(b)所示。

4.1.2 变量和常量说明

相关的主要变量和常量分配,采用的地址分配如下表4.1~4.3所示:

表4.1 片内RAM主要变量分配伪指令表

表4.2 X5045主要变量分配伪指令表

表4.3 DS18B20主要变量分配伪指令表

4.2 人机接口单元软件设计

4.2.1 键处理程序流程图及说明

键盘查询程序设计分配在每个时间片内完成一次,间隔50ms,通过设置按键标志位,保证按一次键响应一次

[13]

键处理任务模块程序流程图如图4.4所示,在每个时间片内调度一次,由于查询按键的间隔位50ms,超过了键抖动持续时间(小于20ms),故无需编制按键防抖动设计。

程序框图说明:首先判断有无键按下,有键按下时,KEY-OK标志位置0;无键按下时,KEY_OK标志位置1。判断键有无处理过,处理过则返回,未处理过,则KEY-FIG位置0,且读出键值,根据键值的不同调用相应的子程序,从而保证每个按键只处理了一次。

图4-4 键处理程序流程图


相关文章

  • 智能建筑毕业论文
  • 学院 毕 业 设 计(论 文) SNL/QR7.5.4-3 专 业 学生姓名 班 级 学 号 指导教师 完成日期 成绩评议 毕业设计(论文)任务书 指导教师意见 评阅教师意见 答辩小组评议意见 别墅型智能家居方案设计 摘要:智能家居是在家庭 ...查看


  • 工业设计毕业课题
  • 创意居家竹制品开发设计 原生态环境下的公共空间设计研究 集装箱改造再利用空间设计 基于智能化LED照明产品的设计研究 模块化橱柜设计开发 一物多用的婴儿用品的设计研究 亲子玩具设计研究 卫浴产品概念设计 用于赈灾的污水净化装置的设计研究 L ...查看


  • 智能家居课程设计Microsoft Word 文档 (2)
  • 目录 前言 „„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„ 1 1.智能家居概述 „„„„„„„„„„„„„„„„„„„„„„„„„„2 2.设计思想 „„„„„„„„„„„„„„„„„„„„„„„„„„„„2 2.1视频监 ...查看


  • 农村供水水质检测技术及设备
  • 蕉苤窒速皇握过 CHINAWATERRESOURCES 2007.1O 农村供水水质检测技术及设备 鄂学礼,陈昌杰,应波.张岚,王丽 (中国疾病预防控制中心环境与健康相关产品安全所,100021,北京) 摘要:为深化农村改水工作,加强农村供 ...查看


  • 写字楼用直饮水机的工作原理及日常维护注意事项
  • 写字楼专用直饮水机 写字楼专用直饮水机 - 定义 写字楼专用直饮水机主要是安装和应用在各种大中小写字楼,如公司写字楼.学校办公楼.工厂办公楼.政府机关写字楼.企事业单位写字楼等,专门为单位写字楼办公群体解决饮用水问题的不锈钢专用饮水机或者不 ...查看


  • 基于AT89C51单片机的智能饮水机控制系统_郭毅飞
  • 第39卷第11期·学术 Vol.39Nov.11 HUNAN湖AGRICULTURALMACHINERY南农机 湖南农机 2012年11月 Nov.20122012年11月 基于AT89C51单片机的智能饮水机控制系统 郭毅飞,董 峰 新密 ...查看


  • 长沙县职称论文发表-水利水电技术管理论文选题题目
  • 云发表,专业论文发表网站!http://www.yunfabiao.com/ 面向作者直接收稿,省去中间环节,价格更低,发表更快,收录更快! 长沙县职称论文发表-水利水电|技术|管理论文选题题目 长沙县职称论文发表-以下是水利水电|技术|管 ...查看


  • 智能照明控制系统设计方案
  • 正奇金融广场 智能照明控制系统 设 计 方 案 书 项目名称:正奇金融广场 项目类别:智能照明控制系统 文本类型:设计方案 概述 *****多功能商业大楼.该大楼智能照明控制系统为地上二至五层,其主要功能区有上百间商铺,走廊,卫生间及一些公 ...查看


  • 复旦大学研究生遭室友投毒 经抢救无效死亡
  • 导语: 黄洋,男,27岁,生于1985年,四川自贡人,复旦大学医学院2010级在读研究生,耳鼻喉科.遭室友在饮水机内投毒,在复旦大学附属中山医院的重症监护室内接受救治.最新消息显示,黄洋经抢救无效去世. 复旦大学研究生遭室友投毒 经抢救无效 ...查看


热门内容