完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
void Delay(unsigned int t)
{ while(--t); } void DelayMs() { while(--t) { //大致延时1ms Delay(245); Delay(245); } } 我想知道这个1ms的延时是怎么算出来的 我用的晶振是1m的 |
|
相关推荐
8个回答
|
|
|
|
|
|
每运行一条指令会经过几个机器周期我忘了,反正1个机器周期等于12个晶振周期, |
|
|
|
首先,你用的是12M的晶振,时钟周期也就是每一次的晶振时间是1/12微秒,而一个机器周期包括12个时钟周期。其次,单片机每执行一条指令的时间称为指令周期,它包括1~4个机器周期,你的单片机指令周期应该是两个机器周期。最后,1/12微秒 x 12 x 2 x 245(第一条指令) + 1/12微秒 x 12 x 2 x 245(第二条指令)=490+490=980微秒.
|
|
|
|
|
|
|
|
谢谢大神们
|
|
|
|
除了楼上说的那些,还有调用函数的机器周期,等。。
|
|
|
|
说的好啊 !真清楚!
|
|
|
|
很不错,,说的很好。。。
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
STC32G8K64 单片机 的P00(ADC8)脚短路到GND 会死机,怎么解决?
377 浏览 1 评论
嵌入式学习-飞凌嵌入式ElfBoard ELF 1板卡-Linux C接口编程入门之ioctl操作
782 浏览 0 评论
《DNK210使用指南 -CanMV版 V1.0》第十七章 machine.WDT类实验
525 浏览 0 评论
1134 浏览 0 评论
嵌入式学习-飞凌嵌入式ElfBoard ELF 1板卡-通用文件I/O模型之close
1291 浏览 0 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
11485 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-10-19 05:20 , Processed in 0.950830 second(s), Total 85, Slave 69 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号