導航:首頁 > 操作系統 > 單片機跑馬燈asm程序

單片機跑馬燈asm程序

發布時間:2023-03-09 14:13:43

1. 用51單片機(匯編語言寫)寫一個跑馬燈程序知道的幫個忙寫寫。

急用!請教!!!
用匯編語言程序,程序功能:實現方向可控的跑馬燈
編程要求:用八個LED發光二極體實現跑馬燈(即:8個燈依次輪流發光,每次只亮一個燈),系統啟動後,跑馬燈右向流轉,按下K1鍵,則反向流轉,再按則再反向……。接線方法:流水燈接P0口,按鍵K1可自選P1~P3任一引腳。

2. 若51單片機P1口接了8個LED,編寫程序完成跑馬燈程序要求大約1秒變化一次

//假設晶振12MHZ,P1控制8個LED低電平亮
#include "reg51.h"
unsigned int YSJS=0;
signed char LED=0XFE;
void main(void)
{
TMOD |= 0X10; //定時器1工作於方式1,16位定時器
TH1 = 0XFE; //定時器1定時時間=500uS
TL1 = 0X0C;
ET1 = 1; //使能定時器1中斷
TR1 =1;
EA =1; //開總中斷

while(1)
{
}
}

void TIMER1(void) interrupt 3 //定時器1中斷函數使用默認寄存器組
{
TH1 = 0XFE; //定時器1定時時間=500us
TL1 = 0X0C;

YSJS++;
if(YSJS==2000) //500uS*2000=1000000uS=1S
{
P1 = LED;
LED=LED<<1;
LED=LED | 1
if(LED==0XFF)LED=0XFE;
YSJS = 0
}
}

3. 51單片機設計跑馬燈的程序用(c語言)編寫

|P1口接8個發光二極體共陽

#include <AT89X51.H>

unsigned char i;

unsigned char temp;

unsigned char a,b;

void delay(void)

{

unsigned char m,n,s;

for(m=20;m>0;m--)

for(n=20;n>0;n--)

for(s=248;s>0;s--);

}

void main(void)

{

while(1)

{

temp=0xfe;

P1=temp;

delay();

for(i=1;i<8;i++)

{

a=temp<<i;

b=temp>>(8-i);

P1=a|b;

delay();

}

for(i=1;i<8;i++)

{

a=temp>>i;

b=temp<<(8-i);

P1=a|b;

delay();

}

}

}

(3)單片機跑馬燈asm程序擴展閱讀:

Proteus 自從有了單片機也就有了開發系統,隨著單片機的發展開發系統也在不斷發展。 keil是一種先進的單片機集成開發系統。它代表著匯編語言單片機開發系統的最新發展,首創多項便利技術,將開發的編程/模擬/調試/寫入/加密等所有過程一氣呵成,中間不須任何編譯或匯編。

4. 單片機 跑馬燈 代碼詳解

ORG
0000H
;開機上電主程序入口
AJMP
START
;系統一進來就轉到主程序
ORG
0030H
;主程序地址
START:
MOV
A,
#0FFH
;主程序開始,A中初始化成全1
CLR
C
;c清零
MOV
R2,
#08H
;R2左轉循環計數器
LOOP:
RLC
A
<<C+A+C<<帶進位循環左移,A中的內容在8此循環中從0位到7位依次變0
MOV
P2,
A
;送到P2,使P2從0位到7位依次點亮LED
CALL
DELAY
;單片機運行很快,為了能看到燈的變化,必須延遲,把速度降下來
DJNZ
R2,
LOOP
;R2每次減1後判斷是否=0,8次後=0程序才會下行,否則會跳回LOOP
MOV
R2,#07H
;R2右轉循環計數器
LOOP1:
RRC
A
>>C+A+C>>帶進位循環右移,A中的內容在8此循環中從7位到0位依次變0
MOV
P2,
A
;送到P2,使P2從7位到0位依次點亮LED
CALL
DELAY
;和上個循環一樣,延時
DJNZ
R2,
LOOP1
;R2每次減1後判斷是否=0,7次後=0程序才會下行,否則會跳回LOOP1
JMP
START
;跳回程序起始位置重復下一個循環
DELAY:
MOV
R3,
#20;延時子程序,這個應該不用解釋了吧
D1:
MOV
R4,
#200
D2:
MOV
R5,
#248
DJNZ
R5,
$
DJNZ
R4,
D2
RET
END

5. 51單片機匯編語言編寫一個跑馬燈的程序,初學者做實驗用,具體要求如下,好了可以加分

程序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
RET
END
程序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
RET
END

閱讀全文

與單片機跑馬燈asm程序相關的資料

熱點內容
gcc編譯消耗內存過多 瀏覽:279
昌邑網站製作源碼 瀏覽:127
單片機的反向編譯 瀏覽:463
subsample演算法 瀏覽:899
蘋果免費看書app哪個最好 瀏覽:885
c語言加密怎麼弄 瀏覽:842
c語言編譯的錯誤提示 瀏覽:767
驗機蘋果app哪個最好 瀏覽:666
光遇國際服安卓如何購買禮包 瀏覽:55
163app怎麼下載 瀏覽:247
電腦程序員下場 瀏覽:45
編譯原理ll1文法判斷 瀏覽:727
qt用vs2015編譯 瀏覽:553
結婚日子最好的演算法 瀏覽:794
安卓怎麼把數據傳到蘋果里 瀏覽:504
編譯器標識 瀏覽:792
編程珠璣第三章 瀏覽:785
windows如何開啟tftp伺服器 瀏覽:110
歐姆龍plc編程指令表 瀏覽:189
程序員遠程收入不穩定 瀏覽:863