51單片機(jī)通用匯編延時(shí)子程序,
關(guān)鍵字:51單片機(jī)通用匯編延時(shí)子程序
51單片機(jī)通用匯編延時(shí)子程序
[DELY]:通用延時(shí)子程序
[地址]:7FEBH - FFEBH
[功能]:延時(shí)
[入口]:延時(shí)常數(shù)放在 R2 寄存器中。時(shí)間常數(shù) N(十六進(jìn)制)所對應(yīng)的延時(shí)時(shí)間(6MZH 晶振時(shí))見下表:
[出口]:R2=0
[占用寄存器]:R2
[調(diào)用]:無
例:延時(shí)1 秒子程序
MOV R2,#18H
LCALL 7FEBH
RET
ORG 7FEBH ;通用延時(shí)子程序(07EBH & 0FEBH & ...)
L7FEB: PUSH 02H ;R2(復(fù)位后R2即為 02H)存放時(shí)間常數(shù),進(jìn)棧保護(hù)
L7FED: PUSH 02H ; R2 進(jìn)棧保護(hù)
L7FEF: PUSH 02H ; 進(jìn)棧
L7FF1: DJNZ R2,$ ;R2 不為零等待
POP 02H ;出棧
DJNZ R2,L7FEF ; R2 不為零轉(zhuǎn)
POP 02H ; 出棧
DJNZ R2,L7FED ; R2 不為零轉(zhuǎn)
POP 02H ; 出棧
DJNZ R2,L7FEB ; R2 不為零轉(zhuǎn)
RET ;子程序返回
END
N(十六進(jìn)制數(shù))T(機(jī)器周斯)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í)
[入口]:延時(shí)常數(shù)放在 R2 寄存器中。時(shí)間常數(shù) N(十六進(jìn)制)所對應(yīng)的延時(shí)時(shí)間(6MZH 晶振時(shí))見下表:
[出口]:R2=0
[占用寄存器]:R2
[調(diào)用]:無
例:延時(shí)1 秒子程序
MOV R2,#18H
LCALL 7FEBH
RET
ORG 7FEBH ;通用延時(shí)子程序(07EBH & 0FEBH & ...)
L7FEB: PUSH 02H ;R2(復(fù)位后R2即為 02H)存放時(shí)間常數(shù),進(jìn)棧保護(hù)
L7FED: PUSH 02H ; R2 進(jìn)棧保護(hù)
L7FEF: PUSH 02H ; 進(jìn)棧
L7FF1: DJNZ R2,$ ;R2 不為零等待
POP 02H ;出棧
DJNZ R2,L7FEF ; R2 不為零轉(zhuǎn)
POP 02H ; 出棧
DJNZ R2,L7FED ; R2 不為零轉(zhuǎn)
POP 02H ; 出棧
DJNZ R2,L7FEB ; R2 不為零轉(zhuǎn)
RET ;子程序返回
END
N(十六進(jìn)制數(shù))T(機(jī)器周斯)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
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。
舉報(bào)投訴
發(fā)布評論請先 登錄
相關(guān)推薦
熱點(diǎn)推薦
單片機(jī)原理及應(yīng)用
本書全面系統(tǒng)地介紹了 MCS-51 系列單片機(jī)的基本結(jié)構(gòu)、工作原理及應(yīng)用技術(shù)。主要內(nèi)容包括:微型計(jì)算機(jī)的基礎(chǔ)知識、MCS-51 單片機(jī)的基本結(jié)構(gòu)、匯
發(fā)表于 06-16 16:58
51單片機(jī)中為什么很少出現(xiàn)printf的身影
51單片機(jī)中為什么很少出現(xiàn) printf 的身影?是用不了嗎? 不是的,51單片機(jī)可以用 printf,只是不建議使用。 平時(shí)我們在操作系統(tǒng)上寫C語言代碼,使用 printf 可以把數(shù)

