电子工程师技术服务社区
公告
登录
|
注册
首页
技术问答
厂商活动
正点原子
板卡试用
资源库
下载
文章
社区首页
问答
请问如何确定一个延时程序的延时时间呢?
已解决
73482
个问题
已帮助
5993
位优秀工程师
请问如何确定一个延时程序的延时时间呢?
qiuqiu
2020-12-30
浏览量:1149
请问如何确定一个晶振12M的单片机程序中延时程序延时的时间呢?
比如说12M晶振,晶振周期1/12微妙,一个机器周期包含12个晶振周期,所以12M晶振时机器周期=12x(1/12)微秒=1微秒。
那么1MS的延时程序为:
void delay(uint z)//延时函数1ms
{
uint xy;
for(x=z;x>0;x--);
for(y=110;y>0;y--);
}
请问这个y=110里这个110是怎么来的?
谢谢大家指点
显示全部
单片机
关注问题
写回答
0
0
收起
我来回答
上传资料:
选择文件
文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
yhj416606438
用软件仿真测试出来的,仿真器每步执行再调试窗口都有时间显示,通过修改这个数字,使这一段语句时间长度在1ms,所以这个110也是一点一点测试出来的,不过还有一个简单办法我还是用stcisp软件,设置好参数,他会自动生成延时函数
发布于
2021-01-01
举报
评论 0
0
0
其他答案
数量:
2
STM32ZET6
这个要用仿真来看时间间隔了,因为C语言要变成汇编才能计算他的执行的机器周期数,,直接算是不好得出来的,还可以用stcisp烧录软件、上面有一个计算延时的工具,选择你要的延时生成就行
发布于
2020-12-31
举报
评论 0
0
0
chen0000009
最好用定时器,那个准,这种死循环的延时容易受中断影响,那个110应该是实测出来比较接近的
发布于
2021-01-23
举报
评论 0
0
0
相关问题
问题达人
换一批
文章
知识经验换现金
换一批
请问如何确定一个延时程序的延时时间呢?
写回答
关注问题
×
我要举报该内容,理由是:
内容质量差:
内容太水、伸手党
垃圾广告信息:
广告、招聘、推广、测试内容等
偏离问答主题:
与技术无关、讨论类
与社区已有内容重复:
违规内容:
色情、暴力、血腥、敏感信息等
不友善内容:
人事攻击、挑衅辱骂、恶意行为
以上选项都不是: