单片机课程设计(论文)-智能家用电热水器设计.docx

上传人:小小飞 文档编号:3916046 上传时间:2019-10-10 格式:DOCX 页数:33 大小:93.70KB
返回 下载 相关 举报
单片机课程设计(论文)-智能家用电热水器设计.docx_第1页
第1页 / 共33页
单片机课程设计(论文)-智能家用电热水器设计.docx_第2页
第2页 / 共33页
单片机课程设计(论文)-智能家用电热水器设计.docx_第3页
第3页 / 共33页
单片机课程设计(论文)-智能家用电热水器设计.docx_第4页
第4页 / 共33页
单片机课程设计(论文)-智能家用电热水器设计.docx_第5页
第5页 / 共33页
点击查看更多>>
资源描述

《单片机课程设计(论文)-智能家用电热水器设计.docx》由会员分享,可在线阅读,更多相关《单片机课程设计(论文)-智能家用电热水器设计.docx(33页珍藏版)》请在三一文库上搜索。

1、 课 程 设 计 任 务 书分院信息科学与工程学院专业自动化学生姓名学号0803010204设计题目智能家用电热水器设计课程设计内容及要求:内容: 1设计电路,选择器件 2 利用Proteus画原理图 3 编程,调试 4 焊接电路,调试要求: 1 单片机能够控制电热水器自动加热和保温 2 系统的灵敏 3 系统稳定无误差进度及安排:(10天) 1查资料(2天) 2设计电路画电路图(2天) 3编程与调试(2天) 4焊接硬件电路并调试(2天) 5写报告(2天)指导教师(签字): 年 月 日分院院长(签字): 年 月 日 摘要现在的家用电器基本上都采用了单片机控制,从电饭煲、洗衣机、电冰箱、空调机、彩

2、电、其他音响视频器材、再到电子秤量设备,五花八门,无所不在。本设计利用51单片机和温度传感器18b20设计了一个简单的智能家用电热水器.当水温达到80度就自动切断电源停止加热,水温低于50度就会自动连接电源开始加热。这样既能保持家中有热水用又节约电能,方便省时。关键词:智能家用电热水器,51单片机,18b20温度传感器目录1绪论.12硬件设计.22.1单片机简介.22.2 18b20简介.82.3 74hc595简介.112.4硬件主设计.122.4硬件主设计.122.5硬件制作.143软件设计.143.1电路功能模块.143.2电路主流程图.153.3主程序设计.16总结.27致谢.28参考

3、文献.291.绪 论 二十世纪跨越了三个“电”的时代,即电气时代、电子时代和现已进入的电脑时代。不过,这种电脑,通常是指个人计算机,简称PC机。它由主机、键盘、显示器等组成。还有一类计算机,大多数人却不怎么熟悉。这种计算机就是把智能赋予各种机械的单片机(亦称微控制器)。顾名思义,这种计算机的最小系统只用了一片集成电路,即可进行简单运算和控制。它的出现是近代计算机技术发展史上的一个重要里程碑,因为它体积小,通常都藏在被控机械的“肚子”里。它在这个装置中,起着有如人类头脑的作用,它出了毛病,整个装置就瘫痪了。 单片机具有体积小、功能强、应用面广等优点,目前正以前所未见的速度取代着传统电子线路构成的

4、经典系统,蚕食着传统数字电路与模拟电路固有的领地。它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。同时,学习使用单片机了解计算机原理与结构的最佳选择。 现在,这种单片机的使用领域已十分广泛。彩电、冰箱、空调、录像机、VCD、遥控器、游戏机、电饭煲等无处不见单片机的影子,单片机早已深深地融入我们每个人的生活之中。单片机能大大地提高这些产品的智能性,易用性及节能性等主要性能指标,给我们的生活带来舒适和方便的同时,在工农业生产上也极大地提高了生产效率和产品质量。2.硬件设计2.1单片机简介2.1.1 80C51单片机的内部结构 图2-1为80C51单片机功能结构框图 80C51 芯片

