4-1.c

来自「8051单片机学习源码 包括定时器、键盘、液晶显示等」· C语言 代码 · 共 98 行

C
98
字号
#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int

sbit dula=P2^6;
sbit wela=P2^7;
uchar count;
uint num;

uchar code tabledu[]={
0x3f,0x06,0x5b,0x4f,
0x66,0x6d,0x7d,0x07,
0x7f,0x6f,0x77,0x7c,
0x39,0x5e,0x79,0x71};

uchar code tablewe[]={
0x01,0x02,0x04,0x08,
0x10,0x20  
}; 
void delay(uchar);
void display(uchar,uchar,uchar);


void main()
{
 EA=1;
 ET1=1;
 TMOD=0X10;
 TH1=(65535-10000)/256;
 TL1=(65535-10000)%256;
 num=0;
 TR1=1;
 while(1)
 	{if(num==999) num=0; 
	 else if(count==2)
		{count=0;
		 num++;	
		}
	display(num/100,num%100/10,num%10);
														 	
	}

}


 void display(uchar b,uchar s,uchar g)
 	{
	P0=0X00;
	wela=1;
	wela=0;
	P0=~tabledu[b];
	dula=1;
	dula=0;
	P0=tablewe[0];
	wela=1;
	wela=0;
	delay(2);

	P0=0X00;
	wela=1;
	wela=0;
	P0=~tabledu[s];
	dula=1;
	dula=0;
	P0=tablewe[1];
	wela=1;
	wela=0;
	delay(2);

	P0=0X00;
	wela=1;
	wela=0;
	P0=~tabledu[g];
	dula=1;
	dula=0;
	P0=tablewe[2];
	wela=1;
	wela=0;
	delay(2);	
	
	}


 void delay(uchar n)
 	{uchar i,j;
	for(i=n;i>0;i--)
		for(j=255;j>0;j--);
	
	}

void time01() interrupt 3
{
 TH1=(65535-10000)/256;
 TL1=(65535-10000)%256;
 count++;
}

⌨️ 快捷键说明

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