在MCS单片机中用C语言怎么计算延迟时间?要精确的//。。

 我来答
百度网友1890823
2013-01-09 · 超过14用户采纳过TA的回答
知道答主
回答量:58
采纳率:0%
帮助的人:41.1万
展开全部
首先你要确认你的晶振频率,假设是12MHz,然后是你单片机执行指令消耗的时钟周期,8051的一般都是12T,也就是执行一条指令消耗12个机器周期,现在STC的大部分是1T的,就是比传统的快12倍。那么传统51单片机执行一条指令的时间为T=12/(12M),即1us,你只要设置个for循环,for循环里没有语句,那么for循环的次数*1us就是消耗的时间,也就是软件延时。软件不可能非常精确,你也可以用定时器定时
百度网友d851d08df
2013-01-09 · 超过15用户采纳过TA的回答
知道答主
回答量:58
采纳率:0%
帮助的人:12.5万
展开全部
精确的啊,那就反汇编啊,然后再KELL软件上就能看到延时的时间了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lfc9861
2013-01-09 · TA获得超过291个赞
知道小有建树答主
回答量:472
采纳率:50%
帮助的人:287万
展开全部

不用那么麻烦,编写程序,让他断点模拟运行(无需实际硬件),运行前应指定晶振频率,

这样得到的时间以uS为单位,准确无误

 

当然这得先排除中断的可能影响

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式