51單片機通用匯編延時子程序,
關鍵字:51單片機通用匯編延時子程序
51單片機通用匯編延時子程序
[DELY]:通用延時子程序
[地址]:7FEBH - FFEBH
[功能]:延時
[入口]:延時常數(shù)放在 R2 寄存器中。時間常數(shù) N(十六進制)所對應的延時時間(6MZH 晶振時)見下表:
[出口]:R2=0
[占用寄存器]:R2
[調用]:無
例:延時1 秒子程序
MOV R2,#18H
LCALL 7FEBH
RET
ORG 7FEBH ;通用延時子程序(07EBH & 0FEBH & ...)
L7FEB: PUSH 02H ;R2(復位后R2即為 02H)存放時間常數(shù),進棧保護
L7FED: PUSH 02H ; R2 進棧保護
L7FEF: PUSH 02H ; 進棧
L7FF1: DJNZ R2,$ ;R2 不為零等待
POP 02H ;出棧
DJNZ R2,L7FEF ; R2 不為零轉
POP 02H ; 出棧
DJNZ R2,L7FED ; R2 不為零轉
POP 02H ; 出棧
DJNZ R2,L7FEB ; R2 不為零轉
RET ;子程序返回
END
N(十六進制數(shù))T(機器周斯)T(秒) 子程序地址
1 11 0.000044
C 2728 0.010912
18 26323 0.105292 2800
1D 50838 0.203352 2808
21 80323 0.321292 2810
24 109666 0.438664 2818
26 133248 0.532992 2820
28 160431 0.641724 2828
29 175481 0.701024 2830
2E 267146 1.068584 2838
37 516836 2.067344 2840
3D 760366 3.041464 2848
42 1021681 4.086724 2850
46 1275016 5.100064 2858
54 2543878 10.175512 2860
65 5144436 20.577744 2868
70 7654053 30.616212 2870
78 9986491 39.945964 2878
7F 12432158 49.728632 2880
98 24956083 99.824332 2888
A9 37708623 150.83453
B6 50353668 201.41467 2890
CA 75697683 302.79073 2898
D9 100218410 400.87365 28A0
E6 125909940 503.63974 28A8
F1 151248830 605.03532 28B0
FF 188839490 755.35794
0 191768000 767.072 28B8
[地址]:7FEBH - FFEBH
[功能]:延時
[入口]:延時常數(shù)放在 R2 寄存器中。時間常數(shù) N(十六進制)所對應的延時時間(6MZH 晶振時)見下表:
[出口]:R2=0
[占用寄存器]:R2
[調用]:無
例:延時1 秒子程序
MOV R2,#18H
LCALL 7FEBH
RET
ORG 7FEBH ;通用延時子程序(07EBH & 0FEBH & ...)
L7FEB: PUSH 02H ;R2(復位后R2即為 02H)存放時間常數(shù),進棧保護
L7FED: PUSH 02H ; R2 進棧保護
L7FEF: PUSH 02H ; 進棧
L7FF1: DJNZ R2,$ ;R2 不為零等待
POP 02H ;出棧
DJNZ R2,L7FEF ; R2 不為零轉
POP 02H ; 出棧
DJNZ R2,L7FED ; R2 不為零轉
POP 02H ; 出棧
DJNZ R2,L7FEB ; R2 不為零轉
RET ;子程序返回
END
N(十六進制數(shù))T(機器周斯)T(秒) 子程序地址
1 11 0.000044
C 2728 0.010912
18 26323 0.105292 2800
1D 50838 0.203352 2808
21 80323 0.321292 2810
24 109666 0.438664 2818
26 133248 0.532992 2820
28 160431 0.641724 2828
29 175481 0.701024 2830
2E 267146 1.068584 2838
37 516836 2.067344 2840
3D 760366 3.041464 2848
42 1021681 4.086724 2850
46 1275016 5.100064 2858
54 2543878 10.175512 2860
65 5144436 20.577744 2868
70 7654053 30.616212 2870
78 9986491 39.945964 2878
7F 12432158 49.728632 2880
98 24956083 99.824332 2888
A9 37708623 150.83453
B6 50353668 201.41467 2890
CA 75697683 302.79073 2898
D9 100218410 400.87365 28A0
E6 125909940 503.63974 28A8
F1 151248830 605.03532 28B0
FF 188839490 755.35794
0 191768000 767.072 28B8
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。
舉報投訴
發(fā)布評論請先 登錄
相關推薦
熱點推薦
8XC51FX:高性能8位單片機的全方位解析
8XC51FX:高性能8位單片機的全方位解析 在單片機的世界里,8XC51FX系列以其卓越的性能和豐富的功能脫穎而出,成為眾多電子工程師在設計項目時的熱門選擇。今天,我們就來深入探討一
學習單片機快速方法
的很不錯了。告訴大家我學51單片機只用了兩個星期。普通的應用差不多都會了,可以自己設計一個國旗升降系統(tǒng)、溫度自動控制系統(tǒng)之類的電路和程序。當然想要這么短的時間內精通是不可能的。
學習單片機
發(fā)表于 01-14 07:42
怎么學好單片機?
編譯出來的CODE比較占空間,一般用于移植性通用型要求高的嵌入式軟件領域,或者比較大的單片機項目,或者要求開發(fā)速度而對價格不敏感的產(chǎn)品。而匯編剛好相反,對利潤薄,成本低,開發(fā)難度不大的行業(yè)使用,比如
發(fā)表于 12-04 07:16
單片機程序的執(zhí)行
:
對單片機編程后,程序的代碼段,data段,bss段,rodata段等都存放在Flash中。當單片機上電后,初始化匯編代碼將data段,bss段,復制到RAM中,并建立好堆棧,開始
發(fā)表于 12-04 06:20
編寫簡單高效單片機匯編程序
程序自動返回,避免重復書寫。
4、巧用單片機的硬件資源
單片機自帶一些硬件資源可以幫助簡化代碼、提升效率。
可以用硬件定時器實現(xiàn)秒脈沖的計數(shù),這樣省去大量延時循環(huán)。
比如按鍵去抖
發(fā)表于 11-24 07:00
C語言和單片機C語言有什么差異
區(qū)別是由編譯器決的,只能參考對應的編譯手冊,即使同種平臺不同的編譯器對C的擴展也有不同。
3、單片機c語言編程是基于C語言的單片機編程。單片機的C語言采用C51編譯器(簡稱C
發(fā)表于 11-14 07:55
怎么測單片機系統(tǒng)頻率
單片機系統(tǒng)頻率是指單片機工作時的時鐘頻率,它直接影響單片機的運行速度和處理能力,準確測量系統(tǒng)頻率對單片機應用開發(fā)、程序調試和性能優(yōu)化具有重要
單片機原理及應用
本書全面系統(tǒng)地介紹了 MCS-51 系列單片機的基本結構、工作原理及應用技術。主要內容包括:微型計算機的基礎知識、MCS-51 單片機的基本結構、匯
發(fā)表于 06-16 16:58
圖解單片機功能與應用(完整版)
從基礎知識的介紹出發(fā),圖文并茂,直觀、系統(tǒng)地介紹了單片機的內部結構、工作原理和應用技巧。全書分為10章,內容包括51單片機編程資源圖解、51單片機
發(fā)表于 06-16 16:52
51單片機通用匯編延時子程序,
評論