基于液晶显示的单片机温度控制设计论文.docx

上传人:b****5 文档编号:7473412 上传时间:2023-01-24 格式:DOCX 页数:21 大小:29.45KB
下载 相关 举报
基于液晶显示的单片机温度控制设计论文.docx_第1页
第1页 / 共21页
基于液晶显示的单片机温度控制设计论文.docx_第2页
第2页 / 共21页
基于液晶显示的单片机温度控制设计论文.docx_第3页
第3页 / 共21页
基于液晶显示的单片机温度控制设计论文.docx_第4页
第4页 / 共21页
基于液晶显示的单片机温度控制设计论文.docx_第5页
第5页 / 共21页
点击查看更多>>
下载资源
资源描述

基于液晶显示的单片机温度控制设计论文.docx

《基于液晶显示的单片机温度控制设计论文.docx》由会员分享,可在线阅读,更多相关《基于液晶显示的单片机温度控制设计论文.docx(21页珍藏版)》请在冰豆网上搜索。

基于液晶显示的单片机温度控制设计论文.docx

基于液晶显示的单片机温度控制设计论文

摘要

本篇论文主要通过DS18B20做传感器来测量温度,以及通过它来设置温度的上下限。

首先是对DS18B20的深入了解并根据DS18B20的内部结构特点来设计硬件电路和软件程序。

因考虑到在设置温度TH和TL所以本次设计采用四个按键来控制,通过按键之间的协调作用来完成温度设置值,由于温度的不同我们采取不同的信息来作为信号处理,所以在硬件电路中用蜂鸣器来报警做为提醒。

我们采用1602液晶显示所测出来的温

关键词DS18B20;1602液晶显示器;原理图及程序

 

Abstract

ThispaperDS18B20donemainlythroughsensorstomeasuretemperature,andthroughittosetthetemperatureoftheupperandlowerlimits.DS18B20isthefirstin-depthunderstandingofandinaccordancewiththeinternalstructureofDS18B20todesignhardwareandsoftware.BytakingintoaccountthetemperaturesettingsTHandTLSothisdesignusesfourbuttonstocontrol,throughthecoordinatingrolebetweenthekeystocompletethetemperaturesettingvalues,aswetakethetemperatureofdifferentinformationtodifferentassignalprocessing,hardwareCircuitusedasawarningtoremindthebuzzer.Weuse1602LCDmeasuredbythetemperature.KeywordsDS18B201602LCDdisplayschematicsandprocedures28

目录

1绪论1

1.1单片机概述1

1.1.1设计目的1

1.1.2设计原理1

2硬件组成及有关参数计算2

2.1硬件组成结构2

2.2主要硬件的简单介绍2

2.2.1芯片AT89S51简单介绍………………………………………………………………………………………….

2.2.2DS18B20简单介绍……………………………………………………………………………………………………..

2.2.31602液晶显示器简介……………………………………………………………………………………………..

3系统软件设计

4系统软件设计

4.1初始化程序……………………………………………………………………………………………………………..

4.2主程序………………………………………………………

结论5

致谢6

参考文献7

附录8

附录18

附录28

1绪论

结论

1.1单片机的概述

单片机是70年代中期发展起来的一种大规模集成电路芯片,是CPU、RAM、ROM、I/O接口和中断系统集成于同一硅片的器件。

单片机发展迅速,各类产品不断涌现,出现了许多好性能新兴机种,现已成为工厂自动化和各控制领域的支柱产业之一。

由于生产工艺和设计能力的不断提高,单片机也在向着更高集成化、更多位多功能,更强化处理控制问题的能力、更快的运算速度、更廉价低功耗、更兼容开发和更好的软件固有化的方向发展。

单片机是所有微处理机中性价比最高的一种,随着种类的不断增加,功能不断加强,其应用领域也迅速扩大。

单片机在智能仪表、实时控制、机电一体化、办公机械、家用电器等方面都有相当的应用领域。

