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

📄 lcm141.c

📁 基于msp430的液晶显示模块LCM141
💻 C
📖 第 1 页 / 共 2 页
字号:
          P1OUT &= ~lcm_data;
        }
        times();
        P1OUT |= lcm_wr;       
        times();        
	lcmdress<<=1;
	 }  
 /////////送数据 >>>>>>>>> int flag:D15~D4 ----->>> K13~K10  K5~K8  K4~K1   (D0~D3  D0~D3  D0~D3)
   
   for (j=1;j<=12;j++)

   {
    
        P1OUT &= ~lcm_wr;
        times();	 
        if ((flag&0x8000)==0x8000)
        {
          P1OUT |= lcm_data;  
        }
	else
        {
          P1OUT &= ~lcm_data;
        }
        times();
        P1OUT |= lcm_wr;       
        times();        
	flag<<=1;   	     
     }

///////////************************************K15~K18
 lcmdress=0x1B;

	 P1OUT |= lcm_cs;
         times();
         P1OUT &= ~lcm_cs;
         times();
///////////////////////送101
         P1OUT &= ~lcm_wr;
         times();
         P1OUT |= lcm_data;   
         times();//---------------1
         P1OUT |= lcm_wr;
         times();
///////////////////
         P1OUT &= ~lcm_wr;
         times(); 
         P1OUT &= ~lcm_data;
         times();//-----------------0
         P1OUT |= lcm_wr;
         times();
////////////////
         P1OUT &= ~lcm_wr;
         times();
         P1OUT |= lcm_data;   
         times();//---------------1
         P1OUT |= lcm_wr;
         times();  
 
  
 ////送显示地址代码
    
	lcmdress<<=2;  //构成 0 A4-A0
	 
    for (i=1;i<=6;i++)
     {
        P1OUT &= ~lcm_wr;
        times();	 
        if ((lcmdress&0x80)==0x80)
        {
          P1OUT |= lcm_data;  
        }
	else
        {
          P1OUT &= ~lcm_data;
        }
        times();
        P1OUT |= lcm_wr;       
        times();        
	lcmdress<<=1;   
	 }	
     //...................K16  K17  K18  K15
	    
     for (i=1;i<=4;i++)
      {
        P1OUT &= ~lcm_wr;
        times();	 
        if ((flag&0x8000)==0x8000)
        {
          P1OUT |= lcm_data;  
        }
	else
        {
          P1OUT &= ~lcm_data;
        }
        times();
        P1OUT |= lcm_wr;       
        times();        
	flag<<=1;  
      }
}



