微控制器組合語言問題

2023-02-09 20:10:46 字數 1326 閱讀 6510

1樓:匿名使用者

建議你用定時中斷方式,下面的供參考

org 0000h

ajmp start

org 001bh

ljmp time1 ;定時中斷1入口

org 0030h

start:

mov 30h,#0

mov 31h,#0

mov 32h,#0

mov 33h,#0

;mov p2,#0ffh

mov dptr,#table

mov r0, #20 ; 20次中斷才到1秒mov tmod,#00010000b ;

mov th1,#3ch ;

mov tl1,#0afh ; ffffh-3cafh=50000d=50ms

setb tr1 ;啟動t1setb et1 ;開t1中斷setb ea ;開總中斷display:

.....;顯示程式

ajmp display

time1:

push acc ;acc入棧push psw ;psw入棧clr tr1 ;關t1djnz r0, aa ;1秒到了嗎執行更新30h,31h,32h,33h程式……..

mov r0, #20 ;重置r0aa: mov th1,#3ch

mov tl1,#0afh ;重置t1setb tr1

pop psw

pop acc

retiend

2樓:匿名使用者

d_1ms: mov r7,#77 ;1ustemp0: mov r6,#78 ;1us*77temp1:

mov r5,#80 ;1us*78*78djnz r5,$;2us*77*78*80nop;1us*77*78

djnz r6,temp1;2us*77*78djnz r7,temp0;2us*77

ret ;2us

以主頻12mhz為例,延時時間 = 1us + 1us*77 + 1us*77*79 + 2us*77*79*80 + 1us*77*79 + 2us*77*79 + 2us*77 + 2us = 997837us 約1秒(可以適當調整r5,r6,r7初值使時間更接近)

3樓:匿名使用者

只當參觀!溜達一下賺2分。冇白來!

我去也……

4樓:

我一點都看不懂,大學白唸了,書白讀了

微控制器串列埠通訊問題(組合語言),微控制器串列埠通訊問題(組合語言)

這倆程式,執行到最後邊,都是 ret,返回指令。返回到何處去呀?呵呵,還是,先解決程式結構的問題。1 程式結構 有問題,沒有呼叫子程式 就不應該有子程式返回指令。2 jnb ti,clr ti 為判斷 串列埠 是否 傳送 完畢的,3 jnb ri,clr ri 為判斷 串列埠 是否 有接收 的,如果...

這個微控制器題怎麼做?(組合語言)

程式如下 org 0000h jmp main org 0030h main mov sp,68h mov r7,08h mov r0,30h mov r1,40h loop mov a,r0 mov b,r1 add a,b mov r0,a inc r0 inc r1 djnz r7,loop ...

如何用組合語言實現微控制器比較轉移

pan clr cy mov 30h,a subb a,10 jb cy,prog1 mov a,30h clr cy subb a,20 jb cy,prog2 mov a,30h clr cy subb a,30 jb cy,prog3 prog1 nop prog2 nop prog3 nop...