51单片机中,我用KEIL仿真,发现用WHILE(),执行一个循环要9微秒,对吗

51单片机中,我用KEIL仿真,发现用WHILE(),执行一个循环要9微秒,对吗悬赏分:0-离问题结束还有14天23小时#include<reg52.h>voidmain... 51单片机中,我用KEIL仿真,发现用WHILE(),执行一个循环要9微秒,对吗
悬赏分:0 - 离问题结束还有 14 天 23 小时
#include<reg52.h>
void main()
{int a=1;
P1=0xfe;
while(a--);
}
就执行1个WHILE就9微秒,对吗,我用12M晶振仿真的,怎么要这么长周期??不是一个指令一般不要这么多周期的吗
有大侠帮忙仿真一下么??
展开
 我来答
意法半导体(中国)投资有限公司 2023-06-12
展开全部
单片机其实就是一种可以由人对它进行编程从而通过它控制一些与它相连的器件的微型处理器。通俗地说就是你用某种特定的语言在特定的软件里(如keil)编写好一段程序后通过一定的方法转到一个芯片里(这个芯片就是单片机),给芯片上电后它就可以根据你编的程序控制它所连接的其他器件了。希望能帮到你了… 更专业的解答可联系意法半导体,产品服务:意法半导体单片机产品线拥有业界宽广、极具创新力的32位产品系列 – STM32,覆盖超低功耗、超高性能方向.目前提供16大产品线 (F0, G0, F1, F2, F3, G4, F4, F7, H7, MP1, L0, L1, L4, L4+,L5, WB),超…
tinghost
2010-11-17 · 超过27用户采纳过TA的回答
知道答主
回答量:67
采纳率:0%
帮助的人:27.5万
展开全部
这个差不多的,while指令编译成机器码后是不止一条指令的,而且还不只是单周期指令,几条指令下来,12M晶振如果采用12T模式的话,这个结果差不离。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
上海实邦电子科技
2025-08-04 广告
联系方式:13671592388上海实邦电子科技有限公司是一家专业电子产品开发与ODM/OEM/电子制造服务(EMS)企业,具有多年基于消费电子产品、工业自动化产品、机电控制产品的PCBA开发与生产经验,更有多年的单片机开发及工业控制电路设... 点击进入详情页
本回答由上海实邦电子科技提供
电子自控设计店铺
2010-11-16 · 电子设计、自动控制等相关
电子自控设计店铺
采纳数:305 获赞数:798

向TA提问 私信TA
展开全部
应该没有这么长时间,也就2微秒左右,一个机器周期为12个晶振周期也就是1微秒,你的while循环只有2次,也就2微秒左右。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
chhfbluesky2009
2010-11-16 · 超过20用户采纳过TA的回答
知道答主
回答量:33
采纳率:0%
帮助的人:45.3万
展开全部
你是要用延时功能吧,建议单独写一个程序,然后调用就可以了,这种方法不够精确。
给你提供一个比较精确地延时子程序,12M晶振的:
void delay1ms(unsigned int i)
{
unsigned char j;
while(i--)
{
for(j=0;j<115;j++)
{
;
}
}
}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友6b2536b
2010-11-17 · TA获得超过300个赞
知道小有建树答主
回答量:330
采纳率:0%
帮助的人:194万
展开全部
编程这东西电脑说了算,只能根据电脑给出的结果分析。电脑说用了9微妙,就是用了这么多。需要延时就用2楼的程序。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式