導航:首頁 > 操作系統 > 單片機程序執行時間計算公式

單片機程序執行時間計算公式

發布時間: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

與單片機程序執行時間計算公式相關的資料

熱點內容
天狼星視頻加密系統 瀏覽:937
android百度地圖下載 瀏覽:198
mac不能寫入移動硬碟有沒有什麼命令 瀏覽:631
創建新文件夾怎麼備份 瀏覽:257
我的世界電腦版中國版伺服器下載地址 瀏覽:713
安卓平板為什麼創建下載文件失敗 瀏覽:232
如何快速提高自律app 瀏覽:20
中文單片機程序設計語言 瀏覽:690
為什麼電腦寫程序編譯不了 瀏覽:578
單片機精確計時 瀏覽:127
程序員與ui那個工資高 瀏覽:42
如何把c語言代碼放到編譯器 瀏覽:603
app開發用什麼語言好 瀏覽:313
crmjava開源系統 瀏覽:246
電氣工程師程序員年薪 瀏覽:131
設計院文件加密破解 瀏覽:842
蘋果appstore在哪裡看余額 瀏覽:635
linuxnfs開機掛載 瀏覽:882
godes加密 瀏覽:377
戰狼2什麼時候上映app 瀏覽:659