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

📄 phoenixrev.c

📁 基于c51的四屏显示菜单 具有两个控制led灯的接口
💻 C
字号:
#include "C8051F020.h"			
#include "absacc.h"			
#include "data_define.c"
#include "YLF12232.c"
#include "ch452x.c"
#include "Init_Device.c"


uchar j=48,l=48,u=48,h=48,o=48,p=48;
void main(void)
{	void sc1(void);
	void sc2(void);
	void sc3(void);
	void sc4(void);
	sc1();}

void sc1(void)
{
	uchar i;
	unsigned long int m,n;
	Init_Device();				
	for(i=0;i<32;i++)
		LCD_data_Send(0x3d); 	
	LCD_locate(13);	  			
  	LCD_Ddata_Send(0xd7,0xd4);	
	LCD_Ddata_Send(0xc7,0xbf);	
	LCD_Ddata_Send(0xb2,0xbb);	
	LCD_Ddata_Send(0xcf,0xa2);	

	LCD_Ddata_Send(0xba,0xf1);	
	LCD_Ddata_Send(0xb5,0xc2);	
	LCD_Ddata_Send(0xd4,0xd8);	
	LCD_Ddata_Send(0xce,0xef); 	
	LCD_locate(16);				
	for(i=0;i<32;i++)
		LCD_data_Send(0x3d);	
	LCD_disply_LS(7);			

    n=8;
	while(n)					
	{
		LCD_char_LS(1);			
		for(m=56000;m>0;m--);
	    n--;
	}
	sc2();
}


void sc2(void)
{
	uchar x=0,y=0,i=1,m,n;
	Init_Device(); 
	LCD_com_Send(0x0c);  			
  	EIE2=EIE2|0x20;				
	EA=1; 				 		
	CH452_DOUT=1;

	LCD_Ddata_Send(0xbd,0xf8);	
	LCD_Ddata_Send(0xc8,0xeb);	
	LCD_Ddata_Send(0xc6,0xc1);	
	LCD_Ddata_Send(0xa3,0xb1);	
	LCD_Ddata_Send(0xb0,0xb4);
	LCD_Ddata_Send(0xa3,0xc1);
	LCD_Ddata_Send(0xbc,0xfc);
	LCD_locate(8);
	LCD_Ddata_Send(0xbd,0xf8);	
	LCD_Ddata_Send(0xc8,0xeb);	
	LCD_Ddata_Send(0xc6,0xc1);	
	LCD_Ddata_Send(0xa3,0xb2);	
	LCD_Ddata_Send(0xb0,0xb4);
	LCD_Ddata_Send(0xa3,0xc2);
	LCD_Ddata_Send(0xbc,0xfc); 					
	
	while(1)				
	{
		ch452_key=0x00;			
		while(!x) x=ch452_key;	
		switch(x)				
		{
			case key_val_a:sc3();break;
			case key_val_b:sc4();break;
			default:break;
		}	
	    x=0x00;
	 }
	  
}

