STC单片机精确延时与DS18B20实战:示波器测量
5星 · 超过95%的资源 需积分: 31 58 浏览量
更新于2024-09-21
2
收藏 5KB TXT 举报
该资源是关于STC单片机(以STC12C56为例)实现精确延时及DS18B20温度传感器应用的程序代码和方法。作者在使用DS18B20时遇到STC单片机延时函数不准确的问题,通过示波器测量不同延时函数的执行时间,从而得到更精确的延时值。提供的代码包含了延时函数Delayus和Delayms的实现,并附有部分测试用例。
在STC单片机编程中,精确延时通常是一个挑战,因为STC的内部分频器可能导致预想的延时不准确。为了克服这个问题,作者采用了直接测量的方法,利用示波器来确定微秒和毫秒级别的延时时间。这种方法可以显著减少因延时不准确导致的调试时间。示波器测量的数据可用于校准延时函数,确保在实际应用中获得期望的延迟。
在给出的代码片段中,可以看到两个延时函数的定义:
1. `Delayus(INT16 i)`: 这个函数用于实现微秒级别的延时,通过一个while循环实现。循环次数与所需延时成反比,循环内的空操作保证了一定的时间消耗。
2. `Delayms(INT16 i)`: 该函数用于毫秒级别的延时,同样采用循环结构,但可能需要更复杂的计算来确保精度,尤其是在不同的系统时钟频率下。
测试用例部分展示了不同参数下,这两个函数实际产生的延时时间,这为其他开发者提供了参考,可以根据这些数据调整自己的延时需求。
此外,代码还包含了一些常用的头文件,如"STC12C56.h"、"exceptive.h"、"globaldata.h"、"system.h"和"intrins.h",以及针对DS18B20的驱动函数"ds18b20.h"。这表明整个项目不仅关注延时问题,还涉及到了异常处理、全局变量、系统初始化以及DS18B20温度传感器的通信。
DS18B20是一种数字温度传感器,它可以直接在单总线上与微控制器进行通信,无需额外的接口电路。这个传感器的特点是精度高、功耗低,常用于各种环境监测和控制应用中。在STC单片机上使用DS18B20时,精确的延时控制对于正确解析传感器返回的数据至关重要。
这个资源提供了STC单片机实现精确延时的实用方法,以及DS18B20温度传感器应用的实例,对使用STC系列单片机和DS18B20的开发者具有很高的参考价值。
2019-10-06 上传
2022-07-14 上传
2011-08-29 上传
2022-09-19 上传
2018-05-05 上传
318 浏览量
hzfhit
- 粉丝: 0
- 资源: 6
最新资源
- travelgen:旅游目的地生成器
- widgetsng:下一代小部件
- Java毕业设计:寝室信息管理系统.zip
- js循环滚动焦点图特效.zip
- 基于SSM的MOOC在线教学平台【项目源码+数据库脚本】(毕设)
- 吊车图像标注数据集_2231
- fsm_series_solution3hq_verilog_
- 高斯求积代码matlab-Numerical-method-Scientific-Computing:高斯正交的MATLAB代码
- Simple Waypoint System v5.1.1.rar
- masters-thesis-ellipsoid:在 MATLAB 中实现的椭球法
- re2c scanner generator-开源
- 数据结构实验:运动会管理系统源码.zip
- Qchan Image Hosting:使用PHP的轻量级图像托管应用程序-开源
- PHP课程环节学生成绩评价系统源码(毕业设计).zip
- A9DDD4294010E4D6A4748DAD1A7E731A_etg_Anime_
- touchtomouse.js:一个将触摸事件转换为鼠标事件JavaScript库