//Example program writen in CCS C compiler. #include "16F877.h" #device ADC=10 #use delay(clock=4000000) #fuses NOWDT,XT, NOPUT, NOPROTECT #use rs232(baud=9600, xmit=PIN_C6, rcv=PIN_C7) int16 Vsw; void main() { while(true) { setup_adc_ports(RA0_ANALOG); // set RA0 as ADC setup_adc(ADC_CLOCK_INTERNAL ); set_adc_channel(0); Vsw = read_adc(); if ((Vsw==0x3FF) && (Vsw > 0x3FD)) printf("This key = No key"); else if ((Vsw<=0x3C0) && (Vsw > 0x38E)) printf("This key = F"); else if ((Vsw<=0x37E) && (Vsw > 0x35E)) printf("This key = E"); else if ((Vsw<=0x33D) && (Vsw > 0x31D)) printf("This key = D"); else if ((Vsw<=0x303) && (Vsw > 0x3E3)) printf("This key = C"); else if ((Vsw<=0x2C2) && (Vsw > 0x2A2)) printf("This key = B"); else if ((Vsw<=0x27E) && (Vsw > 0x25E)) printf("This key = A"); else if ((Vsw<=0x23D) && (Vsw > 0x21D)) printf("This key = 9"); else if ((Vsw<=0x200) && (Vsw > 0x1E0)) printf("This key = 8"); else if ((Vsw<=0x1C0) && (Vsw > 0x1A0)) printf("This key = 7"); else if ((Vsw<=0x17E) && (Vsw > 0x15E)) printf("This key = 6"); else if ((Vsw<=0x13C) && (Vsw > 0x11C)) printf("This key = 5"); else if ((Vsw<=0x0FB) && (Vsw > 0x0DB)) printf("This key = 4"); else if ((Vsw<=0x0BC) && (Vsw > 0x09C)) printf("This key = 3"); else if ((Vsw<=0x080) && (Vsw > 0x060)) printf("This key = 2"); else if ((Vsw<=0x041) && (Vsw > 0x021)) printf("This key = 1"); else if ((Vsw<=0x021) && (Vsw == 0x000)) printf("This key = 0"); } }