微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 单颗LED指示灯的闪烁控制

单颗LED指示灯的闪烁控制

时间:11-26 来源:互联网 点击:
void main()

{

while(1)
{
if(f1s==1)
{
f1s=0;
LedBlink(10,2);//每个周期内闪烁两次

}
}

}

//time1:time1*10ms=闪烁周期(定时时间基准10ms)

//time2:闪烁周期内的闪烁次数

void LedBlink(u8 time1 ,u8 time2)
{
static u8 tempnum = 0;

if(++tempnum > time1)
{
tempnum = 0;
}

if( tempnum < time2*2)//time2*2是因为LED两和灭分别占用一半时间

{
LED0=!LED0;
}
else
{
LED0=1;
}

}

//中断服务函数,10ms中断

void TIM3_IRQHandler(void)

{
if(TIM_GetITStatus(TIM3, TIM_IT_Update) != RESET)

{
TIM_ClearITPendingBit(TIM3, TIM_IT_Update);

f1s=1;
}
}

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top