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語言 類似於乙個文...