Comunicazione seriale

Materie:Appunti
Categoria:Elettronica

Voto:

1 (2)
Download:114
Data:01.02.2001
Numero di pagine:2
Formato di file:.doc (Microsoft Word)
Download   Anteprima
comunicazione-seriale_1.zip (Dimensione: 5.99 Kb)
trucheck.it_comunicazione-seriale.doc     29 Kb
readme.txt     59 Bytes


Testo

GRUPPO: CASTELLANO DAVIDE, SPARISI EMANUELE, MUNEGATTO LUCA,
TONELLO MIRKO
CLASSE: 5B/I
ANNO SCOLASTICO: 1997/’98
NOME PROGRAMMA: TR8250-RI8250
COMUNICAZIONE SERIALE
L’obiettivo di questa esperienza è quello di riuscire a collegare tra loro due PC per poter eseguire uno scambio seriale di dati tra i due computer. Per poter effettuare una comunicazione seriale tra due PC sono stati fatti due programmi: uno per la trasmissione dei dati ed uno per l’acquisizione degli stessi. Si dovrà quindi scegliere quale computer deve trasmettere e quale deve ricevere i dati. A questo proposito dovrà essere eseguito il programma per la trasmissione (TR8250) nel computer che è stato scelto per trasmettere i dati, e quello per la ricezione (RI8250) nel computer scelto per ricevere.
Poiché la comunicazione tra i due terminali deve essere di tipo seriale è stata utilizzata per questo scopo l’interfaccia seriale 8250. Questa interfaccia presenta 10 segnali di controllo, può essere programmata per usare il modem oppure no e può funzionare con gli interrupt. I registri di controllo dell’8250 sono i seguenti:
3F8H THR REGISTRO MEMORIZZAZIONE TRASMISSIONE
3F8H RBR REGISTRO DATI RICEVUTI
3F8H DLL DIVISORE DI BAUD RATE (LSB)
3F8H DLM DIVISORE DIBAUD RATE (MSB)
3F8H IER REGISTRO ABILITAZIONE INTERRUZIONI
3F8H IIR REGISTRO IDENTIFICAZIONE INTERRUZIONI
3F8H LCR REGISTRO CONTROLLO LINEA
3F8H MCR REGISTRO CONTROLLO MODEM
3F8H LSR REGISTRO STATO LINEA
3F8H MSR REGISTRO STATO MODEM
I registri da noi utilizzati sono i seguenti: LCR, IER, DLM,DLL, THR, RBR.
Il collegamento tra i due computer è stato fatto mediante l’utilizzo di un cavo seriale come in figura:

TD TD RD RD GND
Il programma di trasmissione funziona nel seguente modo:
1. Inizializza la porta per la trasmissione a 2400 baud
2. Controlla che il registro di trasmissione sia vuoto
3. Se è vuoto scrive il byte in THR e quindi viene trasmesso
Il programma di ricezione funziona così:
1. Inizializza la porta per la ricezione a 2400 baud
2. Controlla che il registro di ricezione sia pieno
3. Se è pieno lo legge
Listato programmi:
TRASMISSIONE (TR8250)
#include
#include
#include
#include
main()
{
int lcr,thr,dll,dlm,lsr,ier; // REGISTRI DELL’8250
unsigned char dato,stato;
lcr=0x03fb; // INDIRIZZI DEI REGISTRI
thr=0x03f8;
dll=0x03f8;
dlm=0x03f9;
lsr=0x03fd;
ier=0x03f9;
outportb(lcr,(char)128); // INIZIALIZZAZIONE DELLA PORTA PER IMPOSTARE
outportb(dlm,(char)0x00); // IL BAUD RATE A 2400 bps
outportb(dll,(char)0x30);
outportb(lcr,(char)3); // IMPOSTAZIONE DELLA PORTA PER FUNZIONARE
outportb(ier,(char)0); // SENZA INTERRUPT E PER TRASMETTERE 8 BIT
clrscr();
coutdato;
stato=inportb(lsr);
stato=stato&32;
if(stato==32) // CONTROLLA CHE SIA VUOTO IL REGISTRO DI
outportb(thr,dato); // TRASMISSIONE
else
cout

Esempio