该延时函数在51单片机中,while语句循环1次和循环10次 ,各需要几个机器周期?在线等 5

voiddelayus(ucharus)//温度传感器处理函数的延时{uchari;i=us;while(i>0)i--;我指的是delyus(1)和delyus(10)... void delayus(uchar us)//温度传感器处理函数的延时
{
uchar i;
i=us;
while(i>0)i--;
我指的是delyus(1)和delyus(10)各自所需多少个机器周期执行
展开
 我来答
打偶1
推荐于2018-05-17 · 超过16用户采纳过TA的回答
知道答主
回答量:40
采纳率:0%
帮助的人:23.8万
展开全部
你看看你的单片机的晶振是多少,我的是11.0592MHZ,你要是做1us延时的话,可以看下我的,
/*************************************************
Function: // 15us延时函数
Description: // 实现15us的整数倍延时
Input: // unsigned int i
*************************************************/
void Delay_15us (unsigned int i) //15*i+15us延时
{
for(i;i>0;i--)
{
_nop_();
_nop_();
_nop_();
_nop_();
}
_nop_();
_nop_();
}
如果你要是做到1us的话可以直接写_nop_();这是个空指令,系统什么也不干,延时大概就是1us,如果你要是这么写的话,就要包含头文件#include<intrins.h>
过客匆匆1030
2014-05-17
知道答主
回答量:21
采纳率:0%
帮助的人:7.1万
展开全部
这个可以用keil 的软件仿真功能,单步执行看它经历的时间
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2014-05-18
展开全部
或者看编译生成的汇编。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式