// RS232-MONITOR
//
// http://www.eeng.biz/
//
// riceve un carattere dalla porta seriale
// e visualizza il codice ASCII tramite 8 LED sulla PORTB
//
// Interfaccia: semplificata a MOSFET
// vedi http://www.eeng.biz/rs232rx.htm
//
// PIC16F628A con oscillatore interno 4 MHz
// __CONFIG  _BOREN_OFF & _CP_OFF_ & _PWRTE_ON & _WDT_OFF & _LVP_OFF & _MCLRE_OFF & _INTRCOSC_NO_CLKOUT
//
// Impostare il terminale seriale: baud rate = 4800, data bits = 8, parity = none, stop bits = 1, 
// flow control = none e la porta seriale usata (COM1 o COM2)
//
//
// Compilatore: MikroC 6.2.0.0


// Variabili globali
unsigned short data;
unsigned short rec;


void main(){
  CMCON = 7;
  TRISB = 0;
  PORTB = 0;

  // PORTA: RA1=rx, RA0=tx, baud rate=4800
  Soft_Uart_Init(PORTA, 1, 0, 4800, 0);

  Delay_ms(200);

  // ciclo infinito
  for(;;){
    do {
      data = Soft_Uart_Read(&rec);
      } while(data<32 || data>132); // attende carattere valido

    if (1==0) // mai eseguito
         Soft_Uart_Write(data);

    PORTB = data; // visualizza codice ASCII sulla PORTB
  }

}


