单片机中要求从左到右依次点亮LED灯用C程序怎么写

点亮一个灯后间隔0.2秒,然后点亮下一个灯,之前点亮的那个灯熄灭

第1个回答  2013-11-28
设置一个delay_2s()就是:
delay_2s()
{
for(i=0;i<200;i++)

{
for(j=0;j<200;j++)

}

} 具体要看你的晶振大小
然后
void main()
{
uchar temp = 0x01;
while(1)
{
delay_2s();
P0 = temp

delay_2s();
temp <<=1;

i++;

if(i>=7)

{
i = 0;
temp = 0x01

}

}
}
很容易理解就是让0X01一直左移赋值给P0口然后循环本回答被网友采纳
第2个回答  2013-11-28
_crol_(a,1),_;
delay(xms);

单片机中要求从左到右依次点亮LED灯用C程序怎么写
} 很容易理解就是让0X01一直左移赋值给P0口然后循环

用c语言编写单片机流水灯程序,(8个发光二极管从左至右循环点亮)
P3=0xfe;\/\/第一个灯亮 delay();\/\/延时 P3=0xfd;\/\/第二个灯亮 delay();P3=0xfb;\/\/第三个灯亮 delay();P3=0xf7;\/\/第四个灯亮 delay();P3=0xef;\/\/第五个灯亮 delay();P3=0xdf;\/\/第六个灯亮 delay();P3=0xbf;\/\/第七个灯亮 delay();P3=0x7f;\/\/第八个灯亮 delay();}...

51单片机C程序实验LED灯:[2]左到右的流水灯
说明:本例有两种程序写法 第一种是入门级别比较基础的写法 先是依旧延时子程序,然后主程序利用直接赋值,与“”循环 第二种是稍微高级一些的写法,调用了其他头文件 主要是利用了一个intrins.h文件下的右循环语句”P0=_cror_(P0,1); “另也有左循环_crol_(),括号里面是要循环移位的值。【第一...

求个用c 语言写的单片机的流水灯程序,灯从左到右依次点亮,速度加快
unsigned char a[10]={0xff,0xFE,0xFC,0xF8,0xF0,0xE0, 0xC0,0x80,0x00,0xff};unsigned char tick_flag;unsigned char delay_cnt;unsigned char num;void UserInital(){ delay_cnt=0;num=0;TMOD |= 0x01;\/\/T0模式选择:模式1 TH0 = 0xec; \/\/定时5MS(12mhz)TL0 = 0x78;TR...

51单片机C程序怎样把LED灯从左到右点亮然后又从右到左点亮然后循环
unsigned char ledtab[]={0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe} void delay(unsigned char a){ unsigned char i,j;for(i=0;i<a;i++)for(j=0;j<120;j++);} main(){ unsigned char i;while(1){ for(i=0;i<8;i++){P0=ledtab[i];delay(100);} for(i=0;i<8;...

单片机用汇编做一个控制8个LED灯泡从左到右依次点亮,最后全部亮,再全部...
void DelayMS(uint x){ uchar i;while(x--){ for(i=0;i<120;i++);} } \/\/主程序 void main(){ uint s;while(1){ P0=0xfe;DelayMS(150);for(s=8;s>1;s--){ P0=_crol_(P0,1); \/\/P0 的值向左循环移动 DelayMS(150);} P0=0x00;DelayMS(150);p0=0xff;DelayMS(150);...

控制8个LED灯,完成从左到右依次点亮,然后从右到左依次熄灭,魂环10次...
include<reg51.h>#define uchar unsigned charvoid delay(uchar a){uchar i;while(a--)for(i=0;i<120;i++);}main(){uchar i,j,led;for(i=0;i<10;i++) { led=0xfe; for(j=0;i<8;i++) { P0=led; led=led<<1; delay(200); } led=0x80; ...

...让8个LED流水灯以0.2s时间间隔从左到右依次点亮然后重复实现_百度...
P1=b;\/\/P1口接8个LED灯 delay(200);b=_crol_ (b,1);} } void delay(unsigned int z){ unsigned int i;for(;z>0;z--) \/\/延迟时间自己算吧 for(i=110;i>0;i--);} 用汇编写这个容易点 main: mov a,#0feh mov r0,#8 loop: mov p1,a acall delay rl a djnz r0,loo...

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语言编写程序,将led从左往右,再从右往左依次往返点亮
流水灯程序是keil的自带例子,你直接跑就是。void wait (void) { \/* wait function *\/ ; \/* only to delay for LED flashes *\/ } void main (void) { unsigned int i; \/* Delay var *\/ unsigned char j; \/* LED var *\/ while (1) { \/* Loop forever *\/ for...

相似回答