#include <16f628A.h> #fuses INTRC_IO,NOWDT,NOPROTECT,NOBROWNOUT,NOLVP,NOPUT,NOCPD //#fuses HS external oscillator #use delay (clock=4000000) #use rs232 (baud=9600, xmit=PIN_B2,rcv=PIN_B1, parity=N, stop=1) #use fast_io(A) #use fast_io(B) #define buton1 pin_a1 #define buton2 pin_a2 #define buton3 pin_a3 #define buton4 pin_a4 void preamble(){ putc(0x55); putc(0x00); putc(0xff); return; } void main(){ set_tris_a(0xFF); // Port A is input set_tris_b(0x00); //Port B is output output_b(0); // Cleaining port B while(True) { preamble(); if(input(pin_a1)==0) // If pin A1 is zero sent Data of A { putc('A'); } if(input(pin_a2)==0) // If pin A2 is zero sent Data of B { putc('B'); } if(input(pin_a3)==0) // If pin A3 is zero sent Data of C { putc('C'); } if(input(pin_a4)==0) // If pin A4 is zero sent Data of D { putc('D'); } } }