
基于51单片机的热敏电阻测温程序.doc
5星
- 浏览量: 0
- 大小:None
- 文件类型:DOC
简介:
本文档详细介绍了一种使用51单片机和热敏电阻设计的温度测量系统,并提供了相应的编程代码。通过精确读取热敏电阻变化来实现对环境温度的有效监测,适用于多种温度检测应用场景。
根据给定的文件内容,“51单片机热敏电阻测温程序”的关键知识点总结如下:
### 1. 程序概述
该程序利用51单片机实现对环境温度测量,采用DS18B20数字温度传感器和热敏电阻作为两种不同的温度采集设备。通过六位串行数码管显示数据,其中前三位用于展示由DS18B20测得的数值,后三位则用来呈现热敏电阻检测到的数据。
### 2. 温度测量原理
#### DS18B20:
- **初始化**:程序首先执行对DS18B20传感器进行通信准备的操作,这包括将DQ引脚拉低再拉高以确认设备可以正常工作。
- **读写操作**:利用`Read_OneChar`和`Write_OneChar`函数完成与温度计的单字节数据交换过程。
- **获取测量值**:通过启动一次新的温度转换,并从DS18B20中读取高低位信息,组合成完整的数值。
#### 热敏电阻:
- **工作原理**:热敏电阻的特点是其阻抗会随环境温度的变化而变化,通常表现为随着温度升高而降低的特性。
- **测量方式**:尽管程序未展示具体代码细节,但常见的方法包括通过测量电压或电流来计算当前温度。
### 3. 显示逻辑
- **数码管显示**:使用六位串行数码管进行数据显示,采用`send`和`send1`函数实现数据的连续发送。
- **处理方式**:对于DS18B20采集的数据,程序进行了高低字节组合以确保正确的温度值展示。
### 4. 定时与延迟
- **定时器使用**:通过定义了如`delay`和`delay1`这样的函数来提供必要的延时操作,保证硬件交互的准确性。例如,在DS18B20通信过程中需要遵守特定的时间协议要求。
### 5. 引脚配置
程序中设置了多个SBI特定位引脚用于控制不同的功能需求,包括与传感器(DQ)、数码管数据线(dat)、时钟(clock)等进行交互的信号线路。
### 6. 数据类型与宏定义
- 自定义了`uchar`和`uint`数据类型以提高代码可读性和效率。
- 宏定义如`#define uchar unsigned char`简化编码过程,并提升程序维护性。
该51单片机热敏电阻测温程序是嵌入式系统应用的一个典型示例,它展示了在有限资源条件下如何利用IO控制、外部设备通信、数据处理以及显示技术来实现复杂功能。学习此类项目有助于深入理解单片机及其外设的工作机制,并提升编程和硬件设计能力。
全部评论 (0)


