单片机温度检测与控制软件设计.docx

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

单片机温度检测与控制软件设计.docx

《单片机温度检测与控制软件设计.docx》由会员分享,可在线阅读,更多相关《单片机温度检测与控制软件设计.docx(43页珍藏版)》请在冰点文库上搜索。

单片机温度检测与控制软件设计.docx

单片机温度检测与控制软件设计

 

单片机温度检测与控制软件设计

专业名称:

应用电子技术教育

作者姓名:

刘永志

指导教师:

申立

 

论文答辩小组

组长:

申立

成员:

伍筱菁

贾红芳

论文成绩:

 

单片机空调控制器的软设件计

作者:

刘永志指导教师:

申立

摘要:

本设计是以AT89S52单片机为核心的温湿度控制系统的软件设计,是在现有的温度控制器中增加了湿度的控制。

该控制系统的温湿度信号都由温湿度芯片DHT11采集,并通过校准后以数字方式传送给单片机。

单片机通过对信号进行相应处理,再进而对电机的控制,最终实现温湿度控制的。

文中介绍了该控制系统的软件部分,包括:

温度采集程序、键盘处理程序、液晶管显示程序、温度处理程序和电机控制程序。

关键词:

AT89S52;控制器;温湿度;DHT11;软件设计

thesoftwaredesignoftheMCUairconditioningcontroller

LiuDexin

InformationScience&TechnologySchool,ZhanjiangNormalUniversity,Zhanjiang,524048

Abstract:

Thisisasoftwaredesignofthetemperatureandhumiditycontrolsystem,UsingthemicrocontrollerAT89C52asthecore,Whichaddstemperaturecontrollerasanewfunctionforthemoderncontroller.TemperatureandhumiditysignalscollectedbychipDHT11,whichcanusetodetectandcalibratethetemperatureandhumidityandthendigitallytransmittedtothemicrocontroller.MicrocontrollerAT89C52dealwiththesignalappropriatelyinordertoachievetemperatureandhumiditycontrol.Thispaperdescribesthesoftwarepartofthecontrolsystem,includingtemperatureacquisitionprogram,thekeyboardhandler,LCDcontroldisplayprogram,thetemperatureprocessingandmotorcontrolprocedures.

Keywords:

AT89C52,controller,temperatureandhumidity,DHT11,softwaredesign

1绪论

1.1选题的背景意义

随着人民生活水平的提高,以及近年空调市场价格战的不断加剧,空调已不再是奢侈品,正逐渐进入更多的寻常家庭,并呈现出多台消费的趋势。

调查结果表明,截至2009年底,53.4%的家庭已拥有空调,有20.9%的家庭已拥有两台以上的空调,空调正逐渐成为城市家庭抵挡炎热酷暑的必备耐用消费品。

所有被调查的家庭中约有15%的家庭在未来12个月有购买空调的意愿;其中目前没有空调的家庭中,有13.2%的家庭在未来12个月内可能购买空调。

由于空调控制器是空调的核心部件,决定了空调的主要性能指标和质量,所以本文提出了一种基于单片机的空调控制器的研究方案[1]。

1.2空调控制器的开发现状

第一代空调温控器主要是电气式产品,空调温控器的温度传感器采用双金属片或气动温包,通过“给定温度盘”调整预紧力来设定温度,风机三速开关和季节转换开关为拨档式机械开关。

这类空调温控器产品普遍存在温度设定分度值过粗、时间常数太大、机械开关易损坏等问题。

 

第二代空调温控器为电子式产品,温度传感器采用热敏电阻或热电阻,部分产品的温度设定和风速开关通过触摸键和液晶显示屏实现人机交互界面,冷热切换自动完成,运算放大电路和开关电路实现双位调节。

这类智能空调温控器产品改善了人机交互界面,解决了温度设定分度值过粗等问题,但仍存在控制精度不高、时间常数大、操作较复杂等问题。

 

目前国内外生产厂家正在研究开发第三代智能型室温空调温控器,应用新型控制模型和数控芯片实现智能控制。

现在已有国内厂家生产出了智能型室温空调温控器,并已应用于实际工程。

但是智能控制器的成本太高,不适合使用,所以本设计对成本高和智能程度低而设计的空调控制器[2]。

1.3研究内容

利用DHT11数字温湿度传感器进行温度、湿度的采集,通过通信程序把采集到的信息发送到AT89S52进行处理,AT89S52对信息处理后控制液晶显示器显示当前的信息和电机进行工作,使温湿度达到所需的要求。

