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