ImageVerifierCode 换一换
格式:DOCX , 页数:35 ,大小:195.23KB ,
资源ID:9649022      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/9649022.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(基于 51 单片机的水温控制系统设计.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

基于 51 单片机的水温控制系统设计.docx

1、基于 51 单片机的水温控制系统设计本科课程设计报告理工大学单片机应用与仿真训练设计报告基于 51 单片机的水温控制系统设计 -1-理工大学本科课程设计报告摘要本设计是一个基于单片机的温度控制系统,该设计可以方便地实现温度采集、温度显示等功能。本设计的温度控制部分采用单片机完成。单片机有着体积小、功耗低、功能强、性能价格比高、使用电子元件较少、内部配线少、制造调试方便等显著优点,将其用于温度检测和控制系统中可大大地提高控制质量和自动化水平,具有良好的经济效益和推广价值。利用单片机对温度进行测控的技术,日益得到广泛应用。在众多的温度控制系统中,测温元件常常选用热敏电阻、半导体测温二极管、三极管、

2、集成温度传感器等。相比而言,集成温度传感器具有线性好、稳定度高、互换性强、易处理等突出优点,故在许多场所得到了广泛应用。本系统中单片机作为下位机,完成测温任务,并通过与单片机连接的键盘可以实时设定测控温度的下限。本系统还可以连接相应的外围加热电路,当环境温度低于设定下限温度时,单片机发出的指令,加热器起动对环境进行加热,当温度回升到下限温度时加热器停止加热。为了便于操作,还设计一个简单的操作面板,它主要由键盘与按钮开关组成,通过操作面板可以进行系统的开停、RESET、设置温度下限告警值等。键盘输入部分采用了键盘专用 IC 74C922,简化了软件编程,用起来非常方便。系统软件主要由初始化程序、

3、主程序、监控显示程序等组成。其中初始化程序是对单片机的接口工作方式,A/D 转换方式等进行设置;显示程序包括对显示模块的初始化、显示方式设定及输出显示;主程序则完成对采集数据进行处理。该设计应用范围相当广泛,同时采用单片机技术, 由于单片机自身功能强大,因而系统设计简单,工作可靠,抗干扰能力强,也可在此基础上加入通信接口电路,实现与上位机之间的通信。-2-河南理工大学本科课程设计报告1 概述 . 42 系统总体方案及硬件设计 . 52.1 系统原理框图 . 52.2 单片机及输入输出模块选型 . 52.3 电源模块的选择 . 52.4 I/O 地址分配 . 52.5 晶振及复位电路 . 62.

4、6 数码管驱动电路 . 72.7 温度显示模块 . 72.8 DS18B20 温度传感器 . 82.8.1 DS18B20 的主要特性 . 83 软件设计 . 93.1 控制流程图 . 93.2 DS18B20 的软件设计 . 103.2.1 DS18B20 的初始化程序 . 103.2.2 DS18B20 的写操作 . 103.2.3 DS18B20 的读操作 . 113.3 程序调试 . 124 Proteus 软件仿真 . 145 课程设计体会 . 16参考文献 . 17附 1:源程序代码 . 18附 2:系统原理图 . 24-3-河南理工大学本科课程设计报告1 概述1971 年 int

5、el 公司霍夫研制出世界上第一块四位的微处理芯片 intel4004 芯片,标志着第一代微处理器问世,单片机从此开始了它的发展历程。单片机诞生于 20 世纪 70 年代末,经历了 SCM、MCU、SOC 三大阶段。 20 世纪 80 年代初,Intel 公司在 MCS-48 系列单片机的基础上,推出了 MCS-51 系列 8 位高档单片机。MCS-51 系列单片机无论是片内 RAM 容量,I/O 口功能,系统扩展方面都有了很大的提高。从 1993 年到现在,单片机正发展在第四阶段。单片机的发展趋势将是向着大容量、高性能化、低功耗化、外围电路内装化等方面发展。因此它广泛应用于仪器仪表、家用电器、

6、医用设备、航空航天、专用设备的智能化管理及过程控制等领域,大致可分如下几个范畴:在智能仪器仪表上、工业控制中、家用电器中、计算机网络和通信领域中、在医用设备领域中、.在各种大型电器中的模块化中的应用。温度是一种最基本的环境参数,人民的生活与环境的温度息息相关,在工业生产过程中需要实时测量温度,在农业生产中也离不开温度的测量,因此研究温度的测量方法和装置具有重要的意义。温度是一个十分重要的物理量,对它的测量与控制有十分重要的意义。随着现代工农业技术的发展及人们对生活环境要求的提高,人们也迫切需要检测与控制温度:如大气及空调房中温度的高低,直接影响着人们的身体健康;在大规模集成电路生产线上,环境温

7、度不适当,会严重影响产品的质量。测温技术在生产过程中,在产品质量控制和监测,设备在线故障诊断和安全保护以及节约能源等方面发挥了着重要作用。因此准确的测量温度对我们的生活生产等至关重要。本次设计就是将两者结合,利用单片机结合传感器技术而开发设计了这一温度监控系统。它是基于 MCS-51 单片机的温度采集系统,同时结合了温度传感器的模拟采集并通过三位数码管显示实时测出的温度值,可完成每一秒测一次,测得温度在-2070 度的设计要求。-4-河南理工大学本科课程设计报告2 系统总体方案及硬件设计2.1 系统原理框图该系统的原理框图如图 2-2 所示:数码管显示数字温度传感器电热丝51 单片机按键操作继

8、电器集成运放三极管放大图 2-1 系统原理框图2.2 单片机及输入输出模块选型在该题目当中,单片机选用 STC89C52,温度检测模块采用 DS18B20 作为温度传感器对水温进行实时检测,温度显示模块选用两个四位一体共阳极数码管,分别显示实际温度和目标温度。2.3 电源模块的选择由于单片机输出的是 TTL 电平信号,因此对单片机单独提供 5V 电源。该电源可以由 220V 交流电源经整流、降压和稳压后获得。对继电器线圈端子提供经5V 放大后的 8V 电源供电,触头端子直接接入 220V 电源。2.4 I/O 地址分配将单片机 P0 口作为实际水温的段选端,P2 口作为目标水温的段选端。P1

9、作为位选端,其中 P1.0P1.3 作为实际水温位选,P1.4P1.7 作为目标水温位选。P3 口主要作为信号指示以及读取温度传感器的温度数据使用。单片机引脚分配-5-河南理工大学本科课程设计报告图如图 2-1 所示:图 2-2 单片机引脚图2.5 晶振及复位电路该系统中单片机外部晶振选为 11.0592MHZ,通过两个电容与 XTAL1 和 XTAL2引脚连接构成单片机的外部时钟电路如图 2-3 所示。图 2-3 单片机外部时钟电路复位操作有上电自动复位和按键手动复位两种方式。该系统复位电路由 RC微分电路产生的脉冲来实现,电路如图 2-4 所示,按下开关即可产生复位信号,通过导线引入单片机

10、 RST 引脚即可发生复位。-6-河南理工大学本科课程设计报告图 2-4 单片机复位电路2.6 数码管驱动电路该系统选择四位一体的共阳极数码管作为温度显示元件。通过测试,我们发现单片机上电后输出电流不能达到要求,导致数码管显示亮度不够,因此在本电路中对位选端加了三极管驱动电路。如图 2-5 所示:图 2-5 数码管驱动电路2.7 温度显示模块由 P0 口控制实际水温的段选,P2 口控制目标水温的段选。P1 口作为位选端,其中 P1.0P1.3 作为实际水温位选,P1.4P1.7 作为目标水温位选。显示模块如图 2-6 所示。-7-河南理工大学本科课程设计报告图 2-6 温度显示模块2.8 DS

11、18B20 温度传感器2.8.1 DS18B20 的主要特性1、适应电压范围更宽,电压范围为 3.05.5V,在寄生电源方式下可由数据线供电2、独特的单线接口方式,DS18B20 在与微处理器连接时仅需要一条口线即可实现微处理器与 DS18B20 的双向通讯3、DS18B20 在使用中不需要任何外围元件,全部传感元件及转换电路集成在形如一只三极管的集成电路内4、温范围55125,在-10+85时精度为0.55、可编程的分辨率为 912 位,对应的可分辨温度分别为 0.5、0.25、0.125和 0.0625,可实现高精度测温6、在 9 位分辨率时最多在 93.75ms 内把温度转换为数字,12

12、 位分辨率时最多在 750ms 内把温度值转换为数字,速度更快7、测量结果直接输出数字温度信号,以一线总线串行传送给 CPU,同时可传送 CRC 校验码,具有极强的抗干扰纠错能力-8-河南理工大学本科课程设计报告3 软件设计3.1 控制流程图程序控制流程图如图 3-1 所示:开始单片机 I/O 口初始化DS18B20 初始化数码管显示初始化读取水的实际温度实际温度是否低于目标温度?Y控制继电器导通,进行加热N控制继电器关断,进行降温实际温度是否高于设定的最大温度?Y启动报警装置,同时控制继电器关断进行降温结束N实际温度是否低于设定的最小温度?Y启动报警装置,同时控制继电器导通进行加热结束N图

13、3-1 程序流程图-9-河南理工大学本科课程设计报告3.2 DS18B20 的软件设计3.2.1 DS18B20 的初始化程序(1) 先将数据线置高电平“1”。(2) 延时(该时间要求的不是很严格,但是尽可能的短一点)(3) 数据线拉到低电平“0”。(4) 延时 750 微秒(该时间的时间范围可以从 480 到 960 微秒)。(5) 数据线拉到高电平“1”。(6) 延时等待(如果初始化成功则在 15 到 60 毫秒时间之内产生一个由 DS18B20 所返回的低电平“0”。据该状态可以来确定它的存在,但是应注意不能无限的进行等待,不然会使程序进入死循环,所以要进行超时控制)。(7) 若 CPU

14、 读到了数据线上的低电平“0”后,还要做延时,其延时的时间从发出的高电平算起(第(5)步的时间算起)最少要 480 微秒。(8) 将数据线再次拉高到高电平 “1”后结束。/*DS18B20 初始化*/Init_DS18B20(void)unsigned char x=0;DQ = 1;delay(8);DQ = 0;delay(80);DQ = 1;delay(14);x=DQ;/DQ 复位/稍做延时/单片机将 DQ 拉低/精确延时大于 480us/拉高总线/稍做延时后如果 x=0 则初始化成功delay(20);3.2.2 DS18B20 的写操作(1) 数据线先置低电平“0”。(2) 延时

15、确定的时间为 15 微秒。(3) 按从低位到高位的顺序发送字节(一次只发送一位)。(4) 延时时间为 45 微秒。(5) 将数据线拉到高电平。- 10 -河南理工大学本科课程设计报告(6) 重复上(1)到(6)的操作直到所有的字节全部发送完为止。(7) 最后将数据线拉高。/*向 DS18B20 写命令*/WriteOneChar(unsigned char dat)unsigned char i=0;for (i=8; i0; i-)DQ = 0;DQ = dat&0x01;delay(5);DQ = 1;dat=1;/delay(4);3.2.3 DS18B20 的读操作(1)将数据线拉高“

16、1”。(2)延时 2 微秒。(3)将数据线拉低“0”。(4)延时 15 微秒。(5)将数据线拉高“1”。(6)延时 15 微秒。(7)读数据线的状态得到 1 个状态位,并进行数据处理。(8)延时 30 微秒。DS18B20 温度值格式表,如表 2-1 所示。这是 12 位转化后得到的 12 位数据,存储在 18B20 的两个 8 比特的 RAM 中,二进制中的前面 5 位是符号位,如果测得的温度大于 0,这 5 位为 0,只要将测到的数值乘于 0.0625 即可得到实际温度;如果温度小于 0,这 5 位为 1,测到的数值需要取反加 1 再乘于 0.0625 即可得到实际 温度。例如+125的数

17、字输出为07D0H,+25.0625的数字输出为 0191H,-25.0625的数字输出为 FE6FH,-55的数字输出为 FC90H 。- 11 -河南理工大学本科课程设计报告表 3-1 DS18B20 温度值格式表/DS18B20 程序读取温度ReadTemperature(void)unsigned char a=0;unsigned char b=0;unsigned int t=0;Init_DS18B20();WriteOneChar(0xCC);WriteOneChar(0x44);Init_DS18B20();WriteOneChar(0xCC);WriteOneChar(0x

18、BE);前两个就是温度a=ReadOneChar();b=ReadOneChar();t=b;t=8;t=t|a;/跳过读序号列号的操作/启动温度转换/跳过读序号列号的操作/读取温度寄存器等(共可读 9 个寄存器)/低八位/高八位/合并高八位和低八位return(t);此函数得到的值为温度值,最小分度为 0.0625,其中低四位为小数部分, 即:把一度分为 16 等分)。中间七位为其整数部分,高五位为符号位,若高五位为 0,则说明得到的温度为正数。若高五位为 1,则说明得到的温度为负数。3.3 程序调试在整个系统调试过程中,由于时间仓促没有来得及做实物。最终通过 Protues 仿真软件进行仿

19、真,得到的结果和预想的结果一致。- 12 -(河南理工大学本科课程设计报告调试步骤如下:1. 先在 Protues 仿真软件中搭建硬件电路;2. 根据设计思想和硬件电路在 Keil 2 中编写程序代码,调试通过并生成.hex文件;3. 双击 Protues 仿真电路中的单片机,将.hex 文件下载到单片机中,然后运行观察结果。- 13 -河南理工大学本科课程设计报告4 Proteus 软件仿真在该电路中,D1 代表加热指示灯,D2 代表电源指示灯,D4 代表冷却指示灯,D5 代表报警指示灯,利用灯泡 L1 代表加热器,电动机代表冷却装置。整个设计结果分为三个部分,分别是实际温度高于设定的目标温

20、度、实际温度低于目标温度、目标温度高于或低于设定的温度范围。1. 当水的实际温度低于目标温度时,指示灯 D1 亮,加热器开始加热,同时将单片机 P3.4 口置 0,使三极管断开,关闭 D4 及冷却装置。仿真结果如图 4-1所示。图 4-1 实际温度高于目标温度时的工作状态2. 当水的实际温度高于目标温度时,指示灯 D1 不亮,加热器停止加热,同时将单片机 P3.4 口置 1,使三极管导通,点亮 D4 指示灯,电动机开始旋转,对水进行降温处理。仿真结果如图 4-2 所示:- 14 -河南理工大学本科课程设计报告图 4-2 实际温度低于目标温度时的工作状态3. 当设定的目标温度超过或者低于设定的温

21、度范围时(2040),启动报警装置,同时报警指示灯 D5 发光,并且启动制冷装置。仿真结果如图 4-3 所示:图 4-3 目标温度低于设定的温度范围时的工作状态- 15 -河南理工大学本科课程设计报告5 课程设计体会此次课程设计考查了我们设计电路的能力和动手能力。从中我学到了很多东西。设计上的电路在实际中运用可能不是像仿真那样理想,由于元件的误差及元件的大小在实际中没有很好的匹配,所以按照设计的电路焊出来的实物在调试过程中遇到了一些问题,但我都一步一步地解决了。通过这次课程设计,我学会了如何使用仿真软件 Protues 以及 Keil 2 编程软件,进一步巩固了以前学过的单片机以及数、模电知识。最重要的是通过这次课程设计我深深体会到能把所学的知识运用到实践中才是真正掌握。这次的课程设计时间有些仓促,并且相关的知识掌握得不到位,但随着设计的深入,发现所学的知

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1