📄 lcm141.c
字号:
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 + -