c// Timer A0 interrupt service routine
#pragma vector=TIMER0_A0_VECTOR
__interrupt void Timer_A(void)
{
t_count = (t_count + 1) % 500; //500次2ms就是1s
if (t_count == 1)
{
rtc_sec++;
if (rtc_sec == 60)
{
rtc_sec = 0;
rtc_min++;
if (rtc_min == 60)
{
rtc_min = 0;
rtc_hour++;
if (rtc_hour == 24)
{
rtc_hour = 0;
}
}
}
num_str[0] = rtc_hour % 100 / 10; //取位数字
num_str[1] = rtc_hour % 10; //取位数字
num_str[2] = 10; //表示什么都不显示
num_str[3] = rtc_min % 100 / 10; //取位数字
num_str[4] = rtc_min % 10; //取位数字
num_str[5] = 10; //表示什么都不显示
num_str[6] = rtc_sec % 100 / 10; //取位数字
num_str[7] = rtc_sec % 10; //取位数字
}
seg_count = (seg_count + 1) % 8; //seg_count等于0到3中的一个
LedScreen_WrTwoByte(~(0x01 << seg_count), ~LED_0F[num_str[seg_count]]); //选择第seg_count个数码管 亮的字为num_str数组中的数字
}
csharphttps://docs.qq.com/sheet/DUEdqZ2lmbmR6UVdU?tab=BB08J2
本文作者:Dong
本文链接:
版权声明:本博客所有文章除特别声明外,均采用 CC BY-NC。本作品采用《知识共享署名-非商业性使用 4.0 国际许可协议》进行许可。您可以在非商业用途下自由转载和修改,但必须注明出处并提供原作者链接。 许可协议。转载请注明出处!