之前有一段时间写关于DS18B20的程序,那个通信协议十分严格,对于延时时间准确度要求很高。看到网上确定延时时间都是把C翻译成汇编,用执行语句长度乘时钟周期得到。可我不会汇编,最近调试定时器时发现了一方法,似乎有用。
步骤如下:
1. 在程序中对定时器初始化。
2. 打开keil调试
3. 在下面的watch栏里输入TL0
4. 进行单步调试,进入延时函数
5. 在延时函数里选一个语句点,观察相临两次经过这个延时点时TL0的值num1,num2;
6. 这段时间为
T=(num2-num1)/计数脉冲频率
|