基于单片机的多功能饮水机设计 毕业设计论文.doc

上传人:哈尼dd 文档编号:3922534 上传时间:2019-10-10 格式:DOC 页数:22 大小:419.52KB
返回 下载 相关 举报
基于单片机的多功能饮水机设计 毕业设计论文.doc_第1页
第1页 / 共22页
基于单片机的多功能饮水机设计 毕业设计论文.doc_第2页
第2页 / 共22页
基于单片机的多功能饮水机设计 毕业设计论文.doc_第3页
第3页 / 共22页
基于单片机的多功能饮水机设计 毕业设计论文.doc_第4页
第4页 / 共22页
基于单片机的多功能饮水机设计 毕业设计论文.doc_第5页
第5页 / 共22页
点击查看更多>>
资源描述

《基于单片机的多功能饮水机设计 毕业设计论文.doc》由会员分享,可在线阅读,更多相关《基于单片机的多功能饮水机设计 毕业设计论文.doc(22页珍藏版)》请在三一文库上搜索。

1、毕业设计 基于单片机的多功能饮水机设计 【摘要摘要】 随着计算机技术的发展,单片机技术已成为计算机技术中的一个独特的分支,单片 机的应用领域也越来越广泛。本文所设计的智能饮水机就是单片机结合传感器的一个简 单应用。本设计综合单片机、电子技术理论,从实际出发,完善了饮水机的功能。设计方 案主要采用数字温度传感器作为检测单元,并运用了 AT89C52 作为主机单元、 X5045EEPROM 作为存储单元、HD7279 芯片来管理键盘和显示器。整个系统实现了加 热、对温度上下限的控制和定时加热功能。由于采用了自动检测和控制的电子设计技术, 可较好地实现对水温的测量和控制,具有较广泛的应用前景。 【关

2、键词】:温度采集,主机单元,存储单元,控制 ABSTRACTABSTRACT With the development of computer technology, computer technology microcontroller technology has become one of the unique branch, microcontroller application field of more and more widely. This design intelligent water dispenser is simply a single-chip combining

3、 sensor applications. The system design integrated SCM and electronic technology theory, from life reality, perfect the function of water dispenser. Design scheme, mainly adopts digital temperature sensor DS18B20 consisting temperature measuring system as the test unit and USES a AT89C52 as host uni

4、t, X5045EEPROM as storage unit, HD7279 chip to manage the keyboard and screen. The whole design system realize three functions, namely heating, for the temperature control of the upper and timing heating. Compared with the traditional water dispenser, as a result of the automatic detection and contr

5、ol of electronic design technology, can be achieved for temperature measurement and control, and has a broad prospect of application. 【KEY WORD】: temperature gathering, the host units, storage location and control 毕业设计 目 录 引言 1 一、总体设计 1 二、硬件设计 2 (一)AT89C52 单片机.2 (二)温度采集单元 3 (三)数据采集的设置、控制单元 6 (四)人机交互

6、单元 8 三、软件设计 9 (一)主程序设计 9 (二)人机接口单元软件 .10 (三)DS1302 的软件设计.11 总结 .13 附录一 .14 附录二 .15 附录三 .16 参考文献 .19 致 谢 20 毕业设计 引言引言 随着科技的发展,单片机技术已经渗透到人类生活的方方面面,在家用电器、通 讯产品等日用电子设备中都可见到单片机。目前广泛使用的饮水机,具有价格低廉、 制造简便等优点。但是随着用户长时间使用,这些饮水机的缺点逐渐暴露出来,主要 体现在以下几个方面: 第一,功能相对简单。只有简单的温度控制,用户不能根据自己的喜好设定温度。 第二,能耗较大。在无人使用时,饮水机仍处在开机

7、状态,造成了能源的大量浪 费。 第三,长期饮用饮水机里的水会对健康不利。由于广泛使用的饮水机烧水不能完 全沸腾,长期饮用这种水会对身体造成较大的伤害。 本论文所设计的饮水机是在单片机控制下进行的温度控制,并通过显示器显示温 度。对单片机及外围设备为主的系统进行了硬件和软件设计,并在此设计的基础上给 出相应的原理图。 设计方案中主要采用数字温度传感器 DS18B20 组成的测温系统作为检测单元,并 运用了 AT89C52 作为主机单元、X5045EEPROM 作为存储单元、HD7279 芯片来管理 键盘和显示器。整个设计系统实现了加热、对温度上下限的控制和定时加热的功能。 采用的自动检测和控制的

