㈠ 51單片機流水燈程序
程序如下:
#include <reg52.h>
sbit led1 = P2^0;
sbit led2 = P2^1;
sbit led3 = P2^2;
sbit led4 = P2^3;
sbit led5 = P2^4;
sbit led6 = P2^5;
sbit led7 = P2^6;
sbit led8 = P2^7;
void main()
{
int i,j;
//點亮第一個燈
led1 = 1;
led2 = 0;
led3 = 0;
led4 = 0;
led5 = 0;
led6 = 0;
led7 = 0;
led8 = 0;
//延時1秒
for(i = 0;i < 110; ++i)
{
for(j = 0; j < 1000; ++j)
{
;//什麼也不做
}
}
//點亮第二個燈
led1 = 0;
led2 = 1;
led3 = 0;
led4 = 0;
led5 = 0;
led6 = 0;
led7 = 0;
led8 = 0;
//點亮剩餘的燈
//省略……
while(1);
}
流水燈幾點說明:
void:因為該延時函數不需要返回值,所以寫為void
delay1s:該函數的函數名,命名需要符合C語言的標識符命名規則。
(): 不需要傳入參數,所以括弧中為空
至此我們可以把流水燈程序寫為以下形式:
㈡ 51單片機實現流水燈,計數器顯示燈亮的序號
51單片機實現流水燈,計數器顯示燈亮的序號。程序中用的變數ledi和b重復了,只用b就行。把主程序第二行聲明換成b,畫紅線的3行刪掉,紅箭頭的是替換。強調,原來b不能在那裡賦值為0,這樣b永遠為0,雖然有b++,下面還有b=0,又回0了。
㈢ 51單片機中如何用匯編語言編寫流水燈
流水燈就是51單片機控制led燈依次點亮的控制方式。具體程序如下:
ORG 0000H;復位啟動
AJMP START;
ORG 001BH;T1中斷
AJMP T1INT;
;定義變數========================
YSJSEQU 30H;延時計數器
LEDEQU 31H;LED控制緩沖器
;主程序==========================
START:MOV LED,#0FEH;初始化數據
MOV YSJS,#0;
MOV TMOD,#10H;定時器1工作於方式1,16位定時器
MOV TL1,#0B0H;設置定時初值
MOV TH1,#3CH;定時時間=50mS
SETB ET1;使能定時器1中斷
SETB TR1;啟動定時器1
SETB EA;開總中斷
MOV P1,LED;初始化流水燈
LOOP:JMP LOOP;循環等待中斷
T1INT:PUSH PSW;定時器1中斷程序
PUSH ACC;保護現場
MOV TH1,#3CH;定時時間=50mS
MOV TL1,#0B0H;
INC YSJS;
PUSH ACC;保護ACC
MOV A,YSJI;
CJNE A,#2,QT1;50mS*2=100mS
MOV P1,LED;
MOV A,LED;
RL A;累加器A的值循環左移1位
MOV LED,A;
MOV YSJS,#0;
QT1:POP ACC;恢復現場
POP PSW;
RETI;返回主程序
END;匯編程序結束
(3)51單片機花樣流水燈擴展閱讀:
實現流水燈的三個方法:
第一種,匯流排方法實現流水燈。這是一種比較笨但又最易理解的方法,採用順序程序結構,用位指令控制P1口的每一個位輸出高低電平,加上延時函數,即可控制每個LED燈的亮滅。
第二種,移位方法實現流水燈採用循環程序結構編程。首先在程序開始給P1.0口送一個低電平,其它位為高。然後延時一段時間再讓低電平往高位移動,這樣就實現「流水」的效果了。
第三種,庫函數實現流水燈。利用左移函數進行。
㈣ 單片機流水燈C語言程序(8個燈,依次點亮每個燈,延時500MS)
單片機流水燈C語言程序的源代碼如下:
#include //51系列單片機定義文件
#define uchar unsigned char //定義無符號字元
#define uint unsigned int //定義無符號整數
void delay(uint); //聲明延時函數
void main(void)
{
uint i;
uchar temp;
while(1)
{
temp=0x01;
for(i=0;i<8;i++) //8個流水燈逐個閃動
{
P1=~temp;
delay(100); //調用延時函數
temp<<=1;
}
temp=0x80;
for(i=0;i<8;i++) //8個流水燈反向逐個閃動
{
P1=~temp;
delay(100); //調用延時函數
temp>>=1;
}
temp=0xFE;
for(i=0;i<8;i++) //8個流水燈依次全部點亮
{
P1=temp;
delay(100); //調用延時函數
temp<<=1;
}
temp=0x7F;
for(i=0;i<8;i++) //8個流水燈依次反向全部點亮
{
P1=temp;
delay(100); //調用延時函數
temp>>=1;
}
void delay(uint t) //定義延時函數
{
register uint bt;
for(;t;t--)
for(bt=0;bt<255;bt++);
}
(4)51單片機花樣流水燈擴展閱讀
51單片機流水燈的源代碼如下
#include<reg51.h>
#include<intrins.h>
voiddelay(inta)
{
inti;
while(a--)for(i=0;i<110;i++);
}
main()
{
inti;
while(1)
{
P0=0xfe;
for(i=0;i<8;i++)
{
P0=_crol_(P0,1);
delay(500);
}
}
}
㈤ 怎樣用單片機做一個簡單的流水燈
單片機流水燈代碼:#include<reg51.h>//51頭文件void delay(int t)//定義延時函數{int j;while(t--){for(j=0;j<500;j++);}}void main(){int i;while(1){for(i=0;i<7;i++)//循環點亮LED,到第7個LED延時一會就結束循環。
在這個單片機流水燈代碼中,假設使用的是8051單片機。需要定義8個LED燈,分別連接到P1埠的不同引腳上。然後使用一個循環結構來控制這8個LED燈按照一定的順序逐個亮起,形成流水燈的效果。
具體來說,使用for循環來控制LED燈的亮滅順序。在每次循環中,通過給P1埠賦值來控制LED燈的亮滅狀態。例如,給P1埠賦值為0x01,那麼第一個LED燈就會亮起,其他LED燈則熄滅。然後使用delay函數來延遲一段時間,以便觀察到LED燈的亮滅變化。接著再給P1埠賦值為0x02,第二個LED燈就會亮起,其他LED燈則熄滅。以此類推,直到最後一個LED燈亮起為止。
最後,我們需要在程序中定義delay函數,以便實現LED燈的亮滅延遲。這個函數可以通過使用while循環來實現,需要注意的是,在實際應用中,需要根據不同的單片機型號和硬體環境來進行相應的調整和修改。
單片機流水燈的定義
單片機流水燈是一種常見的電子裝置,通過單片機控制多個LED燈以一定的順序逐個亮起,形成流水般的效果。其原理是通過編寫程序來控制單片機的輸出埠,從而控制LED燈的亮滅狀態。在實際應用中,可以使用不同的單片機型號和開發環境來實現流水燈功能,具體的實現方法會因硬體環境和軟體工具的不同而有所差異。
一般來說,實現流水燈功能需要以下步驟:首先確定單片機型號和開發環境,並熟悉指令集和寄存器配置。然後確定LED燈的連接方式,並編寫程序來控制LED燈的亮滅狀態。最後在程序中添加延時函數來實現LED燈的亮滅延遲。在編寫程序時,需要注意語法錯誤和邏輯錯誤,並進行測試和調試,以確保程序能夠正確運行並實現預期的流水燈效果。
㈥ 51單片機16路流水燈怎麼用C語言寫,並求每個步驟的講解
我給你個簡單的例子:
#include<AT89X51.H>//預處理文件裡面定義了特殊寄存器的名稱如P1口定義為P1
voidmain(void)
{
//定義花樣數據
constunsignedchardesign[32]={0xFF,0xFE,0xFD,0xFB,0xF7,0xEF,0xDF,0xBF,0x7F,
0x7F,0xBF,0xDF,0xEF,0xF7,0xFB,0xFD,0xFE,0xFF,
0xFF,0xFE,0xFC,0xF8,0xF0,0xE0,0xC0,0x80,0x0,
0xE7,0xDB,0xBD,0x7E,0xFF};
unsignedinta;//定義循環用的變數
unsignedcharb;//在C51編程中因內存有限盡可能注意變數類型的使用
//盡可能使用少位元組的類型,在大型的程序中很
受用
do{
for(b=0;b<32;b++)
{
for(a=0;a<30000;a++);//延時一段時間
P1=design[b];//讀已定義的花樣數據並寫花樣數據到P1口
}
}while(1);
}
程序中的花樣數據可以自以去定義,因這里我們的LED要AT89C51的P1引腳為低電平才
會點亮,所以我們要向P1口的各引腳寫數據O對應連接的LED才會被點亮,P1口的八個引
腳剛好對應P1口特殊寄存器的八個二進位,如向P1口定數據0xFE,轉成二進制就是
11111110,最低位D0為0這里P1.0引腳輸出低電平,LED1被點亮。如此類推,大家不難算
出自己想要做的效果了。
留個郵箱給你發個入門文檔
㈦ 用51單片機寫程序,4個按鍵燈控制8個彩燈切換九種燈光效果
P1口接8個LED燈,P3口接4個按鍵K1~K4,用於控制流水燈的四種效果,模擬圖如下。