導航:首頁 > 操作系統 > 單片機8燈流水燈語言編碼

單片機8燈流水燈語言編碼

發布時間:2022-07-16 15:11:33

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

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

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

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

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

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


硬體特徵

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

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

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

⑵ 單片機流水燈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++);

}

(2)單片機8燈流水燈語言編碼擴展閱讀

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

}

}

}

⑶ 用單片機控制4094點亮8個LED燈,C語言程序怎麼做,怎麼實現流水燈在線等,急!!!

#include<reg51.h>
#include<intrins.h>

sbitDAT=P1^2;
sbitCLK=P1^1;
sbitSTB=P1^0;

voidDelay500ms();
voidOUT_4094(unsignedcharn);

voidmain()
{
unsignedchari;
for(i=0;;i++)
{
OUT_4094(i);
Delay500ms();
}
}

voidDelay500ms() //@12.000MHz
{
unsignedchari,j,k;

_nop_();
i=4;
j=205;
k=187;
do
{
do
{
while(--k);
}while(--j);
}while(--i);
}

voidOUT_4094(unsignedcharn)
{
unsignedchari;
DAT=0;
CLK=0;
STB=0;

for(i=0;i<8;++i)
{
CLK=0;
DAT=(n>>(8-i-1))&0x01;
_nop_();
CLK=1;
CLK=0;
}

STB=1;
_nop_();

DAT=0;
CLK=0;
STB=0;

}

⑷ 跪求單片機一按鍵控制8盞流水燈的程序最好有圖用匯編語言編程。3Q

org0000h

ljmpstart

org1000h

start:movsp,#4fh;堆棧段

MOVR0,#06H;循環6次

movA,#0f8H;123燈亮

ATT:movP1,A

acalldelay

RLA;左移1位

DECR0;循環次數自減1

CJNER0,#00H,ATT;自減完後的數和00比較不相等跳到ATT相等往下執行

MOVP1,#0FFH

MOVA,#0F8H

MOVR0,#06H

ATL:MOVP2,A

ACALLDELAY

RLA

DECR0

CJNER0,#00H,ATL

MOVP2,#0FFH

AJMPSTART

delay:MOVR1,#0FFH

LOOP0:MOVR2,#0FFH

LOOP1:nop

nop

NOP

NOP

DJNZR2,LOOP1

DJNZR1,LOOP0

ret

⑸ 51單片機中如何用匯編語言編寫流水燈

流水燈就是51單片機控制led燈依次點亮的控制方式。具體程序如下:

ORG 0000H ;復位啟動
AJMP START ;
ORG 001BH ;T1中斷
AJMP T1INT ;

;定義變數========================
YSJS EQU 30H;延時計數器
LED EQU 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 ;匯編程序結束

(5)單片機8燈流水燈語言編碼擴展閱讀:

實現流水燈的三個方法:

第一種,匯流排方法實現流水燈。這是一種比較笨但又最易理解的方法,採用順序程序結構,用位指令控制P1口的每一個位輸出高低電平,加上延時函數,即可控制每個LED燈的亮滅。

第二種,移位方法實現流水燈採用循環程序結構編程。首先在程序開始給P1.0口送一個低電平,其它位為高。然後延時一段時間再讓低電平往高位移動,這樣就實現「流水」的效果了。

第三種,庫函數實現流水燈。利用左移函數進行。

⑹ C語言控制單片機,控制八個流水燈從左到右依次亮,最後又從右到左依次亮回來,一直循環下去,求幫幫忙

假設P1接8 個LED,高電平時LED點亮,主程序如下:
void main(void)
{
uchar i;
while(1)

{
for(i=0;i<7;i++)
{
P1=1<<i;
delay_ms(500);
}
for(i=0;i<7;i++)
{
P1=0x80>>i;
delay_ms(500);
}
}
}

⑺ 單片機C語言如何實現8個LED流水燈來迴流動

1、可以通過左移函數_crol_()和右移函數_cror_()來實現LED等的來迴流動。

2、具體實現方法可以參考如下程序:

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

