基于单片机的智能热水壶设计毕业论文.docx
《基于单片机的智能热水壶设计毕业论文.docx》由会员分享,可在线阅读,更多相关《基于单片机的智能热水壶设计毕业论文.docx(34页珍藏版)》请在咨信网上搜索。
目 录 内容摘要 1 关键词 1 第1章 绪论 2 1.1研究背景 2 1.2研究目的与意义 2 1.3热水壶发展现状 3 第2章 系统总体设计 4 2.1设计总体思路 4 2.2系统总设计框图 4 2.3主要模块功能简介 4 2.4外部配件材料的选择 5 第3章 硬件模块电路设计 6 3.1硬件组成部分 6 3.2主要模块电路设计 6 3.2.1单片机模块 6 3.2.2温度检测模块 7 3.2.3液晶显示模块 8 3.2.4按键控制模块 8 3.2 总系统电路 9 第4章 软件模块电路设计 10 4.1 设计总体思路 10 4.2 烧开水功能设计特点 10 4.3控制程序工作流图 10 4.4系统主程序 11 第5章 系统测试 12 5.1 硬件部分测试 12 5.1.1热水壶功能测试 12 5.1.2系统误差分析 12 5.2 软件部分测试 12 5.3 结果分析 12 结论 14 致谢 15 参考文献 16 附录1 电路原理图与PCB图 17 附录2系统总程序代码 19 附录3元器件清单 30 附录4设计实物图 31 [Abstract] 32 基于单片机的智能热水壶系统设计 【内容摘要】在日常生活中,热水壶有着十分广泛的应用领域。热水壶是结合用户的实际需求和现代社会需要的一种智能产品,于是本次设计了以单片机为核心器件,结合人性化的理念,最终实现智能的控制电路和程序设计的智能热水壶。本设计实现了日常烧开水功能,以及通过按键设定温度加热冷水,达到设定温度后,通过蜂鸣器提醒用户并自动断电,同时液晶显示屏显示即时温度等拓展功能。本设计硬件部分由单片机芯片、温度检测,蜂鸣报警、液晶显示等模块,同时利用了单片机的智能性,软件部分在keil uvision开发环境中使用C语言编写软件程序,实现了对水温的智能控制,其具有生活化、实用性强的特点。 【关键词】单片机;智能;热水壶;DS18B20;烧水; 33 第1章 绪论 1.1 研究背景 近年来,随着单片机技术的发展,单片机的应用研究不断深入,传统控制检测快速更新。在实时检测和自动控制的系统中,单片机通常是作为一个核心部件,基于具体的硬件结构和应用对象的应用特点,并结合软件改进控制系统,代替复杂的电子电路或数字电路,通过软件控制外围电路,确保智能化能够实现。单片机应用于范围广泛的智能产品中,如智能仪表、实时工业控制、通信设备、导航系统、家用电器等,单片机应用在生产中时,其可以使产品升级换代,常在产品名前端冠名——“智能”。 热水壶是在日常生活中需要的实际需求和用户相关的现代社会的产物,是一种单片机控制的智能产品。随着科技的发展和社会的进步,人们的生活质量在逐步增加。近年来,各种智能设备不断更新,如智能手机、智能水壶走进我们的生活。由于其自身的优点,安全、智能电水壶在生活中有着广泛的应用。 1.2 研究目的与意义 目前市场上品种繁多的开水壶存在着功能比较单一、不够完善等不足,所以我们在普通的烧水壶基础上利用所学单片机知识添加了一些方便实用的功能,如设温加热、蜂鸣提示、显示即时温度的功能,使产品更加人性化,日常使用更加方便。 随着社会的快速发展,智能新产品相继出现,比如数码相机、平板电脑等一系列的新鲜的事物,人们的日常生活中也发生了极大的变化。本设计以探究智能新产品工作原理为出发点,基于单片机设计了一款智能热水壶,设计过程考查了我们综合运用所学知识的能力,包括以前学过的关于单片机编程与应用、电装实习等的知识,同时我对当前的电子产业发展的新趋势有了一定的了解,实际动手能力和模拟实际产品的开发能力也得到了锻炼,对应届大学生日后工作能力的培养具有重要的意义。本次设计也培养了我理解工程技术的工作中需要的整体观和经济观,同时提高掌握设计的各种方案以及技术指标、资料收集、技术文献,分析计算,描绘电路图及撰写论文等能力。 1.3 热水壶发展现状 电热水壶在中国的发展史上虽然短暂,发展速度却很快。在早期的中国,电热水壶很早就开始了工业生产,但其主要面向出口。电热水壶具有结构简单、加热快、节约能源、操作方便、安全实用、使用寿命长等优点。近年来,国内市场占有率开始快速增长,市场增长率超过50%。随着电热水壶产品消费者的意识不断提高,在国内市场电热水壶的容量有明显的提升。其次,虽然饮水机在我国的普及率很高,但由于饮水机体积大,重复加热,存在二次污染的问题,于是提供了电水壶产业发展的机会[1]。 第2章 设计方案概述 2.1 总体设计思路 本次智能热水壶的设计方案利用单片机软件系统为工作环境,不仅实现基本的烧开水以及烧开后断电功能,并且结合按键控制温度的设定,可加热冷水至指定温度,蜂鸣器报警,随后热水壶断电,同时液晶显示屏显示即时温度。 2.2 系统总设计框图 初步确定电路系统由以下模块组成,电路系统框图如图2-1所示。 加热装置-继电器 蜂鸣报警器 液晶显示- LM160L 温度检测-DS18B20 电源供电 按键控制 ST89C52RC 单 片 机 图2-1 电路系统框图 2.3 主要模块电路功能简介 1、单片机模块 作为智能热水壶设计的控制中心,单片机用于驱动整个热水壶系统的运作,如液晶屏上的温度显示、接收传感器中的温度信号以及按键信号、LED上显示温度等[2]。 2、温度检测模块 周期性采集温度信号,判断是否达到预设温度,传送至单片机内处理。 3、液晶显示模块 显示水壶内热水的即时温度,便于用户随时掌控温度变化。 4、控制按键模块 三个独立按键组成一个独立键盘,连接单片机的I/O端口,对单片机输入控制信号,用于设温加热模式时控制设定温度的加或减,以及单片机的启动与停止。 模式设定由一个独立按键组成,当按下按键,液晶显示屏右下角显示“1”,即为烧开水模式;再次按下按键,液晶显示屏右下角显示“2”,即为设温加热模式;显示“0”为停止加热状态。 5、加热装置模块 用于加热水壶中的水,使水达到设定的温度。 6、蜂鸣器模块 当冷水加热到指定温度时发出报警声提示用户。 7、电源模块 用于给整个设计系统提供电。 2.4 外部配件材料的选择 本热水壶采用220V 200W的制式,水壶的选用优先考虑耐高温的合金材料,继电器连接加热片来加热壶底来实现烧水。在水壶底部和加热片上都涂上一层导热胶,使冷水受热均匀、加热的速度更快,减少等待时间。水壶盖上开孔一个边长约为40mm的方洞,便于放入测温探头、散去蒸汽,避免暴沸。 第三章 硬件模块电路设计 3.1 硬件组成部分 确定了本次设计需要实现的功能后,针对烧开水、加热冷水、显示温度的功能,设计的硬件部分主要由单片机模块、温度控制模块、液晶显示模块、按键控制模块构成。 3.2 主要模块电路设计 3.2.1 单片机模块 相比于普通的微型计算机,单片机具有以下特点:体积小,结构简单,控制能力强,可靠性高,集成度高,抗干扰能力强,磁屏蔽能力强,适合在恶劣环境下工作,以及低电压,低功耗,性价比较高,开发周期短等。 其中,STC89C52是STC公司生产的一种CMOS8位微控制器。STC89C52使用MCS-51内核,但做了许多改进使芯片具有传统51单片机不具备的功能。在单芯片上,由于灵巧的8 位CPU 和在系统可编程Flash, STC89C52为众多嵌入式控制应用系统提供灵活、有效的解决方案[3]。STC89C52RC芯片如图3-1所示。 图3-1 STC89C52RC芯片 STC89C52单片机系统由单片机、时钟电路、复位电路组成,其具有以下功能: 8k字节Flash,512字节RAM, 32 位I/O 口线,定时器,内置4KB EEPROM,MAX810复位电路,3个16 位定时器/计数器,4个外部中断,一个7向量4级中断结构(兼容传统51的5向量2级中断结构),全双工串行口。STC89C52 也可降至0Hz 静态逻辑操作,支持2种软件,还可选择节电模式。空闲模式下,CPU 停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。最高运作频率35MHz,6T/12T可选[4]。 本次设计采用STC89C52RC型号单片机,且单片机采用内部时钟方式,在MCS-51电路外接晶体以及电容C4和C5组成并联谐振电路且构成一个自激振荡器,接在放大器的反馈回路中,向内部电路提供震荡时钟。在本次设计中晶体选择1.2MHz频率,而电容C4和C5的选择为30pF的典型值。单片机中的复位电路采用上电自动复位和按键复位的方式。 3.2.2 温度控制模块 比较热电偶温度传感器,它的实现过程为:靠光敏电阻检测光照的大小,光照的大小改变电阻的大小,再给电阻一个外加电压,就改变了电压的大小,再用转换器件检测电压的变化并转换为数字信号,随后传到单片机上作一定的处理后去控制相应的数码管来显示当时的温度。而对DS18B20来说过程则简单许多,热电偶电阻传感器一直到单片机之前的部分都可以用一个DS18B20来代替,从而真正的实现了数字化[5]。 本设计系统采用的是DS18B20温度传感器,DS18B20是美国达拉斯公司生产的一款产品,是一线式数字化传感器。工作电源可在远端引入,也可采用寄生电源方式产生。低功耗、微型化、抗干扰能力很强,可根据实际要求通过简单的编程实现数字读数方式,便于与微处理器进行接口。电路简单,实现起来比较容易,几乎适用于所有类型的单片机。DS18B20内部结构主要由四部分组成:64位光刻ROM、温度传感器、非挥发的温度报警触发器TH和TL、配置寄存器。[6]DS18B20引脚图以及内部系统框图如图3-2、3-3所示。 图3-2 DS18B20引脚图 图3-3 DS18B20内部系统框图 3.2.3 液晶显示模块 本次设计采用的液晶显示屏为LM016L,除了PROTEUS中016没有显示调亮度的两个端口,它与LCD1602具有相同的原理。它可以显示两行,每行16 个字符,因此可相当于32 个LED 数码管,而且比数码管显示的信息还多。采用单+5V电源供电,外围电路配置简单,价格便宜,具有很高的性价比[7]。 在单片机系统中应用液晶显示屏具有以下优点:显示质量高、数字式接口、体积小、重量轻、功耗低,在嵌入式应用系统中得到越来越广泛的应用。 液晶显示屏、LCD1602管脚分布图如图3-4、3-5所示。 图3-4 液晶显示屏 图3-5 LCD1602管脚分布图 3.2.4 按键控制电路 三个按键构成一个独立键盘,一端分别接单片机的P0.5、P0.6和P0.7口,另一端接地。通过单片机的扫描查询,判断按键是否按下,当没有按键按下时,P0口输入为高电平,反之则为低电平[8]。 3.2.5 电源供电电路 由于本设计的模块都采用直流+5V供电,于是直接采用三端稳压器供电,省去了复杂的电源变压电路。再考虑到单片机和液晶显示屏的功耗,使用电池供电比较费电,并且电流也达不到要求,所以也直接用三端稳压器供电,电流大、电压稳定。 3.3 总系统电路 总系统电路原理图以及PCB图详见附录1。 第四章 软件模块电路设计 4.1 设计总体思路 本设计采用51单片机系统固件,基于keil uVision4开发环境,使用C语言编写程序[9]。程序需要实现以下需求: 1、一般热水壶都具有的烧开水功能。 2、指定温度加热冷水。切换模式后,按下加或减按键调节需要设定的温度,到水温到达指定温度后热水壶自动断电。 3、LM016L液晶显示屏上显示即时温度、设定温度以及工作模式。 4.2 烧开水功能设计特点 由于不同的地域气压差异,当温度达到100度时,水不一定能烧开,甚至在海拔较高的地区水不能加热到100度。于是本设计中相应的在温度控制模块中采用周期性采样温度的方式,每10s保存一次温度值,通过每次的采样进行比较进而寻找水温的最大值,如果没有更大的水温值,则水达到沸点,若温度稳定持续超过3分钟,并且水温超过80度,此时可判断水烧开了,随后热水壶自动断开电源。程序执行采用定时器中断方式,提高了系统的响应速度[10]。 4.3 控制程序工作流图 根据设计的思路和目标功能,确立了软件的工作流图。控制程序工作流图如图4-1所示。 图4-1 控制程序工作流图 4.4 系统主程序 系统主程序代码详见附录2。 第5章 系统测试 5.1 硬件部分测试 本设计首先在Protel Altium Designer Summer 09软件上绘制出原理图,并且完成PCB的设计,之后送至电路板制版工厂完成主控双面电路板的制作,自行动手完成元器件的焊接和测试。焊接过程需要谨慎认真的态度,先焊好主控芯片,最后焊接其它元器件,焊接结束后用万用表欧姆档对照原理图进行电路检测,检测其导通情况以及是否有短路或虚焊现象并及时修正。确保一切正常后,下载测试程序检测主控核心板是否能正常工作,经检测,主控核心板能达到预期的工作效果,可以作为本系统的主控部件。 5.1.1 热水壶功能测试 在水壶内盛上大约100ml的冷水,放置在涂上一层导热胶的加热板上,将1个DS18B20温度传感器探头放进水中用于检测实时温度,再将程序下载至主控板内后接通电源,选择“1”模式开始烧水,观察并记录如下: 1.独立按键设定工作模式,在液晶显示屏上正常显示实时水温和工作模式。 2.大约10分钟后,水烧开,蜂鸣器报警,显示屏上显示“Boiling”,随后断电。 重复测烧开水时的温度和所用时间5次,得到的结果如表5-1所示: 1 2 3 4 5 开水温度/度 99.51 99.49 99.52 99.51 99.50 所用时间 9分58秒 9分56秒 9分58秒 9分57秒 9分58秒 重新在水壶内盛上大约100ml的冷水,重复烧开水前的准备步骤,接通电源,按两下模式按键,选择“2”模式,起始水温为26.41度,再通过温度加减按键调节设定温度,设定50度后,等待大约5分钟后到达设定温度,蜂鸣器报警,随后断电。 重复测设定温度50度时的实际断电温度和所用时间5次,得到的结果如表5-2所示: 1 2 3 4 5 实际温度/度 51.22 50.99 51.18 51.23 51.21 所用时间 4分44秒 4分40秒 4分41秒 4分42秒 4分45秒 5.1.2 系统误差分析 分析整个测试过程,总结出有几点误差: 1.温度检测引起的误差。本设计温度检测中存在的误差是在可以接受的范围内的,由于DS18B20本身存在一定的系统误差,以及检测过程中温度环境不均匀、水流滚动影响等因素,因此设计采用周期采样温度的方法测定温度。 2.继电器引起的误差。随着继电器对电热管的加热,水温升高,电流流经SSR减小,因此交流的负载增加干扰信号也就不足为奇,SSR误导通。 3.电压波动引起的误差。 5.2 软件部分测试 本设计使用C语言在keil uvision开发环境下进行编程,该软件兼容单片机C语言软件开发系统,编译过程中对于出错的地方给出清楚的位置,方便开发者改进错误。在编程的基础上,整个调试的工作包括工程的建立和函数的调用,检查包含的头文件是否正确,分模块检查,根据设计的要求检查初始化程序,以及优化程序结构。经过反复的测试后,确定系统能够正常工作,系统功能得到了良好的实现,设计的软件部分测试完成。 5.3 结果分析 经过对系统的硬件以及软件部分的反复测试,在两种功能模式下,系统各模块都能够正常工作。总体来说,这些功能的实现达到了毕业设计题目上的要求,并且本设计的外形设计提高了安全性和灵活性,具有操作简单、实用等特点。本设计的成本较低,便于进行工业生产,投入日常生活中使用,从这个角度来说,本设计具有一定的实用意义。 结论 通过硬件和软件的设计,我制作了智能热水壶,本次设计的各项目标功能都已实现,包括用烧开水、按键设置温度、指定温度加热冷水、达到设定温度时自动断电等。通过这次设计,自己努力学习、认真设计,从搜集资料、分析和确定方案,我学习到了电路板的制作与程序的编写等操作技能,通过单片机编程和焊接电路板等实践方面的学习积累了自己的动手经验。在此期间,我充分的锻炼了我的自学能力,明白了学习生活中要有不轻言放弃的毅力。同时也领悟到不要在乎作品完成得是否完美,重要的是自己所学的在实践中如何应用以及怎样应用到最好。 本次设计的硬件模块电路部分比较简单,大部分热水壶功能是由软件程序实现。在编程过程中,我重新复习了许多汇编语言的编程技巧,最终编写的程序更加灵活;另外我还学习了代码的优化技巧,逐渐养成了良好的编程习惯,写出了高质量的程序代码,为今后的学习工作打下了良好的基础。 致谢 经过三个月的忙碌和工作,我的毕业设计已经接近尾声。由于经验的匮乏,本次毕业设计难免有许多考虑不周和制作不好的地方,如果没有导师的指导与督促,以及一起制作设计的同学们支持,要去完成这个设计是难上加难的。 在这里首先要感谢我的导师。她平日里工作繁多,但在我做毕业设计的过程中,从设计方案的确定和修改、中期检查指导、后期完善修改、论文的规范修改等方面都给予了我耐心的指导。 其次还要感谢所有帮助过我的老师,感谢电子工程学院所提供的实验室,在焊接和调试电路时给我们带来了极大的方便。 在这里,我要再一次对我的导师以及电子工程学院的全体老师们表示深深的谢意,在你们的支持与帮助下我顺利的完成了此次毕业设计。 参考文献 [1]中国行业研究网.电水壶发展的三大趋势,2007. [2]吉林工程技术师范学院.智能水壶.2009. [3]周鹏.基于STC89C52单片机的温度检测系统设计.现代电子技术,2012. [4]STC89C51RC单片机官方技术资料.STC官网 [5]南京航空航天大学金城学院.一个单片机实现温度传感网络并用数码管显示的设计,2013. [6]王欢,王忠庆,岳利维.基于STC89C52RC单片机的温度报警系统的设计与实现. 晋城职业技术学院学报,2011. [7]赵亮.跟我学51单片机(七)——LCD1602液晶显示模块.2011. [8]吉小辉,陈育中.电水壶自动断电控制器的研究与设计.电子设计工程,2013. [9]谭浩强.C语言程序设计(第二版).清华大学出版社,1999. [10]薛江玉,张鹏,冀鹏,宋玉倩.基于单片机的智能烧水壶,2011. 附录1 电路原理图、PCB图 附录2 系统主程序代码 【main.c】 include <reg52.h> #include "STC89C52RC.h" #include "Lm016l.h" #include "DS18B20.h" #define TIMER0TIMEH 0x3C #define TIMER0TIMEL 0xB0 #define HEATON 0 #define HEATOFF 1 #define BUZZERON 0 #define BUZZEROFF 1 #define SETTEMPUPLMT 100 #define SETTEMPDOWNLMT 30 sbit Buzzer = P3^7; sbit KeyMode = P0^5; sbit KeyUp = P0^6; sbit KeyDown = P0^7; sbit Heat = P3^6; //加热控制 sbit Reserve = P2^3; sbit BackLight = P4^3; //测试用 sbit Test1 = P3^2; sbit Test2 = P3^3; sbit Test3 = P3^4; sbit Test4 = P3^5; //定义几个全局变量 unsigned char timeflag; int RlTemp; //这里定义为int 比较时也用int型比较 int svRlTemp; //保存一次温度值 int pvTemp; //前两秒的温度值 int MaxTemp; //用于寻找最大温度值 //************************************************************* //* 初始化定时器0 这里设置50ms定时 //************************************************************* void ConfigTimer0() { TMOD |= 0x01; TH0 = TIMER0TIMEH; // TL0 = TIMER0TIMEL; ET0 = 1; // TR0 = 1; // EA = 1; } void SysInit() { InitLCDLm016l(); InitDs18b20(); ConfigTimer0(); } void delay(unsigned int x) { unsigned int y; for(;x>0;x--) for(y=110;y>0;y--); } /* void GetAndDisplay() { stt = GetDs18b20Temperature(&temp); if(stt) WriteLm016lString(0,0,"error"); else { Integer2String(temp,str); WriteLm016lString(0,0,str); fttp = Ds18b20Convert2Temperature(temp); n = Float2String(fttp,2,str); WriteLm016lString(0,1,str); WriteLm016lChar(n,1,0x08); //这里0x08为第一个自造字符 } } */ unsigned int abs(int a, int b) { unsigned int rlt; if(a >= b) rlt = a - b; else rlt = b - a; return rlt; } //************************************************************* //* 判断水是否开了 //************************************************************* unsigned char IsWaterBoiling() { static unsigned char stb = 0; // if(abs(RlTemp,pvTemp) <= 4) //小于+-0.25度 // { // stb ++; // } // else // { // stb = 0; // } //换种方式判断: 找最大值 如果没有更大的值 则到达沸点 if(RlTemp > MaxTemp) { MaxTemp = RlTemp; stb = 0; } else { stb ++; } //判断 if((stb >= 120) && (RlTemp > 1280)) { //如果温度稳定持续超过3min,并且水温超过80度,则认为水开了 stb = 0; return 1; } else return 0; } void BuzzerLight(unsigned char n) { for(;n>0;n--) { Buzzer = BUZZERON; delay(50); Buzzer = BUZZEROFF; delay(30); } } //************************************************************* //* 初始化定时器0 这里设置50ms定时 //************************************************************* void main() { int temp; float fttp; unsigned char stt; unsigned char str[16]; unsigned char i,n; unsigned char mode; unsigned char settp; int settpint; unsigned char blflag = 0; SysInit(); // i=0; settp = 50; settpint = settp; settpint <<= 4; WriteLm016lChar(15,1,mode+'0'); GetDs18b20Temperature(&temp); while(1) { //采集温度 if(timeflag & 0x01) { timeflag &= 0xfe; Test1 = ~Test1; stt = GetDs18b20Temperature(&temp); if(stt) { //WriteLm016lString(0,0,"No Ds18b20"); } else { //保存温度 i++; if(i>=10) //每10s保存一次温度值 { i = 0; pvTemp = temp; } svRlTemp = RlTemp; //这里不需要了 RlTemp = temp; } } //显示 if(stt) WriteLm016lString(0,0,"No Ds18b20"); else { n = String2StringArray("T=\0",str); fttp = Ds18b20Convert2Temperature(temp); n += Float2String(fttp,2,&str[n]); str[n] = 0x08; n += 1; n += String2StringArray(" \0",&str[n]); //清除后面字符 WriteLm016lString(0,0,str); // WriteLm016lChar(n,0,0x08); //这里0x08为第一个自造字符 } // if(mode == 0x02) { //显示设定温度值 n = String2StringArray("Set=",str); n += Integer2String(settp,&str[n]); str[n] = 0x08; n += 1; n += String2StringArray(" \0",&str[n]); //清除后面字符 WriteLm016lString(0,1,str); // WriteLm016lChar(n,1,0x08); } //模式切换 switch(mode) { case 0x00: //关闭模式 Heat = HEATOFF; Buzzer = BUZZEROFF; blflag = 0; MaxTemp = 0; break; case 0x01: //烧开水模式 if(timeflag & 0x02) //共用1s定时 { timeflag &= 0xfd; Test2 = ~Test2; if(blflag) { // Buzzer = BUZZERON; Heat = HEATOFF; BuzzerLight(3); WriteLm016lString(0,1,"Boiling"); } else { Heat = HEATON; blflag = IsWaterBoiling(); } } break; case 0x02: //指定加热模式 if(timeflag & 0x04) { timeflag &= 0xfb; Test3 = ~Test3; if(RlTemp > settpint) { Heat = HEATOFF; // Buzzer = BUZZERON; BuzzerLight(3); } else { Heat = HEATON; Buzzer = BUZZEROFF; } } break; default: mode = 0; break; } //按键监测 if(!KeyMode) { delay(10); while(!KeyMode); //等待释放 if(!stt) mode ++; //如果18b20不存在 则不能切换模式 if(mode > 2) mode = 0; // String2StringArray(" ",str); WriteLm016lString(0,1,str); // WriteLm016lChar(15,1,mode+'0'); } if(!KeyUp) { delay(10); while(!KeyUp); //等待释放 settp ++; if(settp > SETTEMPUPLMT) settp = SETTEMPDOWNLMT; settpint = settp; settpint <<= 4; } if(!KeyDown) { delay(10); while(!KeyDown); //等待释放 settp --; if(settp < SETTEMPDOWNLMT) settp = SETTEMPUPLMT; settpint = settp; settpint <<= 4; } } } //*********************************************** // 定时器0中断函数 //*********************************************** void Timer0ISR(void) interrupt 1 { static unsigned char tick=0; TH0 = TIMER0TIMEH; // TL0 = TIMER0TIMEL; tick++; if(tick >= 20) //1s { tick = 0; timeflag = 0xff; //1s 采集一次温度 Test4 = ~Test4; } } 附录3 元器件清单 附录4 设计实物图 Smart kettle design based on MCU Author:SuYaLi [Abstract] In daily life, a hot water bottle has a very broad field of application. Hot water is a kind of intelligent products and the actual needs of the modern society with the needs of users, so the design of a single-chip microcomputer as the core device, combined with the concept of humanity, the ultimate realization of intelligent kettle control circuit and program design of the intelligent. The design and implementation of the daily function of boiling water, and set the temperature of heating and cooling through the button, after reaching the set temperature, the buzzer to alert the user and automatically cut off the power supply, and LCD display real-time temperature expansion function. The hardware design of the single chip, temperature detection, buzzer alarm, liquid crystal display module, and the use o- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片机 智能 水壶 设计 毕业论文
咨信网温馨提示:
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【天****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【天****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【天****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【天****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
关于本文