導航:首頁 > 操作系統 > 用單片機控制流水燈

用單片機控制流水燈

發布時間:2022-09-26 11:46:56

1. 如何用單片機實現流水燈,從一依次亮到八,再從八依次亮回一,一直循環

用GPIO寄存器比如PA、PB、PC這類的整段寄存器。配合循環、移位和延時(軟硬都可以)操作,就能很優雅地實現。

單片機(Single-Chip Microcomputer)是一種集成電路晶元,是採用超大規模集成電路技術把具有數據處理能力的中央處理器CPU、隨機存儲器RAM、只讀存儲器ROM、多種I/O口和中斷系統、定時器/計數器等功能(可能還包括顯示驅動電路、脈寬調制電路、模擬多路轉換器、A/D轉換器等電路)集成到一塊矽片上構成的一個小而完善的微型計算機系統,在工業控制領域廣泛應用。從上世紀80年代,由當時的4位、8位單片機,發展到現在的300M的高速單片機。

單片機又稱單片微控制器,它不是完成某一個邏輯功能的晶元,而是把一個計算機系統集成到一個晶元上。相當於一個微型的計算機,和計算機相比,單片機只缺少了I/O設備。概括的講:一塊晶元就成了一台計算機。它的體積小、質量輕、價格便宜、為學習、應用和開發提供了便利條件。同時,學習使用單片機是了解計算機原理與結構的最佳選擇。

2. 單片機如何控制流水燈每三秒循環一次

for循環三次後,執行while(1); ,這是一條死循環語句,相當於暫停指令,停止在此處。因單片機沒有暫停指令,只好用這行語句代替了。
如果3次後,需要保持亮或滅,可以換一下:
led=1;
led=0;這兩行就行了。
在實現流水燈之前,我們有必要提一點,C51代碼在寫之前,要參考電路圖來寫。拿流水燈來說,我們來看圖二,LED燈,也就是二極體,八隻LED的正極通過一根匯流排接在+5V的電壓上,再看圖一,可知八隻LED燈的負極接在LED、P2的8個I/O口上。根據二極體的導通條件可知,在單片機的IO口輸出低電平時,才能點亮LED燈。

3. 單片機流水燈

P0口控制,先奇數亮再偶數亮,循環三次;一個燈上下循環三次;兩個分別從兩邊往中間流動三次;再從中間往兩邊流動三次;不過這個程序實現的應該是這樣的
先奇數亮再偶數亮,循環三次;一個燈上下循環三次;兩個分別從兩邊往中間流動;再從中間往兩邊流動(延時0.1s)
#include< reg52.h>
#include< intrins.h>//頭文件
#define uint unsigned int
#define uchar unsigned char//聲明用unit代替unsigned int,下個同理
void delay();
void main()
{ uchar temp,temp1,temp2,a,b;
while(1)
{ for(b=3;b>0;b--)
{ temp=0xaa;
P0=temp;
delay();
temp=0x55;
P0=temp;
delay();//調用延時函數
}
for(a=3;a>0;a--)
{ temp=0xfe;
for(b=7;b>0;b--)
{ P0=temp;
temp=_crol_(temp,1);
delay();
P0=temp;
delay();
}
}
temp1=0xfe;
temp2=0x7f;
for(a=8;a>0;a--)
{
temp=temp1&temp2;
P0=temp;
delay();
temp1=_crol_(temp1,1);
temp2=_cror_(temp2,1);
}
}
}
void delay()
{ uint a,b;
for(a=100;a>0;a--)
for(b=100;b>0;b--);
} //延時函數
希望可以幫助到您

謝謝

4. 51單片機流水燈原理

單片機流水燈控制原理就是將多個LED燈珠連接到不同的單片機輸出端上,編程使單片機的這些輸出端逐個的輸出信號點亮LED,在設置好各個LED的通電時間和通電間隔時間後,就可以看到這些LED燈珠此起彼伏的亮起,如同流水一樣.

5. 單片機c語言編了個流水燈,用按鍵怎麼實現它暫停。

