⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 numericaltube.c

📁 实现了数码管的拉幕式显示
💻 C
字号:
#include <REG52.H>
unsigned char code dispcode[]={0xC0,0xF9,0xA4,0xB0,//0-3
								0x99,0x92,0x82,0xF8,//4-7
								0x80,0x90,0x88,0x83,//8-B
								0xC6,0xA1,0x86,0x8E,0xff};
unsigned char dispbitcode[]={0x7f,0xbf,0xdf,0xef,0xf7,0xfb};
unsigned char dispbuf[6]={16,16,16,16,16,16};
unsigned char dispbitcnt;
unsigned int t02scnt;
unsigned char t5mscnt;
unsigned char u;
unsigned char i;

void main(void)
{
  TMOD=0x02; //timer0 initial
  TH0=0x06;
  TL0=0x06;
  TR0=1; //timer0 starting
  ET0=1; //timer0 interrupt enable
  EA=1;	 //interrupt enable
  while(1);
}

void t0(void) interrupt 1 using 0
{
  t5mscnt++;
  if(t5mscnt==4)
    {
      t5mscnt=0;
      P0=dispcode[dispbuf[dispbitcnt]];//P0=0xff
      P2=dispbitcode[dispbitcnt];//led on low level//P2
      dispbitcnt++;
      if(dispbitcnt==6)
        {
          dispbitcnt=0;
        }
    }
  t02scnt++;
  if(t02scnt==1600)
    {
      t02scnt=0;
      u++;
      if(u==7)
        {
          u=0;
        }
      for(i=0;i<6;i++)
        {
          dispbuf[i]=16;
        }
      for(i=0;i<u;i++)
        {
          dispbuf[i]=i;
        }
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -