HD7279_DATA=0; }
void Write7279(unsigned char command, unsigned char dta) {
HD7279_SendByte( command ); HD7279_SendByte( dta ); }
unsigned char GetKey() {
unsigned char key=0; if(!NextKey) {
Delay10ms(3); if(!NextKey) { Delay10ms(1); key=2;
if(!NextKey)return(key);}} if(!LastKey) {
Delay10ms(3); if(!LastKey) { Delay10ms(1); key=1;
if(!LastKey)return(key);}} if(!SetKey) {
Delay10ms(3); if(!SetKey) { Delay10ms(1); key=3;
if(!SetKey)return(key);}}
return(0); }
void display1(unsigned int dig ) {
unsigned char digtil[4]={15,15,15,15}; char i=0;
int temp=0,m=0,j=0;
if(dig>9999) {
digtil[3]=11;
for(i=0;i<4;i++)Write7279(0x80+i,digtil[i]); } else {
temp=dig/1000; digtil[0]=temp; dig-=temp*1000; temp=dig/100; digtil[1]=temp; dig-=temp*100; temp=dig/10; digtil[2]=temp; dig-=temp*10; digtil[3]=dig; dig-=temp;
if(digtil[0]==0)digtil[0]=15;
if(digtil[1]==0&&digtil[0]==15)digtil[1]=15; if(digtil[2]==0&&digtil[1]==15)digtil[2]=15; for(i=0;i<4;i++)Write7279(0x80+i,digtil[i]);
} }
void display2(float dig ) {
unsigned char digtil[4]={15,15,15,15}; signed char i=0,j=0; int temp=0,m=0;
if(dig>9999||dig<0.001) {
digtil[3]=11;
for(i=0;i<4;i++)Write7279(0x80+i,digtil[i]); } else{
temp=(int)dig; for(i=0,j=0;i<5;i++) {
temp=(int)temp/10; if(temp>0)j++; else break; }
j=3-j;
for(i=0;i dig-=temp*10; digtil[3]=dig; dig-=temp; temp=dig*10; if(temp<5);else digtil[3]++; if(digtil[3]==10){digtil[3]--;digtil[2]++;} if(digtil[2]==10){digtil[2]--;digtil[1]++;} if(digtil[1]==10){digtil[1]--;digtil[0]++;} if(digtil[0]==10)digtil[0]++; j=3-j; digtil[j]+=0x80; for(i=0;i<4;i++)Write7279(0x80+i,digtil[i]); } for(i=0;i<4;i++)Write7279(0x80+i,digtil[i]); } void displays() { Write7279(0x80,10); Write7279(0x81,10); Write7279(0x82,10); Write7279(0x83,10); } void displayw() { Write7279(0x80,12); Write7279(0x81,11); Write7279(0x82,13); Write7279(0x83,14); } void send_data(unsigned char *buf) { unsigned char ecc,i; EN485=1; ecc=15; TI=0; TB8=1; SBUF=*buf; while(!TI); buf++; TI=0; for(i=0;i<15;i++) { ecc=ecc^(*buf); TB8=0; SBUF=*buf; buf++; while(!TI); TI=0; } TB8=0; SBUF=ecc; while(!TI); TB8=0; TI=0; EN485=0; } for(j=0;j<10;j++) { dataio[0]=func; Delay10ms(5); if(state_in) { for(i=0;i<15;i++)dataio[i]=buf_in[i]; state_in=0;