没有合适的资源?快使用搜索试试~ 我知道了~
DS18B20+UCOSIII-技术资料+源码
5星 · 超过95%的资源 需积分: 19 20 下载量 99 浏览量
2017-10-29
11:20:49
上传
评论 1
收藏 193KB PDF 举报
温馨提示
试读
9页
前些天想找个DS18B20在系统中的详细资料的应用没有找到,花了2天时间实现了,并且总结了相应的问题以及解决的方案。
资源推荐
资源详情
资源评论
DS18B20+UCOSIII
DS18B20 对于我们都不陌生,做 51 任务的时候都用过 DS18B20 测过温度,第一感觉就
是函数调用,变量一接收,温度就会显示出来。但是事实绝非如此,当你看到这篇文章的时
候,
DS18B20 已经难倒你了。下面从头开始讲起。
1. 首先将 DS18B20 的大部分程序写出来,前提是能正常运行,显示出温度值的。下面就开
始移植到 32 板子上了。
2. 根据电路图,在 DS18B20 VCC 引脚与信号引脚之间接上上拉电阻,4.7k-10k 都行,
不接暂时没发现有什么影响。
3. 下面我们先创建一个 32 工程,先不要创建 UCOSIII 系统,一步一步来。然后直接将头文
件调用过去,将 51 中的 sbit 定义的引脚用 GPIO 定义。但是 32 上 GPIO 定义的 IO 口模式
有多种,输入,输出,复用,模拟,上拉,下拉,浮空等多种模式,而 51 上就是简单的 sbit ,
这下估计你就头疼了。
4. 把函数移植完全后,先选取一个引脚,然后使能该引脚,对于上面的问题怎么解决呢?
可以百度上网查找,找到一种简单的定义方法,可以像 51 一样对 IO 口的操作,也就是位带
操作。如下
这样定义就可以像 51 一样操作引脚了,
5. 定义完引脚,使用 delay 精确延时后,发现已经 0 错误 0 警告了,然后运行,然后发
现温度值为 0。 这时你会发现为什么上面我对同一个引脚定义了两个宏。因为 DS18B20 是
单总线接口方式,在 32 上一个引脚有输入输出之分,所以你会发现,当你给 DS18B20 发命
令的时候,需要输出电平的高低变化,当你从 DS18B20 读取温度的时候,IO 口需要输入,
读取 IO 口电平变化,来读取温度。所以你需要定义一个 IO 口不同的输入输出模式,在恰当
的地方进行输入输出切换,是不是又变得复杂了。
6. 输入输出模式怎么定义呢?有两种方法,一种可以直接 GPIO 定义,写两个函数,一个
输入函数,一个输出函数,两个可以随时进行切换,第二种方法跟地址有关,这点我也没有
搞懂,只是拿来用就行,下面就看第二种方法。
DS18B20_IO_IN() 可以认为是 输入模式函数
DS18B20_IO_OUT() 输出函数
DS18B20_DQ_OUT 输出时 引脚设置
DS18B20_DQ_IN 输入时,引脚设置
如果换 IO 口的时候,只需要把 GPIOX 改动就行,后面的数值不动。
资源评论
- Mascreda2018-02-02挺好 讲的比较详细
UNIONDONG
- 粉丝: 2089
- 资源: 5
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- CVE-2019-0708漏洞检测与利用工具
- STM32单片机FPGA毕设电路原理论文报告利用c8051f020系列单片机实现智能仪器开发
- STM32单片机FPGA毕设电路原理论文报告利用8位单片机实现与Internet网络通信应用研究
- STM32单片机FPGA毕设电路原理论文报告利用80C196单片机测量三相异步电动机功率因数
- STM32单片机FPGA毕设电路原理论文报告力学传感器与单片机的接口设计
- p107-u07FLT2.wav
- STM32单片机FPGA毕设电路原理论文报告雷达幅频特性测试仪的智能化研究
- STM32单片机FPGA毕设电路原理论文报告可组网电子温湿度测量仪的设计与实现
- STM32单片机FPGA毕设电路原理论文报告可在单片机上实现的语音混沌保密通信方法
- STM32单片机FPGA毕设电路原理论文报告可实现的基于MCS51单片机的恒温控制系统的设计
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功