0-99.c

来自「实现数码管动态显示0到99」· C语言 代码 · 共 88 行

C
88
字号
#include<reg51.h>
sbit p30=P3^0;
sbit p31=P3^1;
unsigned char a,b;
unsigned char i;
char code bittab[]={0x01,0x02};
char code tab[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88}; 
unsigned char dispbuf[2]; //dispbuf
//char code tab[]=//6ms扫描一次
//char code buffer[]=
void Timer0() interrupt 1
{  unsigned char count,tmp;
TH0=(65536-6000)%256;	 //6ms
TL0=(65536-6000)/256;
P3=bittab[count];

//a=i/10;
//b=i%10;
  tmp=dispbuf[count];	 //加了个dispbuf 就可以显示两个值
 tmp=tab[tmp];
 	P1=tmp;
 	count++;
if(count==2)
count=0;
}

 void delay(int x)
 { unsigned int j;
 while(x--)
 {for(j=0;j<124;j++);
 }
 }
void main()
{

TMOD=0X01;
TH0=(65536-3000)%256;
TL0=(65536-3000)/256;
EA=1;
ET0=1;
TR0=1;
//p30=1;
//p31=0;
		
while(1)
{
//if(counter==10)
//{
//counter=0;
dispbuf[1]=b;
dispbuf[0]=a;
i++;
a=i/10;
b=i%10;
if(i==99)
i=0;

  delay(100);
 }


		}

























⌨️ 快捷键说明

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