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

📄 display.c

📁 一种51单片机嵌入式系统SMALL RTOS 51的应用
💻 C
字号:

uchar code Table_disp[] 	= {0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xbf,0xf7,0xfe,0xc1,0xf3,0xe7,0x86,0x8c,0xc7,0x92,0xc8,0x8e,0xc6} ;
//							   0x00 0x01 0x02 0x03 0x04 0x05 0x06 0x07 0x08 0x09  -    _     -   U    *    #     E   P    L    S    n    F    C
uchar code Table_dispDot[] 	= {0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x78,0x00,0x10} ;
uchar code Table_no[4] 		={0xfe,0xfd,0xfb,0xf7} ;
uchar code Table_no1[4] 	={0x01,0x02,0x04,0x08} ;

uchar  idata P2_BUF ;
uchar  idata disp_buf[4] ;
uchar  dot_disp ;
uchar dotdisp_conter ;


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

void disp_Init()
{
	mem_set(disp_buf,0x80+10,4) ;
//	MUSIC = 0 ;
//	delay(200) ;
//	MUSIC = 1 ;
	mem_set(disp_buf,0,4) ;
}

void display_Line()
{
	uchar i ;
	
//	EA = 0 ;
	P2_BUF = P2 ;
	for(i=0;i<4;i++)
	{
		if(disp_buf[i]>=0xc0)
		{
			P2_BUF |= 0x0F ;
			P2 =P2_BUF ;
			
			P0 = Table_dispDot[disp_buf[i]&0x3f] ;
			
			P2_BUF &= Table_no[i] ;
			P2 =P2_BUF ;
//			for(j=0;j<100;j++) ;
			OSWait(K_TMO,0);                /* 等待1/600秒(由定时器中断决定)  */
		}
		else if(disp_buf[i]>=0x80)
		{
			P2_BUF |= 0x0F ;
			P2 =P2_BUF ;
			
			P0 = Table_disp[disp_buf[i]&0x7f] ;
			
			P2_BUF &= Table_no[i] ;
			P2 =P2_BUF ;
//			for(j=0;j<100;j++) ;
			OSWait(K_TMO,0);                /* 等待1/600秒(由定时器中断决定)  */
		}
	}
	P2_BUF |= 0x0F ;
	P2 = P2_BUF;
	P0 = 0xFF;
//	EA = 1 ;
}
/*
void disp_on_or_off(uchar flag)
{
	disp_buf[3] = 0x80 + 13 ;
	disp_buf[2] = 0x80 + 10 ;
	disp_buf[1] = 0x80 + 0  ;
	if(flag == 1) 
		disp_buf[0] = 0x80 + 20 ;
	else    disp_buf[0] = 0x80 + 21 ;
}
*/
void disp_time()
{
	if(dot_disp == 0)
	{
		disp_buf[0] = 0x80 + year_table.minute%10 ;
		disp_buf[1] = 0x80 + year_table.minute/10 ;
		disp_buf[2] = 0x80 + year_table.hour%10 ;
		disp_buf[3] = 0x80 + year_table.hour/10 ;
	}
	else
	{
		disp_buf[0] = 0xc0 + year_table.minute%10 ;
		disp_buf[1] = 0xc0 + year_table.minute/10 ;
		disp_buf[2] = 0x80 + year_table.hour%10 ;
		disp_buf[3] = 0x80 + year_table.hour/10 ;
	}
}

⌨️ 快捷键说明

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