1.4系统基本方案

根据空调控制器的技术指标。

该系统主要由控制部分和执行部分组成。

控制部分包括单片机最小系统模块、键盘模块、温湿度模快、显示模块、电源模块等。

整个系统实现对数据的采集运算,对温湿度参数的设置,对采集数据的显示和电机的控制。

整个系统图框如图1.4-1所示。

电动机

图1.4-1基本模块方案图

软件程序方案:

程序总体结构分为主程序和子程序,主程序控制了空调的主要流程,主程序再通过调用五个子程序实现具体的操作功能。

五个子程序分别是:

温度采集程序、键盘处理程序、液晶管显示程序、温度处理程序和电机控制程序。

程序的结构见图1.4-2

(1)键盘扫描电路及按键处理程序:

作用是实现键盘的输入和识别及进行相关的信号处理相关处理。

(2)温度采集程序:

单片与测温元件进行通信,接收测温元件送过来的数据并存储在寄存器中。

(3)液晶显示程序:

设置液晶显示的基本指令并向液晶显示器的传送数据,及时显示相关的信息。

(4)温度处理程序:

对采集到的温湿度与设置温湿度进行比较,根据结果作出相应的动作控制,并把采集的数据进行BCD码转换,最终转换成ASCII码储存在寄存器中。

(5)电机控制程序:

根据数据的处理结果对压缩机、抽风机的起动,风摆电的摆动进行控制。

主程序

LCD显示器显示程序

键盘扫描程序

键值处理程序

温度采集程序

温度芯片传数据程序

 

报警

与当前温度相比较程序

异常

继电器控制程序

        

图1.4-2 软件系统结构图

 

2系统软件设计

2.1编程语言

汇编语言是面向机器的程序设计语言。

在汇编语言中,用助记符(Memoni)代替操作码,用地址符号或标号代替地址码。

这样用符号代替机器语言的二进制码,就把机器语言变成了汇编语言。

使用汇编语言编写的程序,机器不能直接识别,要由一种程序将汇编语言翻译成机器语言,这种起翻译作用的程序叫汇编程序,汇编程序是系统软件中语言处理系统软件[3]。

汇编语言的特点:

1.面向机器的低级语言,通常是为特定的计算机或系列计算机专门设计的。

 

2.保持了机器语言的优点,具有直接和简捷的特点。

 

3.可有效地访问、控制计算机的各种硬件设备,如存储器、CPU、I/O端口等。

 

4.目标代码简短,占用内存少,执行速度快,是高效的程序设计语言[4]。

 

2.2主程序方案

本设计采用的单片机是AT89S52,AT89S52是一种低功耗/低电压、高性能的8位单片机。

片内带有一个4KB的Flash可编程、可擦除只读存储器(EPROM)。

是一种功能强、灵活性高,且价格合理的单片机。

以下是电路中引脚及其功能的简要说明。

表2.2各端口引脚在电路中的功能

端口引脚

功能

P1.0

温湿度值增加

P1.1

温湿度值减少

P1.2

摆风控制设置

P1.3

自动手动切换

P2.0

L297使能端

P2.1、P2.2

L297的时钟脉冲

P2.3

光藕起动

P2.7

LCD使能

P3.0

温度设置选择

P3.1

湿度设置选择

P3.2

模式选择

P3.4

温度报警

P3.5

湿度报警

主程序调用五个子程序,分别是温度采集程序、液晶显示设置程序、数据处理程序键盘处理程序、键盘处理程序、电机控制程序。

(1)键盘扫描电路及按键处理程序:

作用是实现键盘的输入和识别及进行相关的

信号处理相关处理。

(2)温度采集程序:

单片与测温元件进行通信,接收测温元件送过来的数据并存

储在寄存器中。

(3)液晶显示程序:

设置液晶显示的基本指令并向液晶显示器的传送数据,及时

显示相关的信息。

(4)数据处理程序:

对采集到的温湿度与设置温湿度进行比较,并把采集的数据

进行BCD码转换,最终转换成ASCII码,并送到液晶显示器去显示。

(5)电机控制程序:

根据数据的处理结果对压缩机、抽风机的起动,风摆电的摆

动进行控制。

2.3程序的流程

程序的执行过程:

先是自定义单片机各引脚功能,定义引脚后进入主程序操作。

主程序执行过程如下:

程序流程见图2.3—1

(1)对液晶显示器进行初始化置,写

