導航:首頁 > 操作系統 > 單片機控制跑馬燈

單片機控制跑馬燈

發布時間:2022-07-09 12:28:05

⑴ 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();

}

}

}

(1)單片機控制跑馬燈擴展閱讀:

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

⑵ 怎樣用單片機定時器控制跑馬燈

首先是什麼類型的單片機,是51還是avr或者是PIC,每種單片機都有不同的控制方法,但思路基本一樣,即配置相關定時器工作方式,設置初值,開中斷,啟動定時器等,定時器工作時不佔用cpu資源,當產生中斷時cpu才需要處理,一般控制跑馬燈時在中斷函數中使IO口左移或右移,如51的P1=0x01<<i等

⑶ 請問這個控制跑馬燈的單片機的工作原理是什麼呀 剛剛學習不久 不知道如何分析硬體電路的工作原理

跑馬燈程序,就是通過定時,控制輸出口變化的程序。
在第二張硬體圖中,發光二級管符號就代表燈,只要p1口任何一個低電位時候就會亮。
分析硬體需要知道硬體符號和硬體知識,否則根本無從分析。
這需要學習硬體原理很多年。
如果沒基礎做不到,就考慮放棄軟硬體同時開發吧。
做個軟體工程師。

⑷ 怎麼用單片機按鍵控制循環跑馬燈

/*單片機,用定時中斷實現每隔0.2秒讓接在P1口的8個小燈從左往右循環點亮。*/
#include<reg52.h>
#include <intrins.h>
#define uchar unsigned char
uchar a,b;
uchar b=1;
uchar a=0xfe;
void main()
{
EA=1;IT1=1;ET0=1;
TH0=-5000/256;
TL0=-5000%256;
TMOD=0x01;

TR0=1;
while(1)
{;}

}

void timer0(void) interrupt 1 using 1
{
TH0=-5000/256;
TL0=-5000%256;
b=b+1;

if(b==40)
{
b=0;
P1=a;
a=_crol_(a,1);
P1=a;
}
}

⑸ 單片機 跑馬燈 代碼詳解

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

⑹ 單片機跑馬燈代碼

//假設晶振12MHZ,P1控制8個LED低電平亮
#include "reg51.h"
unsigned int YSJS=0;
signed char LED=0XFF;
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==1000) //500uS*1000=500000us=0.5s,可調整
{
P1 = LED;
LED=LED<<1
if(LED==0X00)LED=0XFF;
YSJS = 0
}
}

⑺ 單片機跑馬燈如何編程!

如果是一個位元組型的數據控制LED燈的話,且是1控制LED燈滅,0控制燈亮。
從滅到亮,先是0xFF,然後開始左移,最終移到0x00,就是全亮了。
從亮到滅,先是0x00,然後左移並且加1,重復此工作就是0xFF了
按照上面的思想,你自己應該可以搞定的。

⑻ 關於51單片機的跑馬燈控制

#include <reg52.h>
////////////////////////////////////////////////////////
void delay(unsigned int cnt) //簡單的延時
{
while(--cnt);
}
///////////////////////////////////////////////////////
main()
{
P1=0xfe;//給初始化值
while(1)
{
delay(20);//delay at crystal frequency in 12MHz
P1<<=1;//左移一位
P1|=0x01;//最後一位補1
if(P1==0x7f)//檢測是否移到最左端?
{
delay(20);//delay
P1=0xfe;
}
}
}

閱讀全文

與單片機控制跑馬燈相關的資料

熱點內容
wpsppt怎麼轉pdf格式 瀏覽:86
騰訊文檔在線編輯怎麼添加密碼 瀏覽:868
本地不能訪問伺服器地址 瀏覽:865
訪問伺服器命令 瀏覽:835
華為雲伺服器分銷商 瀏覽:954
Linux定位內存泄露 瀏覽:198
工程加密狗視頻 瀏覽:720
不在內網怎麼連接伺服器 瀏覽:664
雲伺服器app安卓下載 瀏覽:966
如何查看linux伺服器的核心數 瀏覽:137
交易平台小程序源碼下載 瀏覽:148
程序員記筆記用什麼app免費的 瀏覽:646
java與單片機 瀏覽:897
伺服器內網如何通過公網映射 瀏覽:478
程序員穿越到宋代 瀏覽:624
怎麼使用雲伺服器掛游戲 瀏覽:618
真實的幸福pdf 瀏覽:344
d盤php調用c盤的mysql 瀏覽:266
怎麼樣搭建源碼網站 瀏覽:429
新概念四冊pdf 瀏覽:363