中易网

单片机精确延时子程序

答案:1  悬赏:10  
解决时间 2021-10-19 06:11
单片机精确延时子程序
最佳答案
500ms延时子程序(参考)
程序:
void delay500ms(void)

{

unsigned char i,j,k;

for(i=15;i>0;i--)

for(j=202;j>0;j--)

for(k=81;k>0;k--);

}

产生的汇编:

C:0x0800 7F0F MOV R7,#0x0F

C:0x0802 7ECA MOV R6,#0xCA

C:0x0804 7D51 MOV R5,#0x51

C:0x0806 DDFE DJNZ R5,C:0806

C:0x0808 DEFA DJNZ R6,C:0804

C:0x080A DFF6 DJNZ R7,C:0802

C:0x080C 22 RET

计算分析:

程序共有三层循环

一层循环n:R5*2 = 81*2 =162us DJNZ 2us

二层循环m:R6*(n+3) = 202*165 =33330us DJNZ 2us + R5赋值 1us = 3us

三层循环: R7*(m+3) = 15*33333 =499995us DJNZ 2us + R6赋值 1us = 3us

循环外: 5us 子程序调用 2us + 子程序返回 2us + R7赋值 1us = 5us

延时总时间 = 三层循环 + 循环外 = 499995+5 = 500000us =500ms

计算公式:延时时间=[(2*R5+3)*R6+3]*R7+5

资料来源:吴鉴鹰吧
贡献文档:百度文库《吴鉴鹰单片机项目实战精讲》
单片机开发板选择参考:吴鉴鹰单片机开发板(教程详细,技术支持到位)
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
汽车保养不去4S店行不行?
停车场(出口)(跃进路58号温馨阳光2栋附近停车
圆通速递为什么乱收费?从江苏镇江发到陕西宝
龙图快印地址在什么地方,想过去办事
玫琳凯美白产品一套多少钱?
高压防水堵漏原理哪位了解?
苏州哪里有产后月子餐食谱?
怎么做鱼肉水饺好吃
停车场(储运村东)地址在什么地方,想过去办事
怀孕期间不能动卧室的东西,不能乱挖沟渠、乱
用skype打电话,对方来电显示里显示的号码是
怎样能使客户明白代理商比厂家的好处
膝盖酸疼伸直或弯曲时伴有响声
请问室内卫生间防水规范高度是多少?
鹤壁市实验中学
推荐资讯
实德塑钢门窗报价是多少?
有谁知道湖南醴陵仙都的酱板鸭(真空包装的)多
4岁孩子脚趾头皮肤比脚面上黑
求助:混合肌用薇姿Vichy温泉矿物保湿霜,滋
陕西省宝鸡市岐山县凤鸣镇北郭村农家乐联系电
玫琳凯祛斑产品好吗
去汶川 到马尔康 都有什么好玩好看的 路上国
新妈妈如何预防“妈妈腕”
江阴华士镇有招聘的吗
Y460无法安装win7系统,光盘、U盘、PE都失败
福建霞浦县城哪条街道卖服装最多,
请问客厅的吊灯是怎么安装?
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?