51微控制器,組合語言,流水燈問題,請高手賜教

時間 2022-04-02 09:25:19

1樓:

組合語言的語法我忘了,所以寫不出來了,但是我可以告訴你大概思路。流水燈其實就是迴圈移位,就是某一位不斷的移位,移到哪一位,哪個燈就亮了,然後還得應用延時程式,這樣才能控制亮滅的時間。

51的話,彙編寫就太難了,還是c語言的吧,推薦你看看郭天祥的十天學會微控制器,挺好的

2樓:安迪的快樂時光

花樣流水燈的玩法,乙個51微控制器8位埠輪流輸出16顆燈珠,

51微控制器中如何用組合語言編寫流水燈

3樓:匿名使用者

org 0100h

ltor: mov a,#01h

loop: rr a

du ;從左到右亮,每次亮一盞zhi

mov p1,a

acall delay

jnb acc.0,loop

loop1: rl a

mov p1,a ;從右到dao左亮,每次亮一盞acall delay

jnb acc.7,loop1

loop2: rr a

orl a,#80h

mov p1,a ;從左到右依次點亮每一盞燈acall delay

jnb acc.0,loop2

loop3: rl a

anl a,#0feh

mov p1,a ;從右到左依次熄滅每一盞燈acall delay

jb acc.7,loop3

sjmp ltor

delay: mov r6,#01h ;延時子程式l2: mov r7,#01h

l1: nop

djnz r7,l1

djnz r6,l2

retend

4樓:匿名使用者

埠的暫存器,賦予乙個初值。每位對應一路燈。然後做移位命令。左移右移都可以,不就可以流水了。 寫好花樣,查表 ;亮燈控制程式; ;**; org ,

5樓:匿名使用者

org 0000h

ajmp main

org 0100h

main: mov dptr,#tab

mov r7,#4fh

loop: movc a,@a+dptr

inc dptr

mov p1,a

acall delay

clr a

djnz r7, loop

ajmp main

org 0200h

tab: ;從左到右,再從右內到左,一容次亮乙個

db 7fh,0bfh,0dfh,0efh,0f7h,0fbh,0fdh,0feh ;15,0fh

db 0fdh,0fbh,0f7h,0efh,0dfh,0bfh,7fh

;從右到左,再從右到左,依次點亮

db 0ffh,0feh,0fch,0f8h,0f0h,0e0h,0c0h,80h,00h

db 0ffh,7fh,3fh,1fh,0fh,07h,03h,01h,00h

6樓:匿名使用者

org 0000h

mov a, #01h

start: mov p1, a

rl a

lcall delay

ljmp start

delay:

mov r6, #0

mov r7, #0

delayloop:

djnz r6, delayloop

djnz r7, delayloop

retend

7樓:匿名使用者

loop:

mov a, #01h

mov r2, #8

output:

mov p1, a

rl a

call delay

djnz r2, output

ljmp loop

delay:

mov r6, #0

mov r7, #0

delayloop:

djnz r6, delayloop

djnz r7, delayloop

retend

8樓:

來自理科生的浪漫,用51微控制器製作心形流水燈

用組合語言給51微控制器程式設計四種流水燈 10

9樓:匿名使用者

org 0000h

ljmp main

org 0030h

main:

mov 30h,#0feh

mov 31h,01h

mov 32h,#55h

loop:

mov a,p1

anl a,#03h

jnz loop1

mov a,30h

mov p0,a

rl a

mov 30h,a

lcall delay

sjmp loop

loop1:

dec a

jnz loop2

mov a,30h

mov p0,a

rr a

mov 30h,a

lcall delay

sjmp loop

loop2:

dec a

jnz loop3

mov a,31h

mov p0,a

cjne a,#0ffh,loop21

mov a,#01h

sjmp loop22

loop21:

setb c

rlc a

loop22:

mov 31h,a

lcall delay

sjmp loop

loop3:

mov a,32h

mov p0,a

cpl a

mov 32h,a

lcall delay

ljmp loopend

c51微控制器中如何用組合語言編寫流水燈

10樓:冷安順樹琪

51微控制器用組合語言編寫流水燈程式,就是控制多個led,使其在特定時間間隔內,只有乙個led

