fisertek_300
 
 
Modulo RS 232 
 
 
barra rossa2 
 
Questo modulo permette di collegare i nostri PIC alla seriale del nostro PC adattandone i livelli. 
Con questo modulo potremo comandare robot da computer o fare interfacce per comandare gli elettrodomestici di casa tramite un pic. 
A voi la fantasia di fare quello che pių vi aggrada.
 
barra rossa2 
 
Qui sotto troverete tutto l'occorrente per procedere alla realizzazione dell'interfaccia RS232.Le dimensioni sono talmente contenute che da una basetta standard da 70 x 100 ne ho ricavate due.  
 
  • Schema elettrico dell'interfaccia RS232  
  • Circuito stampato lato rame, basetta da 70 x 100 a 300 dpi  
  • Disegno lato componenti dell'interfaccia RS232 
  •  
     
    rs232_rame
    rs232_coppia
    RS232_876_600
     
    _____________________________________________________________________________ 
     
     
    Un listato di esempio 
    Per mettervi in condizioni di testare il funzionamento del modulo, il buon Nicola ha messo a disposizione delle routine e ha creato il sorgente che voi dovrete compilare. 
    Per prima cosa collegherete il modulo RS232 alla demoboard 16F876 (l'877 va bene lo stesso). 
    Il collegamento va fatto come illustrato nella foto in alto a destra di questa pagina.Il filo viola, corrispondente al pin 12 del Max 232 vā collegato a RC7 del PIC e il filo bianco, corrispondente al pin11 del MAX 232 vā collegato al pin RC6 del PIC. 
    Il connettore DB9 dovrete collegarlo alla com 1 del vostro PC servendovi di un cavo prolunga per seriale (non invertente) 
    Potete scaricare le routine cliccando qui: ROUTINE.zip
    Dovrete scompattarle e metterle nella cartella include del vostro compilatore. 
    Eccoci ora arrivati al listato del sorgente: 
     
    // --------------------------------------------------------------- 
    // File: TUart.c - 
    // Autore: Nicola Sellitto snico_one@yahoo.it - 
    // Versione: 0.1 -// Data: 16 Maggio 2003 - 
    // Descrizione: Esempio di comunicazione seriale con il PC - 
    // Verifiche: Prove eseguite con 16F876 20Mhz - 
    // Note: Vedere Uart.c per le routine di gestione seriale - 
    // --------------------------------------------------------------- 
     
    #include <pic.h> 
    #include "delay.c" 
    #include "macro.h" 
    #include "ascii.c" 
    #include "uart.c" 
     
    main(void) { 
    char c; 
    unsigned char clock; 
    unsigned long baudrate; 
    char string[5]; 
    unsigned char rc; 
     
    ADCON0 = 0; 
    ADCON1 = 7; 
    PORTB = 0x00; // Azzera linee PortA  
    PORTB = 0x00; // Azzera linee PortB  
    PORTC = 0x00; // Azzera linea PortC 
    TRISA = 0x00; // Imposta linee PortA come output 
    TRISB = 0x00; // Imposta linee PortB come output 
    TRISC = 0x80; // Imposta linee PortC come output 
                     // tranne RC7/Rx come input 
     
    DelayMs(250); 
    DelayMs(250); 
    DelayMs(250); 
    DelayMs(250); 
     
    // Inizializza la seriale 
    clock = 20; //inserire qui il valore del quarzo 
    baudrate = 9600; 
    rc = UartInit(clock, baudrate, UART_CFG_BITSTOP_1); 
    int2dec(rc, string); 
    DelayMs(250); 
    UartPutch('-'); 
    UartPutch('-'); 
    UartPuts(string); 
    UartPutch('-'); 
    UartPutch('-'); 
    UartPuts("Test seriale v0.2"); 
    while (TRUE) 
    c = UartGetch(); 
    UartPutch(c); 
     
    Il sorgente appena messo lo dovete compilare e inserire nel pic.Sul lato del pc, invece, dovrete lanciare "iperterminal" settarlo per com 1, 9600 baud , nessun controllo di flusso.Dopo aver lanciato iperterminal e avviata la sessione, potete accendere la demoboard con il modulo RS232 collegato.Dopo 2 o 3 secondi dall'accensione, all'interno della finestra dell'iperteminal vi apparirāLa scritta "Test seriale v0.2".Da questo momento quello che scrivete sulla tastiera vi apparirā in quella finestra.Cosa vuol dire????Il programma inserito nel pic non fa altro che ritrasmettere quello che riceve da PC.
     
    barra rossa2 
     
    b_home2_baloon 
     
    Š 2002-2006 by Sergio Fiocco -Tutti i diritti riservati- Vietata la riproduzione, anche parziale del presente sito