电热水器控制系统设计-电子信息工程课程论文.doc

上传人:龙*** 文档编号:1010154 上传时间:2018-11-15 格式:DOC 页数:23 大小:221KB
下载 相关 举报
电热水器控制系统设计-电子信息工程课程论文.doc_第1页
第1页 / 共23页
电热水器控制系统设计-电子信息工程课程论文.doc_第2页
第2页 / 共23页
电热水器控制系统设计-电子信息工程课程论文.doc_第3页
第3页 / 共23页
电热水器控制系统设计-电子信息工程课程论文.doc_第4页
第4页 / 共23页
电热水器控制系统设计-电子信息工程课程论文.doc_第5页
第5页 / 共23页
点击查看更多>>
资源描述

1、I电子信息工程专业课程设计任务书题目:电热水器控制系统设计设计内容设计一个由 8051MCU 组成的电热水器控制系统。能够测量当前水温并显示;可以设置烧水温度,当无水时要有报警功能。通过这个过程熟悉温度传感器、键盘控制和七段数码管的使用,掌握 51 系列单片机控制和测试方法。 ;用 LED 显示测量得到的水温值。完成基本要求,可以适当发挥进行扩展设计。1)数码管显示:年月日时分秒;2)键盘输入修改时间、日期设置; 设计步骤一、总体方案设计以 51 系列 MCU 构成核心模块,合理分配存储器资源和 I/O 资源。温度采集模块建议采用 DS18B20,或采用 Pt100 再经模数转换;显示模块用2

2、 位 LED 可满足需要;报警模块可采用声光等形式;输入模块可选用矩阵式键盘或键盘驱动芯片;可选用 8255 进行 I/O 扩展。二、硬件选型工作对于每一个芯片要有具体型号,对每个分立元件要给出其参数三、硬件的设计和实现1. 选择计算机机型(采用 51 内核的单片机) ;2. 设计支持计算机工作的外围电路(EPROM、RAM、I/O 端口、键盘、显示接口电路等) ;3. 接口电路;4. 其它相关电路的设计或方案(电源、通信等)四、软件设计1. 分配系统资源,编写系统初始化和主程序模块;2. 编写相关子程序;3. 其它程序模块(显示与键盘等处理程序 )。五、编写课程设计说明书,绘制完整的系统电路

3、图(A3 幅面) 。II目 录一、设计要求1二、设计目的1三、设计的具体实现 11.硬件设计 21.1.单片机的选择 21.2.水位检测电路 61.3.温度检测电路 71.4.A/D 转换器 91.5.报警电路102.软件设计 112.1.温度测量子程序 122.2.判断子程序 132.3 重要代码四、结论与展望14五、心得体会及建议 14III六、附录14七、参考文献141电热水器控制系统设计报告一、设计要求设计一个由 8051MCU 组成的电热水器控制系统。能够测量当前水温并显示;可以设置烧水温度,当无水时要有报警功能。通过这个过程熟悉温度传感器、键盘控制和七段数码管的使用,掌握 51 系

4、列单片机控制和测试方法。设计以 AT89C51 单片机为核心,用 LED 显示测量得到的水温值。完成基本要求,可以适当发挥进行扩展设计。1)数码管显示:年月日时分秒;2)键盘输入修改时间、日期设置; 以 51 系列 MCU 构成核心模块,合理分配存储器资源和 I/O资源。温度采集模块建议采用 DS18B20,或采用 Pt100 再经模数转换;显示模块用 2 位 LED 可满足需要;报警模块可采用声光等形式;输入模块可选用矩阵式键盘或键盘驱动芯片;可选用 8255 进行 I/O 扩展。二、设计目的运用我们所学的专业知识,采用单片机为主控芯片设计电热水器控制系统并辅以外围电路设计,既能加深我们对专

5、业知识的理解,又能培养专业知识与实践相结合的实践技能,提高我们分析、解决问题的能力。三、设计具体实现电热水器控制系统的整体设计方案包括硬件设计方案和软件设计方案。硬件是指以微控制器作为核心,由外接温度测量电路、键盘、复位、热水器加热开关、LED 显示电路、报警电路组成。根据功能需求说明,本着节约开发成本、增加系统可靠性、减小体积等原则进行电热水器控制系统的硬件设计。本系统采用 51 系列单片机 AT89C52 作为整个系统的核心,利用AT89C52 现有的接口组织外围硬件模块。由于环境的特殊性,温度测量主要是由 Pt00 铂电阻温度传感器、温度传感器的信号调理电路和基于 ADC0801 的 A