實現流水燈的方式有很多種(中斷,定時器,延時等等),看用哪種方式,最簡單的是延時做流水燈,那麼在死循環裡面增加按鍵檢測,判斷出有按鍵按下來時,再進入死循環,程序不往下走就可以暫停,再按跌出死循環。

#include //51系列單片機定義文件

#define uchar unsigned char //定義無符號字元

#define uint unsigned int //定義無符號整數

void delay(uint); //聲明延時函數

void main(void)

{

uint i;

uchar temp;

uint Flag1=0; 按鍵標志位

uint Flag2=0;

while(1)

{

Flag1 = keyscan();

if(Flag1==1)(Flag2=~Flag2); //如果一旦檢測到一次按鍵掃描就把標志位2 打開;再次就關閉;

if(Flag2==1)// 如果標志位打開就開始流水燈

{

temp=0x01;

for(i=0;i<8;i++) //8個流水燈逐個閃動

{

P1=~temp;

delay(100); //調用延時函數

temp<<=1;

}

}

(5)用單片機控制流水燈擴展閱讀:

單片機編程就是硬體是單片機,基於單片機進行的程序開發,在有周圍外設支持的情況下,用軟體來控制的部分通過單片機編程來實現。單片機能識別的語言是硬體語言即匯編,因此編程就是圍繞匯編來實現,有直接用匯編程序來編寫的,但是較難調試的編寫,特別是一上規模就更不易實現,因此常用高級語言來寫然後通過編譯器轉化成匯編。

6. 如何用單片機實現流水燈,從一依次亮到八,再從八依次亮

片機流水燈C語言程序的源代碼如下:

#include //51系列單片機定義文件。

#define uchar unsigned char //定義無符號字元。

#define uint unsigned int //定義無符號整數。

void delay(uint); //聲明延時函數。


硬體特徵

1、單片機的體積比較小, 內部晶元作為計算機系統,其結構簡單,但是功能完善,使用起來十分方便,可以模塊化應用。

2、單片機有著較高的集成度,可靠性比較強,即使單片機處於長時間的工作也不會存在故障問題。

3、單片機在應用時低電壓、低能耗,是人們在日常生活中的首要選擇, 為生產與研發提供便利。

7. 如何用單片機做流水燈

因為電路用單片機控制,所以電路非常簡潔。其電路原理圖見下圖,印製板圖如下圖所示。

電路的核心部分是AT89C2051單片機,前面提到它有Pl和P3兩組I/O口,我們這里只用到Pl口,共8個引腳。圖中Cl、R9組成典型的上電復位(即在加電時單片機復位)電路,XTAL、C2、C3與AT89C2051片內振盪電路組成時鍾振盪器。值得注意的是,C2、C3的容量不能與圖中數值偏差太大,否則可能引起不起振或振盪不穩定。XTAL的頻率可以在4-20MHz之間,不過,頻率的變化會導致程序運行速度的變化,這樣就需要調整延時子函數的參數。事實上,不調整參數亦可,只是此時延遲時間不再是1秒,其延遲時間會隨著XTAL頻率的降低而增加。

二、軟體部分

本程序包含兩個函數,一個是主函數,另一個是延時子函數。源程序如下(為了便於講解,我們為每行程序加上了編號):

程序各行作用如下:

00行:把AT89C2051的頭文件「AT89x051.H」包含進來。

01行:聲明Delay()延時子函數,該函數有一個無符號整型參數k,同時函數前面的void表明函數不返回函數值。

02行:延時子函數的開始,同時聲明兩個無符號整型變數i和j。

不過請注意,這里沒有象上期的程序一樣,把表示函數開始的「{」單獨成行,而是把下一行寫在一起了。事實上,寫C程序的時候,可以把多行寫作一行,C編譯器只要遇到分號就認為是一行語句的結束。

當然,我們不能因為C程序有這個特點,就隨意把多行合作一行書寫,實際書寫C程序的時候,還是要養成良好的程序書寫習慣,按照約定俗成的原則來書寫。

03行:聲明for()循環。這個循環的初始條件是i=0,終止條件是i<k,循環計數是每循環一次,用手計數的變數i加1。因此,這個循環的循環次數就是k次。這樣,只要改變k的值(即改變Delay()延時子函數的參數k的值),就可以很容易地控制循環次數,從而獲得不同的延時時間。

04行:聲明嵌套在03循環中的一個新的for()循環,這個循環與上一個循環相似,其循環次數是120次。本循環與上一個循環嵌套後,使得總的循環次數達120×k次。

05行:第一個分號,表示L條空語句,佔用一個機器時間,以實現延時的目的。後面的兩個「}」中,第一個「}」是04行for()循環的結束標志,程序遇到它時,將自動返回04行,使用於循環計數的變數j加1,同時判斷j是否小於120,如果否,則轉入05行;第二個是03行for()循環的結束標志,程序遇到它則會返回03行

8. 單片機控制流水燈,

單片機中流水燈控制:
硬體連接很簡單,只要將8個led指示燈接在p1口上
另一端通過220歐姆的電阻接+5v電源上,就可以了。
主要靠軟體控制,簡單的可以使用左移或右移指令,將低電平0
逐漸移入寄存器中,即控制led指示燈逐漸一個一個地點亮或一個一個地熄滅。
復雜點:
可以進行花式流水控制。
例如:
可以由兩邊逐漸向內點亮
然後再由內逐漸向外一個一個熄滅。
還可以由由內逐漸向兩邊內點亮
然後再由兩邊漸向內逐一個一個熄滅。
在程序的實現上
可以把各種花式流水的p1口亮滅狀態字
事先定義成數組
然後每隔一定的時間
取出送p1口顯示。
呵呵
俺只提供給你一個號的演算法
程序就自己動手自立更生吧
滿意
就選滿意回答

9. 單片機中流水燈如何控制

單片機中流水燈控制:
硬體連接很簡單,只要將8個LED指示燈接在P1口上 另一端通過220歐姆的電阻接+5V電源上,就可以了。
主要靠軟體控制,簡單的可以使用左移或右移指令,將低電平0 逐漸移入寄存器中,即控制LED指示燈逐漸一個一個地點亮或一個一個地熄滅。
復雜點: 可以進行花式流水控制。
例如: 可以由兩邊逐漸向內點亮 然後再由內逐漸向外一個一個熄滅。
還可以由由內逐漸向兩邊內點亮 然後再由兩邊漸向內逐一個一個熄滅。
在程序的實現上 可以把各種花式流水的P1口亮滅狀態字 事先定義成數組 然後每隔一定的時間
取出送P1口顯示。

呵呵 俺只提供給你一個號的演算法 程序就自己動手自立更生。

10. 單片機原理流水燈實驗

單片機流水的實質是單片機各引腳在規定的時間逐個上電,使LED燈能逐個亮起來但過了該引腳通電的時間後便滅燈的過程,實驗中使用了單片機的P2埠, 對8個LED燈進行控制,要實現逐個亮燈即將P2的各埠逐一置零,中間使用時間間隔隔開各燈的亮滅。使用r1或rra實現位的轉換。

閱讀全文

與用單片機控制流水燈相關的資料

熱點內容
如何在雲南交投app辦etc 瀏覽:828
尺度大的男同志電影 瀏覽:925
主角為秦霄的穿越小說 瀏覽:707
大尺度床戲多的電影 瀏覽:395
台灣性電影 瀏覽:942
華為手機聊天加密軟體 瀏覽:833
台灣電影愛情片他女朋友死了 瀏覽:813
電影音樂下載 瀏覽:158
池恩瑞的作品 瀏覽:912
澳門電影免費觀看網站大全 瀏覽:243
電腦多組命令 瀏覽:806
abkdb編譯 瀏覽:710
尺度計演算法大全 瀏覽:926
單片機開發板的作用 瀏覽:331
唯美愛情動作電影在線觀看 瀏覽:574
老電影農村片 瀏覽:303
netbeansclinux 瀏覽:181
不可能的世界小說免費閱讀 瀏覽:272
法國啄木鳥絲襪電影 瀏覽:307