当前,8位单片机主要用于工业控制,如温度、压力、流量、计量和机械加工的测量和控制场合;高效能的16位单片机(如MCS-96、MK-68200)可用在更复杂的计算机网络。

单片机用于控制有利于实现系统控制的最小化和单片化,简化一些专用接口电路,如编程计数器、锁相环(PLL)、模拟开关、A/D和D/A变换器、电压比较器等组成的专用控制处理功能的单板式微系统。

随着电子技术的飞速发展,电子控制器件不断向着小型化、智能化方向发展,同时可*性不断提高,单片机由于具有集成度高、功能强、通用性好、可*性高、抗干扰能力强、体积小、使用方便灵活等特点,无论是在国防工业、通讯尖端技术领域,还是在智能仪器、民用电器中都使用的越来越多。

可以说,微机测控技术的应用已渗透到国民经济的各个部门,微机测控技术的应用是产品提高档次和推陈出新的有效途径。

在国内,由于单片机具有功能强、体积小、可靠性好、和价格低廉等独特优点,因此,在智能仪器仪表、工业自动控制、计算机智能终端、家用电器、儿童玩具等许多方面,都已得到了很好的应用,因而受到人们高度重视,取得了一系列科研成果,成为传统工业技术改造和新产品更新换代的理想机种,具有广阔的发展前景。

随着电子技术以及应用需求的发展,单片机技术得到了迅速的发展,在高集成度,高速度,低功耗以及高性能方面取得了很大的进展。

伴随着科学技术的发展,电子技术有了更高的飞跃,我们现在完全可以运用单片机和电子温度传感器对某处进行温度检测,而且我们可以很容易地做到多点的温度检测,如果对此原理图稍加改进,我们还可以进行不同地点的实时温度检测和控制。

1.12设计目的

随着现代科技的不段发展,对温度测量的工具越来越多并且精度也是越来越高,但随着生活水平的不段提高,越来越多的人健康的关注倍加重视,特别是对冷暖空气的变化更加注意,在此我们特设计一有关温度控制的系统,通过它可以设置温度的上下限,当温度低于所设的温度的下限或是高于所设的温度的上限时就会发生报警,因此可以提醒您要注意温度变化。

本制作轻巧灵便适合在私人家庭中运用,使用时可以通过四个按键的作用来设置系统初值,即可达到准确提醒您的作用。

1.12原理

本次设本系统主要研究的是利用MCS-51系列单片机中的AT89C51单片机来实现温度检测及控制,通过对89C51的P1口的高4位设置上限值、下限值、,因考虑到在设置温度TH和TL,所以本次设计采用四个按键来控制,通过按键之间的协调作用来完成温度设置值,由于温度的不同我们采取不同的信息来作为信号处理,所以在硬件电路中用蜂鸣器来报警做为提醒实现温度从IN0输入89C51的P1口低4位设置报警系统。

ADC0809实现模拟输入到数字量的转换,通过1602数码管显示数据。

2系统硬件组成及有关参数计算

2.1、硬件组成结构

主要硬件由一片AT89S51芯片、一个DS18B20传感器、一个1602液晶显示器、一个蜂鸣器、一电位器(10K)、五个按键、两个开关、一个12MHZ晶振、两个30PF和一个10uF电容、若干电阻、导线及三极管。

2.2、主要硬件的简单介绍

2.21芯片采用最常见的AT89S51

2.22DS18B20简单介绍

测量温度范围为-55°C~+125°C,在-10~+85°C范围内,精度为±0.5°C。

DS1822的精度较差为±2°C。

现场温度直接以“一线总线”的数字方式传输,大大提高了系统的抗干扰性。

适合于恶劣环境的现场温度测量,如:

环境控制、设备或过程控制、测温类消费电子产品等。

与前一代产品不同,新的产品支持3V--5.5V的电压范围,使系统设计更灵活、方便。

而且新一代产品更便宜,体积更小。

                

DS18B20内部结构主要由四部分组成:

64位光刻ROM、温度传感器、非挥发的温度报警触发器TH和TL、配置寄存器。

