// 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数组中的数字
}
MSP430G2553 HC595 数码管 SPI 显示 时分秒
猜你喜欢
转载自blog.csdn.net/x1131230123/article/details/108304411
今日推荐
周排行