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

上传人:b****1 文档编号:5066442 上传时间:2023-05-04 格式:DOCX 页数:35 大小:195.23KB
下载 相关 举报
基于 51 单片机的水温控制系统设计Word格式.docx_第1页
第1页 / 共35页
基于 51 单片机的水温控制系统设计Word格式.docx_第2页
第2页 / 共35页
基于 51 单片机的水温控制系统设计Word格式.docx_第3页
第3页 / 共35页
基于 51 单片机的水温控制系统设计Word格式.docx_第4页
第4页 / 共35页
基于 51 单片机的水温控制系统设计Word格式.docx_第5页
第5页 / 共35页
基于 51 单片机的水温控制系统设计Word格式.docx_第6页
第6页 / 共35页
基于 51 单片机的水温控制系统设计Word格式.docx_第7页
第7页 / 共35页
基于 51 单片机的水温控制系统设计Word格式.docx_第8页
第8页 / 共35页
基于 51 单片机的水温控制系统设计Word格式.docx_第9页
第9页 / 共35页
基于 51 单片机的水温控制系统设计Word格式.docx_第10页
第10页 / 共35页
基于 51 单片机的水温控制系统设计Word格式.docx_第11页
第11页 / 共35页
基于 51 单片机的水温控制系统设计Word格式.docx_第12页
第12页 / 共35页
基于 51 单片机的水温控制系统设计Word格式.docx_第13页
第13页 / 共35页
基于 51 单片机的水温控制系统设计Word格式.docx_第14页
第14页 / 共35页
基于 51 单片机的水温控制系统设计Word格式.docx_第15页
第15页 / 共35页
基于 51 单片机的水温控制系统设计Word格式.docx_第16页
第16页 / 共35页
基于 51 单片机的水温控制系统设计Word格式.docx_第17页
第17页 / 共35页
基于 51 单片机的水温控制系统设计Word格式.docx_第18页
第18页 / 共35页
基于 51 单片机的水温控制系统设计Word格式.docx_第19页
第19页 / 共35页
基于 51 单片机的水温控制系统设计Word格式.docx_第20页
第20页 / 共35页
亲,该文档总共35页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

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

《基于 51 单片机的水温控制系统设计Word格式.docx》由会员分享,可在线阅读,更多相关《基于 51 单片机的水温控制系统设计Word格式.docx(35页珍藏版)》请在冰点文库上搜索。

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

显示程序包括对显示

模块的初始化、显示方式设定及输出显示;

主程序则完成对采集数据进行处理。

该设计应用范围相当广泛,同时采用单片机技术,由于单片机自身功能强

大,因而系统设计简单,工作可靠,抗干扰能力强,也可在此基础上加入通信接

口电路,实现与上位机之间的通信。

-2-

河南理工大学本科课程设计报告

1概述.......................................................................................................................................4

2系统总体方案及硬件设计....................................................................................................5

2.1系统原理框图...............................................................................................................5

2.2单片机及输入输出模块选型.......................................................................................5

2.3电源模块的选择...........................................................................................................5

2.4I/O地址分配................................................................................................................5

2.5晶振及复位电路...........................................................................................................6

2.6数码管驱动电路...........................................................................................................7

2.7温度显示模块................................................................................................................7

2.8DS18B20温度传感器....................................................................................................8

2.8.1DS18B20的主要特性................................................................................................8

3软件设计...............................................................................................................................9

3.1控制流程图...................................................................................................................9

3.2DS18B20的软件设计..................................................................................................10

3.2.1DS18B20的初始化程序..........................................................................................10

3.2.2DS18B20的写操作..................................................................................................10

3.2.3DS18B20的读操作..................................................................................................11

3.3程序调试.....................................................................................................................12

4Proteus软件仿真..............................................................................................................14

5课程设计体会......................................................................................................................16

参考文献.................................................................................................................................17

附1:

源程序代码..................................................................................................................18

附2:

系统原理图..................................................................................................................24

-3-

1概述

1971年intel公司霍夫研制出世界上第一块四位的微处理芯片intel4004芯

片,标志着第一代微处理器问世,单片机从此开始了它的发展历程。

单片机诞生

于20世纪70年代末,经历了SCM、MCU、SOC三大阶段。

20世纪80年代初,

Intel公司在MCS-48系列单片机的基础上,推出了MCS-51系列8位高档单片机。

MCS-51系列单片机无论是片内RAM容量,I/O口功能,系统扩展方面都有了很

大的提高。

从1993年到现在,单片机正发展在第四阶段。

单片机的发展趋势将

是向着大容量、高性能化、低功耗化、外围电路内装化等方面发展。

因此它广泛

应用于仪器仪表、家用电器、医用设备、航空航天、专用设备的智能化管理及过

程控制等领域,大致可分如下几个范畴:

在智能仪器仪表上、工业控制中、家用

电器中、计算机网络和通信领域中、在医用设备领域中、.在各种大型电器中的

模块化中的应用。

温度是一种最基本的环境参数,人民的生活与环境的温度息息相关,在工业生产

过程中需要实时测量温度,在农业生产中也离不开温度的测量,因此研究温度的

