导航:首页 > 操作系统 > 单片机程序执行时间计算公式

单片机程序执行时间计算公式

发布时间:2025-05-25 14:02:19

1. 怎么根据单片机晶振计算每段程序的运算时间啊

用KEIL软件可以计算时间,将while的起始位置和终止位置加红点(双击即可);

然后左侧的SEC后面的就是执行的时间。

再给你几个延时程序做参考:

软件延时:(asm)

晶振12MHZ,延时1秒

程序如下:

DELAY:MOV72H,#100

LOOP3:MOV71H,#100

LOOP1:MOV70H,#47

LOOP0:DJNZ70H,LOOP0

NOP

DJNZ71H,LOOP1

MOV70H,#46

LOOP2:DJNZ70H,LOOP2

NOP

DJNZ72H,LOOP3

MOV70H,#48

LOOP4:DJNZ70H,LOOP4

定时器延时:

晶振12MHZ,延时1s,定时器0工作方式为方式1

DELAY1:MOVR7,#0AH;;晶振12MHZ,延时0.5秒

AJMPDELAY

DELAY2:MOVR7,#14H;;晶振12MHZ,延时1秒

DELAY:CLREX0

MOVTMOD,#01H;设置定时器的工作方式为方式1

MOVTL0,#0B0H;给定时器设置计数初始值

MOVTH0,#3CH

SETBTR0;开启定时器

HERE:JBCTF0,NEXT1

SJMPHERE

NEXT1:MOVTL0,#0B0H

MOVTH0,#3CH

DJNZR7,HERE

CLRTR0;定时器要软件清零

SETBEX0

RET

C语言延时程序:

10ms延时子程序(12MHZ)

voiddelay10ms(void)

{

unsignedchari,j,k;

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

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

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

}

1s延时子程序(12MHZ)

voiddelay1s(void)

{

unsignedcharh,i,j,k;

for(h=5;h>0;h--)

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

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

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

}

200ms延时子程序(12MHZ)

voiddelay200ms(void)

{

unsignedchari,j,k;

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

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

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

}

500ms延时子程序程序:(12MHZ)

voiddelay500ms(void)

{

unsignedchari,j,k;

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

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

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

}

不过实际得到的延时会存在差异,所以最好用实验的方法调整延时参数。

http://..com/link?url=D6NFOp_-_ctZ7gAh1VfA-VDEhKsNmWgIq

2. 单片机时间计算

255是错误的,定时器 高8位的1相当于256个脉冲
假设一个脉冲是1US
总时间=定时时间*中断次数+TH0*256+TL0-15536
15536是定时50ms时所装入的初值,一定要减去
将US换算成mS T=tcount*50+TH0*0.256+TL0/1000-15.536
另外一种方法是将定时器初值设为0,即定时65536US, 这样总时间为
T=65536*中断次数+TH0*256+TL0

与单片机程序执行时间计算公式相关的资料

热点内容
服务器放到云上和云下有啥区别 浏览:670
单片机玻璃管加热研究成果 浏览:760
财产pdf 浏览:795
java添加图标 浏览:890
命令与征服4任务攻略 浏览:97
算法和逻辑程序验证 浏览:771
用户管理系统php模板 浏览:423
中国银行app账号怎么登录 浏览:871
安卓手机icloud云服务器地址 浏览:805
加密门禁如何写到小米手机 浏览:173
java静态方法的多线程 浏览:270
CAXAXp下载打不开要加密 浏览:250
开锁pdf 浏览:94
python可视化奶茶 浏览:230
命令方字幕 浏览:594
苹果手机如何连接ipad服务器 浏览:986
打印矩阵java 浏览:405
如何双开一个不能双开的app 浏览:540
抖音喜欢加密了怎么打开 浏览:397
mysql命令行显示表 浏览:365