void sc3(void)
{
	uchar x=0,y=0,i,a,b,c,d,e,f;
	Init_Device();   			
  	EIE2=EIE2|0x20;				
	EA=1; 				 		
	CH452_DOUT=1;

	LCD_locate(0);
	LCD_Ddata_Send(0xb8,0xdf);	
	LCD_Ddata_Send(0xce,0xc2);	
	LCD_locate(8);	
	LCD_Ddata_Send(0xb5,0xcd);
	LCD_Ddata_Send(0xce,0xc2);

	LCD_locate(3);
	LCD_data_Send(h);
	LCD_locate(4);
	LCD_data_Send(j);
	LCD_locate(5);
	LCD_data_Send(l);
	LCD_locate(6);
	LCD_Ddata_Send(0xa1,0xe6);
	
	LCD_locate(11);
	LCD_data_Send(u);
	LCD_locate(12);
	LCD_data_Send(o);
	LCD_locate(13);
	LCD_data_Send(p);
	LCD_locate(14);
	LCD_Ddata_Send(0xa1,0xe6);

	LCD_locate(3);
	i=3;
	a=49;b=49;c=49;d=49;e=49;f=49;
	while(1)				
	{
		ch452_key=0x00;			
		while(!x) x=ch452_key;	
		switch(x)				
		{
			case key_val_1: 
				{if(i==4||i==5||i==12||i==13)
					{LCD_cursor_LS(1);i--;}
				 else if(i==3)
					{LCD_locate(13);i=i+10;}
  				 else if(i==11)
				 	{LCD_locate(5);i=i-6;}
				}break;	
            case key_val_2: 
				{if(i==3||i==4||i==11||i==12)
					{LCD_cursor_RS(1);i++;}
				 else if(i==5)
				 	{LCD_locate(11);i=i+6;}
				 else if(i==13)
				 	{LCD_locate(3);i=i-10;}
				}break;
            case key_val_6: 
				{if(i==3)
				   {h=a;
				    LCD_data_Send(a++);
					LCD_locate(i);
				 	if(a==58)a=48;}
				 else if(i==4)
				   {j=b;
				    LCD_data_Send(b++);
					LCD_locate(i);
				 	if(b==58)b=48;}
				 else if(i==5)
				   {l=c;
				    LCD_data_Send(c++);
					LCD_locate(i);
				 	if(c==58)c=48;}
				 else if(i==11)
				   {u=d;
				    LCD_data_Send(d++);
					LCD_locate(i);
				 	if(d==58)d=48;}
				 else if(i==12)
				   {o=e;
				    LCD_data_Send(e++);
					LCD_locate(i);
				 	if(e==58)e=48;}
				 else if(i==13)
				   {p=f;
				    LCD_data_Send(f++);
					LCD_locate(i);
				 	if(f==58)f=48;}
				}break;
            case key_val_7:
				{if(i==3)
				   {h=a;
				    LCD_data_Send(a--);
				 	LCD_locate(i);
				 	if(a==47)a=57;}
				 else if(i==4)
				   {j=b;
				    LCD_data_Send(b--);
				 	LCD_locate(i);
				 	if(b==47)b=57;}
				 else if(i==5)
				   {l=c;
				    LCD_data_Send(c--);
				 	LCD_locate(i);
				 	if(c==47)c=57;}
				 else if(i==11)
				   {u=d;
				    LCD_data_Send(d--);
				 	LCD_locate(i);
				 	if(d==47)d=57;}
				 else if(i==12)
				   {o=e;
				    LCD_data_Send(e--);
				 	LCD_locate(i);
				 	if(e==47)e=57;}
				 else if(i==13)
				   {p=f;
				    LCD_data_Send(f--);
				 	LCD_locate(i);
				 	if(f==47)f=57;}
				}break;
			case key_val_a:break;
			case key_val_b:sc2();break;
			default:break;
		}	
	    x=0x00;
	 }
	  
}

void sc4(void)
{
    uchar x=0,i,a,b;

    Init_Device();
	LCD_locate(1);
	LCD_Ddata_Send(0xca,0xe4);
	LCD_Ddata_Send(0xc8,0xeb);
	LCD_locate(5);
	LCD_Ddata_Send(0xca,0xe4);
	LCD_Ddata_Send(0xb3,0xf6);
	LCD_locate(9);
	LCD_Ddata_Send(0xbf,0xaa);
	LCD_Ddata_Send(0xb9,0xd8);
	LCD_locate(13);
	LCD_Ddata_Send(0xb8,0xdf);
	LCD_Ddata_Send(0xb8,0xdf);

	LCD_locate(13);
	i=13;a=1;b=1;
	LED1=1;LED2=1;LED3=1;LED4=1; 
	while(1)				
	{
		ch452_key=0x00;			
		while(!x) x=ch452_key;	
		switch(x)				
		{
			case key_val_1: 
            case key_val_2: 
				{if(i==13)
					{LCD_locate(14);i=14;LED3=1;LED4=1;}
  				 else if(i==14)
				 	{LCD_locate(13);i=13;LED3=1;LED4=1;}
				}break;
          case key_val_6: 
		  case key_val_7:
				{if(i==13)
				   {if(a==1)
				   		{LCD_Ddata_Send(0xb5,0xcd);
						a=0;LCD_locate(13);
						LED1=0;LED3=1;LED4=1;}
					else if(a==0)
						{LCD_Ddata_Send(0xb8,0xdf);
						a=1;LCD_locate(13);
						LED1=1;LED3=1;LED4=1;}
					}
				 if(i==14)
				 	{if(b==1)
				   		{LCD_Ddata_Send(0xb5,0xcd);
						b=0;LCD_locate(14);
						LED2=0;LED3=1;LED4=1;}
					else if(b==0)
						{LCD_Ddata_Send(0xb8,0xdf);
						b=1;LCD_locate(14);
						LED2=1;LED3=1;LED4=1;}
					}
				}break;
				   
			case key_val_a:break;
			case key_val_b:sc2();break;
			default:break;
		}
	    x=0x00;
	 }	

}



⌨️ 快捷键说明

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