//wert von ad lesen************************************************************ void ReadAD(void) { unsigned int ad_result=0; //wandler byte's unsigned int hilf; unsigned char i; SAMPLE=0; CAL=0; CLK=0; SAMPLE=1; //start conversion DelayT0(1); //4us SAMPLE=0; for(i=0;i<17;i++){ ad_result<<=1; CLK=1; DelayT0(1); CLK=0; DelayT0(1); //variable um ein bit nach rechst schieben if(SDATA==1){ //wenn das bit vom ad 1 war inkrementieren ++ad_result; } } //hilf=(100000*ad_result)/32768; //umrechnen in V mit einer Vref von 10V hilf=(ad_result&32767); //vorzeichen ausmaskieren da nur possitive werte gebraucht werden AnalogBuf=ad_result; } //***********************************************zeichen auf lcd schreiben void ShowAd(unsigned int zaehler) //int to string , wandelt die intzahl in einen string und schreibt auf lcd { unsigned int az_zeichen=0; unsigned int az_null=0; unsigned char i; unsigned char j; unsigned int hilf; hilf=zaehler; WriteInstr(0xC2); //cursor auf position for(i=0;i<6;i++){ WriteData(leer[i]); //alte anzeige löschen } az_zeichen=sprintf(buf,"%u",az_null); //string mit 0 initialisieren az_zeichen=sprintf(buf,"%u",zaehler); //int to string WriteInstr(0xC2); for(i=0;i