- 打卡等级:偶尔看看I
- 打卡总天数:12
- 最近打卡:2025-06-26 14:03:27
已绑定手机
注册会员
- 积分
- 84
|
平台STC8H1K08,效果上8个在亮,为了降低功耗,用5ms 去轮流点亮每个LED,闪烁的厉害,视觉上感觉不到全部同时在亮,能否有其它中断扫描可以做到不闪烁?
代码如下:
void TM0_Isr(void) interrupt 1
{//T = 5ms
WDT_Clean();
if(AllFlag.Flag.ADC_Change_Stop_Flag)
{
if(ADCChargeTime < 250)
ADCChargeTime++;
}
CloseAllLED();
++ LED_i;
if(LED_i >= 8)
{
LED_i = 0;
}
switch(LED_i)
{
case 0:if(LED_light_Flag & Light_LED1){ LED1 = 0;}break;
case 1:if(LED_light_Flag & Light_LED2){ LED2 = 0;}break;
case 2:if(LED_light_Flag & Light_LED3){ LED3 = 0;} break;
case 3:if(LED_light_Flag & Light_LED4){ LED4 = 0;} break;
case 4:if(LED_light_Flag & Light_LED5){ LED5 = 0;} break;
case 5:if(LED_light_Flag & Light_LED6){ LED6 = 0;} break;
case 6:if(LED_light_Flag & Light_LED7){ LED7 = 0;} break;
case 7:if(LED_light_Flag & Light_LED8){ LED8 = 0;} break;
}
}
|
|