組合語言跑馬燈問題,用組合語言編寫跑馬燈程式

時間 2022-10-29 00:06:27

1樓:匿名使用者

沒有電路圖,就8位led,直接用p口就可以了。

org 0000h

ljmp main

org 000bh

ljmp t0isr

org 0030h

main:

mov tmod,#01h

mov th0,#high(65536-50000)mov tl0,#low(65536-50000)setb tr0

setb et0

setb ea

mov a,#0feh

mov r2,#10

loop:

mov b,r2

jb p1.0,loop

jnb p1.0,$

dec r2

cjne r2,#1,loop

mov r2,#10

sjmp loop

t0isr:

clr tr0

mov th0,#high(65536-50000)mov tl0,#low(65536-50000)setb tr0

djnz b,t0e

mov b,r2

rl a

mov p0,a

t0e:

retiend

2樓:做而論道

電路,是怎樣的?

8255,連線在什麼地方了?

用下圖電路,可否?

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

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

組合語言 跑馬燈程式設計

7樓:夢嵐旭

迴圈點亮你只要用位移指令就行啦!假如是p1口,你只要先給他賦予乙個初值00000001,假如是高電平點亮,那這是就只有一盞燈亮,迴圈左移就行啦!每次迴圈一次,都呼叫一下延時這就可以按自己要求設定延時的時間啦!

其實思路都挺簡單的!不過你要是對微控制器一點都不了解,那只好叫別人寫好給你算了!你直接複製下就行!

8樓:匿名使用者

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

組合語言實現24個跑馬燈製作

9樓:匿名使用者

這個簡單,採用帶進製移位指令就可以實現,假如是高有效,程式如下。

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

用51微控制器(組合語言寫)寫乙個跑馬燈程式??知道的幫個忙寫寫。

10樓:白朮的草戒指

急用!請教!!!

用組合語言程式,程式功能:實現方向可控的跑馬燈

程式設計要求:用八個led發光二極體實現跑馬燈(即:8個燈依次輪流發光,每次只亮乙個燈),系統啟動後,跑馬燈右向流轉,按下k1鍵,則反向流轉,再按則再反向……。

接線方法:流水燈接p0口,按鍵k1可自選p1~p3任一引腳。

11樓:胖大海君

答疑解難   跑馬燈程式

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

硬體介面電路如下:

哈哈   還滿意嗎   就請給俺選擇(滿意選項)吧

什麼是組合語言,什麼是彙編和組合語言?

機器語言,是計算機自身的語言。組合語言,是與機器語言一一對應的程式語言。組合語言,和機器語言一樣,是直接與計算機硬體聯絡的。所以,使用組合語言程式設計,就可以充分發揮計算機的效能。雖然,組合語言,每一條指令,都是十分簡單的,但是,只有懂得計算機硬體的人,才能編寫出高質量的程式。什麼是彙編和組合語言?...

8086組合語言程式設計,8086組合語言程式設計

datas segment data dw 102,90,67,89,98,125numb1 dw 0 numb2 dw 0 numb3 dw datas ends codes segment assume cs codes,ds datasstart mov ax,datas mov ds,ax ...

組合語言和c語言哪個更難,組合語言和C語言哪個更難?

組合語言和c語言哪個更難是乙個見仁見智的事情,每個人都會有不同的答案,綜合而言,有以下幾個因素供參考 1 從閱讀性上看,c語言更容易理解,因此組合語言難度大些,同時接觸乙個別人編制的程式,量一樣的話,肯定讀懂c語言花費的時間要少些。2 從程式設計來說,究竟哪個難就不一定了,如果對彙編了解深入一些,那...

組合語言是高階語言嗎,組合語言是高階語言還是低階語言

機器語言是純粹的二進位制資料表示的語言,是電腦可以真正識別的語言。組合語言和高階語言經過編譯連線最終都會變成機器語言才能被cpu識別和執行。組合語言是以人們比較熟悉的詞句直接表述cpu動作形成的語言,是最接近cpu執行原理的較為通俗的比較容易理解的語言。高階語言,是以 人 的思維邏輯來描述電腦執行的...

c語言和組合語言的關係,C語言和組合語言的關係?

程式設計師編寫的c語言 首先要經過c語言編譯器,生成彙編 這個過程稱為編譯階斷,當c語言編譯器生成彙編 後,再呼叫彙編器來將彙編 編譯成彙編指令。這是一種站在巨人肩人的作法,最早的c 程式語言也是這樣的實現方法,只不過那時候叫cfront程式,cfront程式的作用是將c 轉換成c語言 類似於乙個文...