找回密码
 注册
关于网站域名变更的通知
查看: 234|回复: 3
打印 上一主题 下一主题

单片机程序怎么计算延时时间?

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2022-4-12 10:33 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
void delay(unsigned int i)​
7 ?& m0 p* K& s3 w1 \{​! C5 m- w" Z5 V
: s3 s/ X( M% e0 V# _
        unsigned int j;​& a- S( H* J8 W$ t
        while(i--)​
# `% R# s. m- p0 f6 c5 N& D        {​
2 ?: R4 ^" }7 C9 q6 |% J4 ^                for(j=0;j<0x20;j++);​
3 M* D' k+ ~$ ^6 W! _4 d        }​
9 n* D; G7 y; Q# o
8 j9 ?7 S" a6 i8 ~8 k8 z}​
5 C/ d9 X6 t3 A% f' m* {# q# V这个延时函数,while循环和for循环,延时多久啊?为什么我用keil调试算的时间和自己算的不一样
. y" ?! Z5 [8 L) N" U) Q+ M6 K1 C5 W$ Z1 @/ N2 Q0 V* V

该用户从未签到

2#
发表于 2022-4-12 11:10 | 只看该作者
这个延时,和编译器有关系,如果是汇编的代码,能看到指令,就能计算指令周期,准确的预计时间,你进入调试模式看看汇编代码,应该能够算出来

该用户从未签到

3#
发表于 2022-4-12 14:48 | 只看该作者
这种不精确,遇到中断就去执行中断了

该用户从未签到

4#
发表于 2022-4-12 15:21 | 只看该作者
1 S8 ~, L" x0 w- E
这是C语言,C语言要先编译成汇编才能烧录到单片机中,不同的编译环境,编译成的汇编代码是不一样的3 K! d1 J0 [' R
所以,这是没法计算的
- n$ M# `' }$ B6 |$ x! K对于STC,最简单省事的就是在下载器那复制
! j6 S' y, j7 N+ `1 w4 P如果要精确的,那就用定时器
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-10-9 03:27 , Processed in 0.156250 second(s), 23 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表