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...