1樓:夢嵐旭
迴圈點亮你只要用位移指令就行啦!假如是p1口,你只要先給他賦予一個初值00000001,假如是高電平點亮,那這是就只有一盞燈亮,迴圈左移就行啦!每次迴圈一次,都呼叫一下延時這就可以按自己要求設定延時的時間啦!
其實思路都挺簡單的!不過你要是對微控制器一點都不瞭解,那隻好叫別人寫好給你算了!你直接複製下就行!
2樓:匿名使用者
data segment
tim db 7fh ;設定初始值data ends
stack segment stack 'stack' ;堆疊段定義
db 100 dup(?)
stack ends
code segment
assume cs:code,ds:data,ss:stackstart: mov ax,data
mov ds,ax
mov dx,0eee0h
in al,dx ;讀取當前埠狀態and al,tim
jnz ovr
mov al,7fh ;先點亮第一個燈mov dx,0eee0h
loop1: out dx,al
call delay
mov bl,al
ror al,1 ;右移,點亮下一個燈mov bl,al
mov ah,0bh ;檢測鍵盤輸入int 21h
or al,al
jz loop1 ;迴圈點亮mov ax,4c00h ;程式結束int 21h
ovr:nop
retdelay proc near ;延時子程式noppush cx
mov cx,0ffffh
conti: loop conti
pop cx
retdelay endp
mov ax,4c00h
int 21h
code ends
end start
用組合語言編寫跑馬燈程式
3樓:匿名使用者
跑馬燈程式用匯編是很好實現的,只要用好迴圈移位指令就可以,以下是程式。
org 0000h
ljmp main
org 0030h
main:
mov a,#0feh
loop:
mov p1,a ;將控制字送埠
rl a ;控制字迴圈左移
lcall delay ;延時
sjmp loop
delay: ;延時大概1秒
mov r2,#10
dly1:
mov r3,#200
dly2:
mov r4,#250
djnz r4,$
djnz r3,dly2
djnz r2,dly1
retend
4樓:
start:mov a,#0aah;初次1357燈亮loop :mov p1,a
lcall dely
lcall dely ;調200ms延時rl a
sjmp loop
dely:mov r7,#200
dely1:mov r6,#200
dely2:nop
nopnop
djnz r6,dely2
djnz r7,dely1ret
5樓:
org 0600h
mov a,#55h
loop: mov p1,a
lcall del
rl a
sjmp loop
del: mov r7,#250
del1: mov r6,#198
djnz r6,$
djnz r7,del1
retend
6樓:匿名使用者
cseg at 0000h
ljmp start
cseg at 401bh
ljmp int
cseg at 4100h
start: mov a,#01h
mov r1,#03h
mov r0,#5h
mov tmod,#10h
mov tl1,#57h
mov th1,#9eh
orl ie,#88h
setb tr1
loop1: cjne r0,#00,disp
mov r0,#5h
inc r1
cjne r1,#27h,loop2
mov r1,#03h
loop2: mov a,r1
movc a,@a+pc
jmp disp
db 01h,03h,07h,0fh,1fh,3fh,7fh,0ffh,0feh,0fch
db 0f8h,0f0h,0e0h,0c0h,80h,00h,0ffh,00h,0feh
db 0fdh,0fbh,0f7h,0efh,0dfh,0bfh,07fh,0bfh,0dfh
db 0efh,0f7h,0fbh,0fdh,0feh,00h,0ffh,00h
disp: mov p1,a
jmp loop1
int: clr tr1
dec r0
mov tl1,#57h
mov th1,#9eh
setb tr1
retiend
組合語言實現24個跑馬燈製作
7樓:匿名使用者
這個簡單,採用帶進位移位指令就可以實現,假如是高有效,程式如下。
org 0000h
ljmp main
org 0030h
main:
mov a,#01h
mov p1,#01h
mov p2,#00h
mov p3,#00h
mov r2,a
mov r3,#00h
mov r4,#00h
loop:
mov p1,r2
mov p2,r3
mov p3,r4
lcall delay
clr c
mov a,r2
rlc a
mov r2,a
mov a,r3
rlc a
mov r3,a
mov a,r4
rlc a
mov r4,a
mov a,r2
mov acc.0,c
mov r2,a
ljm,p loop
delay:
mov r5,#200
dly1:
mov r6,#250
djnz r6,$
djnz r5,dly1
retend
求一種用組合語言設計的簡單的跑馬燈程式
8樓:匿名使用者
你幹嘛不用c語言呀?c語言通用性很強哦。
用51微控制器(組合語言寫)寫一個跑馬燈程式??知道的幫個忙寫寫。
9樓:白朮的草戒指
急用!請教!!!
用組合語言程式,程式功能:實現方向可控的跑馬燈
程式設計要求:用八個led發光二極體實現跑馬燈(即:8個燈依次輪流發光,每次只亮一個燈),系統啟動後,跑馬燈右向流轉,按下k1鍵,則反向流轉,再按則再反向……。
接線方法:流水燈接p0口,按鍵k1可自選p1~p3任一引腳。
10樓:胖大海君
答疑解難 跑馬燈程式
org 0000h
ljmp main
org 0100h
main: jb p0.7,main ;等待開始鍵按下
lcall ys ;按鍵延時
jb p0.7,main
mov a,#7fh ;是開始鍵按下 則跑馬燈開始執行
ll: mov p1,a
lcall ys ;顯示延時
rr a ;迴圈右移一位
jb p0.6, ll ;沒有按下停止鍵 則繼續跑馬
lcall ys ;按鍵延時
jb p0.6,ll ;按下停止鍵 則停止跑馬;否則繼續跑馬
mov a,#0ffh
mov p1,a
sjmp main ;轉到程式開始處,等待開始鍵的按下
ys: mov r7,#150 ;延時子程式
yl: mov r6,#200
yy: nop
djnz r6,yy
djnz r7,yl
retend
硬體介面電路如下:
哈哈 還滿意嗎 就請給俺選擇(滿意選項)吧
求助程式設計(用組合語言)跑馬燈~~~ 50
11樓:趙大先生
下面的c語言程式的模擬結束後,符合要求。
定義uchar無符號的字元
定義uint有符號整數
uchar t1 = 0;
/ / ----- -------------------------
無效time0()中斷
/ / ------------- ------------------的
無效的主要()/ /主函式。
/ /左7 p0.7亮。
(i = 0; <7,我+ +) / /右移7 p0.0發光} }
12樓:做而論道
發音多長時間?
led,還在移動嗎?
微控制器跑馬燈程式 組合語言編寫,很簡單 20
13樓:碧血玉葉花
程式1:
org 0000h
ljmp main
org 0030h
main:
mov sp,#5fh
loop:
mov a,p2
mov b,a
mov p0,a
mov p1,#0ffh
loop1:
lcall delay
mov c,p1.7
mov a,p0
rlc a
mov p0,a
mov a,p1
rlc a
mov p1,a
mov a,p2
cjne a,b,loop
sjmp loop1
delay:
mov r2,#60
delay1:
mov r3,#250
djnz r3,$
djnz r2,delay1
retend
程式2:
org 0000h
ljmp main
org 0030h
main:
mov sp,#5fh
jnb p2.0,loop1 ;
jnb p2.1,loop2 ;
sjmp main
loop1:
mov p0,#0feh
mov p1,#0ffh
loop11:
mov c,p1.7
mov a,p0
rlc a
mov p0,a
mov a,p1
rlc a
mov p1,a
jnb p2.1,loop2
sjmp loop11
loop2:
mov p0,#0fch
mov p1,#0ffh
loop21:
mov c,p1.7
mov a,p0
rlc a
mov p0,a
mov a,p1
rlc a
mov p1,a
jnb p2.0,loop1
sjmp loop21
delay:
mov r2,#60
delay1:
mov r3,#250
djnz r3,$
djnz r2,delay1
retend
組合語言程式設計
data segment str1 db this is a string.a cnt db 0 data ends code segment assume cs code,ds datastart mov ax,data mov ds,ax lea si,str1 l again mov al,a...
用組合語言編寫簡單程式,用組合語言編寫一個簡單程式
1.計算u x y z 100 w 其中 x,y,z,w均為十六位有符號數。程式如下 data segment x dw 10 16位變數 y dw 20 z dw 30 w dw 40 u dw data ends code segment assume cs code,ds data start...
用組合語言編寫程式,用組合語言編寫一個程式。
那個 是可以,但是其實可以更簡單,小寫字母內碼範圍是61h 7ah 大寫字母內碼範圍是41h 5ah 那麼只要比較輸入的字元內碼是否在61h 7ah之間如果是,則將其減去20h,就是大寫字母了 print macro para 定義一個顯示字串的巨集 lea dx,para mov ah,9 int...