組合語言跑馬燈程式設計,用組合語言編寫跑馬燈程式

2022-03-03 20:32:31 字數 6486 閱讀 2265

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