?? 113.c
字號(hào):
break;
}
case Sampling:
{
LCD[2]=0x00; LCD[3]=0x00;LCD[4]=0x00; LCD[5]=0x00;
LCD[6]=Digit[sampling>>4];
LCD[7]=Digit[sampling&0X0F];
LCD[7] |=0X08;status1 &=0xF3;status1 |=0x08;
break;
}
case timehold:
{break;}
}
switch(apo_status)
{
case APO:
{
LCD[12] |=0X04; break;
}
case DISABLE_APO:
{
LCD[12] &=0XFB;break;
}
}
if(com_status==0xBB)
{ //if(usb_ok!=1) LCD[8] &=0xf7;
if((data_logger_ok==0)&&(memory_ok==1))
{ if(dataloger_no>99) {LCD[8] =0x02&0xFF;LCD[9] =0x02|0x08;}
else {LCD[8]=Digit[dataloger_no/10]&0XFF;LCD[9]=Digit[dataloger_no%10]|0x08;}data_logger_ok=1;}
else {LCD[9] &=0xF7;data_logger_ok=0;}
if((sampling_ok==1)&&(memory_ok==1))
{
WriteWord(Dataloger_I2c_Addr,(real_usb_data/100));
WriteWord(Dataloger_I2c_Addr+1,(real_usb_data%100));
WriteWord(Dataloger_I2c_Addr+2,status0);
sampling_ok=0;status1|=0x03;
if(Dataloger_I2c_Addr+2>0xFA00)
{LCD[9]=0X8D;apo_status=0;memory_ok=0;LCD[8]=0XF5;}
else Dataloger_I2c_Addr +=3;
}
}
_EINT();
}
//------------------------------------------------------------------------------------------
void Down_display(float tmp91)
{
/*int i;
int test;
test = 0;
data_len=sprintf(show_buffer,"%.3f",tmp91);
for(i=0;i<data_len;i++)
{
if(show_buffer[i]!='.')
{
d_showdata[i+test]=show_buffer[i]-0x30;
}
else
{
n_point=i;
test = -1;
}
}*/
if(real_data /100>=40) //real_data data_display
{
LCD[10]=0; LCD[11]=Digit[0];LCD[0]=0;
LCD[0] |=0x85; LCD[1]=0; ol_ok=1;
if(mode_status==PMAX||mode_status==MAX)
{souce_data=data_display/10;data_display=data_display/10;}
}
else
{
ol_ok=0;
d_showdata[0]=data_display/1000;
d_showdata[1]=data_display/100%10;
d_showdata[2]=data_display/10%10;
d_showdata[3]=data_display%10;
hold_data=data_display;
if(d_showdata[0]==0) {LCD[10] &=0X08;} else {LCD[10]=Digit[d_showdata [0]];}
if((d_showdata[1]==0) && (!LCD[1]&0X08)&&(d_showdata[0]==0)) {LCD[11] &=0X08;}
else {LCD[11]=Digit[d_showdata[1]];}
LCD[0]=Digit[d_showdata[2]];
LCD[1]=Digit[d_showdata[3]];
if(fu_data==1) {LCD[10] |=0X08; LCD[19] |=0X80;}
else {LCD[10] &=0XF7; LCD[19] &=0X7F;}
}
/*if(n_point==4){LCD[11] &=0x7F;LCD[0] &=0xF7;LCD[1] &=0xF7;}
if(n_point==1){LCD[11] |=0x08;}
if(n_point==2){LCD[0] |=0x08;}
if(n_point==3){LCD[1] |=0x08;}*/
if(fu_data==1) status1 |=0x10;
else status1 &=0xEF;
}
//------------------------------------------------------------------------------------------
void Lcd_statrt(void)
{
int a;
BTCTL =0XA4; //Set LCD frequency,Basic timer as 0.5s interrput
IE2 |= BTIE;
BTCNT1=0X66;
BTCNT2=0X00;
LCDCTL |=0XFD; //Set LCD mode,and start LCD show
//P4SEL=0X03;
P4DIR=0X9F;
P4OUT = 0;
P5SEL=0XFF;
P5DIR=0X9F;
delayms(5);
for(a=0;a<20;a++)
{
LCD[a]=0xff; //full lcd show
}
delayms(50);
for(a=0;a<20;a++)
{
LCD[a]=0x00; //full lcd show
}
delayms(50);
LCD[10]=Digit[8];
LCD[11]=Digit[8];
LCD[0]=Digit[0];
LCD[1]=Digit[9];
delay(500);
for(a=0;a<12;a++)
{
LCD[a]=0x00;
} //initializeing the LCD show
}
//------------------------------------------------------------------------------------------
void Display_Lcd_seg(int lcd_seg)
{
int i=lcd_seg;
LCD[14] &=~Seg_14[2];LCD[15]&=~Seg_15[7];LCD[16]&=~Seg_15[7];LCD[17]&=~Seg_15[7];LCD[18]&=~Seg_15[7];LCD[19]&=~Seg_20[5];
if(i==0||i<0) {LCD[14] |=0x80;}
else if(i<=3) {LCD[14]|=Seg_14[i-1];}
else if(i<=11) {LCD[14]|=Seg_14[2];LCD[15]=Seg_15[i-4];}
else if(i<=19) {LCD[14]|=Seg_14[2];LCD[15]=Seg_15[7];LCD[16]=Seg_15[i-12];}
else if(i<=27) {LCD[14]|=Seg_14[2];LCD[15]=Seg_15[7];LCD[16]=Seg_15[7];LCD[17]=Seg_15[i-20];}
else if(i<=35) {LCD[14]|=Seg_14[2];LCD[15]=Seg_15[7];LCD[16]=Seg_15[7];LCD[17]=Seg_15[7];LCD[18]=Seg_15[i-28];}
else if(i<=40) {LCD[14]|=Seg_14[2];LCD[15]=Seg_15[7];LCD[16]=Seg_15[7];LCD[17]=Seg_15[7];LCD[18]=Seg_15[7];LCD[19]|=Seg_20[i-36];}
else {LCD[14]|=Seg_14[2];LCD[15]=Seg_15[7];LCD[16]=Seg_15[7];LCD[17]=Seg_15[7];LCD[18]=Seg_15[7];LCD[19]|=Seg_20[5];};
}
//------------------------------------------------------------------------------------------
void Init(void)
{ DIR_OUT ;
SCL_1;
_NOP();
SDA_1;
_NOP();
}
void Start(void)
{DIR_OUT ;
SDA_1;
_NOP();
_NOP();
SCL_1;
_NOP();
_NOP();
SDA_0;
_NOP();
_NOP();
SCL_0;
_NOP();
_NOP();
}
void Stop(void)
{
DIR_OUT ;
SDA_0;
_NOP();
_NOP();
SCL_1;
_NOP();
_NOP();
SDA_1;
_NOP();
_NOP();
}
void WriteByte(unsigned char WriteData)
{DIR_OUT ;
unsigned char i;
for (i=0; i<8; i++)
{
SCL_0;
_NOP();
_NOP();
if (WriteData & 0x80)
{
SDA_1;
}
else
{
SDA_0;
}
_NOP();
_NOP();
SCL_1;
_NOP();
_NOP();
SCL_0;
WriteData <<=1;
_NOP();
_NOP();
}
//delayms(20);
return;
}
unsigned char ReadByte(void)
{
unsigned char i;
unsigned char TempBit = 0;
unsigned char TempData = 0;
SDA_1;
DIR_IN;
for (i=0; i<8; i++)
{
SCL_1;
_NOP();
_NOP();
if (SDA_IN == 0x01 /*sda==1*/)
{
TempBit = 1;
}
else
{
TempBit = 0;
}
TempData = (TempData << 1) | TempBit;
_NOP();
_NOP();
SCL_0;
}
_NOP();
_NOP();
return(TempData);
}
void ReceiveAck(void)
{
SDA_0;
delay(5);
DIR_IN;
SCL_1;
while (SDA_IN == 0x01)
{;
}
DIR_OUT;
SCL_0;
_NOP();
_NOP();
}
void Acknowledge(void)
{
SCL_0;
_NOP();
_NOP();
DIR_OUT;
SDA_0;//0
SCL_1;
_NOP();
_NOP();
SCL_0;
}
unsigned int ReadWord( int unit/*address*/)
{
unsigned char LowData = 0;
unsigned char HAddr,LAddr;
unsigned int TempData = 0;
HAddr = unit>>8;
LAddr = unit;
DIR_OUT ;
Start();
WriteByte(0xa0);
ReceiveAck();
WriteByte(HAddr);
ReceiveAck();
WriteByte(LAddr);
ReceiveAck();
Start();
WriteByte(0xA1);
ReceiveAck();
LowData = ReadByte();
Acknowledge();
TempData = LowData;
Stop();
return(TempData);
}
void WriteWord( int unit/*address*/, unsigned char WriteData)
{
unsigned char LowData = 0;
unsigned char HAddr,LAddr;
HAddr = unit>>8;
LAddr = unit;
DIR_OUT ;
LowData = WriteData;
//HighData = (unsigned char)(WriteData >> 8);
Start();
WriteByte(0xa0);
ReceiveAck();
WriteByte(HAddr);
ReceiveAck();
WriteByte(LAddr);
ReceiveAck();
WriteByte(LowData);
ReceiveAck();
Stop();
delayms(1);
}
//------------------------------------------------------------------------------------------
void Clock_Out(unsigned char dd)
{
int i;
unsigned char Colck_Command;
Colck_Command=dd;
Clock_DIR_OUT;
for(i=0;i<8;i++)
{
if (Colck_Command&0x01) Clock_SDA_1; else Clock_SDA_0;Colck_Command>>=1;
Clock_CLK_1 ;Clock_CLK_0;
}
}
unsigned char Clock_In(void)
{
int i;
unsigned char Clock_Temp=0;
Clock_DIR_IN;
for(i=0;i<8;i++)
{
Clock_Temp |=Clock_SDA_IN <<i;
Clock_CLK_1 ;Clock_CLK_0;
}
return(Clock_Temp);
}
unsigned char Read_Clock(unsigned char ord)
{
unsigned char dd=0;
int i;
ord=0x8F;
for(i=0;i<8;i++)
{
Clock_CLK_0;
Clock_RST_0;
Clock_RST_1;
Clock_Out(ord);
dd=Clock_In();
Clock_RST_0;
Clock_CLK_1 ;
ClocK_read_data[i]=dd;
ord-=2;
}
return(dd);
}
void Write_Clock(unsigned char ord, unsigned char dd[])
{
int i;
ord=0x8E;
for(i=0;i<8;i++)
{
Clock_CLK_0;
Clock_RST_0;
Clock_RST_1;
Clock_Out(ord);
Clock_Out(dd[i]);
Clock_CLK_0;
Clock_CLK_1;
ord-=2;
}
}
//------------------------------------------------------------------------------------------
//------------------------------------------------------------------------------------------
//------------------------------------------------------------------------------------------
void delay(unsigned int Xus)
{
unsigned int a;
for(a=0;a<Xus;a++)
{
_NOP();
_NOP();
_NOP(); //Xus: delay Xus
_NOP(); //delay about 1us
_NOP();
_NOP();
}
}
void delayms(unsigned int Xms)
{
unsigned int a,b;
for(b=0;b<Xms;b++)
{
for(a=0;a<1000;a++)
{
_NOP();
_NOP();
_NOP();
_NOP();
}
}
}
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -