#include #include #include #define uchar unsigned char #define uint unsigned int unsigned char flag,counter,mark=0,a; uchar xdata cache[100]; uchar time[10]; //uchar mode[1]; uchar weidu[9]; uchar jingdu[12]; void main() { uchar i=0,c,h; uinit(); while(1) { if(flag==1&counter==1&mark==0) { flag=0; cache[i]=SBUF; i++; } if(mark==1) { mark=0; h=0; i=0; ES=0; for(c=4;c<15;c++) { time[h]=cache[c]; h++; } h=0; for(c=17;c<26;c++) { weidu[h]=cache[c]; h++; } h=0; for(c=28;c<40;c++) { jingdu[h]=cache[c]; h++; } h=0; for(c=0;c<11;c++) { SBUF=time[c]; while(!TI); TI=0; } for(c=0;c<9;c++) { SBUF=weidu[c]; while(!TI); TI=0; } for(c=0;c<12;c++) { SBUF=jingdu[c]; while(!TI); TI=0; } SBUF=0x0a; while(!TI); TI=0; ES=1; } } } void ser() interrupt 4 { RI=0; a=SBUF; flag=1; if(a==0x52) { counter=1; } if(counter==1&a==0x0a) { counter=0; mark=1; } }