
18B20温度显示LCD程序
5星
- 浏览量: 0
- 大小:None
- 文件类型:TXT
简介:
本程序利用18B20传感器精准测量环境温度,并通过LCD显示屏实时展示温度数据,适用于温控监测系统开发。
根据给定文件的信息,我们可以总结出以下相关的IT知识点:
### 1. **DS18B20温度传感器介绍**
- DS18B20是一种单线数字温度传感器,能够直接将测量到的温度转化为数字信号,便于微控制器读取处理。
- 它具有体积小、功耗低等特点,在各种环境中都能实现精确的温度测量。
### 2. **LCD显示模块简介**
- LCD(液晶显示器)常用于嵌入式系统中的信息显示。
- 在本例中使用的LCD模块可能是一个常见的4位或8位数据接口的LCD模块,通常包含两个行显示,每行可以显示16个字符。
### 3. **C51编程语言概述**
- C51是一种专门针对8051系列微控制器的C语言扩展,它支持对8051硬件的直接访问。
- C51不仅保留了标准C的所有特性,还增加了对特殊寄存器的支持,方便进行底层硬件控制。
### 4. **DS18B20与MCU之间的通信**
- DS18B20通过一条数据线(DQ)与微控制器(MCU)进行通信。
- 初始化过程包括复位信号发送、命令发送等步骤。
- 温度读取过程中,首先发送初始化命令,然后发送转换命令让DS18B20开始温度转换;之后再次初始化并发送读取命令获取温度数据。
### 5. **LCD模块的驱动**
- 在代码中通过定义LCD的数据线(DQ)、读写控制线(RW)、使能线(EN)和寄存器选择线(RS)来控制LCD。
- 写入命令和数据的过程涉及设置RS和RW,发送使能脉冲,并在适当的时间发送实际的命令或数据字节。
- LCD显示更新通常需要一定的延迟时间以确保数据被正确写入。
### 6. **代码解读**
- `Initial()`函数用于初始化LCD模块并设定其工作模式等。
- `Write_com()`和`Write_data()`分别向LCD发送命令和数据。
- `Write_char()`函数用来写入一个字符,而`Send_byte()`则用来发送一个字节的数据。
- `Delaynms()`实现延时操作以保证数据传输的准确性。
- `Init_DS18B20()`用于初始化DS18B20传感器;`ReadOneChar()`从DS18B20读取一个字节的数据,而`WriteOneChar()`则向其写入一个字节的数据。
- `ReadTemperature()`函数实现温度数据的读取,并将其转换为整型数值返回。
- `main()`是程序主入口,循环读取DS18B20的温度并在LCD上显示。
### 7. **关键函数解析**
- 初始化DS18B20:`Init_DS18B20()`中首先复位总线、发送初始化脉冲,并通过状态反馈判断是否成功。
- 读取温度:`ReadTemperature()`先向传感器发出转换命令,再执行读取操作以获取高字节和低字节数据并组合成整型数值表示温度值。
- 向LCD写入数据:`Write_data()`用于发送一个字节的数据到LCD,在设置RS为数据模式后通过使能脉冲实现。
以上内容涵盖了该程序的主要知识点,包括DS18B20的工作原理、基本的LCD驱动方法以及具体的C51编程细节。
全部评论 (0)


