蓝桥杯——LED灯

1.要求

        首先建议看一下比赛LED灯连线原理图,看看是高电平亮还是低电平亮,了解引脚连接情况。

2.实现功能代码

(1)实现特定LED灯亮

#include<stc15f2k60s2.h>
void main()
{
P2=0XA0;P0=0X00;P2=0X80;P0=0XFF;//初始化LED,关闭数码管,关闭继电器蜂鸣器(自行了解)
P00=0;
P02=0;
P04=0;
P06=0;
while(1);
}

       实现了LED1、LED3、LED5、LED7亮,自己可以任意修改8个LED灯的亮灭。

 #include<stc15f2k60s2.h>
 sbit LED1=P0^0;
 void main(){
 P2=0XA0;P0=0X00;P2=0X80;P0=0XFF;
 LED1=0;
 while(1);
 }

实现LED1亮

(2)实现LED1亮灭交替

#include<stc15f2k60s2.h>
unsigned int i;
void main()
{
P2=0XA0;P0=0X00;P2=0X80;P0=0XFF;
while(1){
P00=0;
for(i=0;i<60000;i++);
P00=1;
for(i=0;i<60000;i++);
         }
}

(3)实现LED1、LED2亮灭交替

#include<stc15f2k60s2.h>
unsigned int i;
void main()
{
P2=0XA0;P0=0X00;P2=0X80;P0=0XFF;
while(1)
{
P00=0;P01=1;
for(i=0;i<60000;i++);
P00=1;P01=0;
for(i=0;i<60000;i++);
}
}

4)8个LED灯从左到右依次点亮

方法一:

#include<stc15f2k60s2.h>
unsigned int i;
void main(){
P2=0XA0;P0=0X00;P2=0X80;P0=0XFF;
while(1){
P00=0;P01=1;P02=1;P03=1;P04=1;P05=1;P06=1;P07=1;
for(i=0;i<60000;i++);
P00=1;P01=0;P02=1;P03=1;P04=1;P05=1;P06=1;P07=1;
for(i=0;i<60000;i++);
P00=1;P01=1;P02=0;P03=1;P04=1;P05=1;P06=1;P07=1;
for(i=0;i<60000;i++);
P00=1;P01=1;P02=1;P03=0;P04=1;P05=1;P06=1;P07=1;
for(i=0;i<60000;i++);
P00=1;P01=1;P02=1;P03=1;P04=0;P05=1;P06=1;P07=1;
for(i=0;i<60000;i++);
P00=1;P01=1;P02=1;P03=1;P04=1;P05=0;P06=1;P07=1;
for(i=0;i<60000;i++);
P00=1;P01=1;P02=1;P03=1;P04=1;P05=1;P06=0;P07=1;
for(i=0;i<60000;i++);
P00=1;P01=1;P02=1;P03=1;P04=1;P05=1;P06=1;P07=0;
for(i=0;i<60000;i++);
}
}

方法二:

#include<stc15f2k60s2.h>
void delay();
unsigned int i;
void main(){
P2=0XA0;P0=0X00;P2=0X80;P0=0XFF;
while(1){
    for(i=0;i<8;i++){
	P0=~(0x01<<i);
	delay();
	}
}
}
void delay(){
int j,k;
for(j=0;j<700;j++)
for(k=0;k<700;k++);
}


3.总结

LED灯部分比较简单,可用多种方法得出,要找到适合自己的编程方式,这样在比赛中可以节约大量时间。

发布了14 篇原创文章 · 获赞 11 · 访问量 3065

猜你喜欢

转载自blog.csdn.net/fanjufei123456/article/details/104054282