DS18B20的管角排列如下:

1GND为电源地2DQ为数字信号输入/输出端3VDD为外接供电电源输入端若图片无法显示请联系QQ3249114

(3)1602液晶显示器简介

显示特性:

单5V电源电压,低功耗,长寿命,高可靠性。

内置192种字符(160个5*7点阵字符和和32个5*10点阵字符)

具有64个字节的自定义字符RAM,可自定义8个5*8的点阵字符或4个5*11点阵字符。

显示方式:

SIN、半透、正显。

驱动方式:

1/6DUTY,1/5BIAS

视角方向:

6点

背光方式:

底部LED

通讯方式:

4位或8位并口可选

标准的借口特性,适配MC51和M6800系列MPU的操作时序。

物理特性:

外观尺寸

80*36*14

单位

可视范围

64.6(W)*16.0(H)

Mm

显示容量

16字符两行

 

点尺寸

0.55*0.75

Mm

点间距

0.08

mm

接口定义:

管脚号

符号

功能

1

Vss

电源地(GND)

2

Vcc

电源电压(+5)

3

Vo

LCD驱动电压(可调)

4

RS

寄存器选择输入端,输入MPU选择模块内容寄存器类型信号;

RS=0,当MPU进行写模块操作,指向数据寄存器;

当MPU进行读模块操作,指向地址计数器;

RS=1,无论MPU读操作还是写操作,均指向数据寄存器

5

R/W

读写控制输入端,输入MPU选择读/写寄存器信号;

R/W=0,读操作;R/W=1,写操作

6

E

使能信号输入端,输入MPU读/写模块操作使能信号;

读操作时,高电平有效;写操作时,下降沿有效

7

DB0

数据输入/输出口,MPU与模块之间的数据传诵通道

8

DB1

数据输入/输出口,MPU与模块之间的数据传诵通道

9

DB2

数据输入/输出口,MPU与模块之间的数据传诵通道

10

DB3

数据输入/输出口,MPU与模块之间的数据传诵通道

11

DB4

数据输入/输出口,MPU与模块之间的数据传诵通道

12

DB5

数据输入/输出口,MPU与模块之间的数据传诵通道

13

DB6

数据输入/输出口,MPU与模块之间的数据传诵通道

14

DB7

数据输入/输出口,MPU与模块之间的数据传诵通道

15

A

背光的正端+5V

16

K

背光的负端0V

3系统硬件电路设计

图一为温度控制系统设计的电原理图,温度测量系统采用DS18B20温度传感器测量并与p3.3口相连,当有温度信号时即可通过p3.3口传入单片机。

显示数据的采用1602LCD液

晶显示,LCD的DB0—DB7分别与AT89S51芯片的P0口分别相连,信号通过P0口传入LCD,在LCD液晶的VCC端加一开关,用来控制液晶,防止液晶被烧坏。

AT89S51芯片的第9脚为单片机的复位脚,采用简单的按键上电位复位电路,更能保护好电路的安全可靠,5、6、7、8脚分别用来接按键,用来设置LCD显示的设置温度值。

K1用来查看温度的设置值,即温度报警值的状态。

K2为进入温度报警的状态。

K3为退出查看温度报警状态,在设置温度状态值时K1为设定值加、减方式选择键(默认为减少)。

K2为TH值设定键,K3为TL值设定键。

K4为确定键即退出设定状态;

K2和K3以减的方式设定,当设定数值减到“0”时自动转换为加方式;

K2和K3以加方式设定,当设定数值TH=120、TL=99时,设定值均变为“0”。

K4确定并退出设定温度报警值状态。

将设定温度报警值自动存入DS18B20的EEROM中,可永久保存。

每次开机时自动从DS18B20的EEROM读出温度报警值。

AT89S51芯片的17脚做为报警输出端,采用9013三极管驱动蜂鸣器;18、19脚接12MHZ晶振并分别接30PF的瓷片补偿电容。