入显示的基本指令。

(2)进行温湿度的采集,并把数据存

储在寄存器里。

(3)对按键进行处理,根据按键的输

入对设定值进行调整。

(4)对温湿度数据进行处理送到显 

    示器,并与设定值进行比较。

(5)根据比较结果对电机进行相关操作:

测量值比设定值小时压缩机不运转,当图2.3—1程序流程图

测量值比设定值大时压缩机起动。

2.4主要模块程序的介绍

程序的主要模块包括LCD液晶显示器设置模块、温度采集模块、数据处理模块、数据比较处理模块,各个模块都实现了一定的功能。

2.4.1液晶显示器设置程序

1602LCD采用标准的16脚(带背光)接口,各引脚接口说明如下表所示:

编号

符号

引脚说明

编号

符号

引脚说明

1

VSS

电源地

9

D2

数据

2

VDD

电源正极

10

D3

数据

3

VL

液晶显示偏压

11

D4

数据

4

RS

数据/命令选择

12

D5

数据

5

R/W

读/写选择

13

D6

数据

6

E

使能信号

14

D7

数据

7

D0

数据

15

BLA

背光源正极

8

D1

数据

16

BLK

背光源负极

LCD1602的使用:

1602液晶模块的读写操作、屏幕和光标的操作都是通过指令编程来实现的。

使用的指令如下表所示[5]:

序号

指令

RS

R/W

D7

D6

D5

D4

D3

D2

D1

D0

1

清显示

0

0

0

0

0

0

0

0

0

1

2

光标返回

0

0

0

0

0

0

0

0

1

*

3

置输入模式

0

0

0

0

0

0

0

1

I/D

S

4

显示开/关控制

0

0

0

0

0

0

1

D

C

B

5

光标或字符移位

0

0

0

0

0

1

S/C

R/L

*

*

6

置功能

0

0

0

0

1

DL

N

F

*

*

7

置字符发生存贮器地址

0

0

0

1

字符发生存贮器地址

8

置数据存贮器地址

0

0

1

显示数据存贮器地址

9

读忙标志或地址

0

1

BF

计数器地址

10

写数到CGRAM或DDRAM)

1

0

要写的数据内容

11

从CGRAM或DDRAM读数

1

1

读出的数据内容

液晶显示器设置模块:

对液晶显示器进行初始化设置、自定义字符。

流程图如

图2.4.1-1

液晶显示器指令

写入指令

延时指令

自定义字符指令

代码表

写入指令

字符显示位置指令

写入指令

图2.4.1-1

2.4.2温湿度检测程序

DHT11与单片机通信过程:

主机把总线拉低等待DHT11响应,主机把总线拉低必须大于18毫秒,保证DHT11能检测到起始信号。

DHT11接收到主机的开始信号后,等待主机开始信号结束,然后发送80us低电平响应信号.主机发送开始信号结束后,延时等待20-40us后,读取DHT11的响应信号,主机发送开始信号后,可以切换到输入模式,或者输出高电平均可,总线由上拉电阻拉高[6]。

主机把总线拉低

温湿度检测程序模块:

实现DHT11与单片机间的通信,把检测到的数据通过单总线传送给单片机。

流程图如图2.4.2-1

检测是否响应

返回主程序

温湿度数据接收

               图2.4.2-1

2.4.3数据处理程序

 数据处理程序模块:

把接收到的数据通过运算转换成BCD码和ASCII码,然后送给液晶显示器显示。

流程图如图2.4.3—1

加30H送LCD显示

余数送TEMPLC

把接收数据除以10

商送TEMPHC

加30H然后送LCD

图2.4.3—1

2.4.4数据比较程序

压缩机、抽风机的运行情况是根据数据的比较结果决定的。

具体的情况:

当实际温度或湿度高于设定值时,单片机发出高电平给P2.3脚,使光电耦合器通电从而控制继电器吸合,压缩机、抽风机、轴芯机开始工作,给P3.4或P3.5一个低电平,指示是温度或湿度超值。

如图2.4.4—1

图2.4.4—1继电器控制电路

摆风电机是否运行受用户预先设定决定。

电路如图2.4.4—2,L297的特性是只需要时钟、方向和模式输入信号。

相位是由内部产生的,因此可减轻计算机(或单片机)和程序设计的负担。

当用户设定为摆风状态时,单片机给一个高电平给L297使能脚10脚,同时发出一个5HZ的脉冲信号给L297的18脚,L297开始给一个同步信号给L298,L298再控制摆风的同步电机运转。

