单片机编程控制8个LED,先逐个点亮,再逐个熄灭,再逐个点亮,如此循环,变化间隔为1秒左右,用软件循环实现

编程控制8个LED,先逐个点亮,再逐个熄灭,再逐个点亮,如此循环,变化间隔为1秒左右,用软件循环实现 51单片机c语言编程 用的软件是keil

假如:P0口接8个LED,
程序可以这样:

#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
sbit led1= P2^0;
uchar num;
/**********************************************************
延时t毫秒
11.0592MHz时钟,延时约1ms
**********************************************************/
void delay(uint s)
{
uchar k;
while(--s)
{
for(k=0; k<125; k++) ;

}
}
void main()
{
uchar i,j;
j=0x01;//假如高电平灯亮
while(1)
{
j=0x01;//假如高电平灯亮
for(i=0;i<8;i++)
{
P0=j;
delay(1000);//逐个循环点亮
j<<=1;
}
j=0xfe;
for(i=0;i<8;i++)
{
P0=j;
delay(1000); // 逐个循环熄灭
j<<=1;
}

}
}
温馨提示:内容为网友见解,仅供参考
无其他回答

单片机编程控制8个LED,先逐个点亮,再逐个熄灭,再逐个点亮,如此循环,变化...
j=0x01;\/\/假如高电平灯亮 for(i=0;i<8;i++){ P0=j;delay(1000);\/\/逐个循环点亮 j<<=1;} j=0xfe;for(i=0;i<8;i++){ P0=j;delay(1000); \/\/ 逐个循环熄灭 j<<=1;} } }

8051单片机,用P0口控制8个LED实现循环彩灯.循环显示规律为:全亮,全灭...
include<reg51.h> define uchar unsigned char uchar times,cnt;uchar led[]={0x00,0xff,0xfe,0xfc,0xf8,0xf0,0xe0,0xc0,0x80,0x00,0xff};void t0isr() interrupt 1 { TH0=(65536-50000)\/256;TL0=(65536-50000)%256;times++;if(times>=40){ times=0;P0=led[cnt];cnt++;cnt%=1...

...自上而下逐个点亮,再自下而上逐个点亮,如此循环
LCALL DLY_500MS ;延时500ms 可以清晰看到每个LED的亮灭情况 MOV P1,#11111110B;点亮P1.0对应LED LCALL DLY_500MS ;延时500ms 可以清晰看到每个LED的亮灭情况 MOV P1,#11111110B LCALL DLY_500MS ;延时500ms 可以清晰看到每个LED的亮灭情况 MOV P1,#11111101B LCALL DLY_500MS ;延时...

请问,单片机控制8个LED灯同时亮 同时灭(间隔1秒)的程序?
void yanshi(){ };\/\/\/延伸函数一秒根据晶体的频率自己设置也可以用定时器的中断来设置1秒时间也可以用软件定时器;mian(){ p1=0xff;yanshi();p1=0x00;yanshi();}

单片机用汇编做一个控制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灯同亮或者同灭,每中断一次,变反一次~编出程序...
功能:开发板8个发光管一起闪动 实验内容:输出底电平可以点亮RD口的发光管 高电平可以关掉发光管 开发板连接方法:装上J2。\/ include<pic.h> \/\/包含单片机内部资源预定义 __CONFIG(0xFF32);\/\/芯片配置字,看门狗关,上电延时开,掉电检测关,低压编程关,加密,4M晶体HS振荡void delay(); ...

51单片机开发板八个led灯依次点亮(就是流水灯)然后再全部
首先,定义了一系列宏和位定义:include define uint unsigned int define uchar unsigned char 接下来,定义了延时函数delay:void delay(uint);然后定义了控制LED的位:sbit D0=P1^0;sbit D1=P1^1;sbit D2=P1^2;sbit D3=P1^3;sbit D4=P1^4;sbit D5=P1^5;sbit D6=P1^6;sbit D7=P1...

用五一单片机c语言编程,p1口控制八个发光二极管,实现每隔一秒,两两点亮...
具体步骤如下:1. 全部LED初始状态:P0 = 0x00 2. 点亮P0.0和P0.1:P0 = 0xc0,延时1000毫秒 3. 点亮P0.2和P0.3:P0 = 0x30,延时1000毫秒 4. 点亮P0.4和P0.5:P0 = 0x0c,延时1000毫秒 5. 点亮P0.6和P0.7:P0 = 0x03,延时1000毫秒 文章还提到了另一种方法,使用定时...

...用单片机控制8个LED灯,8个LED灯从左到右依次点亮一
while(1){recy=0xfe;for(k=1;k<=8;k++){ P1=recy;Delay(50000);recy=recy<<1;} }

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

相似回答