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

單片機匯編延時

發布時間: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,這些因數一定要考慮進去才行。

閱讀全文

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

熱點內容
騰訊伺服器為什麼貴 瀏覽:263
娃哈哈程序員 瀏覽:455
標准粒子群演算法 瀏覽:730
查理九世pdf 瀏覽:102
python有編譯環境嗎 瀏覽:356
王者安卓轉蘋果系統如何轉 瀏覽:421
找不到google伺服器ip地址如何解決 瀏覽:603
程序員做什麼東西 瀏覽:573
oppor9sandroid71 瀏覽:398
自己寫一個js編譯器 瀏覽:474
平果如何設置防刪app 瀏覽:903
java版怎麼連接伺服器 瀏覽:749
php怎麼查看錯誤日誌 瀏覽:538
住酒店的程序員 瀏覽:782
產品折扣演算法 瀏覽:398
rra格式能直接解壓么 瀏覽:462
蘇州網友吐槽程序員 瀏覽:174
java數字圖像處理 瀏覽:819
停車場如何連接伺服器 瀏覽:445
include的用法android 瀏覽:187