5、内部集成了 CPU、RAM、ROM、定时/计数器和I/O口等各功能部件,并由内部总线把这些不见连接在一起。80C51单片机内部包含以下一些功能部件:(1) 一个8位CPU;(2) 一个片内振荡器和时钟电路;(3) 4KB ROM(80C51有4KB掩膜ROM,87C51有4KB EPROM,80C31片内有无ROM);(4) 128B内RAM;(5) 可寻址64KB的外ROM和外RAM控制电路;(6) 两个16位定时/计数器;(7) 21个特许功能寄存器;(8) 4个8位并行I/O口,共32条可编程I/O端线;(9) 一个可编程全双工串行口;(10) 5个中断源,可设置成2个优先级。振荡器及时

6、序 OSC8051CPU程序存储器4KB ROM数据存储器256B2个16位定时器/计数器64K总线扩展控制器可编程I/O可编程全双工串行口外时钟源 外部事件计数 中断 控制 并 行 口 串行通信 图2-1 80C51单片机功能结构框图2.1.2 80C51单片机的引脚功能 80C51单片机一般采用双列直插DIP封装,共40个引脚,图2-2a为引脚排列图。图2-2b为逻辑符号图。40个引脚大致可分为4类:电源、时钟、控制和I/O引脚。1.电源 (1)Vcc芯片电源,接+; (2)Vss接地端。2.时钟 XTAL1、XTAL2晶体振荡电路反相输入端和输出端。使用内部振荡电路时外接石英晶体。3.控

7、制线 控制线共有4根,其中3根是复用线。所谓复用线是指具有两种功能,正常使用时是一种功能,在某种条件下是另一种功能。 (1)ALE/PROG地址锁存允许/片内EPROM编程脉冲。 ALE功能:用来锁存P0口送出的低8位地址。 80C51在并行扩展外存储器(包括并行扩展I/O口)时,P0口用于分时传送低8位地址和数据信号,且均为二进制数。那么如何区分是低8位地址还是8位数据信号呢?当ALE信号有效时,P0口传送的是低8位地址信号;ALE信号无效时,P0口传送的是8位数据信号。在ALE信号的下降沿,锁定P0口传送的内容,即低8位地址信号。 需要指出的是,当CPU不执行访问外RAM指令(MOVX)时

8、,ALE以时钟振荡频率1 / 6的固定频率输出,因此ALE信号也可作为外部芯片CLK时钟或其他需要。但是,当CPU执行MOVX指令时,ALE将跳过一个ALE脉冲。 ALE端可驱动8个LSTTL门电路。 PROG功能:片内有EPROM的芯片,在EPROM编程期间,此引脚输入编程脉冲。 (2)PSEN外ROM读选通信号。 80C51读外ROM时,没个机器周期内PSEN两次有效输出。PSEN可作为外ROM芯片输出允许OE的选通信号。在读内ROM或读外RAM时,PSEN无效。 PSEN可驱动8个LSTTL门电路。 (3) RST/Vpd复位/备用电源。 正常工作时,RST(Reset)端为复位信号输入

9、端,只要在该引脚上连续保持两个机器周期以上高电平,80C51芯片即实现复位操作,复位后一切从头开始,CPU从0000H开始执行指令。 Vpd功能:在Vcc掉电情况下,该引脚可接上备用电源,由Vpd向片内供电,以保持片内RAM中的数据不丢失。 (4) EA/Vpp 内外ROM选择/片内EPROM编程电源。 EA功能:正常工作时,EA为内外ROM选择端。80C51单片机ROM寻址范围为64KB,其中4KB在片内,60KB在片外(80C31芯片无内ROM,全部在片外)。当EA保持高电平时,先访问内ROM,但当PC(程序计数器)值超过4KB(0FFFH)时,将自动转向执行外ROM中的程序。当EA保持低

10、电平时,则只访问外ROM,不管芯片内有否内ROM。对80C31芯片,片内无ROM,因此EA必须接地。 Vpp功能:片内有EPROM的芯片,在EPROM编程期间,此引脚用于施加编程电源Vpp。 对4个控制引脚,应熟记起第一功能,了解其第二功能。 严格来讲,80C51的控制线还应该包括P3口的第二功能。4. I/O引脚 80C51共有4个8位并行I/O端口,共32个引脚 (1)P0口8位双向I/O口。 在不并行扩展外存储器(包括并行扩展I/O口)时, P0口可用作双向I/O口。 在并行扩展外存储器(包括并行扩展I/O口)时, P0口可用于分时传送低8位地址(地址总线)和8位数据信号(数据总线)。位

