是根据
http://bbs.elecfans.com/jishu_184829_1_1.html这里面大神的程序弄的,我是新手,请大神看看。
#include<reg51.h>
#define LED P0
#define LED_ON() LED = 0x00 //所有LED亮
#define LED_OFF() LED = 0xff //所有LED熄灭
unsigned int g_u16Led
timeCount = 0 ; //LED计数器
unsigned char g_u8LedState = 0 ; //LED状态标志, 0表示亮,1表示熄灭
unsigned char g_bSystemTime1Ms = 0 ;
void LedProcess(void)
{
if(0 == g_u8LedState) //如果LED的状态为亮,则点亮LED
{
LED_ON() ;
}
else //否则熄灭LED
{
LED_OFF() ;
}
}
void LedStateChange(void)
{
if(g_bSystemTime1Ms) //系统1MS时标到
{
g_bSystemTime1Ms = 0 ;
g_u16LedTimeCount++ ; //LED计数器加一
if(g_u16LedTimeCount >= 500) //计数达到500,即500MS到了,改变LED的状态。
{
g_u16LedTimeCount = 0 ;
g_u8LedState = ! g_u8LedState ;
}
}
}
void main(void)
{
while(1)
{
LedProcess() ;
LedStateChange() ;
}
}
不是,是LED灯在闪。
一周热门 更多>