6、/D 转换电路组成;键盘由三个按键组成:分别为开关和“+ ”、 “-”;水位检测电路检测是否有水,避免干烧;LED 显示电路主要用于显示温度;报警装置为单片2机 I/O 口驱动蜂鸣器,达到报警的效果。键盘 显示电路加热开关控制水位检测温度检测蜂鸣报警A/DAT89C52图 1 系统硬件图1 硬件设计1.1 单片机的选择图 2 AT89C52 芯片引脚图AT89C52 主要性能:1、 与 MCS-51 单片机产品兼容2、 8K 字节在系统可编程 Flash 存储器33、 1000 次擦写周期4、 全静态操作:0Hz33Hz 5、 三级加密程序存储器6、 32 个可编程 I/O 口线7、 三个 1

7、6 位定时器/计数器8、 八个中断源9、 全双工 UART 串行通道10、低功耗空闲和掉电模式l1、掉电后中断可唤醒l2、看门狗定时器13、双数据指针l4、掉电标识符功能特性描述:AT89C52 提供以下表中功能:8k 字节 Flash 闪速存储器,256 字节内部 RAM,32 个 I/O 口线,3 个 16 位定时/ 计数器,一个 6 向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。同时,AT89C52 可降至 0Hz 的静态逻辑操作,并支持两种软件可选的节电工作模式。空闲方式停止 CPU 的工作,但允许 RAM,定时/ 计数器,串行通信口及中断系统继续工作。掉电方式保存 R

8、AM 中的内容,但振荡器停止工作并禁止其它所有部件工作指导下一个硬件复位。VCC : 电源电压GND: 地P0 口:P0 口是一个 8 位漏极开路的双向 I/O 口,也即地址/数据总线复用口。作为输出口,每位能吸收电流的方式驱动 8个 TTL 逻辑电平。对 P0 端口写“1”时,引脚用作高阻抗输入。当访问外部程序和数据存储器时,P0 口也被作为低 8 位地址/ 数据复用。在这种模式下,P0 具有内部上拉电阻。在 flash 编程时,P0 口也用来接收指令字节;在程序校验时,输出指令字节。程序校验时,需要外部上拉电阻。P1 口:P1 口是一个具有内部上拉电阻的 8 位双向 I/O 口,P1 输出

9、缓冲器能驱动 4 个 TTL 逻辑电平。对 P1 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL) 。此外,P1.0 和 P1.1 分别作定时器/计数器 2 的外部计数输(P1.0/T2)和时器/计数器 2 的触发输入(P1.1/T2EX ) ,具体如下表所示。在 flash 编程和校验时,P1 口接收低 8 位地址4字节。表 1 P1.0 和 P1.1 口的第二功能P2 口:P2 口是一个具有内部上拉电阻的 8 位双向 I/O 口,P2 输出缓冲器能驱动 4 个 TTL 逻辑电平。对 P2 端口写“1”时

10、,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL) 。在访问外部程序存储器或用 16 位地址读取外部数据存储器(例如执行 MOVX DPTR)时,P2 口送出高八位地址。在这种应用中,P2 口使用很强的内部上拉发送 1。在使用 8 位地址(如 MOVX RI)访问外部数据存储器时,P2 口输出 P2 锁存器的内容。在 flash 编程和校验时,P2 口也接收高 8位地址字节和一些控制信号。P3 口:P3 口是一个具有内部上拉电阻的 8 位双向 I/O 口,P3 输出缓冲器能驱动 4 个 TTL 逻辑电平。对 P3 端口写“

11、1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL) 。P3 口亦作为 AT89C52 特殊功能(第二功能)使用,如下表所示。在 flash 编程和校验时,P3 口也接收一些控制信号。表 2 P3 口的第二功能5RST: 复位输入。晶振工作时,RST 脚持续 2 个机器周期高电平将使单片机复位。ALE/PROG:地址锁存控制信号(ALE)是访问外部程序存储器时,锁存低 8 位地址的输出脉冲。在 flash 编程时,此引脚(PROG)也用作编程输入脉冲。在一般情况下,ALE 以晶振六分之一的固定频率输出脉冲,可用来作为外

12、部定时器或时钟使用。然而,特别强调,在每次访问外部数据存储器时,ALE 脉冲将会跳过。如果需要,通过将地址为 8EH 的 SFR 的第 0 位置 “1”,ALE 操作将无效。这一位置 “1”,ALE 仅在执行 MOVX 或 MOVC 指令时有效。否则,ALE 将被微弱拉高。这个 ALE 使能标志位(地址为8EH 的 SFR 的第 0 位)的设置对微控制器处于外部执行模式下无效。PSEN:外部程序存储器选通信号( PSEN)是外部程序存储器选通信号。当 AT89C52 从外部程序存储器执行外部代码时,PSEN 在每个机器周期被激活两次,而在访问外部数据存储器时,PSEN将不被激活。EA/VPP:

