54us的定时用定时器模式2就够了,8位重装模式 256-53=203,而且你这种/256,%256的写法应该是照着书上写的。。我感觉转成十六进制写更好 |
wulin 发表于 2021-1-8 09:59 好的好的,谢谢了,我下午试试 |
suncat0504 发表于 2021-1-8 10:39 我明白你意思了,因为我害怕是我代码的问题导致的误差,所以就发这个帖子,想让大家帮忙看看到底是不是我代码或者其他设置方面的问题,谢谢哈 |
人人学会单片机 发表于 2021-1-8 10:24 我用示波器检测过了,和仿真效果一样 |
用哪门子仿真呢?直接用实物做实验 用单位的示波器抓取。 |
由于54us定时时间较短,中断程序中运行TH1=(65536-54)/256;TL1=(65536-54)%256;运算需要占用时间。在ms级定时中此误差可以忽略,在us级定时其误差就会明显。不过芯片设计者早为你想好了应对方法:使用8位自动重装模式,在发生中断的同时直接把TH1中数据赋值TL1。示例如下:
![]()
|