微控制器編寫能延時1秒的子程式,微控制器編寫乙個能延時1秒的子程式

2021-09-01 18:48:27 字數 1436 閱讀 9080

1樓:匿名使用者

通用辦法,可以類推:

delay1s:

mov   r5,#08h           ; ∵ 1s=1000000us

mov   r6,#0a2h          ; ∴ 1000000/2=500000

mov   r7,#20h           ; 500000用16進製表示為: 07a120

; 所以 r5=07h+1=08h

;     r6=0a1h+1=0a2h

;     r7=20h

loop:   djnz  r7,$              ; 延時時間≈2×[(r5-1)×256+r6-1]×256+r7

djnz  r6,loop           ; 當r5、r6等於0,相當於256參與運算

djnz  r5,loop           ; 當r5、r6等於0,相當於256參與運算ret

2樓:

一些寫**的唯美主義者看不起以下答案,其實現實主義者大都這麼幹。很實用,最重要的是可靠性好,開發速度快。

org 0000h

mov sp, #60h

mov a,#00h

loop: mov p1, a

acall delay100ms

acall delay100ms

acall delay100ms

acall delay100ms

acall delay100ms

acall delay100ms

acall delay100ms

acall delay100ms

acall delay100ms

acall delay100ms

cpl a

sjmp loop

delay100ms: mov r6, #199 ; 1×1=1us

dly1: mov r7, #250 ; 1×1×199=199us

djnz r7, $ ; 2×1×250×199=99.5ms

djnz r6, dly1 ; 2×1×199=398us

ret ; 2×1=2usend

3樓:匿名使用者

delay1ms: ;

mov r7,#01h

dl1:

mov r6,#8eh

dl0:

mov r5,#02h

djnz r5,$

djnz r6,dl0

djnz r7,dl1

retvoid delay1ms(void)

微控制器程式解讀 20,微控制器程式解釋

org 000h ajmp start org 001bh ajmp timel 定時器1中斷服務org 0030h start mov ie,10000100b 開啟總中斷和外部1中斷 貌似有錯誤 mov sp,60h 棧頂為60hmov p1,0ffh mov r0,00000011b r0 0...

微控制器LED,微控制器中程式中,LED LED是什麼意思?

雖然你這樣的電路仍然可以實現這些功能,但不值得推薦,你了解一下動態掃瞄吧,如果能掌握動態掃瞄就很簡單了,因為按你這個樣子,如果顯示5位數的話,那微控制器io口豈不是都不夠用了啊,你只要把數碼管的段顯示部分 2個數碼管的左邊七個引腳 都接在p2口就行,也就是再多的數碼管都接在乙個 8位 口上,例如 p...

微控制器程式中能輸入小數嗎,51微控制器怎麼從鍵盤輸入小數點啊

51微控制器硬體沒有浮點數運算指令,如果是彙編,需要自己使用一段彙編指令序列來完成浮點數運算,如果是c語言就比較容易了,編譯器會自動做處理,但是微控制器做浮點運算開銷是很大的 小數部分會被直接捨去,不會產生進製。微控制器處理浮點運算是很慢的。使用float型或double型變數,經過編譯器編譯後是會...