void leijifloattodisbuffer(double  floatnumber,unsigned char bit_xiaoshu,unsigned char errorr)
 {
   
	unsigned char  m[11];
        unsigned char  i,j;
	unsigned char  bit_point=0;	
	unsigned long  fl1=0,fl2=0;
        double  flat1=0,flat2=0;

	unsigned char neg_flag=0;

	for (i=0;i<8;i++)
	disbuffer[i]=20;


   	if(floatnumber<-9999999.0)
	goto aaaa;

     if(floatnumber<0.0)
	 {
	   floatnumber=-floatnumber;
       neg_flag=1;
     }

    if(floatnumber>99999999.0||(errorr))
	{
aaaa: disbuffer[0] = 29;
	  for (i=1;i<8;i++)
	  disbuffer[i]=20;
	  return;
	 }


   floatnumber=floatnumber+0.0005;
   flat2=modf(floatnumber,&flat1);
   flat2*=1000.0;
   fl2=(long)flat2;
   fl1=(long)flat1; 


   for (i=0;i<11;i++)
   m[i]=0;
	//...........
	for(i=0;i<3;i++)
	{
	  m[i]=fl2%10;
	  fl2/=10;
	}
	i=3;
	do
	{
	   m[i++]=fl1%10;
	   fl1/=10;
	}while(fl1>0);



    if(neg_flag==0)
	{		   
		if((floatnumber<100000.0)&&(floatnumber>=0.0)||(bit_xiaoshu==3))
		{
		   for(i=0;i<8;i++)
		   {
		   //if((m[i]<=9)&&(m[i]>=0))
		   disbuffer[7-i]=m[i];
		   }
		   bit_point=4;
		   disbuffer[bit_point]+=10;
		}
		if((floatnumber<1000000.0)&&(floatnumber>=100000.0)||(bit_xiaoshu==2))
		{
		   for(i=0;i<8;i++)
		   {
		   //if((m[i+1]<=9)&&(m[i+1]>=0))
		   disbuffer[7-i]=m[i+1];
		   }
		   bit_point=5;
		   disbuffer[bit_point]+=10;
		}
		if((floatnumber<10000000.0)&&(floatnumber>=1000000.0)||(bit_xiaoshu==1))
		{
		   for(i=0;i<8;i++)
		   {
		    //if((m[i+2]<=9)&&(m[i+2]>=0))
		   disbuffer[7-i]=m[i+2];
		   }
		   bit_point=6;
		   disbuffer[bit_point]+=10;
		}
		if((floatnumber<100000000.0)&&(floatnumber>=10000000.0)||(bit_xiaoshu==0))
		{
		   for(i=0;i<8;i++)
		   {
		   //if((m[i+3]<=9)&&(m[i+3]>=0))
		   disbuffer[7-i]=m[i+3];
		   }
		   bit_point=7;		  
		}
		
		for (i=0;i<bit_point;i++)
			{
			   if (disbuffer[i]!=0) 
			    {
			     break; 
				}
			   else 
			    {
			      disbuffer[i]=0x14;
		        }		  		   
			 }
	 }	 	//灭零处理
	 else
	 {
	 	if((floatnumber<10000.0)&&(floatnumber>=0.0)||(bit_xiaoshu==3))
		{
		   for(i=0;i<8;i++)
		   {
		   //if((m[i+0]<=9)&&(m[i+0]>=0))
		   disbuffer[7-i]=m[i+0];
		   }
		   bit_point=4;
		   disbuffer[bit_point]+=10;
		}		
		if((floatnumber<100000.0)&&(floatnumber>=10000.0)||(bit_xiaoshu==2))
		{
		   for(i=0;i<8;i++)
		   {
		   //if((m[i+1]<=9)&&(m[i+1]>=0))
		   disbuffer[7-i]=m[i+1];
		   }
		   bit_point=5;
		   disbuffer[bit_point]+=10;
		}
		if((floatnumber<1000000.0)&&(floatnumber>=100000.0)||(bit_xiaoshu==1))
		{
		   for(i=0;i<8;i++)
		   {
		   //if((m[i+2]<=9)&&(m[i+2]>=0))
		   disbuffer[7-i]=m[i+2];
		   }
		   bit_point=6;
		   disbuffer[bit_point]+=10;
		}
		if((floatnumber<10000000.0)&&(floatnumber>=1000000.0)||(bit_xiaoshu==0))
		{
		   for(i=0;i<8;i++)
		   {
		    //if((m[i+3]<=9)&&(m[i+3]>=0))
		   disbuffer[7-i]=m[i+3];
		   }
		   bit_point=7;
		}
				
		for (i=0,j=0;i<bit_point;i++)
			{
			   if (disbuffer[i]!=0) 
			    {
			     break; 
				}
			   else 
			    {
			      disbuffer[i]=0x14;
				  j++;
		        }		  		   
			}
	 		disbuffer[j-1]=31;//'-'	 
	 }
}
void sunsifloattodisbuffer(double floatnumber,unsigned char bit_xiaoshu,unsigned char errorr)
 {
	unsigned  char  n[9];
    unsigned char  i,j;
	unsigned char  bit_point=0;
	unsigned long  fl1=0,fl2=0;
    double  flat1=0,flat2=0;
	
	unsigned char neg_flag=0;

	 for (i=0;i<6;i++)
	 disbuffer1[i]=20;
	
	if(floatnumber<-99999.0)
	goto aaaa;
	 //.................
     if(floatnumber<0.0)
	 {
	   floatnumber=-floatnumber;
       neg_flag=1;
     }
	 //...................	 

	 if((floatnumber>999999.0)||(errorr))
	 {
aaaa: disbuffer1[0] = 27;
	  for (i=1;i<6;i++)
	  disbuffer1[i]=20;
	  return;
	 }


	 floatnumber=floatnumber+0.0005;
     flat2=modf(floatnumber,&flat1);
	 flat2*=1000.0;
	 fl2=(long)flat2;
	 fl1=(long)flat1;     

     for (i=0;i<9;i++)
     n[i]=0;

	i=0;
	for(i=0;i<3;i++)
	{
	  n[i]=fl2%10;
	  fl2/=10;
	}
	i=3;
	do
	{
	   n[i++]=fl1%10;
	   fl1/=10;
	}while(fl1>0);

	if(neg_flag==0)
	{
			if((floatnumber<1000.0)&&(floatnumber>=0.0)||(bit_xiaoshu==3))
			{
			   for(i=0;i<6;i++)
			   {
			   //if((n[i]<=9)&&(n[i]>=0))
			   disbuffer1[5-i]=n[i];
			   }
			   bit_point=2;
			   disbuffer1[bit_point]+=10;
			}
			if((floatnumber<10000.0)&&(floatnumber>=1000.0)||(bit_xiaoshu==2))
			{
			   for(i=0;i<6;i++)
			   {
			   //if((n[i+1]<=9)&&(n[i+1]>=0))
			   disbuffer1[5-i]=n[i+1];
			   }
			   bit_point=3;
			   disbuffer1[bit_point]+=10;
			}
			 if((floatnumber<100000.0)&&(floatnumber>=10000.0)||(bit_xiaoshu==1))
			{
			   for(i=0;i<6;i++)
			   {
			    //if((n[i+2]<=9)&&(n[i+2]>=0))
			   disbuffer1[5-i]=n[i+2];
			   }
			   bit_point=4;
			   disbuffer1[bit_point]+=10;
			}
			if((floatnumber<1000000.0)&&(floatnumber>=100000.0)||(bit_xiaoshu==0))
			{
			   for(i=0;i<6;i++)
			   disbuffer1[5-i]=n[i+3];
			   bit_point=5;
			  
			}	
				
			  for (i=0;i<bit_point;i++)
			  {
				   if (disbuffer1[i]!=0) 
				    {
				     break; 
					}
				   else {disbuffer1[i]=0x14; }
					  		   
			  }
			  //灭零处理
	}
	else	//neg_flag
	{
			
			if((floatnumber<100.0)&&(floatnumber>=0.0)||(bit_xiaoshu==3))
			{
			   for(i=0;i<6;i++)
			   {
			   //if((n[i+0]<=9)&&(n[i+0]>=0))
			   disbuffer1[5-i]=n[i+0];
			   }
			   bit_point=2;
			   disbuffer1[bit_point]+=10;
			}
			if((floatnumber<1000.0)&&(floatnumber>=100.0)||(bit_xiaoshu==2))
			{
			   for(i=0;i<6;i++)
			   {
			   //if((n[i+1]<=9)&&(n[i+1]>=0))
			   disbuffer1[5-i]=n[i+1];
			   }
			   bit_point=3;
			   disbuffer1[bit_point]+=10;
			}
			if((floatnumber<10000.0)&&(floatnumber>=1000.0)||(bit_xiaoshu==1))
			{
			   for(i=0;i<6;i++)
			   {
			   //if((n[i+2]<=9)&&(n[i+2]>=0))
			   disbuffer1[5-i]=n[i+2];
			   }
			   bit_point=4;
			   disbuffer1[bit_point]+=10;
			}
			 if((floatnumber<100000.0)&&(floatnumber>=10000.0)||(bit_xiaoshu==0))
			 {
			   for(i=0;i<6;i++)
			   {
			   // if((n[i+3]<=9)&&(n[i+3]>=0))
			   disbuffer1[5-i]=n[i+3];
			   }
			   bit_point=5;			 
			 }
			 			
			  for (i=0,j=0;i<bit_point;i++)
			  {
				   if (disbuffer1[i]!=0) 
				   {
				     break; 
				   }
				   else
				   {
				     disbuffer1[i]=0x14;
					 j++;
				   }					  		   
			  }
			  //灭零处理
			  disbuffer1[j-1]=24;//'-'
		}
}

⌨️ 快捷键说明

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