📄 newpose1.c
字号:
Clear_scr();
for(i=0;i<256;i++)
{
Card_data[i]=0;
}
_EINT();
while(1)
{
if(Card_state==0xe0)
{
;
}
else if(Card_state==0)
{
readtime();
readdate();
if(Card_data[255]==0X59)
{
fourbyte.value_byte.byte0=Card_data[40];
fourbyte.value_byte.byte1=Card_data[41];
fourbyte.value_byte.byte2=Card_data[42];
fourbyte.value_byte.byte3=Card_data[43];
if((fourbyte.value>0)&&(fourbyte.value<0xffffffff))
{
Clear_scr();
Disp_digit(fourbyte.value);
delay(1000);
fourbyte.value_byte.byte0=Card_data[50];
fourbyte.value_byte.byte1=Card_data[51];
if((fourbyte.value_word.word0>0)&&(fourbyte.value_word.word0<0xffff))
{
Clear_scr();
Disp_digit(fourbyte.value_word.word0);
delay(1000);
fourbyte.value_byte.byte0=Card_data[0x66];
fourbyte.value_byte.byte1=Card_data[0x67];
fourbyte.value_byte.byte2=Card_data[0x68];
fourbyte.value_byte.byte3=Card_data[0x69];
Clear_scr();
Disp_digit(fourbyte.value);
delay(1000);
fourbyte.value_byte.byte0=Card_data[0x6e];
fourbyte.value_byte.byte1=Card_data[0x6f];
fourbyte.value_byte.byte2=Card_data[0x70];
fourbyte.value_byte.byte3=Card_data[0x71];
Clear_scr();
Disp_digit(fourbyte.value);
delay(1000);
fourbyte.value_byte.byte0=Card_data[0x62];
fourbyte.value_byte.byte1=Card_data[0x63];
fourbyte.value_byte.byte2=Card_data[0x64];
fourbyte.value_byte.byte3=Card_data[0x65];
Clear_scr();
Disp_digit(fourbyte.value);
Send45db041();
Display("oo");
}
else
{
Dis_error(5);
}
}
else
{
Dis_error(5);
}
}
else
{
Dis_error(4);
}
Card_state=0xE0;
}
else if(Card_state==0xff)
{
Dis_error(0);
Card_state=0xE0;
}
else if(Card_state==0xc0)
{
Dis_error(3);
Card_state=0xE0;
}
else if((Card_state>0)&&(Card_state<23))
{
Dis_error(1);
Card_state=0xE0;
}
else if(Card_state>22)
{
Dis_error(2);
Card_state=0xE0;
}
if(Uart_TRfinish_flag==0x0f)
{
for(i=4;i<14;i++)
{
Main_Memory_Page_AND_Continous_Read(0xe8,RxData[i],0x00,Card_data,233);
while(Send_Card_data(233))
{
;
}
Clear_scr();
}
Uart_TRfinish_flag&=0xf0;
}
while(Control.value_bit.set)
{
i=100;
readtime();
Disp_time(Hour,Minute,Second);
if(Port1!=0||Port2!=0){i=0;break;}
if(Control.value_bit.watch)
{
Control.value_bit.set=0;
Control.value_bit.watch=0;
*Sign_below&=~(LEFT+RIGHT);
readdate();
Disp_date(Year,Month,Day);
delay(2500);
Clear_scr();
}
}
while(Control.value_bit.set)
{
if(i>=0&&i<=3)
{
*Lcdbit[i+2]=0;
delay(500);
}
else if(i>=4&&i<=9)
{
*Lcdbit[i-4]&=0x08;
delay(500);
}
if(i>=0&&i<=3)
{
*Lcdbit[6]=0;
*Lcdbit[7]=0;
*Lcdbit[4]&=~DOT;
*Lcdbit[2]&=~DOT;
*Sign_below|=LEFT+RIGHT; //显示时间
switch(Port1)
{
case BIT0 : *Lcdbit[i+2]=Digit[0];bit=0x00;break;
case BIT1 : *Lcdbit[i+2]=Digit[1];bit=0x01;break;
case BIT2 : *Lcdbit[i+2]=Digit[2];bit=0x02;break;
case BIT3 : *Lcdbit[i+2]=Digit[3];bit=0x03;break;
case BIT4 : *Lcdbit[i+2]=Digit[4];bit=0x04;break;
case BIT5 : *Lcdbit[i+2]=Digit[5];bit=0x05;break;
case BIT6 : *Lcdbit[i+2]=Digit[6];bit=0x06;break;
case BIT7 : *Lcdbit[i+2]=Digit[7];bit=0x07;break;
default:/**Lcdbit[i+2]=0;*/break;
}
switch(Port2)
{
case BIT0 : *Lcdbit[i+2]=Digit[8];bit=0x08;break;
case BIT1 : *Lcdbit[i+2]=Digit[9];bit=0x09;break;
default:/**Lcdbit[i+2]=0;*/break;
}
if(Key_flag)
{
Key_flag=0;
switch(i)
{
case 0 : Minute=(Minute&0xf0)+bit;break;
case 1 : Minute=(Minute&0x0f)+(bit<<4);break;
case 2 : Hour=(Hour&0xf0)+bit;break;
case 3 : Hour=(Hour&0x0f)+(bit<<4);break;
default : break;
}
}
Disp_time(Hour,Minute,Second);
delay(500);
}
else if(i>=4&&i<=9)
{
*Sign_below&=~(LEFT+RIGHT);
*Lcdbit[4]|=DOT;
*Lcdbit[2]|=DOT; //显示日期
switch(Port1)
{
case BIT0 : *Lcdbit[i-4]=Digit[0];bit=0x00;break;
case BIT1 : *Lcdbit[i-4]=Digit[1];bit=0x01;break;
case BIT2 : *Lcdbit[i-4]=Digit[2];bit=0x02;break;
case BIT3 : *Lcdbit[i-4]=Digit[3];bit=0x03;break;
case BIT4 : *Lcdbit[i-4]=Digit[4];bit=0x04;break;
case BIT5 : *Lcdbit[i-4]=Digit[5];bit=0x05;break;
case BIT6 : *Lcdbit[i-4]=Digit[6];bit=0x06;break;
case BIT7 : *Lcdbit[i-4]=Digit[7];bit=0x07;break;
default:break;
}
switch(Port2)
{
case BIT0 : *Lcdbit[i-4]=Digit[8];bit=0x08;break;
case BIT1 : *Lcdbit[i-4]=Digit[9];bit=0x09;break;
default:break;
}
if(Key_flag)
{
Key_flag=0;
switch(i)
{
case 4 : Day=(Day&0xf0)+bit;break;
case 5 : Day=(Day&0x0f)+(bit<<4);break;
case 6 : Month=(Month&0xf0)+bit;break;
case 7 : Month=(Month&0x0f)+(bit<<4);break;
case 8 : Year=(Year&0xf0)+bit;break;
case 9 : Year=(Year&0x0f)+(bit<<4);break;
default : break;
}
}
Disp_date(Year,Month,Day);
delay(500);
}
if(Control.value_bit.back)
{
i++;
i=i%10;
Control.value_bit.back=0;
Key_flag=0;
}
if(Control.value_bit.send)
{
Control.value_bit.send=0;
Control.value_bit.set=0;
if(i>=0&&i<=3)
{
setminute(Minute);
sethour(Hour);
readtime();
Disp_time(Hour,Minute,Second);
delay(1000);
Clear_scr();
}
else if(i>=4&&i<=9)
{
setday(Day);
setmonth(Month);
setyear(Year);
readdate();
Disp_date(Year,Month,Day);
delay(1000);
Clear_scr();
}
Port1=0;
Port2=0;
}
}
if(Control.value_bit.download)
{
Page=0;
Display("PAGE--mmmm");
LPM3;
for(i=4;i>0;)
{
if(Control.value_bit.back)
{
Control.value_bit.back=0;
//Port1=0;
//Port2=0;
if(i<4)
{
Page=Page/10;
i++;
*Lcdbit[i-1]=0;
}
else
{
i=4;
}
LPM3;
}
switch(Port1)
{
case BIT0 : *Lcdbit[i-1]=Digit[0];bit=0x00;break;
case BIT1 : *Lcdbit[i-1]=Digit[1];bit=0x01;break;
case BIT2 : *Lcdbit[i-1]=Digit[2];bit=0x02;break;
case BIT3 : *Lcdbit[i-1]=Digit[3];bit=0x03;break;
case BIT4 : *Lcdbit[i-1]=Digit[4];bit=0x04;break;
case BIT5 : *Lcdbit[i-1]=Digit[5];bit=0x05;break;
case BIT6 : *Lcdbit[i-1]=Digit[6];bit=0x06;break;
case BIT7 : *Lcdbit[i-1]=Digit[7];bit=0x07;break;
default:/**Lcdbit[i+2]=0;*/break;
}
switch(Port2)
{
case BIT0 : *Lcdbit[i-1]=Digit[8];bit=0x08;break;
case BIT1 : *Lcdbit[i-1]=Digit[9];bit=0x09;break;
default:/**Lcdbit[i+2]=0;*/break;
}
Page=Page*10+bit;
LPM3;
i--;
}
if(Page>2046)Page=2046;
delay(500);
Clear_scr();
delay(500);
Disp_digit(Page);
*Lcdbit[4]=0x20;
*Lcdbit[5]=0x20;
*Lcdbit[6]=0xf1;
*Lcdbit[7]=0xd5;
*Lcdbit[8]=0x77;
*Lcdbit[9]=0x73;
DISP_scebatu;
Card_data[0]=Page;
Card_data[1]=(Page&0xff00)>>8;
Buffer_Write(0x84,0x00,Card_data,2);//写缓存
Buffer_To_Main_With_ERASE(0x83,0x7ff);
delay(1000);
Clear_scr();
Port1=0;
Port2=0;
Control.value_bit.download=0;
Control.value_bit.set=0;
}
/* for(i=0;i<256;i++)
{
Card_data[i]=0;
}
Buffer_Write(0x84,0x00,Card_data,233); //写缓存
Buffer_To_Main_With_ERASE(0x83,0x00);
delay(10);
Main_Memory_Page_AND_Continous_Read(0xe8,Page,0x00,Card_data,233);
for(i=0;i<256;i++)
{
Card_data[i]=i;
}
Buffer_Write(0x84,0x00,Card_data,255); //写缓存
Buffer_To_Main_With_ERASE(0x83,0x7d1);
for(i=0;i<256;i++)
{
Card_data[i]=0;
}
Main_Memory_Page_AND_Continous_Read(0xe8,0x7d1,0x00,Card_data,255);*/
LPM3;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -