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

📄 lcd.c

📁 拼音输入法,通过单片机实现
💻 C
📖 第 1 页 / 共 2 页
字号:
		for(i=0;i<3;i++)
		{
		        display(6,16*i,str2,i);
				display(6,80+16*i,str2,i+3);
		}

		for(i=0;i<3;i++)
		{
		        display(2,16*i,time,i);//星期二
		}


		display(2,80,time,3);
		display(2,112,time,4);

		displaye(4,8*5,num,2);
		displaye(4,8*5+8,num,3);
		displaye(4,8*5+8*2,num,10);
		displaye(4,8*5+24,num,4);
		displaye(4,8*5+32,num,6);


		temp=key();
		if(temp==0)	     //left
		{
		        state=1;
				cls();
		}		 
        
}


void screen1()  //state=1
{
            
	    uchar i,temp;
        //cls();
		for(i=0;i<4;i++)
		        display(0,16*i,str3,i);
		for(i=0;i<2;i++)
		{
		        display(6,16*i,enter,i);
				display(6,96+16*i,enter,i+2);
		}
		displaye(6,80,num,1);
		temp=key();
		if(temp==1)		  //right
		{
		        state=0;  //State Change
				cls();
		}
		else if(temp==2)
		{
		        state=7;
				cls();
		}
		else if(temp==3)
		{
		        state=2;
				cls();
		}
}


void screen2()  //state=2
{
        uchar i,temp;
		for(i=0;i<4;i++)
		        display(0,16*i,wenben,i);
		for(i=0;i<2;i++)
		{
		        display(6,16*i,enter,i);
				display(6,96+16*i,enter,i+2);
		}
		displaye(6,80,num,2);
		temp=key();
		if(temp==1)		//right
		{
		        state=0;  //State Change
				cls();
		}
		else if(temp==2)
		{
		        state=1;
				cls();
		 }
		 else if(temp==3)
		 {	    state=3;
				cls();
		        
		 }

}

void screen3()     //state=3;
{
        uchar i,temp;
		for(i=0;i<4;i++)
		        display(0,16*i,yuyin,i);
		for(i=0;i<2;i++)
		{
		        display(6,16*i,enter,i);
				display(6,96+16*i,enter,i+2);
		}
		displaye(6,80,num,3);
		temp=key();
		if(temp==1)		//right
		{
		        state=0;  //State Change
				cls();
		}
		else if(temp==2)   //UP
		{
		        state=2;
				cls();
		 }
		 else if(temp==3)  //down
		 {
		         state=4;
				 cls();
		 }

}

void screen4()     //state=4;
{
        uchar i,temp;
		for(i=0;i<4;i++)
		        display(0,16*i,lingsheng,i);
		for(i=0;i<2;i++)
		{
		        display(6,16*i,enter,i);
				display(6,96+16*i,enter,i+2);
		}
		displaye(6,80,num,4);
		temp=key();
		if(temp==1)		//right
		{
		        state=0;  //State Change
				cls();
		}
		else if(temp==2)   //UP
		{
		        state--;
				cls();
		 }
		 else if(temp==3)  //down
		 {
		         state=5;
				 cls();
		 }

}

void screen5()     //state=5
{
        uchar i,temp;
		for(i=0;i<2;i++)
		        display(0,16*i,lingsheng,i+2);
		for(i=0;i<2;i++)
		{
		        display(6,16*i,enter,i);
				display(6,96+16*i,enter,i+2);
		}
		displaye(6,80,num,5);
		temp=key();
		if(temp==1)		//right
		{
		        state=0;  //State Change
				cls();
		}
		else if(temp==2)   //UP
		{
		        state--;
				cls();
		 }
		 else if(temp==3)  //down
		 {
		         state=6;
				 cls();
		 }

}

void screen6()     //state=6
{
        uchar i,temp;
		for(i=0;i<4;i++)
		        display(0,16*i,guanli,i);
		for(i=0;i<2;i++)
		{
		        display(6,16*i,enter,i);
				display(6,96+16*i,enter,i+2);
		}
		displaye(6,80,num,6);
		temp=key();
		if(temp==1)		//right
		{
		        state=0;  //State Change
				cls();
		}
		else if(temp==2)   //UP
		{
		        state--;
				cls();
		 }
		 else if(temp==3)  //down
		 {
		         state=7;
				 cls();
		 }

}


void screen7()     //state=7
{
        uchar i,temp;
		for(i=0;i<2;i++)
		        display(0,16*i,game,i);
		for(i=0;i<2;i++)
		{
		        display(6,16*i,enter,i);
				display(6,96+16*i,enter,i+2);
		}
		displaye(6,80,num,7);
		temp=key();
		if (temp==0)      //left
		{
		        state=71;
				cls();
		}
		else if(temp==1)  //right
		{
		        state=0;  //State Change
				cls();
		}
		else if(temp==2)   //UP
		{
		        state--;
				cls();
		 }
		 else if(temp==3)  //down
		 {
		         state=1;
				 cls();
		 }

}



void screen71()     //state=71
{
        uchar i,temp;

		EA=1;
		ET0=1;
		TH0=0x4c;TL0=0;
		TR0=1;
		//rectangle(12,20);
		for(i=0;i<3;i++)
		        display(0,16*(i+2),tanchi,i);

		for(i=0;i<2;i++)
		{
		        display(6,16*i,enter,i);
				display(6,96+16*i,enter,i+2);
		}

		switch(key())
		{		case 0:  d=0;break;
				case 2:  d=1;break;
			    case 3:  d=2;break;
				default:break;
		}
	    if(move==1)
		{		rectangleb(m,n);//除去先前的点								
				if(d==0)
				{
				        m=m+4;
						if(m>123)m=0;
				}
				else if(d==1)
				{
				        n=n-4;
						if(n<4)n=63;
				}
				else if(d==2)
				{
				        n=n+4;
						if(n>60)n=0;
				}
		        rectangle(m,n);
				move=0;
	    }
					 
		temp=key();
		if(temp==0)  //right
		{
		        state=72;  //State Change
				cls();
		}
		else if(temp==1)
		{
		        state=7;
				cls();
		 }
}
		
void screen72()     //state=72
{
        uchar i,temp;
		

		for(i=0;i<2;i++)
		{
		        display(6,16*i,enter,i);
				display(6,96+16*i,enter,i+2);
		}
		displaye(0,0,num,1);
		//rectangle(64,32);

		for(i=0;i<2;i++)
		        display(0,16*(i+2),game,i+2);
		for(i=0;i<2;i++)
				display(0,16*(i+4),game,i);
		displaye(2,0,num,2);
		for(i=0;i<2;i++)
		        display(2,16*(i+2),game,i+4);
		if(ii==0)	                          //在按键的外面判断状态
		                                   	  //不然的话可能不好处理
		{
		        display(0,16,sp,0);
		        display(0,106,sp,1);
				display(2,16,sp,2);
		        display(2,106,sp,2);
		}
	    else if(ii==1)
		{
		  	    display(0,16,sp,2);
		        display(0,106,sp,2);
			    display(2,16,sp,0);
		        display(2,106,sp,1);
	     }				
			    	 	 
		temp=key();
		if ((temp==0)&&(ii==1))
		{    
		        state=73;
				cls();
		}
		else if(temp==0&&ii==0)
		{
		        state=74;
				cls();
		 }

		else if(temp==1)  //right
		{
		        state=71;  //State Change
				cls();
		}
		else if(temp==2)   //UP
		{
		       	//ii=1;
		        if(ii==0)  	ii=1;
				else        ii=0;
				//cls();    
								   
	    } 

}

void screen73()     //state=6
{
        uchar i,temp;

		for(i=0;i<2;i++)
		{
		        //display(6,16*i,enter,i);
				display(6,96+16*i,enter,i+2);
		}
	//	rectangle(64,32);
	//	for(i=0;i<128;i++)
	//	        point(i,0);
		
	//    for(i=0;i<4;i++)
	//	{
	//	        for(j=0;j<16;j++) {point((32*i+8+j),45);point((32*i+8+j),44);}
	//	 }
		temp=key();
		if(temp==1)		//right
		{
		        state=72;  //State Change
				cls();
		}

}


void screen74()     //state=6
{
        uchar i;
		for(i=0;i<128;i++)
		{
		        point(i,0);
				point(i,63);
		 }
		 
		
		

}
void  rectangle(x,y)
{
        uchar i,j;
        for(i=0;i<4;i++)
		        for(j=0;j<4;j++)
				        point(x+i,y+j);

}
						  
void  rectangleb(x,y)
{
        uchar i,j;
        for(i=0;i<4;i++)
		        for(j=0;j<4;j++)
				        pointb(x+i,y+j);

}

time0() interrupt 1 using 0
{
        TH0=0x4c;TL0=0x00;
		cnt0++;
		if(cnt0==20)
		{
		        
		        cnt0=0;
				move=1;
			
		 }
}

		 

  


⌨️ 快捷键说明

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