led1.c

来自「C51共阳七段数码管动态显示」· C语言 代码 · 共 57 行

C
57
字号
#include <reg51.h>

//共阳段码,0-9//
unsigned char code Seven_Led[] = {0xc0,0xF9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};

//共阴段码,0-9//
//unsigned char code Seven_Led[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};	

void Delay5ms(void)
{	
	int	k;
	for(k=0;k<600;k++);	   //		k=124/1ms
}   

					 
void display(int k)
{	
						 //最高位
	P0=Seven_Led[k/1000];	          //取出千位的数字
    P2=0x08;						  //选中P2.3为千位    P2=0000 1000  
	Delay5ms();						  //延时5ms
	P2=0x00;						  //清空P2

	
	P0=Seven_Led[k%1000/100];	      //取出百位的数字
    P2=0x04;						  //选中P2.2为百位    P2= 0000 0100
	Delay5ms();						  //延时5ms
	P2=0x00;						  //清空P2

	
	P0=Seven_Led[k%100/10];	          //十位处理
	P2=0x02;
    Delay5ms();
	P2=0x00;

					   //最低位
	P0=Seven_Led[k%10];               //个位处理
	P2=0x01;
    Delay5ms();
	P2=0x00;	 
}

void main(void)		                 //主程序
{	SP=0x60;
	
	P2=0xff;
	P0=0x00;
while(1)
	{
	display(9876);                    //调用显示处理子程序
	//Delay50ms();
	//P0=Seven_Led[1];
	//P2=0x01;
	}
					
}

⌨️ 快捷键说明

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