11、结构如图2-4所示。P0口能驱动8个LSTTL门。 VCC地址/数据控制锁存器P0.XDCPQQMUXV1V2P0.X引脚读锁存器写锁存器内部总线读引脚&1图2-4 P0口位结构(2) P1口8位准双向I/O口(“准双向”是指该口内部有固定的上拉电阻)。位结构如图2-5所示。 P1口能驱动为4个LSTTL门。VCC锁存器P1.XDCPQQP1.X引脚读锁存器写锁存器内部总线读引脚内部上拉电阻图 2-5 P1口位结构 (3) P2口8位准双向I/O口。在不并行扩展外存储器(包括并行扩展I/O口)时, P2口可用作双向I/O口。在并行扩展外存储器(包括并行扩展I/O口)时, P2口可用于传送高8位

12、地址(属地址总线) 。P2口能驱动4个LSTTL门。P2口的位结构如图2-6所示,引脚上拉电阻同P1口。在结构上,P2口比P1口多一个输出控制部分。锁存器P2.XDCPQQ读锁存器写锁存器内部总线读引脚VCCP2.X引脚内部上拉电阻1地址控制MUX图 2-6 P2口位结构 (4) P3口8位准双向I/O口。可作一般I/O口用,同时P3口每一引脚还具有第二功能,用于特殊信号输入输出和控制信号(属控制总线)。P3口驱动能力为4个LSTTL门。 图 2-7 P3口位结构P3口第二功能如下: P3.0RXD:串行口输入端; P3.1TXD:串行口输出端; P3.2INT0:外部中断0请求输入端; P3

13、.3INT1:外部中断1请求输入端 P3.4T0:定时/计数器0外部信号输入端; P3.5T1:定时/计数器1外部信号输入端; P3.6WR:外RAM写选通信号输出端; P3.7RD:外RAM读选通信号输出端。 上述4个I/O口,各有各的用途。 在不并行扩展外存储器(包括并行扩展I/O口)时, 4个I/O口都可作为双向I/O口用。在并行扩展外存储器(包括并行扩展I/O口)时, P0口专用于分时传送低8位地址信号和8位数据信号,P2口专用于传送高8位地址信号。P3口根据需要常用于第二功能,真正可提供给用户使用的I/O口是P1口和一部分未用作第二功能的P3口端线。 2.218b20简介1DS18B

14、20基本知识 DS18B20数字温度计是DALLAS公司生产的1Wire,即单总线器件,具有线路简单,体积小的特点。因此用它来组成一个测温系统,具有线路简单,在一根通信线,可以挂很多这样的数字温度计,十分方便。 2、DS18B20产品的特点 (1)、只要求一个端口即可实现通信。 (2)、在DS18B20中的每个器件上都有独一无二的序列号。 (3)、实际应用中不需要外部任何元器件即可实现测温。 (4)、测量温度范围在55。C到125。C之间。 (5)、数字温度计的分辨率用户可以从9位到12位选择。 (6)、内部有温度上、下限告警设置。 2.2、DS18B20的引脚介绍 TO92封装的DS18B2

15、0的引脚排列见下图1 GND 地信号 2 DQ 数据输入/输出引脚。开漏单总线接口引脚。当被用着在寄生电源下,也可以向器件提供电源。 3 VDD 可选择的VDD引脚。当工作于寄生电源时,此引脚必须接地。3 DS18B20的使用方法 由于DS18B20采用的是1Wire总线协议方式,即在一根数据线实现数据的双向传输,而对AT89S51单片机来说,硬件上并不支持单总线协议,因此,我们必须采用软件的方法来模拟单总线的协议时序来完成对DS18B20芯片的访问。 由于DS18B20是在一根I/O线上读写数据,因此,对读写的数据位有着严格的时序要求。DS18B20有严格的通信协议来保证各位数据传输的正确性

16、和完整性。该协议定义了几种信号的时序:初始化时序、读时序、写时序。所有时序都是将主机作为主设备,单总线器件作为从设备。而每一次命令和数据的传输都是从主机主动启动写时序开始,如果要求单总线器件回送数据,在进行写命令后,主机需启动读时序完成数据接收。数据和命令的传输都是低位在先。 DS18B20的复位时序 DS18B20的读时序 对于DS18B20的读时序分为读0时序和读1时序两个过程。 对于DS18B20的读时隙是从主机把单总线拉低之后,在15秒之内就得释放单总线,以让DS18B20把数据传输到单总线上。DS18B20在完成一个读时序过程,至少需要60us才能完成。 DS18B20的写时序 对于

