数码管.txt

来自「关于51单片机开发板的数码管显示程序 本人菜鸟 望大家多多指教」· 文本 代码 · 共 56 行

TXT
56
字号
#include <reg52.h>
void delay( void );

code unsigned char Led7Seg[]={
	0x3f, 0x06, 0x5b, 0x4f, 0x66, 0x6d, 0x7d, 0x07, 
	0x7f, 0x67, 0x77, 0x7c, 0x39, 0x5e, 0x79, 0x71 };

code unsigned char LEDi[]={ 0xfe, 0xfd, 0xfb, 0xf7 };

unsigned char LedBuff[4];

void LedShow( void ) interrupt 1
{
	static unsigned char i=0;
	static unsigned int second = 1000000L/250;
	
	P2 |= 0x0f;
	P0 = Led7Seg[ LedBuff[i] ];
	P2 &= LEDi[i];
	if( ++i > 3 ) i=0;

	if( --second == 0 )
	{	
		++LedBuff[3];
		second = 1000000L/250;
	}

}

void Timer0Initial( void )
{
	TMOD = (TMOD & 0xf0 ) | 0x02;
	TH0 = -250;
	TR0 = 1;
	ET0 = 1;
//	EA = 1;
}

void main( void )
{
	int i, j;
	unsigned int dat = 0x0100;

	Timer0Initial();

	LedBuff[0]=dat/1000;	dat %=1000;
	LedBuff[1]=dat/100;		dat %=100;
	LedBuff[2]=dat/10;		dat %=10;
	LedBuff[3]=dat/1;

	for( ; ; )
	{
		P1 ++ ;
	}
}

⌨️ 快捷键说明

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