毕业论文 基于单片机的温度控制系统

毕业设计(论文)题目基于单片机的温度控制系统设计

专业应用电子技术

姓名李婉青

班级 09221班04号

指导教师周俊

成都电子机械高等专科学校

二0一二年五月

1

基于单片机的温度控制系统设计

[摘要]:

文章介绍了基于单片机温度控制的硬件设计和软件设计,它在很多领域都广泛运用,而该系统硬件部分的重心在于单片机。文章以温度采集系统为例, DS18B20温度

测量系统是以AT89C51单片机作为控制核心,智能温度传感器DS18B20为控制对象,用

LM016L 液晶显示,运用C 语言实现系统的各种功能。设计完成了DS18B20的温度采集电路、显示电路、温度处理电路、报警提示电路。借助仿真工具Proteus 和单片机编程

软件Keil 实现了系统软、硬件的交互仿真,实现了课题设计目的。

本课题所设计的温度控制系统可实现对远程环境的温度测量与监控,

适用于电力工

业、农业、煤矿、火灾、高层建筑等场所,还可以用于环境恶劣的工业控制现场。[关键词]:数字温度传感器DS18B20;单片机;LMO16L ;Proteus 仿真;Keil

Based on SCM multi-channel data acquisition system design

Abstract: this paper introduces the data acquisition based on single chip computer hardware design and software design, its existence has a very important role in many areas. This paper introduces is the focus of the data acquisition system, and the system hardware part is the center of gravity of the microcontroller. In this paper, the more temperature gathering system for example, DS18B20 temperature measuring system is based on AT89C51 single chip microcomputer as control core, intelligent temperature sensor DS18B20 is the object of control, with LM016L liquid crystal display, using C language implementation of various of system function. Design finished DS18B20 temperature selection screen circuit testing and points. Using simulation tools Proteus and single chip microcomputer Keil software programming realized the system software and hardware, realize the interaction of the topic the design purpose.

This subject design temperature control system can realize to the remote environment temperature measurement a nd monitoring, used in electric power industry, coal mine, fire, high-rise buildings and other places, can also be used for the environmental bad industrial control field.

Keywords :digital temperature sensor DS18B20; SCM; Proteus simulation; Keil

目录

2

[摘要]:....................................................................................................................................................... 1 第一章绪论. (3)

1.1课题研究的目的和意义

(3)

1.2 课题内容......................................................................................................................................... 3 第二章系统设计.. (4)

2.1系统的总设计.................................................................................................................................. 4 2.2功能模块.......................................................................................................................................... 4 第三章硬件设计.. (5)

3.1单片机主控制单元.......................................................................................................................... 5 3.2温度信号采集单元.......................................................................................................................... 8 3.3液晶显示屏输出

(12)

3.3.1 1602LCD 的基本参数及引脚功能 (12)

3.3.2 1602LCD 的指令说明及时序

(14)

3.3.3 1602LCD 的RAM 地址映射及标准字库表 (16)

3.4蜂鸣器报警电路

(18)

第四章软件设计 (19)

4.1主程序............................................................................................................................................ 19 4.2温度采集子程序............................................................................................................................ 20 4.3数据处理子程序

(24)

4.4显示子程序.................................................................................................................................... 25 4.5温度处理及蜂鸣器报警子程序

(26)

第五章仿真测试 (28)

5.1 Keil C51 的使用 ........................................................................................................................... 28 5.2 Proteus 的仿真.............................................................................................................................. 32 结束语:.............................................................................................................................................. 36 致谢:.................................................................................................................................................. 37 参考文献: (38)

3

第一章绪论

1.1课题研究的目的和意义

温度是一个永恒的话题和人们生活环境有着密切关系的物理量,也是一种在生产、科研、生活中需要测量和控制的重要物理量,

是国际单位制七个基本量之一。温度的变

化会给我们的生活、工作、生产等带来重大影响,因此对温度的测量及控制至关重要。其测量控制一般使用各式各样形态的温度传感器。随着现代计算机和自动化技术的发展,作为各种信息的感知、采集、转换、传输相处理的功能器件,温度传感器的作用日显突出,已成为自动检测、自动控制系统和计量测试中不可缺少的重要技术工具,其用

途已遍及工农业生产和日常生活的各个领域。

