问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

单片机C语言中怎么实现微秒级延时?

发布网友 发布时间:2022-12-16 20:20

我来回答

4个回答

热心网友 时间:2023-12-05 00:03

可以用_nop_( )函数来实现微秒级的延时。

_nop_();            // 直接当成一条语句使用,产生一条NOP指令

NOP指令为单周期指令,可由晶振频率算出延时时间,对于12M晶振,延时1uS。


注:使用该函数时,需要将头文件#include<intrins.h>包含进源文件中。

热心网友 时间:2023-12-05 00:03

大致的原理 就是根据CPU的指标 得到CPU执行一条指令的时间t
然后通过循环一定次数 即执行一定条数的指令N
t*N就是时间了
仅适用于单线程的单片机
对于有线程或者是有中断的情况下会不准确追问比如STC89C52单片机时钟频率11.0592MHz,它执行一条语句的时间是1,0851us,但是怎么能看出i=6;while(i--);就是延时了68微妙;或者i=103;while(i>0);i--;又是延时了多少微秒呢,谢谢!!

追答编译成汇编 然后计算会执行多少条指令 乘上每条时间就可以了
由于编译的时候和编译器以及优化有关 所以单独从C上是看不出来的

另外,如果要求精确 最好用汇编命令写延时 因为编译的话 有可能不同时候得到的代码就变了

_nop();
一般用这个函数 执行一次等于一个语句时间

热心网友 时间:2023-12-05 00:04

单片机执行一步运算需要一定的时间,这根单片机的晶振有关!
while(i--)执行了6次,6步的时间!

热心网友 时间:2023-12-05 00:04

这些属于软件延时,会有一定的误差,但一般的测试没有问题,你可以用KEIL软件仿真,在你写的代码前后各设置一个断点,从第一个断点开始,单步运行到下个断点,KEIL左侧会显示执行这段代码所用的时间。 本质上就是,单片机执行完这段代码的时间,就是你所要的时间。
这款单片机不能硬件调试,如果是其它类型能调试 的MCU,你可以用示波器测出来。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
手机导航地图语音怎么下载 如何分别真金和仿金首饰 怎样区分真金和仿金首饰呢 小学生新年晚会主持人的串词!!(不要太多)急 大大后天就需要了!!!_百度... 周年晚会策划公司 奥格瑞玛传送门大厅在哪 奥格瑞玛传送门大厅怎么走 锻炼颈椎的几个动作 水多久能结冰 冰能在多长时间内形成 请问水低于0度会结冰吗? 如何防止脱发严重 如何用C语言得到精确到微秒 内经是如何用阴阳看待世界的 道医小古:真正的阴阳五行是指什么? photosuite做好图以后在相册看不到怎样才能保存到本地 Roxio PhotoSuite 5在用优化大师清理完注册表垃圾后的问题 电脑不知怎么安装的photosuite9 怎么使用MGI PhotoSuite 4,把图片变得更清晰 系统自带Media import用photosuite倒入照片无法储存的问题 用PhotoSuite划格 如何让格一样大小 今天扬电科技行情?扬电科技股票发行价?扬电科技缩量下跌? 附件离婚孩子抚养权协议书范本 panda和play的p发音相同吗 ...里的用友文件夹中拖到桌面,用友文件夹里就没有了,怎样把它重新放回去... ...然后安装了系统,之后发现桌面没有用友打开图标,请问怎么解决_百度... 杭州必赢科技有限公司怎么样? 必胜软件的客服为什么换得这么勤快 现在软件有问题 找联系人都找不到... 资阳市多措并举助力大学生创业 以创业带动就业之帮助大学生找创业好项目 云台电机过载遥控器还能看到画面吗 世界上最大的食人花 大王花吃人图片触目惊心 宝马535和奔驰530插电混动哪个好 求一个C语言的微秒级延时函数 c语言如获取系统时间精确到微秒,给出函数,并举例 用C语言将微秒转换成年月日十分秒,求代码? C语言如何精确到微秒级别,我正在测试程序的运行时间,现在已经精确到毫秒... 华晨宝马宝马5系汽油好还是油电混合的好 宝马5系混动档次怎么样啊 二手宝马5系混动和燃油哪个好? fortran i语句 fortran 语句中i1=[k,m]的含义 fortran中能在子程序里用write语句吗 关于FORTRAN循环的问题,当i大于5时输出i并EXIT,为什么输出的i一直... Fortran中这个语句是什么意思啊ch1=ch(i:i) 可视门铃进出门有提示吗怎么关 360门铃老提示有人经过 我家的门铃按下去,系统会提示“谢绝访问”,这是怎么回事呢? NASA指责中国航天不主动提出合作和缺乏透明性,意图是什么? 美日加紧勾结,四大动向值得警惕 中国空间站全用中文被质疑!我国的空间站都是中文合理吗? 靡靡之音是什么意思 靡靡之音的释义