📄 0203.c
字号:
CS256;
}
//unsigned char bcd(unsigned int y1,unsigned char px)
//{
// unsigned int y0=1;
// unsigned char i;
// for(i=1;i<px;i++)
// y0=y0*10;
// px=(y1%((y0<<3)+(y0<<1)))/y0;
// return(px);
//}
void his_del(void)
{
lcddisp(0xff,0xff,0xff,0xff);
lcddisp(0,30,0Xd2,0Xaa);//要
lcddisp(2,30,0Xc7,0Xe5);//清
lcddisp(4,30,0Xb3,0Xfd);//除
lcddisp(6,30,0Xc0,0XfA);//历
lcddisp(8,30,0XcA,0Xb7);//史
lcddisp(10,30,0Xbc,0Xcd);//纪
lcddisp(12,30,0Xc2,0Xbc);//录
lcddisp(14,30,0Xc2,0Xf0);//吗
lcddisp(16,30,0XA3,0Xbf);//?
feefinish=0;
while(feefinish==0)
{if(key==1){ lcddisp(18,30,0XA3,0Xd9);lcddisp(20,30,0XA3,0Xc5);lcddisp(22,30,0XA3,0Xd3);}
if(key==2){ lcddisp(18,30,0XA3,0Xce);lcddisp(20,30,0XA3,0Xcf);lcddisp(22,30,0XA2,0Xa2);}
}
if(tolcd[4]==0xd3){ sendnum=savednum=0;
address=0x10000;
F29040write(savednum);
address=0x10001;
F29040write(savednum>>8);
address=0x10002;
F29040write(sendnum);
address=0x10003;
F29040write(sendnum>>8);
}
lcddisp(0,30,0XC7,0XEB);//请
lcddisp(2,30,0Xb5,0Xc8);//等待
lcddisp(4,30,0Xb4,0Xfd);//
lcddisp(6,30,0XA2,0XA2);//
lcddisp(8,30,0XA2,0XA2);//
lcddisp(10,30,0XA2,0XA2);//
lcddisp(12,30,0XA2,0XA2);//
lcddisp(14,30,0XA2,0XA2);//
lcddisp(16,30,0XA2,0XA2);//
lcddisp(18,30,0XA2,0XA2);//
lcddisp(20,30,0XA2,0XA2);//
lcddisp(22,30,0XA2,0XA2);//
lcddisp(24,30,0XA2,0XA2);//
lcddisp(26,30,0XA2,0XA2);//
TR0=0;
while(1);
}
void help(void)
{unsigned char i,j;
lcddisp(0xff,0xff,0xff,0xff);
i=0;j=0;
lcddisp(i,j,0xb9,0xa6);i+=2;
lcddisp(i,j,0xc4,0xdc);i+=2;
lcddisp(i,j,0xbc,0xfc);i+=2;
lcddisp(i,j,0xcb,0xb5);i+=2;
lcddisp(i,j,0xc3,0xf7);i+=2;
lcddisp(i,j,0xa3,0xba);i+=2;
i=0;j=16;
lcddisp(i,j,0xa3,0xc6);i+=2;
lcddisp(i,j,0xa3,0xb1);i+=2;
lcddisp(i,j,0xa1,0xaa);i+=2;
lcddisp(i,j,0xa1,0xaa);i+=2;
lcddisp(i,j,0xb9,0xa6);i+=2;
lcddisp(i,j,0xc4,0xdc);i+=2;
lcddisp(i,j,0xbc,0xfc);i+=2;
lcddisp(i,j,0xcb,0xb5);i+=2;
lcddisp(i,j,0xc3,0xf7);i+=2;
i=0;j=32;
lcddisp(i,j,0xa3,0xc6);i+=2;
lcddisp(i,j,0xa3,0xb2);i+=2;
lcddisp(i,j,0xa1,0xaa);i+=2;
lcddisp(i,j,0xa1,0xaa);i+=2;
lcddisp(i,j,0xc7,0xd0);i+=2;
lcddisp(i,j,0xbb,0xbb);i+=2;
lcddisp(i,j,0xb1,0xb3);i+=2;
lcddisp(i,j,0xb9,0xe2);i+=2;
i=0;j=48;
lcddisp(i,j,0xa3,0xc6);i+=2;
lcddisp(i,j,0xa3,0xb3);i+=2;
lcddisp(i,j,0xa1,0xaa);i+=2;
lcddisp(i,j,0xa1,0xaa);i+=2;
lcddisp(i,j,0xca,0xb1);i+=2;
lcddisp(i,j,0xd6,0xd3);i+=2;
lcddisp(i,j,0xd0,0xde);i+=2;
lcddisp(i,j,0xd5,0xfd);i+=2;
i=0;j=64;
lcddisp(i,j,0xa3,0xc6);i+=2;
lcddisp(i,j,0xa3,0xb4);i+=2;
lcddisp(i,j,0xa1,0xaa);i+=2;
lcddisp(i,j,0xa1,0xaa);i+=2;
lcddisp(i,j,0xc0,0xfa);i+=2;
lcddisp(i,j,0xca,0xb7);i+=2;
lcddisp(i,j,0xc7,0xe5);i+=2;
lcddisp(i,j,0xb3,0xfd);i+=2;
i=0;j=80;
lcddisp(i,j,0xa3,0xc6);i+=2;
lcddisp(i,j,0xa3,0xb5);i+=2;
lcddisp(i,j,0xa1,0xaa);i+=2;
lcddisp(i,j,0xa1,0xaa);i+=2;
lcddisp(i,j,0xb8,0xfc);i+=2;
lcddisp(i,j,0xbb,0xbb);i+=2;
lcddisp(i,j,0xb3,0xb5);i+=2;
lcddisp(i,j,0xb5,0xc0);i+=2;
i=0;j=96;
lcddisp(i,j,0xa1,0xf9);i+=2;
lcddisp(i,j,0xb3,0xfd);i+=2;
lcddisp(i,j,0xa3,0xc6);i+=2;
lcddisp(i,j,0xa3,0xb2);i+=2;
lcddisp(i,j,0xcd,0xe2);i+=2;
lcddisp(i,j,0xb8,0xf7);i+=2;
lcddisp(i,j,0xbc,0xfc);i+=2;
lcddisp(i,j,0xd6,0xbb);i+=2;
lcddisp(i,j,0xd4,0xda);i+=2;
lcddisp(i,j,0xbf,0xaa);i+=2;
lcddisp(i,j,0xbb,0xfa);i+=2;
lcddisp(i,j,0xcb,0xb2);i+=2;
lcddisp(i,j,0xca,0xb1);i+=2;
lcddisp(i,j,0xb0,0xb4);i+=2;
lcddisp(i,j,0xcf,0xc2);i+=2;
i=0;j=112;
lcddisp(i,j,0xb2,0xc5);i+=2;
lcddisp(i,j,0xd3,0xd0);i+=2;
lcddisp(i,j,0xd0,0xa7);i+=2;
lcddisp(i,j,0xa1,0xa3);i+=2;
while(feefinish==0);
TR0=0;
while(1);
}
void modifyclk()
{unsigned char xdata i,j;
unsigned char xdata temp[12];
delay_time(800);
CS256;
lcddisp(0xff,0xff,0xff,0xff);//cls
lcddisp(0,30,0XC7,0XEB);//请
lcddisp(2,30,0XCA,0XE4);//输
lcddisp(4,30,0XC8,0XEB);//入
lcddisp(6,30,0XD0,0XC2);//新
lcddisp(8,30,0XCA,0XB1);//时
lcddisp(10,30,0XBC,0XE4);//间
lcddisp(12,30,0XA3,0XBA);//:
P8563_ReadTime();
feefinish=0;j=12;
while(feefinish==0){
lcddisp(12,10,0XFF,(g8563_Store[5]>>4)+0X10); /*年*/
lcddisp(13,10,0XFF,(g8563_Store[5]&0XF)+0X10); /*年*/
lcddisp(14,10,0XFF,0X0D); /*-*/
lcddisp(15,10,0XFF,(g8563_Store[4]>>4)+0X10); /*月*/
lcddisp(16,10,0XFF,(g8563_Store[4]&0XF)+0X10); /*月*/
lcddisp(17,10,0XFF,0X0D); /*-*/
lcddisp(18,10,0XFF,(g8563_Store[3]>>4)+0X10); /*日*/
lcddisp(19,10,0XFF,(g8563_Store[3]&0XF)+0X10); /*日*/
lcddisp(21,10,0XFF,(g8563_Store[2]>>4)+0X10); /*时*/
lcddisp(22,10,0XFF,(g8563_Store[2]&0XF)+0X10); /*时*/
lcddisp(23,10,0XFF,0X1A); /*-*/
lcddisp(24,10,0XFF,(g8563_Store[1]>>4)+0X10); /*分*/
lcddisp(25,10,0XFF,(g8563_Store[1]&0XF)+0X10); /*分*/
lcddisp(26,10,0XFF,0X1A); /*-*/
lcddisp(27,10,0XFF,(g8563_Store[0]>>4)+0X10); /*秒*/
lcddisp(28,10,0XFF,(g8563_Store[0]&0XF)+0X10); /*秒*/
keyfinish=0;
while(keyfinish==0)if(feefinish)keyfinish=1;
j--;
temp[j]=key;
if(j==0)j=12;
for(i=0;i<6;i++)g8563_Store[i]=temp[2*i]+(temp[2*i+1]<<4);
} //while(feefinish==0){
P8563_Init();
TR0=0;
lcddisp(0,30,0XC7,0XEB);//请
lcddisp(2,30,0Xb5,0Xc8);//等待
lcddisp(4,30,0Xb4,0Xfd);//
lcddisp(6,30,0XA2,0XA2);//
lcddisp(8,30,0XA2,0XA2);//
lcddisp(10,30,0XA2,0XA2);//
lcddisp(12,30,0XA2,0XA2);//?
while(1);
}//
void modchedaohao()
{ unsigned char i,m;
key=0;
lcddisp(0xff,0xff,0xff,0xff);//cls
lcddisp(0,30,0XC7,0XEB);//请
lcddisp(2,30,0XCA,0XE4);//输
lcddisp(4,30,0XC8,0XEB);//入
lcddisp(6,30,0XB3,0XB5);//车
lcddisp(8,30,0XB5,0XC0);//道
lcddisp(10,30,0XBA,0XC5);//号
lcddisp(12,30,0XA3,0XBA);//号
address=0x0000;
i=F29040read();
lcddisp(14,30,0XA3,i+0XB0);
// while(key==0xf1);
key=i;
feefinish=0;
while(feefinish==0){ lcddisp(14,30,0XA3,key+0XB0);m=(tolcd[4]-0xb0); }
lcddisp(0,30,0XC7,0XEB);//请
lcddisp(2,30,0XD1,0XA1);//选
lcddisp(4,30,0XD4,0XF1);//择
lcddisp(6,30,0XB4,0XF3);//大
lcddisp(8,30,0XC6,0XC1);//屏
lcddisp(10,30,0XB8,0XF1);//格
lcddisp(12,30,0XCA,0XBD);//式
lcddisp(14,30,0XA3,0XA8);//:
lcddisp(16,30,0XA3,0XB1);//:
lcddisp(18,30,0XBB,0XF2);//:
lcddisp(20,30,0XA3,0XB2);//:
lcddisp(22,30,0XA3,0XA9);//:
lcddisp(24,30,0XA3,0XBA);//:
address=0x0001;
i=F29040read();
if(i==1){lcddisp(26,30,0XA3,0XB1);key=1;}
else {lcddisp(26,30,0XA3,0XB2);key=2;}
feefinish=0;
while(feefinish==0){ lcddisp(26,30,0XA3,key+0XB0);i=(tolcd[4]-0xb0); }
if(i!=1)i=2;
address=0x0000;
F29040write(m);
address=0x0001;
F29040write(i);
lcddisp(0,30,0XC7,0XEB);//请
lcddisp(2,30,0Xb5,0Xc8);//等待
lcddisp(4,30,0Xb4,0Xfd);//
lcddisp(6,30,0XA2,0XA2);//
lcddisp(8,30,0XA2,0XA2);//
lcddisp(10,30,0XA2,0XA2);//
lcddisp(12,30,0XA2,0XA2);//
lcddisp(14,30,0XA2,0XA2);//
lcddisp(16,30,0XA2,0XA2);//
lcddisp(18,30,0XA2,0XA2);//
lcddisp(20,30,0XA2,0XA2);//
lcddisp(22,30,0XA2,0XA2);//
lcddisp(24,30,0XA2,0XA2);//
lcddisp(26,30,0XA2,0XA2);//
TR0=0;
while(1);
}
void sector_Erase()
{
XBYTE[flashaddress5555]=0xaa;
XBYTE[flashaddress2AAA]=0x55;
XBYTE[flashaddress5555]=0x80;
XBYTE[flashaddress5555]=0xaa;
XBYTE[flashaddress2AAA]=0x55;
XBYTE[lowaddress]=0x30;
delay_time(800);
XBYTE[flashaddress5555]=0xaa;
XBYTE[flashaddress2AAA]=0x55;
XBYTE[flashaddress5555]=0x90;
XBYTE[lowaddress]=0x0;
delay_time(800);
}
void selectpage() /*给出一个地址,自动送出页面地址,且返回页内偏移地址*/
{
lowaddress=/*(unsigned int)*/(address&0xFFFF);
page=address>>16;//(unsigned char)(address/0XFFFF);
switch(page)
{/*********选择第一块29F040即512B**/
case 0x0: CS512A;A18=0;A17=0;A16=0;break;
case 0x1: CS512A;A18=0;A17=0;A16=1;break;
case 0x2: CS512A;A18=0;A17=1;A16=0;break;
case 0x3: CS512A;A18=0;A17=1;A16=1;break;
case 0x4: CS512A;A18=1;A17=0;A16=0;break;
case 0x5: CS512A;A18=1;A17=0;A16=1;break;
case 0x6: CS512A;A18=1;A17=1;A16=0;break;
case 0x7: CS512A;A18=1;A17=1;A16=1;break;
/*********选择第二块29F040即512A**/
case 0x8: CS512B;A18=0;A17=0;A16=0;break;
case 0x9: CS512B;A18=0;A17=0;A16=1;break;
case 0xA: CS512B;A18=0;A17=1;A16=0;break;
case 0XB: CS512B;A18=0;A17=1;A16=1;break;
case 0XC: CS512B;A18=1;A17=0;A16=0;break;
case 0XD: CS512B;A18=1;A17=0;A16=1;break;
case 0XE: CS512B;A18=1;A17=1;A16=0;break;
case 0XF: CS512B;A18=1;A17=1;A16=1;break;
}
}
unsigned char F29040write(unsigned char byte)
{ unsigned char b1,b2;
unsigned char i=0;
selectpage();
if(lowaddress==0)sector_Erase();
XBYTE[0x555]=0xaa;
XBYTE[0x2AA]=0x55;
XBYTE[0x555]=0xa0;
XBYTE[lowaddress]=byte;
do{b1=XBYTE[lowaddress]; /*读flash数据总线*/
b1&=0x80;
b2=byte & 0x80;
if(b1==b2) return(0); /*成功*/
b1=XBYTE[lowaddress];
b1&=0x80;
}while(b1==0); /*写字节周期完成*/
b1=XBYTE[lowaddress]; /*读flash数据总线*/
b1&=0x80;
b2=byte&0x80;
if(b1==b2) return(0); /*成功 */
else return(1); /*失败*/
}
unsigned char F29040read() /*向flash读一个字节,写入之前请调用F29040_reset*/
{
unsigned char ret;
// F29040reset();
selectpage();
ret=XBYTE[lowaddress];
return(ret);
}//END
void tongbudata()
{unsigned char i,j,k=1,m=1;
unsigned char xdata t_b_toup[58];
if(savednum!=sendnum){
for(k=0;k<0x3A;k++){address=sendnum*58+k+0x20000;
j=F29040read();
CS256;
t_b_toup[k]=j;
}
tempa=0xff; //发送
if(t_b_toup[15]>58)t_b_toup[15]=0;
for(i=0;i<(26+(t_b_toup[15]*4));i++){j=t_b_toup[i];
ST554A;;;;/*发送到上位机*/
ACC=ST05;
while(!ACC5){ST554A;ACC=ST05;}
RBR=j;
CS256;
}
delay_time(200);
if(t_b_toup[15]==0)tempa=0xf0;
if(tempa==0xf0){sendnum++;if(sendnum>5000)sendnum=0;
address=0x10000;
F29040write(savednum);
address=0x10001;
F29040write(savednum>>8);
address=0x10002;
F29040write(sendnum);
address=0x10003;
F29040write(sendnum>>8);
CS256;}
/*************END OF 同步数据************************/
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -