21拉幕式数码显示技术.c

来自「C51学习书」· C语言 代码 · 共 59 行

C
59
字号
#include <reg51.h> //21.            拉幕式数码显示技术
unsigned char code dispcode[]={0x3f,0x06,0x5b,0x4f, 
                               0x66,0x6d,0x7d,0x07, 
                               0x7f,0x6f,0x77,0x7c, 
                               0x39,0x5e,0x79,0x71,0x00}; 
unsigned char dispbitcode[]={0xf8,0xf9,0xfa,0xfb, 
                             0xfc,0xfd,0xfe,0xff}; 
unsigned char dispbuf[8]={16,16,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; 
  TH0=0x06; 
  TL0=0x06; 
  TR0=1; 
  ET0=1; 
  EA=1; 
  while(1); 
} 
  
void t0(void) interrupt 1 using 0 
{ 
  t5mscnt++; 
  if(t5mscnt==4) 
    { 
      t5mscnt=0; 
      P0=dispcode[dispbuf[dispbitcnt]]; 
      P1=dispbitcode[dispbitcnt]; 
      dispbitcnt++; 
      if(dispbitcnt==8) 
        { 
          dispbitcnt=0; 
        } 
    } 
  t02scnt++; 
  if(t02scnt==1600) 
    { 
      t02scnt=0; 
      u++; 
      if(u==9) 
        { 
          u=0; 
        } 
      for(i=0;i<8;i++) 
        { 
          dispbuf[i]=16; 
        } 
      for(i=0;i<u;i++) 
        { 
          dispbuf[i]=8; 
        } 
    } 
} 

⌨️ 快捷键说明

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