单片机led灯闪烁程序实验报告(单片机灯光闪烁实验)
51单片机LED灯闪烁实验,具体分析一下以下程序每一步的作用,完全看不懂。。。
#includereg51.h
void delay(unsigned int i);
main() //主函数
{
P2=0x55; //P2口:0101 0101 从左到右:第一个口低电平,第二个口高电平。。。。
delay(600); //延时600,不延时你来不及看见灯亮
P2=0xaa; /*P2口输出端取反,1010 1010 高电平变低电平,低电平变高电平,(原来亮的关掉,原来不亮的亮)*/
delay(600);
}
void delay(unsigned int i) //这个是延时函数
{
unsigned char j;
for(i;i0;i--)
for(j=255;j0;j--) ;
}
这样应该明白了吧!不过你这个程序,按一下复位(或者打开一次电源)只亮一下。加个循环就可以不停的闪啦!
[img]单片机LED灯闪烁程序?
char LED;
sbit key1down=P1^0 ; // 设开关key1连接此端口
sbit key2down=P1^1 ; // 设开关key2连接此端口
void main(){
P0=0xff; // 输出低电平LED亮
LED=0xfe;
while(1){
P0=LED; delay();
if(key1){ LED = 1 ; } // 将LED左移一位;
if(key2){ LED = 1 ; LED |=0x80; } // 将LED右移一位;
if(key1down==0) { key1=1; key2=0;}
if(key2down==0) { key1=0; key2=1;}
}
单片机实验 :实现LED灯的循环依次闪烁
#includereg51.h
#includeintrins.h
#define uchar unsigned char
#define uint unsigned int
sbit P0_0=P0^0;
sbit P0_1=P0^1;
sbit P0_2=P0^2;
sbit P0_3=P0^3;
void delay(uint z)//延时2ms程序
{uint x,y;
for(x=z;xz;x++)
for(y=0;y110;y++);
}
void main()
{
while(1)
{
P1_3=1;
P1_0=0;
delay(250);
P1_0=1;
P1_1=0;
delay(250);
P1_1=1;
P1_2=0;
delay(250);
P1_2=1;
P1_3=0;
delay(250);
}
}
方法2:
#includereg51.h
#includeintrins.h
#define uchar unsigned char
#define uint unsigned int
sbit P0_0=P0^0;
sbit P0_1=P0^1;
sbit P0_2=P0^2;
sbit P0_3=P0^3;
void main()
{ TH0=(65536-10000)/256;
TL0=(65536-10000)%256;
TMOD=0x01;
EA=1;
ET0=1;
TR0=1;
while(1)
{if(j==5)
P0_0=0;
if(j==10)
{P0_1=0;
P0_0=1;}
if(j==15)
{P0_2=0;
P0_1=1;
}
if(j==20)
{P0_3=0;
P0_2=1;
j=0;
}
}
}
void timer0_init() interrupt 1
{TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
j++;
}
关于单片机led灯闪烁程序实验报告和单片机灯光闪烁实验的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。微信号:ymsc_2016
相关文章
发表评论
评论列表
- 这篇文章还没有收到评论,赶紧来抢沙发吧~