关于max7219驱动数码管 ,求大神指点一下

[复制链接]
 楼主| 奔小康 发表于 2013-5-15 01:14 | 显示全部楼层 |阅读模式

在由max7219驱动的数码管上显示ds1302时钟的实时数据,想要调节时间时,比如说小时位,如何让数码管上的小时位不停的闪烁,而其他位不动。试了延时但是显示好像还是静态的。
wangyy608 发表于 2013-5-15 08:10 | 显示全部楼层
做一个0.5S的计时,0.5S显示正常数据,0.5S显示清除
ayb_ice 发表于 2013-5-15 08:58 | 显示全部楼层
本帖最后由 ayb_ice 于 2013-5-15 09:00 编辑

// 示意代码

bit flag_500ms;

void isr_timer0(void) interrupt 1
{
        static char counter_for_500ms = 0;

        reload(10ms);

        if(++counter_for_500ms >= 50){                // 50*10 = 500ms
                counter_for_500ms = 0;

                flag_500ms ^= 1;
        }
}

void main(void)
{
        U8 t;

        init();

        while(1)
        {
                if(flag_500ms){
                        t = 0xff;
                }else{
                        t = 0x00;
                }

                max7219_display(digital_1, t);
        }

}
leehp 发表于 2013-12-3 12:55 | 显示全部楼层
  static char counter_for_500ms = 0;

这个变量应该定义成全局变量吧?
zhang_2000 发表于 2013-12-5 11:28 | 显示全部楼层
0.5S 写0
0.5S 写显示的数据
GCT 发表于 2014-6-6 11:51 | 显示全部楼层
向你们好好学习
您需要登录后才可以回帖 登录 | 注册

本版积分规则

4

主题

15

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部

4

主题

15

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部