藍橋杯——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燈部分比較簡單,可用多種方法得出,要找到適合自己的編程方式,這樣在比賽中可以節約大量時間。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章