導航:首頁 > 操作系統 > 單片機匯編延時

單片機匯編延時

發布時間:2023-09-01 18:33:49

① 請問這段單片機匯編語言程序(關於定時器延時)是什麼意思

DELAY:MOV
R3,#14H
;循環20次
MOV
TMOD,#10H
;定時器1工作於模式1(16位定時器)
MOV
TH1,#3CH
;賦初值,50毫秒溢出一次
MOV
TL1,#0B0H
SETB
TR1
;啟動定時器1
LP1:
JBC
TF1,LP2
;溢出位為1,則清0後轉移到LP2
SJMP
LP1
;否則等待TF1置1
LP2
:MOV
TH1,#3CH
;重新賦初值
MOV
TL1,#0B0H
DJNZ
R3,LP1
;20次循環完成則退出,否則轉LP1
RET
;綜述:以上共延時1秒。

② 單片機80c51,用匯編,編寫一個延時子程序,通過調用此程序實現在p1.0輸出周期為10ms的方波

ORG 0000H
AJMP MAIN
ORG 000BH
T0MS EQU NOT 5000 ; 定義定時器初值 12M晶振 5 mS = 5000 10 mS = 10000
MOV TL0, #LOW T0MS
MOV TH0, #HIGH T0MS
CPL P1.0 ; P1.0 取反 輸出 10 mS的方波
REIT
MAIN:MOV TMOD,#01H
MOV TL0, #LOW T0MS
MOV TH0, #HIGH T0MS
SETB TR0 ; 啟動定時器
SETB ET0 ; 開 T0 中斷
SETB EA ; 開 總 中斷
SJMP $
END

③ 用匯編怎麼寫51單片機的延時程序

DEL1S:MOV R7,#10x0dx0aD1: MOV R6,#200x0dx0aD2: MOV R5,#250x0dx0a DJNZ R5,$x0dx0a DJNZ R6,D2x0dx0a DJNZ R7,D1x0dx0a RETx0dx0ax0dx0a說明:1、如果不使用R5、R6、R7可以用別的單元替換,比如換成30H、31H、32H等等x0dx0a 2、這個程序是12M時鍾,如果時鍾不同,要修改數值。如6M時鍾,要把MOV R7,#10 修改成:MOV R7,#5

④ 單片機精準延時匯編語言

如果是用匯編語言的話,是可以做到精準延時的。當然首先要有一個精準的時鍾,也即是晶振要准確,比如使用精準的12M晶振12T模式的51單片機延時1毫秒,程序如下:
DELAY1MS:
MOVR3,#249;1
DJNZR3,$;2*249
MOVR3,#249;1
DJNZR3,$;2*249
RET;2
延時時間為:1+2*249+1+2*249+2=1000T,這里使用12M晶振,T=1微秒,所以總共延時1000微秒也即是1毫秒。如果要延時更多時間,可以採用循環方式來實現。當然在計算延時時間時要考慮到使用的單片機類型和型號,比如STC89C51是6T,DS80320是4T,STC12C5A60S2是12T,這些因數一定要考慮進去才行。

閱讀全文

與單片機匯編延時相關的資料

熱點內容
紅米無法訪問data文件夾 瀏覽:685
國家反詐中心app為什麼審核不過去 瀏覽:871
linuxwindows啟動盤 瀏覽:811
百度貼吧app怎麼看訪客 瀏覽:435
javaio文件復制 瀏覽:407
app上海總部在什麼樓里 瀏覽:371
格式化硬碟dos命令 瀏覽:496
紅茶可以緩解壓力 瀏覽:999
騰訊雲怎麼弄七十多一年雲伺服器 瀏覽:717
java按鈕設置圖片 瀏覽:866
php數字分頁代碼 瀏覽:793
旅遊業程序員 瀏覽:401
區塊鏈第三代加密數字資產 瀏覽:525
把播放清單放在雲伺服器上 瀏覽:879
phpppt下載 瀏覽:302
1929pdf 瀏覽:366
編譯器是終端嗎 瀏覽:541
pdf改b4 瀏覽:380
命令通道 瀏覽:712
pdf去 瀏覽:543