DS18B20C51编程实现温度控制与LCD显示
需积分: 13 72 浏览量
更新于2024-09-07
收藏 6KB TXT 举报
"这篇资源是关于使用DS18B20温度传感器和C51语言进行温度控制的程序实现,目标是将当前教室的温度显示在LCM液晶显示屏上,并通过S1和S2按键设定目标温度。"
在这个项目中,主要涉及以下几个知识点:
1. **DS18B20温度传感器**:DS18B20是一种数字温度传感器,它可以直接输出数字信号,简化了温度测量系统的复杂性。它具有高精度、单线通信接口的特点,可以方便地与微控制器如8051(C51语言对应的芯片)连接。
2. **C51编程**:C51是针对8051系列微控制器的编程语言,这里的代码展示了如何使用C51来控制硬件设备,包括读取温度数据、设置LCD显示以及处理用户输入。
3. **液晶显示屏(LCD)**:LCM(Liquid Crystal Module)是液晶显示器,用于显示温度读数。这里使用的是16x16的字符型液晶屏,通过RS、RW、EN等控制引脚实现数据的写入和读取。
4. **按键输入**:S1和S2两个按键用于设定高于和低于当前室温的目标温度。通过读取按键状态,可以改变目标温度值。
5. **温度控制算法**:虽然代码没有明确给出,但根据描述,应该存在一个温度控制算法,用于将当前温度稳定在设定的目标温度。这可能涉及到PID(比例-积分-微分)控制或其他类型的控制策略。
6. **中断与定时器**:C51语言支持中断和定时器功能,可能在程序中用于周期性地获取温度读数、更新LCD显示或者执行控制逻辑。
7. **I/O操作**:代码中的`delay_us()`和`delay()`函数用于实现延时,这是微控制器程序中常见的操作,用于控制程序执行的步调。
8. **串行通信**:DS18B20采用单总线协议,这是一种串行通信协议,允许单个数据线同时传输数据和时钟信息,代码中未具体展示这部分,但在实际应用中需要处理这种通信方式。
9. **液晶屏初始化和显示**:代码中的`write_command()`和`write_data()`函数用于向液晶屏发送命令和数据,`Set_column()`和`Set_row()`函数则用于选择显示的位置。
10. **变量定义与处理**:如`uchar Ek, Ek1, Ek2`,`uchar Kp, Ki, Kd`等,这些可能是用于存储温度读数、控制参数或状态的变量。
通过理解以上知识点,开发者可以实现一个基本的温度控制系统,能够实时监测并控制教室的温度,并在LCD屏幕上直观地显示出来。
2013-03-05 上传
2009-06-12 上传
2013-03-03 上传
2012-05-24 上传
卿卿要冲鸭
- 粉丝: 1
- 资源: 3
最新资源
- 黑板风格计算机毕业答辩PPT模板下载
- CodeSandbox实现ListView快速创建指南
- Node.js脚本实现WXR文件到Postgres数据库帖子导入
- 清新简约创意三角毕业论文答辩PPT模板
- DISCORD-JS-CRUD:提升 Discord 机器人开发体验
- Node.js v4.3.2版本Linux ARM64平台运行时环境发布
- SQLight:C++11编写的轻量级MySQL客户端
- 计算机专业毕业论文答辩PPT模板
- Wireshark网络抓包工具的使用与数据包解析
- Wild Match Map: JavaScript中实现通配符映射与事件绑定
- 毕业答辩利器:蝶恋花毕业设计PPT模板
- Node.js深度解析:高性能Web服务器与实时应用构建
- 掌握深度图技术:游戏开发中的绚丽应用案例
- Dart语言的HTTP扩展包功能详解
- MoonMaker: 投资组合加固神器,助力$GME投资者登月
- 计算机毕业设计答辩PPT模板下载