3、單片機的使用領域已十分廣泛,如智能儀表、實時工控、通訊設備、導航系統、家用電器等。各種產品一旦用上了單片機,就能起到使產品升級換代的功效,常在產品名稱前冠以形容詞——「智能型」,如智能型洗衣機等。

⑻ 用c語言編寫單片機流水燈程序,(8個發光二極體從左至右循環點亮)

#include<reg51.h>

voiddelay(void)

{

unsignedinti,j;

for(i=0;i<200;i++)

for(j=0;j<1000;j++)

;

}

voidmain(void)

{

while(1)

{

P3=0xfe;//第一個燈亮

delay();//延時

P3=0xfd;//第二個燈亮

delay();

P3=0xfb;//第三個燈亮

delay();

P3=0xf7;//第四個燈亮

delay();

P3=0xef;//第五個燈亮

delay();

P3=0xdf;//第六個燈亮

delay();

P3=0xbf;//第七個燈亮

delay();

P3=0x7f;//第八個燈亮

delay();

}

}

(8)單片機8燈流水燈語言編碼擴展閱讀

單片機C語言16種方式流水燈

voidmain()

{

while(1)

{

P1=0xfe;//點亮第一個發光管

Delay(5000);

P1=0xfd;//點亮第二個發光管

Delay(5000);

P1=0xfb;

Delay(5000);

P1=0xf7;

Delay(5000);

P1=0xef;

Delay(5000);

P1=0xdf;

Delay(5000);

P1=0xbf;

Delay(5000);

P1=0x7f;//點亮第八個發光管

}

}

⑼ 單片機流水燈的C語言編程

#include<reg52.h>
#include<intrins.h>

#define uint unsigned int
#define uchar unsigned char

#define led P1

uint delay(uint z)
{
uint x,y;
for(x=z;x>0;x--)
{
for(y=110;y>0;y--);
}
}

void main()
{
uint i,temp,j;
for(i=0;i<3;i++)
{
led=0xAA;
delay(300);
led=0x55;
delay(300);
}

for(i=0;i<3;i++)
{
temp=0xfe;
for(j=0;j<8;j++)
{
led=temp;
delay(300);
temp=_crol_(temp,1);
}
temp=0xbf;
for(j=0;j<6;j++)
{
led=temp;
delay(300);
temp=_cror_(temp,1);
}
}

for (i=0;i<3;i++)
{
led=0x7e;
delay(300);
led=0xbd;
delay(300);
led=0xdb;
delay(300);
led=0xe7;
delay(300);
}

for (i=0;i<3;i++)
{
led=0xe7;
delay(300);
led=0xdb;
delay(300);
led=0xbd;
delay(300);
led=0x7e;
delay(300);
}

for (i=0;i<3;i++)
{
led=0xff;
delay(300);
led=0x00;
delay(300);
}

led=0xff;

while(1);
}
現象說明:
8個燈,間隔300ms先奇數亮再偶數亮,循環三次;一個燈上下循環
三次;再分別從兩邊往中間流動三次;再從中間往兩邊流
動三次;8個全部閃爍3次;關閉發光管,程序停止。
晶振為11.0592MHz

閱讀全文

與單片機8燈流水燈語言編碼相關的資料

熱點內容
megawin單片機 瀏覽:685
以色列加密貨幣監督 瀏覽:907
程序員前端現在怎麼樣 瀏覽:497
伺服器和介面地址ping不通 瀏覽:555
linux命令返回上級目錄 瀏覽:897
移動花卡寶藏版為什麼不能選免流app 瀏覽:255
速騰carplay怎麼用安卓 瀏覽:13
紅塔銀行app怎麼樣 瀏覽:564
農行app怎麼開網銀 瀏覽:651
java迭代器遍歷 瀏覽:303
閩政通無法請求伺服器是什麼 瀏覽:48
怎麼做積木解壓神器 瀏覽:205
王者榮耀解壓玩具抽獎 瀏覽:49
12位是由啥加密的 瀏覽:870
程序員編迷你世界代碼 瀏覽:898
php取現在時間 瀏覽:248
單片機高吸收 瀏覽:430
怎麼區分五代頭是不是加密噴頭 瀏覽:246
hunt測試伺服器是什麼意思 瀏覽:511
2013程序員考試 瀏覽:641