13、访问外部程序存储器控制信号。为使能从 0000H 到 FFFFH 的外部程序存储器读取指令,EA 必须接 GND。为了执行内部程序指令,EA 应该接 VCC。在 flash 编程期间, EA 也接收 12 伏 VPP 电压。XTAL1:振荡器反相放大器和内部时钟发生器的输入端。XTAL2:振荡器反相放大器的输出端。Flash 编程并行模式:AT89C52 带有用作编程的片上 Flash 存储器阵列。编程接口需要一个高电压(12V)编程使能信号,并且兼容常规的第三方 Flash 或 EPROM 编程器。编程方法:对 AT89C52 编程之前,需设置好地址、数据及控制信号,可采用下列步骤对 AT8

14、9C52 编程:1在地址线上输入编程单元地址信号2在数据线上输入正确的数据3激活相应的控制信号4把 EA/Vpp 升至 12V 5每给 Flash 写入一个字节或程序加密位时,都要给ALE/PROG 一次脉冲。每个字节写入周期是自身定时的,通常6均为 1.5ms。重复 15 步骤,改变编程单元的地址和写入的数据,直到全部文件编程结束。1.2.水位检测电路在这里我采用排阻式水位传感器的方法,排阻式水位传感器的工作原理大致是分别用两个根铜针分别置于水箱内的底部位置。若是无水,铜针不接触水面,其输出为高电平;若铜针与其对应水面接触时则输出为低电平,输出接至电子开关,接到 AT89S52 的 P33

15、引脚。单片机对引脚进行判断后 ,判断是否有水,避免干烧。水位传感器采用电压跟随器与电压比较电路相结合实现。 P.0/T2EX478RS9xDINWALVCUMBGKes传pFa图 3 水位检测电路1.3.温度检测电路在温度检测电路采用 WZP 型 Pt100 温度传感器进行设计,温度的测量范围为 0+400之间,分辨率为 2,温度显示设置为小数点后 1 位数据。Pt100 是模拟量输出的温度传感器,随温度变化的是电阻,所以需要通过模拟电路将电阻转变为电压,然后经放大电路处7理后再送入 A/D 转换器。Pt100 热电阻是利用金属导体再温度变化时自身的电阻值也随着发生变化的特性来测量温度的。热电

16、阻的受热部分是用细金属丝均匀地双绕在绝缘材料制成的骨架上。当被检测介质中有温度梯度存在时,所测得的温度是感温元件所在范围内介质层中的平均温度。Pt100 温度传感器为正温度系数热敏电阻传感器,主要技术参数如下:1. 测温范围:-200+850;2. 允许偏差值:A 级(0.15+0.02|t|),B 级(0.30+0.05|t|) ;3. 最小置入深度:热电阻的最小置入深度200mm;4. 允许通过的通电流5mA;5. 另外,Pt100 温度传感器还具有抗震动、稳定性好、准确度高、耐高压等优点。Pt100 的线性好,在 0100之间变化时,最大非线性偏差小于 0.5。虽然 Pt100 的线性度

17、比较好,但是可以从数据之间发现Pt100 的电阻与测量的温度之间并不是完全的线性关系。因此在实际使用 Pt100 时,往往需要通过查表法或线性插值算法来计算出测量的温度。查表法是指在单片机的 ROM 存储区间中建立一个电阻和温度之间的分度表。当测量温度时,通过软件先计算出 Pt100 的阻值,然后再去查询分度表获得该阻值所对应的温度值。显而易见,在检测值的范围内对标定的点数设置的越多表格越大,占用的的 ROM 存储容量也就越大,但是对 Pt100 的描述也就越精确。另一种计算温度的方法就是采用线性插值算法。这种方法就是通过已知的 Pt100 分度表中的数据,将温度的变化曲线分为相应的几段。然后,找一个最佳的函数关系式来表示各段曲线上 Pt100 的阻值与被测温度之间的函数关系式。由于每个区间段都是用了一个函数解析式来进行描述,因此这种方法在程序设计时十分方便。所以在此我们采用线性插值算法。根据系统的温度测量范围先将曲线分为四段,每 100分为一段。每一段的温度与阻值之间的关系如下:当 0t100时,t=2.558*Rpt100-256.02当 100t 200时,t=2.637*Rpt100-267.01当 200t 300时,t=2.721*Rpt100-281.9当 300t 400时,t=2.81*Rpt100-300.94

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文资料库 > 毕业论文

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。