这是单片机的延时程序,晶振是12MHZ,延时10ms。请问是怎么计算的?其中,c=50。
这是单片机的延时程序,晶振是12MHZ,延时10ms。请问是怎么计算的?其中,c=50。
日期:2015-03-13 15:31:28 人气:2
不要试图去计算,计算不准确,软件延时本身都不准确,这些都是试验得来的,如果晶振频率不同,可以调整a=130,但想刚好是10ms基本无可能,用汇编语言延时准确一些,但计算也比较麻烦如果要准确延时的话,还要用定时器
假如b=38 时,刚好延时38ms的话,b=50延时不会刚好是50ms
同样 a=130 时,刚好延时13ms的话,a=150延时不会刚好是15ms
所以一般是按比例改变a b取值,然后根据仿真结果再去调整,误差不大就可以了
还有unsigned char a, b和unsigned in