發光,其他熄滅,用這種方式順序移動點亮led的位置,就形成了流水燈的效果。以下是程式:

;假設晶振12mhz,p1控制8個led低電平亮;啟動入口********************====org0000h

;復位啟動

ajmp

start

;org

001bh

;t1中斷

ajmp

t1int

;;定義變數********************====ysjs

equ30h;延時計數器

ledequ

31h;led控制緩衝器

;主程式*************************=start:

movled,#0feh

;初始化資料

movysjs,#0;;

movtmod,#10h

;定時器1工作於方式1,16位定時器

movtl1,#0b0h

;設定定時初值

movth1,#3ch

;定時時間=50ms

setb

et1;使能定時器1中斷

setb

tr1;啟動定時器1

setb

ea;開總中斷

movp1,led

;初始化流水燈

;loop:

jmploop

;迴圈等待中斷;;

t1int:

push

psw;定時器1中斷程式

push

acc;保護現場

;mov

th1,#3ch

;定時時間=50ms

movtl1,#0b0h

;inc

ysjs

;push

acc;保護acc

mova,ysji

;cjne

a,#2,qt1

;50ms*2=100ms

movp1,led

;mov

a,led;rl

a;累加器a的值迴圈左移1位

movled,a

;mov

ysjs,#0;;

qt1:

popacc

;恢復現場

poppsw

;reti

;返回主程式

end;匯程式設計序結束

11樓:量子

微控制器不分是不是c51,只要是51微控制器都支援彙編需要和c語言兩種方式設計程式,實現流水燈功能。

12樓:匿名使用者

埠的暫存器,賦予乙個初值。每位對應一路燈。然後做移位命令。左移右移都可以,不就可以流水了。 寫好花樣,查表 ;亮燈控制程式; ;**; org ,

13樓:匿名使用者

org 0000h

mov a, #01h

start: mov p1, a

rl a

lcall delay

ljmp start

delay:

mov r6, #0

mov r7, #0

delayloop:

djnz r6, delayloop

djnz r7, delayloop

retend

14樓:錦繡江山千萬年

loop:

mov a, #01h

mov r2, #8

output:

mov p1, a

rl a

call delay

djnz r2, output

ljmp loop

delay:

mov r6, #0

mov r7, #0

delayloop:

djnz r6, delayloop

djnz r7, delayloop

retend

微控制器組合語言問題,微控制器,組合語言問題,懂彙編麻煩指教下。

看這個簡單的程式 org 0000h ljmp st org 0100h st mov p2,00h p2口控制數碼管,讓所有的數碼管都有效。mov p0,0a4h p0口控制輸出字 sjmp 原地踏步 end在這裡,sjmp是死迴圈,但是我們發現如果沒有sjmp,無論我們設計的控制字是多少,數碼管...

急求微控制器大神幫忙關於流水燈的組合語言

mov a,7fh 低電平亮sat mov p1,a led接在p1口rr a 右移1位acall delay 延時 jmp sta 回開始處delay 延時程式mov r7,250 de2 mov r6,40 de1 nopdjnz r6,de1 djnz r7,de1 retend 先乙個亮,然...

微控制器彙編問題,微控制器組合語言的問題

改好了,可以編譯。但是,程式設計的思路,可能還有錯。org 0000h ljmp main org 0003h ljmp pint0 org 0200h main mov ie,81h cpu開放中斷,int0允許中斷setb it0 外部中斷為邊沿觸發方式mov sp,30h 指標入口位址。set...

51微控制器組合語言問題,急求回答

如下即可 org 0000h jmp start org 000bh cpl p1.7 reti org 001bh cpl p1.0 reti start mov tmod,26h mov th0,251 mov tl0,251 mov th1,216 mov tl1,216 mov ie,100...

c51微控制器流水燈程式設計問題,C51微控制器流水燈程式問題定義無效

把p1 crol 0,1 改為 p1 crol p1,1 delay函式中while i 後面分號去掉。crol 0,1 意思是把 0 迴圈左移一位,你賦值給p1,p1輸出一直都是零,所有的燈自然都是一直亮的。看看我的程式 include include unsigned char temp voi...