测量方法和装置具有重要的意义。

温度是一个十分重要的物理量,对它的测量与

控制有十分重要的意义。

随着现代工农业技术的发展及人们对生活环境要求的提

高,人们也迫切需要检测与控制温度:

如大气及空调房中温度的高低,直接影响着

人们的身体健康;

在大规模集成电路生产线上,环境温度不适当,会严重影响产品

的质量。

测温技术在生产过程中,在产品质量控制和监测,设备在线故障诊断和

安全保护以及节约能源等方面发挥了着重要作用。

因此准确的测量温度对我们的

生活生产等至关重要。

本次设计就是将两者结合,利用单片机结合传感器技术而开发设计了这一温度监

控系统。

它是基于MCS-51单片机的温度采集系统,同时结合了温度传感器的模

拟采集并通过三位数码管显示实时测出的温度值,可完成每一秒测一次,测得温

度在-20—70度的设计要求。

-4-

2系统总体方案及硬件设计

2.1系统原理框图

该系统的原理框图如图2-2所示:

数码管显示

数字温度传感器

电热丝

51单片机

按键操作

继电器

集成运放

三极管放大

图2-1系统原理框图

2.2单片机及输入输出模块选型

在该题目当中,单片机选用STC89C52,温度检测模块采用DS18B20作为温

度传感器对水温进行实时检测,温度显示模块选用两个四位一体共阳极数码管,

分别显示实际温度和目标温度。

2.3电源模块的选择

由于单片机输出的是TTL电平信号,因此对单片机单独提供5V电源。

该电

源可以由220V交流电源经整流、降压和稳压后获得。

对继电器线圈端子提供经

5V放大后的8V电源供电,触头端子直接接入220V电源。

2.4I/O地址分配

将单片机P0口作为实际水温的段选端,P2口作为目标水温的段选端。

P1作

为位选端,其中P1.0—P1.3作为实际水温位选,P1.4—P1.7作为目标水温位选。

P3口主要作为信号指示以及读取温度传感器的温度数据使用。

单片机引脚分配

-5-

图如图2-1所示:

图2-2单片机引脚图

2.5晶振及复位电路

该系统中单片机外部晶振选为11.0592MHZ,通过两个电容与XTAL1和XTAL2

引脚连接构成单片机的外部时钟电路如图2-3所示。

图2-3单片机外部时钟电路

复位操作有上电自动复位和按键手动复位两种方式。

该系统复位电路由RC

微分电路产生的脉冲来实现,电路如图2-4所示,按下开关即可产生复位信号,

通过导线引入单片机RST引脚即可发生复位。

-6-

图2-4单片机复位电路

2.6数码管驱动电路

该系统选择四位一体的共阳极数码管作为温度显示元件。

通过测试,我们发

现单片机上电后输出电流不能达到要求,导致数码管显示亮度不够,因此在本电

路中对位选端加了三极管驱动电路。

如图2-5所示:

图2-5数码管驱动电路

2.7温度显示模块

由P0口控制实际水温的段选,P2口控制目标水温的段选。

P1口作为位选端,

其中P1.0—P1.3作为实际水温位选,P1.4—P1.7作为目标水温位选。

显示模块

如图2-6所示。

-7-

图2-6温度显示模块

2.8DS18B20温度传感器

2.8.1DS18B20的主要特性

1、适应电压范围更宽,电压范围为3.0~5.5V,在寄生电源方式下可由数

据线供电

2、独特的单线接口方式,DS18B20在与微处理器连接时仅需要一条口线即

可实现微处理器与DS18B20的双向通讯

3、DS18B20在使用中不需要任何外围元件,全部传感元件及转换电路集成

在形如一只三极管的集成电路内

4、温范围-55℃~+125℃,在-10~+85℃时精度为±

0.5℃

5、可编程的分辨率为9~12位,对应的可分辨温度分别为0.5℃、0.25℃、

0.125℃和0.0625℃,可实现高精度测温

6、在9位分辨率时最多在93.75ms内把温度转换为数字,12位分辨率时最

多在750ms内把温度值转换为数字,速度更快

7、测量结果直接输出数字温度信号,以"

一线总线"

串行传送给CPU,同时

可传送CRC校验码,具有极强的抗干扰纠错能力

-8-

3软件设计

3.1控制流程图

程序控制流程图如图3-1所示:

开始

单片机I/O口初始化

DS18B20初始化

数码管显示初始化

读取水的实际温度

实际温度是否低于目

标温度?

Y

控制继电器导通,进行加热

N

控制继电器关断,进行降温

实际温度是否高于

设定的最大温度?

启动报警装置,同时控制继电器关

断进行降温

结束

实际温度是否低于

设定的最小温度?

启动报警装置,同时控制继电器导

通进行加热

图3-1程序流程图

-9-

3.2DS18B20的软件设计

3.2.1DS18B20的初始化程序

(1)先将数据线置高电平“1”。

(2)延时(该时间要求的不是很严格,但是尽可能的短一点)

(3)数据线拉到低电平“0”。

(4)延时750微秒(该时间的时间范围可以从480到960微秒)。

(5)数据线拉到高电平“1”。

(6)延时等待(如果初始化成功则在15到60毫秒时间之内产生一

个由DS18B20所返回的低电平“0”。

据该状态可以来确定它的存在,但是

应注意不能无限的进行等待,不然会使程序进入死循环,所以要进行超时

控制)。

(7)若CPU读到了数据线上的低电平“0”后,还要做延时,其延时

的时间从发出的高电平算起(第(5)步的时间算起)最少要480微秒。

(8)将数据线再次拉高到高电平“1”后结束。

/*

*****************DS18B20初始化***************

*/

Init_DS18B20(void)

{

unsignedcharx=0;

DQ=1;

delay(8);

DQ=0;

delay(80);

delay(14);

x=DQ;

//DQ复位

//稍做延时

//单片机将DQ拉低

//精确延时大于480us

//拉高总线

//稍做延时后如果x=0则初始化成功

delay(20);

}

3.2.2DS18B20的写操作

(1)数据线先置低电平“0”。

(2)延时确定的时间为15微秒。

(3)按从低位到高位的顺序发送字节(一次只发送一位)。

(4)延时时间为45微秒。

(5)将数据线拉到高电平。

-10-

(6)重复上

(1)到(6)的操作直到所有的字节全部发送完为止。

(7)最后将数据线拉高。

*************

向DS18B20写命令

**************

WriteOneChar(unsignedchardat)

unsignedchari=0;

for(i=8;

i>

0;

i--)

DQ=dat&

0x01;

delay(5);

dat>

>

=1;

//delay(4);

3.2.3DS18B20的读操作

(1)将数据线拉高“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℃的数字输出为

07D0H,+25.0625℃的数字输出为0191H,-25.0625℃的数字输出为FE6FH,-55℃

的数字输出为FC90H。

-11-

表3-1DS18B20温度值格式表

//DS18B20程序读取温度

ReadTemperature(void)

unsignedchara=0;

unsignedcharb=0;

unsignedintt=0;

Init_DS18B20();

WriteOneChar(0xCC);

WriteOneChar(0x44);

WriteOneChar(0xBE);

前两个就是温度

a=ReadOneChar();

b=ReadOneChar();

t=b;

t<

<

=8;

t=t|a;

//跳过读序号列号的操作

//启动温度转换

//读取温度寄存器等(共可读9个寄存器)

//低八位

//高八位

//合并高八位和低八位

return(t);

此函数得到的值为温度值,最小分度为0.0625,其中低四位为小数部

分,即:

把一度分为16等分)。

中间七位为其整数部分,高五位为符号位,

若高五位为0,则说明得到的温度为正数。

若高五位为1,则说明得到的温

度为负数。

3.3程序调试

在整个系统调试过程中,由于时间仓促没有来得及做实物。

最终通过Protues仿

真软件进行仿真,得到的结果和预想的结果一致。

-12-

调试步骤如下:

1.先在Protues仿真软件中搭建硬件电路;

2.根据设计思想和硬件电路在Keil2中编写程序代码,调试通过并生成.hex

文件;

3.双击Protues仿真电路中的单片机,将.hex文件下载到单片机中,然后运行

观察结果。

-13-

4Proteus软件仿真

在该电路中,D1代表加热指示灯,D2代表电源指示灯,D4代表冷却指示灯,

D5代表报警指示灯,利用灯泡L1代表加热器,电动机代表冷却装置。

整个设计

结果分为三个部分,分别是实际温度高于设定的目标温度、实际温度低于目标温

度、目标温度高于或低于设定的温度范围。

1.当水的实际温度低于目标温度时,指示灯D1亮,加热器开始加热,同时

将单片机P3.4口置0,使三极管断开,关闭D4及冷却装置。

仿真结果如图4-1

所示。

图4-1实际温度高于目标温度时的工作状态

2.当水的实际温度高于目标温度时,指示灯D1不亮,加热器停止加热,同

时将单片机P3.4口置1,使三极管导通,点亮D4指示灯,电动机开始旋转,对

水进行降温处理。

仿真结果如图4-2所示:

-14-

图4-2实际温度低于目标温度时的工作状态

3.当设定的目标温度超过或者低于设定的温度范围时(20~40℃),启动报

警装置,同时报警指示灯D5发光,并且启动制冷装置。

仿真结果如图4-3所示:

图4-3目标温度低于设定的温度范围时的工作状态

-15-

5课程设计体会

此次课程设计考查了我们设计电路的能力和动手能力。

从中我学到了很多东西。

设计上的电路在实际中运用可能不是像仿真那样理想,由于元件的误差及元件的

大小在实际中没有很好的匹配,所以按照设计的电路焊出来的实物在调试过程中

遇到了一些问题,但我都一步一步地解决了。

通过这次课程设计,我学会了如何使用仿真软件Protues以及Keil2编程软件,

进一步巩固了以前学过的单片机以及数、模电知识。

最重要的是通过这次课程设计我深深体会到能把所学的知识运用到实践中才是

真正掌握。

这次的课程设计时间有些仓促,并且相关的知识掌握得不到位,但随

着设计的深入,发现所学的知

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

当前位置:首页 > 总结汇报 > 学习总结

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2