注册 登录
编程论坛 单片机编程

单片机数码管显示锁存问题

北仑友谊 发布于 2019-03-27 13:57, 2462 次点击
各位大神,下面是烧写到89C52单片机内要求显示数据累加结果的小程序,但运行结果只是一位一位地显示,如数据累加到1234,数码管只是先显示1,关闭后再显示2,之后再3,之后再是4,没有显示“1234”整个数,与我希望看到整个数据显示不符,不知道哪里有问题,请指教一下。谢谢!!!

//四位数码管位定义:
      sbit SMG_q = P1^0;    //位定义
      sbit SMG_b = P1^1;    //
      sbit SMG_s = P1^2;    //
      sbit SMG_g = P1^3;    //
uchar table[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};//四位共阳数码管值


void INT1_init() interrupt 2 using 2 //2号中断函数,希望能显示不断增加的数值
     {
     while(1)
        {   
    da=da+1;//循环一次累加1
    SMG_q=0;            //千位
    P0=table[da/1000];    //取千位数值
    delay(1250);            //延时
    P0=0XFF;            //
    SMG_q=1;            //   
   
   SMG_b=0;            //百位
    P0=table[da%1000/100];    //
    delay(1250);            //
    P0=0XFF;            //
    SMG_b=1;            //

    SMG_s=0;            //十位
    P0=table[da%100/10];    //
    delay(1250);            //
    P0=0XFF;            //
    SMG_s=1;            //
   
    SMG_g=0;            //个位
    P0=table[da%10];            //
    delay(1250);            //
    SMG_g=1;                              
    P0=0XFF;            //


5 回复
#2
北仑友谊2019-03-27 15:56
请哪位大师帮我指点一下,怎么改能显示整个的数了?
#3
wlrjgzs2019-04-02 10:20
留下联系方式吧
#4
北仑友谊2019-04-03 16:51
QQ号495003513.谢谢
#5
北仑友谊2019-04-04 15:45
回复 3楼 wlrjgzs
先生好,我留了QQ号,可一直没等到你加我为好友,可能是你一直在忙吧?那请你有空时留一下你的号,我加你。打扰你了
#6
wlrjgzs2019-04-05 09:42
回复 5楼 北仑友谊
已加你,谢谢
1