當前位置:首頁 » 編程語言 » 流水燈c語言左三圈右三圈
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

流水燈c語言左三圈右三圈

發布時間: 2022-07-11 12:44:18

Ⅰ 單片機c語言編程:控制流水燈

#include<reg52.h>
#include<intrins.h>
#define uintunsignedint
#define ucharunsignedchar
sbitk1=P1^0;//左循環按鈕
sbitk2=P1^1;//右循環按鈕
sbitk4=P1^2;//恢復暫停
sbitk3=P3^2;//暫停
voidinit();
voidshowLED();
voiddelay(uintxms);
uintdelayTime;
uintgoLeft=1;
uintgoRight=0;
uintsFlag=0;
voidmain()
{
init();
while(1)
{
if(k1==0)
{
delay(10);
if(k1==0)
{
while(k1==0);
goLeft=1;
goRight=0;
}
}
if(k2==0)
{
delay(10);
if(k2==0)
{
while(k2==0);
goLeft=0;
goRight=1;
}
}
}
}
voiddelay(uintxms)
{
uinti,j;
for(i=xms;i>0;i--)
for(j=112;j>0;j--);
}
voidinit()
{
P0=0xfe;
TMOD=0x02;//T0工作模式2自動裝填8位 200us
TH0=0x38;
TL0=0x38;
EA=1;
ET0=1;
TR0=1;
EX0=1;
IT0=1;
}
voidshowLED()
{
if(goLeft==1)
P0=_crol_(P0,1);
if(goRight==1)
P0=_cror_(P0,1);
}
voidmoveDelay()interrupt1 //一次中斷200us
{
if(delayTime==5000)
{
showLED();
delayTime=0;
}
else
delayTime++;

}
voidstopLED()interrupt0
{
while(1)
{
if(k4==0)
{
delay(10);
if(k4==0)
{
while(k4==0);
break;
}
}
}
}

Ⅱ 用C語言如何實現左右來回的流水燈

#include<avr/io.h>
#include<util/delay.h>
#define INT8U unsigned char
int main()
{ INT8U b=0,direction=0;
DDRA=0xFF;
while(1)
{ if(direction==0)
PORTA=0x01<<b;
else
PORTA=0x80>>b;
if(++b==8)
{
b=0;
direction=!direction;
}
_delay_ms(60);
}
}

Ⅲ 流水燈c語言程序

我是一名多年的單片機工程師,下面的程序你參考一下


效果圖



程序如下:

#include<reg52.h>

#include<intrins.h>

#define uchar unsigned char

#define uint unsigned int

uint i;

uchar j;

void delay_ms(uint k) //延時子程序

{

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

{

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

{

;

}

}

}


main()

{

uchar a,b;

P1=0xfe;

delay_ms(1000);

b=P1;


while(1)

{

for(a=0;a<7;a++)

{

b=_crol_(b,1);

P1=b;

delay_ms(1000);

}



for(a=0;a<7;a++)

{

b=_cror_(b,1);

P1=b;

delay_ms(1000);

}


}

}

如果你想學習更多單片機和程序的知識,可以看看我整理好的「17個實驗學會單片機」,網路一下「17個實驗學會單片機」就可以看到在首頁了。

Ⅳ c語言流水燈程序 求具體代碼

1滅)。編譯器keil
C代碼如下:
#include

#include

//包含循環左移函數
_cro_l頭文件
unsigned
char
tmp;
//中間變數
//////////////////////////////////////////////////////////////////////////////////////////////////
//
延時子程序
////////////////////////////////////////////////////////////////////////////////////////////////
void
delay(unsigned
int
cnt)
{
while(--cnt);
}
//////////////////////////////////////////////////////////////////////////////////////////////////
//
主函數
////////////////////////////////////////////////////////////////////////////////////////////////
main()
{
while(1)
//外層循環
{
tmp
=
0xfe;
P1
=
tmp;
while(1)
//內層循環,執行1、3、5、7亮燈循環
{
delay(30000);
//延時以便能觀察到燈亮移動,自己可以調整時間,由晶振和實參決定
tmp
=
_crol_(tmp,2);
P1
=
tmp;
if(tmp
==
0xbf)
//判斷是否已經點亮到第7燈。是,則退出進入2、4、6、8循環
{
break;
}
}
tmp
=
0xfd;
P1
=
tmp;
while(1)
//內層循環,執行2、4、6、8亮燈循環
{
delay(30000);
//延時以便能觀察到燈亮移動,自己可以調整時間,由晶振和實參決定
tmp
=
_crol_(tmp,2);
P1
=
tmp;
if(tmp
==
0x7f)
//判斷是否已經點亮到第8燈。是,則退出進入1、3、5、7循環
{
break;
}
}
}
}

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

}

(5)流水燈c語言左三圈右三圈擴展閱讀

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

}

}

}

Ⅵ 流水燈C語言程序,要通俗易懂版的

我是一名多年的單片機工程師,下面的程序你參考一下


效果圖



程序如下:

#include<reg52.h>

#include<intrins.h>

#define uchar unsigned char

#define uint unsigned int

uint i;

uchar j;

void delay_ms(uint k) //延時子程序

{

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

{

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

{

;

}

}

}


main()

{

uchar a,b;

P1=0xfe;

delay_ms(500);

b=P1;


while(1)

{

for(a=0;a<3;a++)

{

b=_crol_(b,1);

P1=b;

delay_ms(500);

}

P1=0xf0;

delay_ms(500);

P1=0xfe;

delay_ms(500);

b=P1;



}

}

如果你想學習更多單片機和程序的知識,可以看看我整理好的「17個實驗學會單片機」,網路一下「17個實驗學會單片機」就可以看到在首頁了。

Ⅶ 用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();

}

}

(7)流水燈c語言左三圈右三圈擴展閱讀

單片機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;//點亮第八個發光管

}

}

Ⅷ 51單片機C語言如何實現8個流水燈左移三次,後右移三次;如此循環

你直接用數組加for循環就可以實現