- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
STC指令延时精确计算
STC单片机指令精确延时分析
guoguo
适用单片机:STC-1T,晶振12MHz
例1:Delayus( ) —— 延时能力2~256us
C51代码:
/*****延时us****************************************
* 功能:延时i+1 us,包含调用时间
* 参数:无
* 描述:适用于STC1T单片机,晶振12MHz
* 时钟周期0.08333us,机器周期0.125us
* 特别说明:编译器优化等级设为0,i的有效范围1~255
* 作者:张国营
* 日期:2013-10-12
*****************************************************/
void delay10us(void) //包含调用时间,误差 0us
{
uchar i=9;
do{
_nop_();
_nop_();
_nop_();
i--;
}while(i);
}
编译后的汇编代码:Keil 编译器优化等级0
时钟周期
Code地址
机器码
汇编指令
备注
6
LCALL
addr16
无参数调用
2
C:0x0C29
753709
MOV
0x37,#0x09
初始化局部变量
1
C:0x0C2C
00
NOP
循环1us
1
C:0x0C2D
00
NOP
1
C:0x0C2E
00
NOP
4
C:0x0C2F
1537
DEC
0x37
2
C:0x0C31
E537
MOV
A,0x37
3
C:0x0C33
70F7
JNZ
C:0C2C
4
C:0x0C35
22
RET
返回
计算公式,T=[(6+2)+ i *(3+4+2+3)+ 4 ] / 12= (12+12 * i)/12 =1+i 单位us
局部变量n=9时,延时10us;n=99时,延时100us
例2:Delayms( )——延时能力1~255ms,误差约为 +1.25us
C51代码:
/*******************延时ms*************************************
* 适用于STC1T单片机,晶振12MHz,时钟周期0.08333us,机器周期0.125us
* 延时能力:n = 1~255 ms,误差为 +1.25 us
* 特别说明:编译器优化等级设为0
*******************************************************************/
void delayms(uchar n) //精确延时,包含调用时间,
{
uchar i,j;
//---------循环体精确延时n ms-------------------
do{ //约延时[(i+1)*j+1]*n us
_nop_();
j = 9;
do{ //约延时 (i+1)*j us
_nop_();
i = 110;
do{ //精确延时 i us
_nop_();
_nop_();
_nop_();
i--;
}while(i);
j--;
}while(j);
n--;
}while(n);
}
编译后的汇编代码:Keil 编译器优化等级0
时钟周期
Code地址
机器码
汇编指令
备注
2
C:0x0BB7
7F32
MOV
R7,#0x32
含参数调用
6
C:0x0BB9
120BFB
LCALL
delayms(C:0BDB)
3
C:0x0BDB
8F2F
MOV
0x2F,R7
传递参数
1
C:0x0C04
00
NOP
n循环:1us
2
C:0x0C05
753109
MOV
0x31,#0x09
1
C:0x0C08
00
NOP
j循环:1us
2
C:0x0C09
75306E
MOV
0x30,#0x6E
1
C:0x0C0C
00
NOP
i循环:1 us
1
C:0x0C0D
00
NOP
1
C:0x0C0E
00
NOP
4
C:0x0C0F
1530
DEC
0x30
2
C:0x0C11
E530
MOV
A,0x30
3
C:0x0C13
70F7
JNZ
C:0C0C
4
C:0x0C15
1531
DEC
0x31
j循环:1us
2
C:0x0C17
E531
MOV
A,0x31
3
C:0x0C19
70ED
JNZ
C:0C08
4
C:0x0C1B
152F
DEC
0x2F
n循环:1us
2
C:0x0C1D
E52F
MOV
A,0x2F
3
C:0x0C1F
70E3
JN
您可能关注的文档
最近下载
- 免费小学生竞选班长卡通PPT模板 (31).pptx VIP
- 电动汽车控制系统及检修课件-第一部分.pptx VIP
- 高中研究性学习调查报告PPTppt.pptx VIP
- 2025年高考英语阅读理解238个抢分关键词+572个高频词.doc VIP
- 4)-A統計基礎及品質統計.ppt VIP
- 2025最新贵州省专业技术人员继续教育公需科目考试题库及答案(全)).docx VIP
- 赵海洋 十年 完整钢琴谱.pdf VIP
- 2025年高考语文备考之文言文《古文观止》训练50篇.pdf VIP
- 青岛版数学一年级上册《20以内的进位加法》单元整体备课设计.docx VIP
- 2025至2030中国跑腿服务行业市场分析及竞争形势与发展前景预测报告.docx
文档评论(0)