然而,随着科学测量的发展,数据采集及其应用也受到了人们的关注,数据采集系统得到迅速的发展,被广泛应用于各种领域。数据采集系统起始于20世纪50年代,1956

年美国首先研究了用在军事上的测试系统。

尽管现在以微机为核心的可编程数据采集与处理采集技术的发展方向得到了迅速的发展,而且组成一个数据采集系统只需要一块数据采集卡,

把它插在微机的扩展槽内

并辅以应用软件,就能实现数据采集功能,但这并不会对基于单片机为核心的数据采集系统产生影响。相较于数据采集板卡成本和功能的限制,单片机具多功能、高效率、高性能、低电压、低功耗、低价格等优点,这就使得以单片机为核心的数据采集系统在许多领域得到了广泛的应用。

1.2 课题内容

数据采集也是从一个或多个信号获取对象信息的过程, 它研究信息数据的采集、存

储、处理等问题。它是对传感器信号的测量与处理, 以微型计算机等高技术为基础而形

成的一门综合应用技术。

该文以温度采集为例,以AT89C51单片机为核心,在单片机中编写对各个硬件设备的控制程序,先通过单片机与DS18B20温度传感器建立一个联系,使DS18B20温度传感器开始工作检测所在环境的温度值,再通过LCD 液晶显示器显示DS18B20温度传感器检测到的温度值,最后根据对温度范围的控制设置一温度上下限温度值用于报警提示。当

然数据的采集和显示都需要相应硬件和软件共同来完成,该系统难点是对温度传感器的温度采集并显示,而对采集到的温度通过软件程序设定来进行控制就相对来说容易多

了。

4

第二章系统设计

2.1系统的总设计

本设计使用单片机作为控制核心,采用单个温度传感器对温度进行检测,以液晶显

示屏显示检测温度,通过继电器对加热降温系统进行控制:温度过高或者过低,蜂鸣器

报警提示;温度偏低进行炉温加热处理;温度偏高进行电机降温处理;

。系统总体控制

框图如图2.1所示:

图2.1系统总体控制框图

2.2功能模块

根据总系统的结构可以将其分为五个功能模块:

单片机主控制模块、温度信号采集

模块、温度处理模块、液晶屏温度显示模块、蜂鸣器报警模块。单片机主控制模块即整个系统的核心模块,是一个AT89C51芯片,主要通过执行其程序存储器

Rom 中的程序来

对其4个并行I/O 口进行读写操作完成对其他模块的控制。温度信号采集模块是由一个温度信号采集器组成,主要是温度信号采集并将数据传回给单片机主控制模块。传感器

采集的温度值通过传回给主控制模块

AT89C51单片机进行处理,然后送入液晶显示器进

行温度显示。温度处理模块是由继电器控制,加热炉和电机分别来对温度进行升温、降

温处理。液晶屏温度显示模块当然就是对温度的当前值进行显示。蜂鸣器报警模块就是

对当采集的温度值大于或者小于用户自定义的遇界温度值进行报警提示。

AT89C51 单片机

温度传感器

液晶屏显示

升温处理及

降温处理

蜂鸣器报警

5

第三章硬件设计

3.1单片机主控制单元

主控制单元是单片机选用市场上常见的美国

ATMEL 公司的AT89C51作为控制元件,

以下是一些AT89C51的介绍:AT89C51是一种带4K 字节FLASH 存储器(FPEROM —Flash Programmable and Erasable Read Only Memory )的低电压、高性能CMOS 8位微处理器,俗称单片机。AT89C2051是一种带2K 字节闪存可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除1000次。该器件采用ATMEL 高密度非易失存

储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能

8

位CPU 和闪烁存储器组合在单个芯片中,ATMEL 的AT89C51是一种高效微控制器,

AT89C2051是它的一种精简版本。AT89C 单片机为很多嵌入式控制系统提供了一种灵活

性高且价廉的方案。外形及引脚排列如下所示

主要特性:

?与MCS-51 兼容

?4K 字节可编程FLASH 存储器?寿命:1000写/擦循环?数据保留时间:10年?全静态工作:0Hz-24MHz ?三级程序存储器锁定?128×8位内部RAM ?32可编程I/O 线?两个16位定时器/计数器?5个中断源?可编程串行通道?低功耗的闲置和掉电模式?片内振荡器和时钟电路管脚说明:VCC :供电电压。GND :接地。

P0口:P0口为一个8位漏级开路双向I/O 口,每脚可吸收8TTL 门电流。当P0口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH 编程时,P0 口作为原码输入口,当FIASH 进行

6

校验时,P0输出原码,此时P0外部必须被拉高。

P1口:P1口是一个内部提供上拉电阻的8位双向I/O 口,P1口缓冲器能接收输出

4TTL 门电流。P1口管脚写入1后,可用作输入,P1口被外部下拉为低电平时,将输出

电流,这是由于内部上拉的缘故。

P1口可作为低八位地址接收。

P2口:P2口为一个内部上拉电阻的

8位双向I/O 口,P2口缓冲器可接收,输出4

个TTL 门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。P2口当用于外部程序存储器或

16位地址外部数据存储器进行存取时,

P2口输出地址的高八位。在给出地址“

1”时,

它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功

能寄存器的内容。P2口可接收高八位地址信号和控制信号。

P3口:P3口管脚是8个带内部上拉电阻的双向I/O 口,可接收输出4个TTL 门电

流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。P3口也可作为AT89C51

的一些特殊功能口,如下表所示:

管脚备选功能

P3.0 RXD (串行输入口)P3.1 TXD (串行输出口)P3.2 /INT0(外部中断0)P3.3 /INT1(外部中断1)P3.4 T0(记时器0外部输入)P3.5 T1(记时器1外部输入)P3.6 /WR (外部数据存储器写选通)P3.7 /RD (外部数据存储器读选通)

P3口同时为闪烁编程和编程校验接收一些控制信号。RST :复位输入。当振荡器复位器件时,要保持

RST 脚两个机器周期的高电平间。

ALE/PROG :当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH 编程期间,此引脚用于输入编程脉冲。

PSEN :外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN 有效。但在访问外部数据存储器时,这两次有效的/PSEN 信号将不出现。

EA/VPP :当/EA 保持低电平时,则在此期间外部程序存储器(

0000H-FFFFH ),不管

是否有内部程序存储器。注意加密方式1时,/EA 将内部锁定为RESET ;当/EA 端保持

高电平时,此间内部程序存储器。在FLASH 编程期间,此引脚也用于施加12V 编程电源

(VPP )。

XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2:来自反向振荡器的输出。

所用单片机AT89C51,见下图3.1所示:

7

图3.1AT89C51

(1)时钟电路:如下图 3.2连接即可构成自激振荡电路,振荡频率取决于适应晶

体的振荡频率,范围可取 1.2~12MHZ,C1、C2主要起频率微调和稳定作用,电容可取

5~30pF。

图3.2时钟电路

(2)复位电路:如下图 3.3

图3.3复位电路

8

3.2温度信号采集单元

对于温度的采集需要用到

DS18B20一总线温度传感器,以下

DS18B20的一些介绍:

DSl8B20温度传感器是美国DALLAS 半导体公司继DSl820之后最新推出的只用改进型智能温度传感器。与传统的热敏电阻相比,他能够直接读出被测温度并且可根据要求通过简单的编程实现9~l2位的数字直读方式。可以分别存93.75ms 和750ms 内完成9位和12位的数字量,并且从DSl8B20读出的信息或写入DSl8B20的信息仅需要一根口线(单线接口)读写,温度变换功率来源于数据总线,总线本身也可以向所挂接DSl8B20

供电,而无需额外电源。因而使用

DSl8B20可使系统结构更趋简单,可靠性更高。他在

测温精度,转换时时间,传输距离,分辨率等方面较DSl820有了很大的改进,给用户

带来了更方便的使用和更令人满意的效果。DSl8B20采用3脚PR35封装或8脚SOIC 封

装,其内部结构框图如

3.4所示:

图3.4 DSl8B20的内部结构图

DS18B20的内部结构主要有四部分组成:64位光刻ROM 、温度传感器、非挥发的温度报警触发器TH 和TL 、配置寄存器。DSl8B20有2种封装形式:3脚PR-35直插式和8脚SOIC 贴片式管脚排列如图 3.5所示:

图3.5 DS18B20的管脚

9

DS18B20的引脚说明如下:GND :地DQ :数据I/O VDD :电源NC :空脚