8、电子设计技术,可较好地实现对水温的测量和控制,具有较 广泛的应用前景。 用户可根据自己实际情况来设定不同的温度上限。上电后系统将自动运行,显示 的是当前的水温,按一次设定按键可实现温度控制的上限值。温度下限、定时开关机 步骤同上相似。用增键、减键、左右键来完成对应的参数设置。 一、总体设计一、总体设计 多功能饮水机总体框图如图 1.1 所示。本系统主要由单片机、温度传感器、控制 电路、LED 显示、键盘、电源电路组成。系统以 AT89C52 单片机为核心,数字温度传感 器将采集到的温度数据送入单片机处理,再将处理好的数据送到 HD7279,进行按键和 数码管的管理。程序采用 E2PROM 存储

9、器,可以很容易的实现软件升级,从软件方面提 高准确度。同时,可以对加热实现基本的控制,有效防止“千滚水”对身体造成的伤 害。 毕业设计 图 1.1 总体框图 二、硬件设计二、硬件设计 (一)AT89C52 单片机 1.AT89C52 单片机特点: 兼容 MCS51 指令系统; 8k 可反复擦写(1000 次)Flash ROM; 32 个双向 I/O 口; 256x8bit 内部 RAM; 3 个 16 位可编程定时/计数器中断; 时钟频率 0-24MHz; 2 个串行中断; 可编程 UART 串行通道; 2 个外部中断源; 共 6 个中断源; 2 个读写中断口线; 3 级加密位; 低功耗空闲

10、和掉电模式; 软件设置睡眠和唤醒功能。 2.AT89C52 的硬件结构 (1)数据存储器 AT89C52 有 256 个字节的内部 RAM,高 128 字节的 RAM 和特殊功能寄存器的地址是 相同的,但物理上它们是分开的。当一条指令访问 7FH 以上的内部地址单元时,指令 中使用的寻址方式是不同的。如果指令是直接寻址方式则为访问特殊功能寄存器。 (2)中断系统 AT89C52 共有 6 个中断向量:两个外中断(INT0 和 INT1) ,3 个定时器中断(定时 器 0、1、2)和串行口中断。 (3)定时器 此部分由 3 个 16 位可编程定时器:定时器 0、定时器 1 和定时器 3 组成。

11、毕业设计 (4)串行口 P0 口:是一组 8 位漏极开路型双向 I/O 口,也是地址/数据总线复用口。 P1 口:是一个带内部上拉电阻的 8 位双向 I/O 口,P1 的输出缓冲级可驱动(吸收 或输出电流)4 个 TTL 逻辑门电路。 P2 口:是一个带有内部上拉电阻的 8 位双向 I/O 口,P2 的输出缓冲级可驱动(吸 收或输出电流)4 个 TTL 逻辑门电路。 P3 口:是一组带有内部上拉电阻的 8 位双向 I/O 口。P3 口输出缓冲级可驱动(吸 收或输出电流)4 个 TTL 逻辑门电路。 3.外部引脚及功能 (1)AT89C52 各引脚总体介绍(如图 2.1 所示) 图2.1 AT8

12、9C52引脚配置 1)电源引脚 VCC(40 脚)和 VSS(20 脚)为供电端口,分别接+5V 电源的正负端。 2)时钟引脚 XTAL1(19 脚)和 XTAL2(18 脚)为振荡器输入输出端口,外接 12MHz 晶振。 3)RST 复位输入。当振荡器工作时,RST 引脚出现两个机器周期以上高电平,使单片机复 位。 4)PSEN 程序储存允许 PSEN 输出是外部程序存储器的读选通信号,当 AT89C52 由外部程序 存储器取指令(或数据)时,每个机器周期两次 PSEN 有效,即输出两个脉冲。在此期 间,当访问外部数据存储器,将跳过两次 PSEN 信号。 5)EA/VPP 外部访问允许。欲使

13、 CPU 仅访问外部程序存储器(地址为 0000H-FFFFH),EA 端必须 毕业设计 保持低电平(接地)。如果加密位 LBI 被编程,复位时内部会锁存 EA 端状态。 (二)温度采集单元 1.温度传感器 (1)DS18B20 温度传感器的特点 本单元选用 DS18B20 温度传感器来进行温度数据的采集,其特点如下: 单线结构,只需一根信号线和 CPU 相连。 不需要外部元件,直接输出串行数据。 不需要外部电源,直接通过信号线供电,电源电压范围为 3.3V5V。 测温精度高,测温范围为:-55125,在-1085范围内,精度为O.5。 测温分辨率高,当选用 12 位转换位数时,温度分辨率可达