基于51單片機(jī)的7人多數(shù)投票表決器設(shè)計(jì)
基于51單片機(jī)的7人多數(shù)投票表決器設(shè)計(jì) ( proteus仿真+程序+設(shè)計(jì)報(bào)告+講解視頻) 仿真圖proteus8.16(有低版本) 程序編譯器:keil 4/keil 5 編程語言:

基于51單片機(jī)的手動數(shù)字時(shí)鐘
具體實(shí)現(xiàn)功能由51單片機(jī)+8位共陰數(shù)碼管+獨(dú)立按鍵構(gòu)成。具體功能:(1)利用數(shù)碼管顯示時(shí)分秒,顯示格式為“時(shí)-分-秒”;(2)利用6個按鍵控制時(shí)、分、秒,設(shè)定好后自動開始時(shí)鐘顯示;(3)設(shè)置秒復(fù)位

基于51單片機(jī)的遙控開關(guān)仿真(雙機(jī)通信)
靈活、高效的解決方案。本設(shè)計(jì)所使用的芯片可兼容以下所有的51系列單片機(jī)(包括AT系列和STC系列)。資料內(nèi)容仿真實(shí)現(xiàn)(protues8.7)本設(shè)計(jì)利用protues8.7軟件實(shí)現(xiàn)仿真設(shè)計(jì),具體如圖。程序

基于51單片機(jī)的LED點(diǎn)陣滾動顯示系統(tǒng)
花樣;(4)可以利用“點(diǎn)陣LED字模生成工具”生成自己想要顯示的字符。仿真演示視頻:基于51單片機(jī)的LED點(diǎn)陣滾動顯示系統(tǒng)-仿真視頻設(shè)計(jì)介紹51單片機(jī)簡介

如何實(shí)現(xiàn)51單片機(jī)與PC機(jī)的串行通信
51單片機(jī)與PC機(jī)的串行通信是一種常見的通信方式,它允許單片機(jī)通過串行接口與PC機(jī)進(jìn)行數(shù)據(jù)交換。這種通信方式在嵌入式系統(tǒng)、工業(yè)控制、物聯(lián)網(wǎng)等
把esp8266加入到c51單片機(jī)單通道程序怎么寫
要將ESP8266模塊加入到C51單片機(jī)的單通道程序中,您需要了解如何通過串行通信(UART)與ESP8266進(jìn)行通信。以下是如何實(shí)現(xiàn)這一點(diǎn)的步驟和示例代碼。 步驟 1:硬件連接 首先,您需要
keil可以讀出單片機(jī)的程序嗎
Keil是一款廣泛應(yīng)用于單片機(jī)程序開發(fā)的軟件,它提供了包括C編譯器、宏匯編、連接器、庫管理和一個功能強(qiáng)大的仿真調(diào)試器等在內(nèi)的完整開發(fā)方案。然而,關(guān)于Keil是否能直接“讀出”單片機(jī)的
單片機(jī)燒錄程序用什么軟件
單片機(jī)燒錄程序是單片機(jī)開發(fā)過程中的一個重要環(huán)節(jié),涉及到將編寫好的程序代碼通過燒錄器寫入單片機(jī)的ROM中,以實(shí)現(xiàn)對
單片機(jī)燒錄程序的基本步驟是什么
是單片機(jī)燒錄程序的基礎(chǔ),它包含了單片機(jī)芯片、電源、接口等基本元件。在選擇單片機(jī)開發(fā)板時(shí),需要考慮以下幾個方面: (1)單片機(jī)型號:根據(jù)項(xiàng)目需
51單片機(jī)燒錄軟件怎么用
準(zhǔn)備工作 確保您已經(jīng)安裝了51單片機(jī)燒錄軟件,如Keil、IAR等。 準(zhǔn)備好51單片機(jī)開發(fā)板和燒錄器,如STC-ISP等。 確保您的計(jì)算機(jī)已經(jīng)安裝了相應(yīng)的驅(qū)動
評論