1602LCD液晶用10K的电位器来调节LCD的背光显示,其RS、R/W、E三键分别与AT89S51芯片的P2.0、P2.1、P2.2相连,当P2.0~P2.2为高电平时即完成LCD显示的准备工作,片外存储程序选择脚(31脚)接正电源。

图一硬件电路图

若图片无法显示请联系QQ3249114

4系统软件设计

4.1初始化程序

初始化程序内容包括P0、P1、P2口,P0口清零,P1.4~P1.7附值,置堆栈基址(70H),初始化DS18B20、1602LCD。

4.2主程序若图片无法显示请联系QQ3249114

DS18B20传感器有信号则将信号通过P3.3口发送到AT89S51芯片,经过温度转换后再将温度发送出去,检测P0口为高电平,则转发程序,并经过BCD处理使信号发送到LCD并显示,当温度小于或等于TL(设置温度下限)时,在报警范围内从而使蜂鸣器报警;当温度大于后等于TH(设置温度上限)时,同样在蜂鸣器报警的范围内。

当温度不在蜂鸣器报警的范围内时则程序不断的进行扫描信号从而不断更新现场的温度信息。

主程序流程图如

5系统调试及出现问题的解决方案

测试仪器:

PC机,QTH—52在线仿真机,数字万用表,稳压电源,温度计,示波器。

测试方法:

先对各单元的模快进行独立的测试,再进行上机整体的测试,通过后,进行脱机测试,以提高调试效率。

各单元模块的测试基本正常,有一些个别的接线和程序错误,进行简单的修改,可以进行正常的工作。

整体的测试;将测试好的各模块连接好,用QTH—52在线仿真机倒替89C51单片机进行模拟调试,用键盘设定一定范围值接通电源,按下复位按键,使电路进行初始化,按下LCD电源开关使LCD正常显示,此时显示的是当前的室内温度,如果此时蜂鸣器报警则说明此时的温度不在设置温度值TL和TH之间,反之则在TL和TH之间。

当按下K2时即进入到设定温度报警值状态,再按一下K2则此时是对TH值的设定,接着按K1键是对TH值进行减方式操作,若此时按过K4后再按K1则是对TH进行加方式操作,如此就可以设定TH值了;若按下K2后再按K3键则是对TL值进行设定,方法与TH的设定值完全相同;当对温度进行设定完毕后就可以通过按下K4键退出设定程序,此时通过按键K1就可查看刚刚设定的数值的结果,再按下K3键就退出查看设定值状态,如果再调试时LCD上没有显示,通过用万用表查看是否硬件电路有故障,如果LCD上没有显示字的蓝色显示字的条框,此时最好调节电位器就能清晰的看到字迹了。

6、系统程序

主要程序如下:

TEMP_ZHDATA24H;实时温度值存放单元

TEMPLDATA25H;

TEMPHDATA26H;

TEMP_THDATA27H;高温报警值存放单元

TEMP_TLDATA28H;低温报警值存放单元

K1     EQU  P1.4

          K2     EQU  P1.5

          K3     EQU  P1.6

          K4     EQU  P1.7

          BEEP   EQU  P3.7

                FLAG1EQU20H.0    ;DS18B20是否存在标记

          KEY_UD    EQU  20H.1    ;设定 KEY 的UP与DOWN 标记

          DATE_LINEEQUP3.3

;=====================================================

           ORG  0000H

           JMP  MAIN

MAIN:

     MOV  SP,#60H

          MOV  A,#00H

          MOV  R0,#20H       ;将 20H-2FH 单元清零

          MOV  R1,#10H

CLEAR:

    MOV  @R0,A

          INC  R0

           ;18B20复位子程序

          JNB   FLAG1,START1   ;DS1820不存在

          CALL  MENU_OK

          CALL  READ_E2

          CALL  TEMP_BJ        ;显示温度标记

          JMP   START2

START1:

   CALL  MENU_ERROR

          CALL  TEMP_BJ        ;显示温度标记

          JMP  $

