标题:
求解单片机延时函数的计算
[打印本页]
作者:
a865550942
时间:
2018-1-16 22:49
标题:
求解单片机延时函数的计算
void delay_16us(u16 us)
{
while(--us);
}
如上所示的延时函数,在89c52中运行,晶振用的是12兆赫兹,那这个该如何计算延时的时间长度,网上的看不懂希望能说说
作者:
木木de
时间:
2018-1-16 23:04
需要转换成汇编指令 再去计算时钟周期 计算出延时时间
作者:
jizi
时间:
2018-1-17 07:38
12MHZ的晶振在89c52中,一个机械时间是12MHZ/12=1us
一个机械时间就是单片机运行一个指令的时候例如(;)
也是一个机械时间,所以上面的程序是 输入的数 慢慢地减
一个一个的运行这个指令( ;)
计算公式:晶振数/12=机械时间
作者:
cccc888
时间:
2018-1-17 09:26
捕获.PNG
(98.69 KB, 下载次数: 67)
下载附件
2018-1-17 09:26 上传
作者:
zl2168
时间:
2018-1-17 11:13
本帖最后由 zl2168 于 2018-1-17 11:15 编辑
c程序中的延时函数,不能准确计算延时时间。汇编程序可以。
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1