17、DS18B20的写时序仍然分为写0时序和写1时序两个过程。 对于DS18B20写0时序和写1时序的要求不同,当要写0时序时,单总线要被拉低至少60us,保证DS18B20能够在15us到45us之间能够正确地采样IO总线上的“0”电平,当要写1时序时,单总线被拉低之后,在15us之内就得释放单总线。2.3 74HC595简介74HC595是硅结构的CMOS器件,兼容低电压的TTL电路。74HC595具有8位移位寄存器和一个存储器,三态输出功能。移位寄存器和存储器是分别得时钟,如果两个时钟连在一起,则移位寄存器比存储器早一个脉冲。移位寄存器有一个串行移位输入(DS)和一个串行输出(Q7)和一个异

18、步的低电平复位。存储寄存器有一个并行8位的具有三态的总线输出,当使能为低电平时,存储器存储的数据输出总线。8位串行输入/输出或则并行输出移位寄存器,具有高阻关断状态。2.4硬件主设计:用protues软件画电路图:打开protues7.4在ISIS界面下找出所用元件:AT89C52单片机一个,74HC595芯片两只,7SEG-MPX4-CA数码管一只,电源VCC,地GROUND,小灯LUMILED两只,DS18B20温度传感器一只,电阻若干只,晶振CRYSTAL一只。然后根据家用电热水器的设计画出主电路图如下:主设计电路解释:数码管显示实际温度51单片机进行控制DS18B20进行温度采集两只L

19、ED灯都亮时表示正在加热,当第一只灭第二只亮表示在保温状态2.5 硬件制作根据设计买回相关元件和电路板,在实验室利用相关工具进行焊接。经过一个下午的焊接终于完成。3. 系统软件与流程图在系统软件与流程图里主要论述了,软件结构,软件设计等。3.1 电路功能模块由总体设计框图3.1,本热水器由以下几部分功能模块组成,采集温度电路、ADC转换电路、显示电路等电路组成。程序中的子程序 功能模块主要分成4个,延时、采集温度、温度转换、和显示,延时子程序在整个程序中多次被调用,ADC转换则是每次测量都会需要用到的,当进行测量时,18b20将被测量转换为2进制数发给单片机然后单片机根据软件协议送显示,显示子

20、程序则包括一个4位字节的发送程序。开关电路温度采集ADC输入被测量显示加热控制ADC使能控制89c51图3.1 功能模块设计框图3.2主程序流程图3.3程序设计设计程序如下:#include#include#define uchar unsigned char#define uint unsigned int#define on 1#define off 0sbit powcon=P10;sbit dq=P33;uchar ms;uchar temps4;uchar temph;uchar templ;uchar code seg17=0xfc,0x60,0xda,0xf2,0x66,0xb6

21、,0xbe,0xe0,0xfe,0xf6,0xee,0x3e,0x9c,0x7a,0x9e,0x8e,0x00;uint temp;uchar temp_buff9;uchar id_buff8;uchar *p;uchar crc_data;uchar code crctable256=0,94,188,226,97,63,221,131,194,156,126,32,163,253,31,65,157,195,33,127,252,162,64,30,95,1,127,189,62,96,130,220,35,125,159,193,66,28,254,160,225,191,93,3,1

22、28,222,60,98,190,224,2,92,223,129,99,61,124,34,192,158,29,67,161,255,70,24,250,164,39,121,155,197,132,218,56,102,229,187,89,7,219,133,103,57,186,228,6,88,25,71,165,251,120,38,196,154,101,59,217,135,4,90,184,230,167,249,27,69,198,152,122,36,248,166,68,26,153,199,37,123,58,100,134,216,91,5,231,185,140

23、,210,48,110,237,179,81,15,78,16,242,172,47,113,147,205,17,79,173,243,112,46,204,146,211,141,111,49,178,236,14,80,175,241,19,77,206,144,44,109,51,209,143,12,82,176,238,50,108,142,208,83,13,239,177,240,174,76,18,145,207,45,115,202,148,118,40,171,245,23,73,8,86,180,234,105,55,213,139,87,9,235,181,54,10