START2:

          CALL  RESET

          JNB  FLAG1,START1    ;DS1820不存在

          MOV   A,#0CCH        ; 跳过ROM匹配

          CALL  WRITE

                    MOV   A,#0BEH        ; 发出读温度命令

          CALL  WRITE

          CALL  READ

          call CONVTEMP

          Call DISPBCD

          CALL CONV

          CALL TEMP_COMP

          CALL  PROC_KEY       ; 键扫描

  SJMP START2

;-----------------------------------------------------

PROC_KEY:

  JB  K1,PROC_K1    ; 按键K1处理

         CALL  BEEP_BL

         JNB  K1,$

         MOV  DPTR,#M_ALAX1

                  CALL  BEEP_BL

         JMP  PROC_K2

PROC_K1:

     ; 按键K2处理

         JB  K2,PROC_END

         CALL  BEEP_BL

         JNB  K2,$

         MOV   DPTR,#RESET_A1

         MOV   A,#1

         CALL  LCD_PRINT

         CALL  SET_ALARM

         CALL  RE_18B20           ;将设定的TH,TL值写入DS18B20内

         CALL  WRITE_E2

PROC_K2:

         CALL  MENU_OK

         CALL  TEMP_BJ

PROC_END:

         RET

;============================================

;设定报警值 TH、TL

;============================================

SET_ALARM:

         CALL  RESET_ALARM

         CALL  LOOK_ALARM

AS0:

         JB ;20H.1=0,DOWN

ASZ01:

   JB  K2,ASZ02          ;TH值调整(增加)

         CALL  BEEP_BL

         INC  TEMP_TH

         MOV  A,TEMP_TH

         CJNE  A,#120,ASZ011

         MOV  TEMP_TH,#0

ASZ011:

  CALL  LOOK_ALARM

         MOV  R5,#10

         CALL  DELAY

         JMP  ASZ01

ASZ02:

   JB  K3,ASZ03          ;TL值调整(增加)

       _TL,#00H

ASZ021:

  CALL  LOOK_ALARM    ;

         MOV  R5,#10

         CALL  DELAY

         JMP  ASZ02

ASZ03:

   JB  K4,AS0          ;确定调整 OK

         CALL  BEEP_BL

         ,ASJ02          ;TH值调整 (减少)

         CALL  BEEP_BL

         DEC   TEMP_TH

         MOV  A,TEMP_TH

                  JMP  AS0

ASJ02:

   JB  K3,ASJ03         ;TL值调整(减少)

         CALL  BEEP_BL

         DEC  TEMP_TL

         LOOK_ALARM    ;

         MOV  R5,#10

         CALL  DELAY

         JMP  AS0

ASJ022:

         RET

RESET_ALARM:

          MOV  DPTR,#RESET_A1  ;指针指到显示信息区

MOVLCD_PRINT

          RET

RESET_A1:

     DB  "RESET ALERT CODE"

;====================================================

;实际温度值与标记温度值比较子程序

;====================================================

TEMP_COMP:

         A,TEMP_ZH       ;减数>被减数,则

          JC  CHULI1            ;借位标志位C=1,转

          MOV  A,TEMP_ZH

          SUBB  A,TEMP_TL       ;减数>被减数,则

          JC  CHULI2            ;借位标志位C=1,转

          MOV  DPTR,#BJ5

          CALL  TEMP_BJ3

CALLBEEP_BL

       DPTR,#BJ3

          CALL  TEMP_BJ3

        CALL  BEEP_BL

          RET

 CHULI2:

          MOV  DPTR,#BJ4

          CALL  TEMP_BJ3

          CALL  BEEP_BL

          RET

;-----------------------------------------

TEMP_BJ3:

          MOV  A,#0CEH

          CALL WCOM

         R0,#2

BBJJ3:

    MOV  A,R1

          MOVC A,@A+DPTR

          CALL  WDATA

          INC R1

          DJNZ  R0,BBJJ3

          RET

BJ3:

      DB  ">H"

BJ4:

"

BJ5:

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

当前位置:首页 > 农林牧渔 > 林学

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

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