64位激光ROM 开始8位是产品类型的编号,接着是每个器件的惟一的序号共有48

位,最后8位是前56位的CRC 校验码,这也是多个DSl8B20可以采用一线进行通信的

原因。64位激光ROM 的机构如表 3.1所示:

表3.1 64位激光ROM

8位CRC 编号

48位序列号

8位产品系列编码

LSB MSB LSB MSB LSB MSB DSl8B20温度传感器的内部存储器包括一个高速暂存

RAM 和一个非易失性的可电擦

除EEPRAM 。后者用于存储TH ,TL 值。数据先写入RAM ,经校验后再传给EEPRAM 。而配置寄存器为高速暂存器中的第5个字节,他的内容用与确定温度值的数字转换分辨率,

DSl8B20 工作时按此寄存器中的分辨率将温度转换为相应精度的数值。

低5位一直都是1,TM 是测试模式位,用于设置

DSl8B20在工作模式还是在测试模式。在

DSl8B20出厂

时该位被设置为0,用户不要去改动,Rl 和R0决定温度转换精度位数。如表3.2所示。

表3.2内部存储器

TM

R1

R0

1

1

1

1

1

由表3.3可见,设定的分辨率越高,所需要的温度数据转换时间就越长。因此,在实际应用中要在分辨率和转换时间权衡考虑。

高速暂存存储器除了配置寄存器外,还有

其他8个字节组成,其分配如表4所示。其中温度信息(第l ,2字节),TH 和TL 值第3,4节,第6~8字节,表现为全逻辑1;第9字节读出的是前面所有的8字节的CRC 码,

可用来保证通信正确。

表3.3温度数据转换与时间

R1 R0 分辨率温度最大转换时间/ms

0 0 9 93.75 0 1 10 187.5 1 0 11 275.00 1

1

12

750.00

当DSl8B20接收到温度转换命令后,开始启动转换,如表3.4所示。转换完成后的

10

温度值就以16位带符号扩展到二进制补码形式储存在高速暂存存储器的第l ,2字节。

单片机可通过单线接口读到该数据,读取时低位在前面,高位在后,数据格式以0.0625℃/LSB 形式表示。对应的温度计算:当符号位

S=0时,直接将二进制位转换为

十进制;当S=1时,先将补码变换为原码,再计算十进制值。

表3.4高速暂存存储器

温度低位

温度高位

H L

配置

保留

保留

保留

8位CRC

在DSl8B20完成温度变换之后,温度值与贮存TH 和TL 内的触发值相比较因为这些寄存器仅仅是8位,所以0.5℃位在比较时被忽略。TH 或TL 的最高有较位直接对应于l6位温度奇存器的符号位。如果温度测量的结果高于

TH 或低于TL ,那么器件内告警标

志将置位。每次温度测量更新此标志。只要告警标志置位,

DSl8B20将对告警搜索命令

做出响应。这允许并联连接许多DSl8B20,同时进行温度测量。如果某处温度超过极限,那么可以识别出正在告警的器件并立即将其读出而不必读出非告警的器件。部分温度转

换如表3.5所示:

表3.5部分温度转换

温度输入(2进制)输出(16进制)

+125℃0000 0111 1101 0000 07D0H +85℃0000 0101 0101 0000 0550H +25.0625℃0000 0001 1001 0001 0191H +10.125℃0000 0000 1010 0010 00A2H +0.5℃0000 0000 0000 1000 0008H 0℃0000 0000 0000 0000 0000H -0.5℃1111 1111 1111 1000 FFF8H -10.125℃1111 1111 0101 1110 FF5EH -25.0625℃

1111 1111 0101 1110 EE6FH -55℃1110 1110 0110 1111

FE90H

参数特性:

(1)独特的单线接口只需l 个接口引脚即可通信

(2)多点综合测温能力使分布式温度检测应用得以简化

(3)不需要外部元件(4)可用数据线供电(5)需备份电源

(6)测量范围从-55℃至+125℃增量值为0.5℃(7)以9位数字值方式读出温度

11

(8)在1秒(典型值)内把温度变换为数字(9)用户可定义的非易失性的温度告警设置

(10)告警搜索命令识别和寻址温度在编定的极限之外器件温度告警情况(11)应用范围包括恒温控制工业系统消费类产品温度计或任何热敏系统极限参数:

(1)任何引脚相对于地的电压-0.5V 至+7.0V (2)运用温度-55℃至+125℃(3)贮存温度-55。C 至+125℃(4)焊接温度260℃/l0秒

如图3.6所示,为单片机与DS18B20的接口电路。DS18B20只有三个引脚,一个接地,一个接电源,一个数字输入输出引脚接单片机的P3.0口电源与数字输入输出脚间

需要接一个 4.7K 的电阻。当然如果单片机的I/O 口内部自带有上拉电阻就可以不加上

拉电阻了。

图3.6 DS18B20与单片机接口电路

DSl8B20使用中注意到事项:

DSl8B20虽然具有测温系统简单,测温精度高、连接方便、占用I /O 口线少等优

点,但在实际应用中也应注意以下问题:

(1)在实际片使用中发现,应使电源电压保持在5v 左右,如果电压过低,会使所

测得到温度与实际温度出现偏高现象,使温度输出定格在

85℃。

(2)连接DSl8B20的总线电缆是有长度限制的。当采用普通信号电缆传输长度超过50m 时,读取的测温数据发生错误,当采用双绞线带屏蔽电缆为总线电缆时,正常通

讯距离可达l50m ,当采用每米胶合次数更多的双绞线带屏蔽电缆时,正常通讯距离可

以进一步加长。这种情况主要由总线分布电容使信号波形产生畸变造成的。因此,存进

行长距离测量时要充分考虑总线分布电容和阻抗匹配问题。根据要求设计的温度采集单

元如图3.7所示:

Vcc

DS18B20

DQ GND

P1.0 片

4.7K

12

图3.7温度采集单元

在本系统要采用一条总线上挂单个DS18B20器件。在P1.0口接DS18B20温度传感

器。由于只采用单个传感器,故无需读出DS18B20温度传感器的序列号,在程序中直接

跳过ROM。

3.3液晶显示屏输出

液晶显示的原理是利用液晶的物理特性,通过电压对其显示区域进行控制,有电就

有显示,这样即可以显示出图形。液晶显示器具有厚度薄、适用于大规模集成电路直接

驱动、易于实现全彩色显示的特点,目前已经被广泛应用在便携式电脑、数字摄像机、

PDA移动通信工具等众多领域。

3.3.1 1602LCD的基本参数及引脚功能

1602LCD分为带背光和不带背光两种,基控制器大部分为HD44780,带背光的比不带背光的厚,

是否带背光在应用中并无差别,两者尺寸差别如下图 3.8所示:

图3.8 1602LCD尺寸图

1602LCD主要技术参数:

显示容量:16×2个字符

芯片工作电压:4.5—5.5V

工作电流:2.0mA(5.0V)

13 模块最佳工作电压:5.0V

字符尺寸:2.95×4.35(W×H)mm

引脚功能说明

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

表3.6:引脚接口说明表

编号符号引脚说明编号符号引脚说明

1 VSS 电源地9 D

2 数据

2 VDD 电源正极10 D

3 数据

3 VL 液晶显示偏压11 D

4 数据

4 RS 数据/命令选择12 D

5 数据

5 R/W 读/写选择13 D

6 数据

6 E 使能信号14 D

7 数据

7 D0 数据15 BLA 背光源正极

8 D1 数据16 BLK 背光源负极

第1脚:VSS为地电源。

第2脚:VDD接5V正电源。

第3脚:VL为液晶显示器对比度调整端,接正电源时对比度最弱,接地时对比度最高,对比度过

高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度。

第4脚:RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。

14

第5脚:R/W 为读写信号线,高电平时进行读操作,低电平时进行写操作。当RS 和R/W 共同为

低电平时可以写入指令或者显示地址,当RS 为低电平R/W 为高电平时可以读忙信号,

当RS 为高

电平R/W 为低电平时可以写入数据。第6脚:E 端为使能端,当

E 端由高电平跳变成低电平时,液晶模块执行命令。

第7~14脚:D0~D7为8位双向数据线。第15脚:背光源正极。第16脚:背光源负极。

3.3.2 1602LCD 的指令说明及时序

1602液晶模块内部的控制器共有

11条控制指令,如表

3.7所示:

表3.7:控制命令表

