初始化。(1)将总线低480~960μs,然后释放总线。(2)DS18B20等待15~60μs,然后返回低电平并持续60~240μs的存在脉冲。
写时序。(1)将总线置低电平并且持续15μs后发送数据的某一位。(2)延时60~120μs然后将总线拉高并持续至少1μs的时间后开始下一次发送。
读时序。(1)将总线置低电平,并且持续至少1μs,然后释放总线。(2)释放总线后15μs内读取并处理数据。(3)处理数据后延时,保证第一个步骤到延时结束时间至少60μs后为电阻上拉状态。
采用延时程序的设计方法,利用for循环编写delay函数和_nop_()函数控制DS18B20。
通过以上延时程序的控制方法,DS18B20稳定实现了温度采集。充分说明了高效的延时程序设计,在开发一些需要使用到延时程序时,可以先用Keil C51先设计好延时程序,然后利用以上方法进行分析计算,最后直接调用,可节省大量的时间、提高CPU的使用效率。
4 结束语
Keil C51具有强大的功能,只要利用合理,可以给开发者节省大量的时间,从而提高开发效率。另外在设计延时程序的时候,应该综合考虑各种延时程序的特点,以优化CPU的使用效率。
本文关键字:程序设计 源码-程序,单片机-工控设备 - 源码-程序
上一篇:PLC中定时器的延时启动程序