#就点亮一个LED灯而言
1,比赛使用的板子它得调节p25、p26、p27三个引脚的高低电平再转化为8进制所对应的管脚低电平导通,再结合锁存器的跟踪模式从而实现对于一个LED灯点亮的操作(这里听起来可能有点绕)
实际的代码如下:
#这里是让LED灯实现从两边往中间闪烁
#include <REGX52.H>
#define unit unsigned int
#define uchar unsigned char //宏定义
sbit LSA=P2^5;
sbit LSB=P2^6;
sbit LSC=P2^7;
sbit L1=P0^0;
sbit L2=P0^1;
sbit L3=P0^2;
sbit L4=P0^3;
sbit L5=P0^4;
sbit L6=P0^5;
sbit L7=P0^6;
sbit L8=P0^7;
void Delay1ms(unit xms) //@12.000MHz //延迟函数
{
for(0;xms>0;xms--)
{
unsigned char i, j;
i = 2;
j = 239;
do
{
while (--j);
} while (--i);
}
}
void led1() //LED由左边往中间点亮
{
P0=0xe7; //1110 0111
Delay1ms(500);
P0=0xdb; //1101 1011
Delay1ms(500);
P0=0xbd; //1011 1101
Delay1ms(500);
P0=0x7e; //0111 1110
Delay1ms(500);
}
void init() //定义管脚使得开启LED的模式
{
LSC=1;LSA=0; LSB=0; //让Y4=0,打开LED灯的接口
P0=0xff; //初始化LED灯全部关闭状态
}
void main () //主函数
{
init(); //调用函数inti
while(1)
{
led1();
}
}