C51编写的18B20温度传感器LCD显示程序

需积分: 15 1 下载量 35 浏览量 更新于2024-09-15 收藏 3KB TXT 举报
"这篇资源是关于使用C51语言编写DS18B20温度传感器与LCD显示器交互的程序。程序主要包括对DS18B20的初始化、数据读取以及在LCD上显示温度的过程。" 这篇代码示例是用于在LCD显示器上显示通过DS18B20温度传感器采集的数据。DS18B20是一款单线数字温度传感器,它可以在一根线上完成数据传输和电源供应,非常适合嵌入式系统使用。C51是一种针对8051微控制器的C语言变种,广泛应用于嵌入式开发。 首先,我们看到定义了一些数据类型和端口定义: - `uchar` 是 `unsigned char` 的别名,用于存储8位无符号整数。 - `uint` 是 `unsigned int` 的别名,用于存储16位无符号整数。 - `DQ`、`rs`、`rw` 和 `en` 分别是LCD接口的控制引脚,它们被映射到P2口的不同位。 接着是一些基本的函数声明,包括初始化LCD和DS18B20的函数,以及写命令、写数据和延时函数: - `initial()` 用于初始化LCD显示器。 - `write_com(uchar com)` 写入LCD控制命令。 - `write_data(uchardate)` 向LCD写入数据显示数据。 - `Write_char(bit start,unsigned char ddata)` 写字符到LCD,包含起始位标志。 - `Send_byte(unsigned char bbyte)` 发送一个字节数据。 - `Delaynms(unsigned int di)` 和 `delay1(uint z)` 提供不同时间范围的延时功能。 在DS18B20初始化函数 `Init_DS18B20(void)` 中,执行了一次著名的“复位脉冲”操作,这是与DS18B20通信的必要步骤。这个函数确保了正确的时序,以便正确地启动传感器并检查其是否存在。 最后,代码片段中断了,但可以推测接下来的部分会涉及读取DS18B20的温度数据,并将这些数据格式化后显示在LCD上。完整的程序应当包括读取温度值的函数,这通常涉及发送特定命令到DS18B20,等待转换完成,然后读取温度寄存器的内容。 这个程序提供了DS18B20与LCD显示集成的基本框架,开发者可以根据实际需求扩展和完善代码,实现更复杂的功能,例如添加温度上下限报警、多传感器支持等。