單片機數碼管動態顯示

#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
sbit DULA=P2^6;
sbit WELA=P2^7;
uchar t=0;
uchar n=0;
uchar m=0;
uchar code table[]={
0x3f,0x06,0x5b,0x4f,
0x66,0x6d,0x7d,0x07,
0x7f,0x6f,0x77,0x7c,
0x39,0x5e,0x79,0x71
};
uchar code  up_down[]={
0xfe,0xfd,0xfb,
0xf7,0xef,0xdf
};
void main()
{

    TMOD=0x01;

    TH0=(65536-50)/256;
    TL0=(65536-50)%256;

    EA=1;
    ET0=1;

    TR0=1;

    while(1)
    {
         if(t==1)
         {
           WELA=1;
           P0=up_down[m];
           WELA=0;
           DULA=1;
           P0=table[n];
           DULA=0;
           n++;
           m++;
           if(m==6)
           {
             m=0; 
           }
           if(n==6)
           {
              n=0;            
           }
           t=0;
          }
 
    }
 
  
}

void timer0() interrupt 1
{
TH0=(65536-50)/256;
TL0=(65536-50)%256;
t++;


 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章