MSP430G2553 HC595 数码管 SPI 显示 时分秒

在这里插入图片描述


// 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数组中的数字
}


猜你喜欢

转载自blog.csdn.net/x1131230123/article/details/108304411