找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2806|回复: 3
打印 上一主题 下一主题
收起左侧

关于单片机延时函数的时间计算

[复制链接]
跳转到指定楼层
楼主
ID:214997 发表于 2017-7-11 09:33 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
单片机一个延时函数延时多长时间到底怎么算?由于学校直接说的c语言,看网上说c只有仿真来看延时是多少,只有这种方法吗?比如
for(i=0;i<125;i++)
{
;
}
这样一个延时了多长时间呢?有没有具体算的方法。。麻烦大家详细说下吧,谢谢。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:179958 发表于 2017-7-11 20:49 | 只看该作者
使用STC最新的程序下载软件,右边有个软件延时计算,用那个生成要的延时函数,就挺不错的
回复

使用道具 举报

板凳
ID:218953 发表于 2017-7-11 21:52 | 只看该作者
void DelayMS(uint x) { uchar i; while(x--) { for(i=0;i<120;i++) }      如:DelayMS(5);则耗时为5*120个指令周期,如果你的指令周期就是你的系统时钟(12000000hz)那么时间为1/12000000*5*120  这只能是大概的算。不过应该能满足你的延时要求了。精准的话建议用汇编
回复

使用道具 举报

地板
ID:149988 发表于 2017-7-12 05:59 | 只看该作者

RE: 关于单片机延时函数的时间计算

如果晶振是24Mhz,延时大约是125*2=250us.(用仿真器仿真是251us).
如果晶振是12Mhz,延时大约是125*4=500us(用仿真器仿真是502us).
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表