序号指令RS R/W D7 D6 D5 D4 D3 D2 D1 D0 1 清显示0 0 0 0 0 0 0 0 0 1 2

光标返回

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

读出的数据内容

1602液晶模块的读写操作、屏幕和光标的操作都是通过指令编程来实现的。(说明:1为高电平、

0为低电平)

指令1:清显示,指令码

01H,光标复位到地址

00H 位置。

15

指令2:光标复位,光标返回到地址00H 。

指令3:光标和显示模式设置

I/D :光标移动方向,高电平右移,低电平左移

S:屏幕上所有文字是

否左移或者右移。高电平表示有效,低电平则无效。指令4:显示开关控制。D :控制整体显示的开与关,高电平表示开显示,低电平表示关显示

C :

控制光标的开与关,高电平表示有光标,低电平表示无光标

B :控制光标是否闪烁,高电平闪烁,

低电平不闪烁。

指令5:光标或显示移位S/C :高电平时移动显示的文字,低电平时移动光标。

指令6:功能设置命令DL :高电平时为4位总线,低电平时为8位总线N :低电平时为单行显示,

高电平时双行显示F: 低电平时显示5x7的点阵字符,高电平时显示

5x10的点阵字符。

指令7:字符发生器

RAM 地址设置。

指令8:DDRAM 地址设置。指令9:读忙信号和光标地址BF :为忙标志位,高电平表示忙,此时模块不能接收命令或者数据,

如果为低电平表示不忙。指令10:写数据。指令11:读数据。

与HD44780相兼容的芯片时序表

3.8如下:

表3.8:基本操作时序表

读状态输入RS=L ,R/W=H ,E=H

输出D0—D7=状态字写指令输入RS=L ,R/W=L ,D0—D7=指令码,E=高脉冲输出无

读数据输入RS=H ,R/W=H ,E=H

输出D0—D7=数据写数据

输入

RS=H ,R/W=L ,D0—D7=数据,E=高脉冲

输出

读写操作时序如图 3.9和3.10所示:

16

图3.9读操作时序

图3.10 写操作时序

3.3.3 1602LCD的RAM地址映射及标准字库表

液晶显示模块是一个慢显示器件,所以在执行每条指令之前一定要确认模块的忙标志为低电平,表

示不忙,否则此指令失效。要显示字符时要先输入显示字符地址,也就是告诉模块在哪里显示字符,

图3.11是1602的内部显示地址。

17

图3.11 1602LCD内部显示地址

例如第二行第一个字符的地址是40H,那么是否直接写入40H就可以将光标定位在第二行第一个字

符的位置呢?这样不行,因为写入显示地址时要求最高位D7恒定为高电平1所以实际写入的数据

应该是01000000B(40H)+10000000B(80H)=11000000B(C0H)。

在对液晶模块的初始化中要先设置其显示模式,在液晶模块显示字符时光标是自动右移的,无需人

工干预。每次输入指令前都要判断液晶模块是否处于忙的状态。

1602液晶模块内部的字符发生存储器(CGROM)已经存储了160个不同的点阵字符图形,如图

3.12所示,这些字符有:阿拉伯数字、英文字母的大小写、常用的符号、和日文假名等,每一个字

的代码是01000001B(41H),显示时模块把地

符都有一个固定的代码,比如大写的英文字母“A”

址41H中的点阵字符图形显示出来,我们就能看到字母“A”

图3.12字符代码与图形对应图

连接显示电路如图 3.13所示:

18

图3.13

3.4蜂鸣器报警电路

蜂鸣器报警电路由一个报警器与一个I/O口P2.2相连,通过对I/O通过输入高低

电平来控制报警器的响铃。P2.2为低电平时报警并红灯亮。见下图 3.14:

图3.14蜂鸣器报警电路

19

第四章软件设计

4.1主程序

系统主流程图如图

4.1所示,主要完成是调用

LCD 液晶显示器的初始化及

18b20

初始化,对温度的采集、转化并显示以及对相应温度的控制处理。主程序相当于一条主

线,将各个准备子程序模块组合在一起,以实现功能要求,将当前温度值显示在液晶显

示器上。

N

Y

图4.1主函数流程图

开始

1602初始化

18b20初始化是否成功

启动温度转换

温度控制响应

显示温度

相关文档
最新文档