图2.4.4—2

数值比较及电机控制程序,流程图如图2.4.4—3

电机不起动并返回主程序

检测数据与设定值比

电机起动并返回主程序

图2.4.4—3

2.4.5按键处理程序

键盘采用的是独立键盘。

该键盘的接法特点:

是按键是各按键相互独立,每个按键占用一根I/O口线,每根I/O口线上的按键工作状态不会影响其他I/O口线上按键的工作状态,而且编程也变得较为简单些,但每个按键必须占用一根I/O口线,在按键数量较多时,I/O口线浪费较大,且电路结构显得繁杂。

故这种形式适用于按键数量较少的场合[7]。

按键与单片机对应引脚见表2.4.5—1

单片机引脚

按键

功能

P1.0

K4

温湿度值增加

P1.1

K5

温湿度值减少

P1.2

K6

摆风控制

P3.0

K1

温度设置选择

P3.1

K2

湿度设置选择

P3.2

K3

模式选择

按键扫描方式是程序控制扫描。

该扫描方式是在CPU工作空余,调用键盘扫描子程序,响应键输入信号[8]。

按键在电路中的连接方法如图2.4.5—2

图2.4.5—2

按键处理过程:

按键处理程序对按键K1进行查询,发现K1闭合则进入K4、K5的温度值设置(K4闭合温度设定值增加,K5闭合温度设定值减小)。

K1不闭合则对K2进行检测,发现K2闭合则进入K4、K5的湿度值设置(K4闭合湿度设定值增加,K5闭合湿度设定值减小)。

K2不闭合则对K3进行检测,发现K3闭合则进入K4、K5的摆风电机设置(K4调节左右摆风的方向,K5高节上下摆风的方向)。

K3不闭合则跳出到主程序。

其流程图见图2.4.5—3

 

检测K3模式选择(默认是温度控制)

检测K7:

自动与手机切换(默认是自动模式)

检测K1是否按下

K4温度比较值加、

K5温度比较值减

把比较值进行ACSII

转换,送到LCD显示

检测K2是否按下

K4湿度比较值加、

K5湿度比较值减

把比较值进行ACSII

转换,送到LCD显示

 

检测K3是否按下

