andyandanne 发表于 2011-10-5 18:11:48

数码管消隐,利用中断扫描数码管。

void display()
{
   if(0<jg<10)
      {
             bit4_on;
               data=tab;
               Delay(100);
               bit4_off;
          }
          
   else if(10<jg<100)
      {
             bit3_on;
               data=tab;
               Delay(100);
               bit3_off;
               
               bit4_on;
               data=tab;
               Delay(100);
               bit4_off;
          }
          
   else if(100<jg<1000)
      {
             bit2_on;
               data=tab;
               Delay(100);
               bit2_off;
          
             bit3_on;
               data=tab;
               Delay(100);
               bit3_off;
               
               bit4_on;
               data=tab;
               Delay(100);
               bit4_off;
          }          
          
   else if(1000<jg<10000)
      {
             bit1_on;
               data=tab;
               Delay(100);
               bit1_off;
          
             bit2_on;
               data=tab;
               Delay(100);
               bit2_off;
          
             bit3_on;
               data=tab;
               Delay(100);
               bit3_off;
               
               bit4_on;
               data=tab;
               Delay(100);
               bit4_off;
          }                    
   TCNT0=0XE0;
}
jg里面是放的要显示的值(jg=bit1*1000+bit2*100+bit3*10+bit4;//如:1024=1*1000+0*100+2*10+4) 我是判断jg的位数,不同的位数执行不同的扫描程序,但是不管jg是多少,数码管都只显示各位(比如要显示1024,数码管只显示4,其他都不显示)!

jizhiqihui 发表于 2011-10-8 11:10:22

回复【楼主位】andyandanne
-----------------------------------------------------------------------学习

qsv 发表于 2018-7-7 10:20:36

谢谢,分享。

rider.liu 发表于 2018-7-7 11:47:47

{:handshake:}谢谢,分享。

sharehej 发表于 2018-7-7 13:07:34

Delay {:dizzy:}

su33691 发表于 2018-7-7 13:21:11

这也就是刚入门的水平吧。哈哈。
页: [1]
查看完整版本: 数码管消隐,利用中断扫描数码管。