14、 0.0625。 数字量的转换精度及转换时间可通过简单的编程来控制,9 位精度的转换时间为 93.75ms,10 位精度的转换时间 187.5ms,12 位精度的转换时间 750ms。 具有非易失性上、下限报警设定的功能,用户可方便地通过编程修改上、下限的数 值。 可通过报警搜索命令识别哪片 DS18820 采集的温度超越上、下限。 (2)DS18B20 内部结构 DS18B20 主要由四部分组成:64 位光刻 ROM、温度传感器、非挥发的温度报警触发 器 TH 和 TL、配置寄存器。 64 位光刻 ROM:使每一个出厂的 DS18820 地址序列号都各不相同,这样,就可以实现 一根总线上挂接

15、多个 DS18820。 温度传感器:完成对温度的测量,输出格式为 16 位符号扩展的二进制补码。 低温触发器 TL、高温触发器 TH:用于设置低温、高温的报警数值。DS18820 完成一 个周期的温度测量后,将测得的温度值和 TL、TH 相比较,如果小于 TL,或大于 TH, 则表示温度越限,将该器件内的告警标志位置位,并对主机发出的告警搜索命令,作 出响应。修改上、下限温度值时,只需使用一个功能命令即可对 TL、TH 写入。 配置寄存器:R0、R1 组成,其值决定温度转换的精度位数、转换时间等。 (3)DS18B20 与单片机接口电路 如图 2.2 所示,DQ 为温度传感器的数据输入/输出端

16、,接到单片机的 P2.0 口。GND 接地,VCC 接电源。DS18B20 温度传感器将感受到的水温由 DQ 端口输出,通过单片机 P2.0 端口送入单片机进行处理与控制。 毕业设计 图 2.2 DS18B20 与单片机接口电路 2.时钟单元 本次设计选用 DS1302 芯片作为副板的核心单元。 (1)芯片引脚 DS1302 的引脚排列图如图 2.3 所示,Vcc1是后备电源,Vcc2是主电源。主电源关闭 时,时钟能连续运行。当 Vcc2Vcc10.2V 时,Vcc2给 DS1302 供电。当 Vcc2 #include #include #define uchar unsigned char

17、 #define uint unsigned int sbit DQ=P13; /ds18b20 端口 uchar Temp_Integer=0; uchar Temp_Decimal=0; uchar fg=0; void delay2(uint us) while(us-); uchar Init_DS18B20(void) 毕业设计 uchar x=0; DQ = 1; /DQ 复位 delay2(8); /稍做延时 DQ = 0; /单片机将 DQ 拉低 delay2(80); /精确延时 大于 480us DQ = 1; /拉高总线 delay2(10); x=DQ; /稍做延时后

18、如果 x=0 则初始化成功 x=1 则初始化失败 delay2(5); return x; uchar ReadOneChar(void) /读一个字节,“LSB“ uchar i=0; uchar dat = 0; for (i=8;i0;i-) DQ = 0; / 给脉冲信号 dat=1; DQ = 1; / 给脉冲信号 if(DQ) dat|=0x80; delay2(5); return(dat); void WriteOneChar(unsigned char dat) /写一个字节 uchar i=0; for (i=8; i0; i-) DQ = 0; DQ = dat dela

19、y2(5); 毕业设计 DQ = 1; dat=1; delay2(5); /*DS18b20 读取主函数,整个流程 5ms 左右 */ uchar ReadTemperature(void) /读取温度 uchar L_18B20=0; uchar H_18B20=0; Init_DS18B20(); WriteOneChar(0xCC); / skip:跳过读序号列号的操作 WriteOneChar(0x44); / convert:启动温度转换 delay2(200); Init_DS18B20(); WriteOneChar(0xCC); /skip:跳过读序号列号的操作 WriteO

20、neChar(0xBE); /read:读取温度寄存器,前两个就是温度 L_18B20=ReadOneChar(); /读取温度低八位数据 H_18B20=ReadOneChar(); /读取温度高八位数据 if(H_18B200x7f) /最高位为 1 时温度是负 L_18B20=L_18B20+1; /补码转换,取反加一 H_18B20=H_18B20; fg=1; /读取温度为负时 fg=1 Temp_Decimal=L_18B20 /取温度小数部分二进制 L_18B20=L_18B204; /取温度整数部分二进制 H_18B20=H_18B204; Temp_Integer=H_18B20|L_18B20; 毕业设计 参考文献参考文献 1何立民.单片机应用系统设计.航空航天大学出版社.25,4650 2张毅刚.单片机原理及接口技术.哈尔滨工业大学出版社.3542 3谭浩强.单片机课程设计.清华大学出版社.2132 4李广弟.单片机基础.北京航空航天大学出版社.5664 5注定花,戴汝平.单片微机原理与应用.清华大学出版社.3654 毕业设计

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

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1