24、4,138,212,149,203,41,119,244,170,72,22,233,183,85,11,136,214,52,106,43,117,151,201,74,20,246,168,116,42,200,150,21,75,169,247,182,232,10,84,215,137,107,53;void delay(uchar tt)uchar i;for(;tt0;tt-)for(i=0;i2000;i+);void led(uchar d1,uchar d2)INT0=0;SBUF=d2;while(!TI);TI=0;SBUF=d1;while(!TI);TI=0;INT0

25、=1;void led_disp(uchar *dis_buf)led(segdis_buf0,0xef);delay(2);led(segdis_buf1,0xdf);delay(2);led(segdis_buf2|0x01,0xbf);delay(2);led(segdis_buf3,0x7f);delay(2);void tempdelay(uchar us)while(us-);void init18b20(void)/18b20初始化kdq=1;_nop_();dq=0;tempdelay(86);_nop_();dq=1;tempdelay(14);_nop_();_nop_()

26、;_nop_();tempdelay(20);_nop_();_nop_();dq=1;void writebyte(uchar wr)/向18b20写入一个字节节kuchar i;for(i=0;i=1;uchar readbyte(void)/读18b20的一个字节节uchar i,u=0;for(i=0;i=1;dq=1;if(dq=1)u|=0x80;tempdelay(4);_nop_();return(u);void read_bytes(uchar j)/读18b20uchar i;for(i=0;ij;i+)*p=readbyte();p+;uchar crc(uchar j)

27、/crc校验uchar i,crc_data=0;for(i=0;i=8) /如果水温大于80度 if (rps()=off) /加热电源关断 P0=0xfe; /第一个小灯亮 delay(200); /延迟一段时间 else /如果电源没有关断 powcon=1; /加热电源被切断P0=0xfe; delay(200); if(temps1=5) /如果水温小于50度 if (rps()=on) / 加热电源导通 P0=0xfc; /两只小灯都亮 delay(200); else /如果电源没有导通 powcon=0; /合上加热电源电源 P0=0xfc; delay(200); 总结家用智

28、能电热水器采用了温度过高自动断电温度过低自动上电的设计。所以不至于温度过高还继续加热致使水越烧越少,或是主人忘记烧水而不能及时使用。当然如果再加上对水位的控制和自动加水就更加完美了。这样既能节约电能、水资源、和人的时间和精力。设计结果综述:(1) 智能热水器完成的功能主要是自动加热,它主要有51单片机最小系统、温度采集系统、显示部分和控制部分组成。(2) 温度采集和单片机部分是核心。单片机是实现控制,而只有温度在一定范围内才能进行控制。(3)在本次软件设计过程中,采用的是C语言。(4)最后是硬件制作,然后进行调试。致谢经过几个月的努力,毕业设计基本完成了。在毕业设计的实践中,学到很多有用的知识

29、,也积累了宝贵的经验。在此要特别感谢老师,在做设计期间得到老师的精心指导,他对我们要求非常严格。毕业设计的顺利完成离不开老师的帮助的。同时感谢身边的同学,他们为我提供了很多宝贵的资料。本次毕业设计自始至是在他们的指导和帮助下完成的,在此再一次向他们致以深深的敬意和感谢!同时由于自己本身对一些知识的掌握不是很深刻,设计难免会出现一些漏洞,虽然设计做的不是很完美,但是毕竟这是自己认认真真做出来的。希望各位老师给予指正。同时感谢母校对我四年来的教育和关心,在这里我不仅学到了专业知识,还学到了很多做人的道理。使我明确了以后的方向,树立了良好的价值观,在这里学到的一切都使我终身受益。再次衷心感谢所有关心和帮助过我的老师和同学,谢谢你们! 参考文献 参考文献1.丁元杰 单片微机原理及应用 机械工业出版社 2005年2 张伟 王力 protel2004入门与提高 人民邮电出版社 2005年3. 常健生 检测与转换技术 机械工业出版社 2000年4. 阎石 数字电子技术基础 高等教育出版社 1998年5. 童诗白 模拟电子技术基础 高等教育出版社 2001年6. 李伯成 微型计算机原理与接口技术 清华大学出版社 2005年7. 李昌喜 智能仪表原理与设计 化学工业出版社 2005年

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

当前位置:首页 > 其他


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