
该延时函数在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)各自所需多少个机器周期执行 展开
{
uchar i;
i=us;
while(i>0)i--;
我指的是delyus(1)和delyus(10)各自所需多少个机器周期执行 展开
3个回答
展开全部
你看看你的单片机的晶振是多少,我的是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>
/*************************************************
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>

2023-06-12 广告
单片机原理及其应用是一门研究将计算机和数字电子技术应用于具体实践中的学科,主要包括单片机的结构、工作原理、指令系统、汇编语言程序设计、C语言程序设计、嵌入式系统及其开发环境、抗干扰技术、数模与模数转换技术、单片机应用系统的开发等内容。单片机...
点击进入详情页
本回答由意法半导体(中国)投资有限公司提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询