📄 numericaltube.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 + -