¿-

来自「定时器控制数码管动态显示」· 代码 · 共 39 行

TXT
39
字号
#include<reg51.h>
#include<intrins.h>
#define uchar unsigned char
#define uint unsigned int	
uchar code tab1[]={
0xc0,0xf9,0xa4,0xb0,0x99,
0x92,0x82,0xf8,0x80,0x90,0xbf};//共阳数码管0123456789和“-”
uchar code tab2[][8]=
{
	{0,9,10,1,2,10,2,5},
	{2,1,10,5,7,10,3,9}
};
uchar i=0;j=0;
uint t=0;
void main()
{
	P2=0x80;
	TMOD=0x00;
	TH0=(8192-5000)/32;
	TL0=(8192-5000)%32;
	EA=1;
	ET0=1;
	TR0=1;
	while(1);
}
void timer0() interrupt 1
{
	TH0=(8192-5000)/32;
	TL0=(8192-5000)%32;//5MS定时
	P2=_crol_(P2,1);
	P0=tab1[tab2[i][j]];//选择第i行第j列的数
	j=(j+1)%8;
	t++;
	if(t==350) //刷新到T=350时换行
	{
		t=0;
		i=(i+1)%2;
	}	
}

⌨️ 快捷键说明

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