`

K6控制左右摆风

K7控制上下摆风

返回主程

图2.4.5—3

3系统的调试

3.1程序调试

程序的调试软件用Keil,该软件集编辑、编译、仿真于一体,支持汇编、PL/M语言和C语言的程序设计,界面友好。

内嵌的仿真调查试软件右以让用户采用模拟仿真和实时在线仿真两种对目标系统进行开发。

软件仿真时,可以模拟单位片机I/O口、定时器、中断外,甚至可以仿真单片机的串行通信[9]。

Keil软件的使用:

在软件中创建工程并把程序写进去,然后按调试按钮。

如果程序语法没出现错误的时会在软件状态栏出现0ERROR,如下图

如果程序有语法错误,就会在下栏窗口显示在那一行出错。

如下图

利用该软件可以快速查找语法错误的地方,节省程序的开发时间。

同时生成的可执行文件可以直接加到Proteus进行联调。

3.2硬件与软件连调

硬件的仿真软件使用Proteus,该软件能够很好地解决单片机的及其围电路的设计和协同仿真问题,可以在没有单片机实际硬件的条件下,利用个人计算机实现单片机软件和硬件同步仿真,仿真结果可以直接应用于真实的设计,极大地提高了单片机的应用系统设计效率,同时也使单片机的开发过程变得容易简单[10]。

软件Proteus的使用方法,从库里调出元器件画电路图,再把编译生成的可执行文件加到单片机里就可以进行模拟仿真。

由于该软件中也有些新出的元件没法找到的,比如DHT11、LCD1602,但我们还是可以对显示、按键、电机控制程序模块进行仿真。

在仿真过程由于LM013L和LCD1602的使用方法一样,所以仿真过程我们使用了LM016L来代替。

下面是仿真图,图3.2—1为显示部分,图3.2—2为指示灯与电机控制部分。

图3.2—1

 

图3.2—2

4总结

通过3个多月的资料收集整理,程序编制、修改、运行,论文编写等一系列的步骤,使我熟悉了Keil和Proteus软件的操作使用,对单片机编程也有了更深刻的认识和理解。

另外,对空调控制器的控制的研究有了更深的认识。

当然我也遇到了很多困难,以前对单片机了解得不够深入,并且从没真正独立编写过单片机的程序。

由于自己做的主要是这块,便去图书馆借了《手把手教你学单片机》这本书进行学习,这本书在仿真软件的使用和编程过程等方面的详细介绍使我进步很多,期间申老师也给了我很多的指导。

毕业设计期间指导老师给了我很大的帮助,刚开始时思路不清晰,老师在架构上给了我很多宝贵意见;编程期间,遇到了一些实际问题,比如,数据处理程序、摆风电机的程序编程思路不够明确,在老师指点和帮助下都一一解决,使自己学到了更多新的知识和经验。

这一点我也特别谢谢申老师,这样才能真正的提高自己。

设计结果达到了预期要求,本设计中以温湿度采集及控制过程设计为总目标,以AT89S52单片机为控制中心,辅助设计有温湿度采集模块、液晶显示模块、键盘查询模块、电机控制模块。

整个设计实现了温湿度的采集和显示,同时还能把实际检测到的温度值与设定值进行比较:

当实际温度或湿度超过了设定值时给光电藕合器低电平,启动压缩机、抽风机、轴心电机,同时送使能电压和脉冲给L297,控制摆风电机运动;当实际温湿度低于设定值时给光电藕合器高电平,压缩机等不通电。

但是该设计还存在很多的不足之处,比如设定的比较值不能进行存储,每次启动时比较值都恢复为系统的设定值,要想改变调节的温湿值必须重新手动调节。

通过本次毕业设计,很好的提高了我搜集、查找资料的水平;锻炼了我思考、分析和独立解决问题的能力;增强了我迎难而上的决心。

也为我今后的工作提供了一个很好的锻炼机会。

同时进一步层次了解单片机的工作原理,内部结构和工作状态,认识到单片机的接口技术,中断技术,时钟方式和控制方式以及温度控制的原理和意义,这样才能更好的利用单片机来做更有效和实用的设计。

 

致谢

在这里,我衷心感谢我的导师申立老师在百忙之中抽出时间指导我的设计,拓展我的思路,并且督促和鼓励我把毕业设计向更高要求的方向发展。

我还要感谢我的搭档,因为在编程期间许多想法都是由他启发出来,而且在做电路板过程为了让程序简化,作了不少的修改。

此外,还要感谢身边的同学给我帮助和支持,给我的大学的学习生活划上了一个完美的句号。

 

参考文献:

[1]刘永好.电子产品的市场调查[J].电子世界.2010,27:

23—27.

[2]王羽佳.空调的发展状况[J].电子世界是.2009,42:

34——40

[3]王爽.汇编语言[M].第二版.北京:

清华大学出版社.2008:

2-3.

[4]郑初华.汇编语言、微机原理及接口[M].第三版.北京:

电子工业出版社.2010.6:

10

[5]王守中.51单片机入门与典型实例[M].LCD模块及其应用.第一版.人民邮电出版社.2007,

8:

166-167.

[6]王春生.DHT11说明书[DB].2010,10:

[7]张齐、朱宁西.单片机应用系统设计技术[M].单片机系统中的键盘接口技术.第二版. 

  北京:

电子工业出版社.2009:

249-250.

[8]刘建清.从零开始学单片机技术[M].键盘接口.第一版.北京:

国防工业出版社.2006,

8:

251-252.

[9]徐爱钧.单片机原理实用教程[M].Proteus快速入门.第一版.北京:

电子工业出版社,

2009:

15.

[10]周兴华.手把手教你学单片机[M].实验设备及器材使用介绍.第二版.北京:

北京航空

航天大学出版社,2007:

3.

 

附录:

附录A:

硬件仿真图

附录A:

源程序

―――――――――――――

定义变量区

―――――――――――――

FLAGEQU30H

U8comdataEQU31H

U8T_data_HEQU32H

U8T_data_LEQU33H

U8RH_data_HEQU34H

U8RH_data_LEQU35H

U8checkdataEQU36H

U8tempEQU37H

tempEQU38H

TEMP_THEQU27H

TEMP_TLEQU28H

TEMPHCEQU29H

TEMPLCEQU2AH

XEQU2FH

RSEQUP1.6

RWEQUP1.7

EEQUP2.7

K1BITP3.0

K2BITP3.1

K3BITP3.2

K4BITP1.0

K6BITP1.2

K7BITP1.3

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

当前位置:首页 > 法律文书 > 调解书

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

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