⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 display.c

📁 一种51单片机接收电话线上DTMF
💻 C
字号:
uchar code Table_disp[] 	= {0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xc1,0xf3,0xe7,0x86,0x8c,0xc7,0x92,0x89,0xc8,0x8e,0x8d,0x91,0xbf} ;
//				   0x00 0x01 0x02 0x03 0x04 0x05 0x06 0x07 0x08 0x09  A    b     C   U    *    #     E   P    L    S    H    N    F    r    y	 -
//				    0    1    2     3    4    5    6    7   8     9   10   11   12   13   14   15   16   17   18   19   20   21   22   23   24	 25
uchar code Table_no[4] 		={0xfe,0xfd,0xfb,0xf7} ;
uchar code Table_no1[4] 	={0x01,0x02,0x04,0x08} ;

void mem_set(uchar *out,uchar value,uchar Len)
{
	uchar i ;
	
	for(i=0;i<Len;i++)
		*(out+i) = value ;
}

void mem_move(uchar *out,uchar *in,uchar Len)
{
	uchar i ;
	
	for(i=0;i<Len;i++)
		*(out +i) = *(in +i) ;
}

void disp_Init()
{
	mem_set(disp_buf,0x80+25,4) ;
//	delay(150) ;
//	mem_set(disp_buf,0,4) ;
}

void display_Line()  using 2
{
	uchar i,j;
	
	EA = 0 ;
	P2_BUF = P2 ;
	for(i=0;i<4;i++)
	{
		if(disp_buf[i]>=0x80)
		{
			P2_BUF |= 0xeF ;
			P2 =P2_BUF ;
			
			P0 = Table_disp[disp_buf[i]&0x7f] ;
			
			P2_BUF &= Table_no[i] ;
			P2 =P2_BUF ;
			for(j=0;j<100;j++) ;
		}
	}
	P2_BUF |= 0xeF ;
	P2 = P2_BUF;
	P0 = 0xFF;
	EA = 1 ;
}
/*
void disp_no(uchar *in,uchar length)
{
	uchar i ;
	
	mem_set(disp_buf,0,4) ;
	if(length<4)
	{
		for(i=0;i<length;i++)
		{
			disp_buf[i] = *(in+length -i-1) + 0x80;
		}
	}
	else
	{
		for(i=0;i<4;i++)
		{
			disp_buf[3-i] = *(in+length-4+i)+ 0x80 ;
		}
	}
}

void Disp_Updata(uchar code1,uchar flag1,uchar code2,uchar flag2)
{
	if((flag1 == 1)||(flag1 == 0))
	{
		if(code1 > 99)
		{
			disp_buf[1] = 0;
			disp_buf[0] = 0;
		}
		else
		{
			if(flag1 == 0)
			{
				disp_buf[1] = 0x80 + code1/10;
				disp_buf[0] = 0x80 + code1%10;
			}
			else
			{
				disp_buf[1] = 0xd0 + code1/10;
				disp_buf[0] = 0xd0 + code1%10;
			}
		}
	}
	else if(flag1 == 2)
	{
		if(code1 == 1)
		{
		 	disp_buf[1] = 0x80+10;//'-'
			disp_buf[0] = 0x80+10;//'-'
		}
	}
	if((flag2 == 1)||(flag2 == 0))
	{
		if(code2 > 99)
		{
			disp_buf[3] = 0;
			disp_buf[2] = 0;
		}
		else
		{
			if(flag2 == 0)
			{
				disp_buf[3] = 0x80 + code2/10;
				disp_buf[2] = 0x80 + code2%10;
			}
			else
			{
				disp_buf[3] = 0xd0 + code2/10;
				disp_buf[2] = 0xd0 + code2%10;
			}
		}
	}
	else if(flag2 == 2)
	{
		if(code2 == 1)
		{
		 	disp_buf[3] = 0x80+10;//'-'
			disp_buf[2] = 0x80+10;//'-'
		}
	}
}*/

void Updata_Number(uchar in)
{
	disp_buf[3] = disp_buf[2];
	disp_buf[2] = disp_buf[1];
	disp_buf[1] = disp_buf[0];
	disp_buf[0] = in +0x80;
}

/*void disp_time()
{
	disp_buf[3] = 0x80 + secand/10 ;
	disp_buf[2] = 0x80 + secand%10 ;
	disp_buf[1] = 0x80+10;
	disp_buf[0] = 0x80 + paomiao ;
}

void Sure_Key()
{
	temp_data=OKey_RP_Scan();
	if((temp_data!=OKey_Macro_NoKey)&&(temp_data!=Macro_UnhandEvent))
		Disp_Updata(OKey_RD_KeyTable[temp_data].ScanCode,0,1,2);
}*/

void Updata_1Led(uchar in3,uchar in2,uchar in1,uchar in0)
{
	disp_buf[3] = in3 + 0x80;
	disp_buf[2] = in2 + 0x80;
	disp_buf[1] = in1 + 0x80;
	disp_buf[0] = in0 + 0x80;
}

⌨️ 快捷键说明

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