我给个51 的你把
#include<reg52h>
#include<intrinsh>
void delay(unsigned char i)
{
unsigned char m,n;
for(m=i;m>0;m--)
for(n=125;n>0;n--);
}
void main()
{ unsigned char k;
while(1)
{
P1=0xfe;
for(k=0;k<8;k++)
{
delay(2000);
P1=_crol_(P1,1);
}
}
}
sbit LED1=P2^0;
sbit LED2=P2^1;
// STC的下载工具中,有延时的计算例子,再使用循环延时
void Delay100ms(){ //@110592MHz
unsigned char i, j;
i = 180;
j = 73;
do{
while (--j);
} while (--i);
}
void main(){
unsigned int n;
while(1){
LED1=~LED1;
LED2=~LED2;
for(n=0; n<20; n++){
Delay100ms();
}
}
}
以下是一个单片机间隔点亮一LED灯的C语言程序,以8051单片机为例:
c
Copy code
#include
//包含了AT89C51的寄存器定义
void delay(unsigned int xms) //延时函数,xms为要延时的毫秒数
{
unsigned int i,j;
for(i=xms;i>0;i--)
for(j=112;j>0;j--);
}
void main()
{
P1=0x00; //将P1口全部置为0,防止其它引脚影响
while(1)
{
P1=0xff; //点亮P1口第0个引脚上的LED灯,0xff为二进制的11111111
delay(1000); //延时1秒
P1=0x00; //将P1口全部置为0,熄灭LED灯
delay(1000); //延时1秒
}
}
上述程序的作用是在单片机的P1口上间隔点亮一盏LED灯,每隔1秒钟灯的状态会发生一次变化,即由点亮状态变为熄灭状态,再由熄灭状态变为点亮状态。
以上就是关于怎么改程序使led流水灯从左到右依次亮起,再从右到左亮起全部的内容,包括:怎么改程序使led流水灯从左到右依次亮起,再从右到左亮起、用C语言编写程序,要求实现两盏LED灯交替闪烁,间隔时间为2秒。、单片机间隔点亮一led灯的C语言程序等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)