【LPC1788与DS18B20简介】 LPC1788是恩智浦半导体(NXP)推出的一款基于ARM Cortex-M3内核的微控制器,广泛应用于工业控制、智能家居、物联网等领域。它具有丰富的外设接口,如SPI、I2C、UART等,以及强大的处理能力,使得LPC1788成为开发各种嵌入式应用的理想选择。 DS18B20是一款数字温度传感器,由达拉斯半导体(现已被Maxim Integrated收购)制造。它能直接输出数字信号,无需ADC转换,并且可以通过单总线(One-Wire)通信协议与主机进行数据交换,这大大简化了硬件设计,特别适合在空间有限或布线困难的场合使用。 【LPC1788与DS18B20的连接】 在LPC1788与DS18B20的交互中,LPC1788通常通过其GPIO口模拟单总线协议来与DS18B20通信。由于单总线协议只需一条数据线即可完成数据传输,因此可以节省宝贵的硬件资源。在LPC1788上,可以选择任何支持推挽输出的GPIO引脚来实现单总线通信。 【DS18B20工作原理】 DS18B20内部集成了温度传感器、ADC转换器和存储器。它能够检测环境温度并在内部转换为数字值,然后通过单总线发送到主控器。DS18B20还能存储配置寄存器,用户可以设置温度报警阈值、分辨率(9~12位)等参数。 【程序开发】 开发LPC1788驱动DS18B20的程序,首先需要理解单总线通信协议。该协议包括初始化、读写数据、应答机制等步骤。在LPC1888中,需要编写相应的函数来模拟这些操作,例如拉低数据线进行写操作,释放数据线进行读操作,以及精确控制时序以确保通信正确。 程序通常包含以下部分: 1. 初始化:配置LPC1788的GPIO口为推挽输出模式,并初始化单总线。 2. 设备搜索:通过“搜索算法”找到连接在单总线上的DS18B20设备。 3. 写命令:向DS18B20发送指令,如配置寄存器、启动温度测量等。 4. 读数据:从DS18B20读取温度值或其他信息。 5. 错误处理:检查通信过程中的错误,如超时、数据不一致等。 【代码实现】 在C语言环境下,可以使用位操作来实现单总线的读写。例如,可以定义一个函数`write_1wire(bit)`用于写数据,另一个函数`read_1wire()`用于读数据。程序还需要包含对DS18B20特定命令序列的支持,如ROM操作命令(如CRC、搜索ROM等)和数据操作命令(如配置寄存器、读温度等)。 【总结】 "LPC1788 DS18B20程序"涉及的是使用LPC1788微控制器通过单总线通信协议与DS18B20数字温度传感器进行数据交互的工程实践。了解并掌握这一技术,可以帮助开发者构建基于温度监控的嵌入式系统,广泛应用在工业自动化、环境监测、智能家居等多个领域。通过对LPC1788的GPIO口编程模拟单总线协议,以及理解DS18B20的工作原理和通信协议,可以有效实现温度数据的准确采集和处理。
- 1
- ljd19932262015-07-12这个例子很有用,对于使用LPC17系列的用户
- cyunli2014-06-15谢谢分享,大体参考了下,有帮忙
- 粉丝: 154
- 资源: 33
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 【java毕业设计】面向学生成绩分析系统源码(ssm+mysql+说明文档+LW).zip
- 【java毕业设计】美容院管理系统源码(ssm+mysql+说明文档+LW).zip
- 【java毕业设计】理发店管理系统源码(ssm+mysql+说明文档+LW).zip
- 29602960wen
- 【java毕业设计】学生综合测评管理系统源码(ssm+mysql+说明文档+LW).zip
- 【java毕业设计】基于Java的汽车销售系统源码(ssm+mysql+说明文档).zip
- 【java毕业设计】杭商院班级人事管理系统源码(ssm+mysql+说明文档).zip
- 【java毕业设计】个人所得税服务系统源码(ssm+mysql+说明文档).zip
- 2024年全国高校计算机能力挑战赛规程详解:五大竞赛项目全面解读
- 【java毕业设计】高职院校教学中心可视化教学分析系统源码(ssm+mysql+说明文档).zip