Interfacciamento con mouse seriali

Slides:



Advertisements
Presentazioni simili
Differenza tra comunicazione seriale e parallela
Advertisements

INFORMATICA Altre Istruzioni di I/O
ESERCITAZIONE R 12,19 marzo 2012 Mario Mastrangelo
AVVIARE IL COMPUTER WINDOWS ‘98 Queta fase è definita BOOTSTRAP
Programmazione assembler
Gestione Input Output A. Ferrari.
MICROSOFT WINDOWS n Cose MS Windows n Funzionalità di base n Gestione dei file.
Ogni PC, per iniziare a lavorare, ha bisogno di un sistema operativo. Infatti questo è il primo programma che viene eseguito e che permette all'utente.
CONOSCIAMO IL WINDOWS '95.
OPERAZIONI SULLE SUPERFICI
E.Mumolo. DEEI Reti di calcolatore e Applicazioni Telematiche – Livello Dati Lezioni di supporto al corso teledidattico E.Mumolo. DEEI.
Università degli studi di Trieste – Tesi di laurea triennale in Ingegneria elettronica PROTOCOLLO DI COMUNICAZIONE TRA PC E MICROCONTROLLORE PER UN’INTERFACCIA.
Codifica di linea La rappresentazione di dati numerici con segnali numerici e’ normalmente fatta tramite sequenze di impulsi discreti di tensione di una.
= 2x – 3 x Definizione e caratteristiche
Programmazione Procedurale in Linguaggio C++
Sistemi e Tecnologie della Comunicazione
Argomenti dalla linea dei comandi Gli argomenti possono essere passati a qualsiasi funzione di un programma, compresa la main(), direttamente dalla linea.
File.
1 Corso di Informatica (Programmazione) Lezione 4 (24 ottobre 2008) Architettura del calcolatore: la macchina di Von Neumann.
PSPICE – simulazione codificatori e decodificatori, MUX - DEMUX
Reti combinatorie: moduli di base
Struttura dei sistemi operativi (panoramica)
INFORMATICA Altre Istruzioni di I/O. © Piero Demichelis 2 Funzioni di I/O Per la lettura e la scrittura da videoterminale il C prevede numerose istruzioni.
2) Trattamento dell'informazione. Lab.Calc. I AA 2002/03 - cap.22 Esempio Supponiamo di volere calcolare X, per uno o più possibili valori di Y, in base.
1.7 Risorse di sistema Comprendere le risorse di sistema Gestire le risorse di sistema.
Windows Sistema operativo con interfaccia grafica per PC IBM compatibili (varie versioni dal 95) La gestione dei file viene fatta secondo le modalità.
Gestione della tastiera
1 Gestione del mouse via interrupt. 2 Connessioni 8259 master CPU 80x86 IR4 INT INTA A MHz 8250 o INTR mouse OUT2 SIN DTR RTS.
IL MODEM Che cos’è? A cosa serve? Che problemi risolve? Come comunica?
Labortaorio informatica 2003 Prof. Giovanni Raho 1 INFORMATICA Termini e concetti principali.
Introduzione alle basi di dati
Rete Sincrona Una rete sequenziale sincrona, è dotata di un ingresso E, di un segnale di Clock e uno di reset. Ad ogni fronte del Clock, deve essere campionato.
Robot Puma 560 prodotto da RP Automation, Inc.
WINDOWS XP PRIMI PASSI. Caratteristiche del sistema Le caratteristiche di base del PC (tipo e versione del sistema operativo installato, tipo e velocità
Come è fatto un computer
STRUTTURA GENERALE DI UN ELABORATORE
L' ARCHITETTURA DI VON NEUMANN
Microsoft Word (oppure, OpenOffice Writer)‏
Architettura del calcolatore
EXCEL E FTP.
A B C INFORMATICA… *.OFFICE - Maria Grazia Ottaviani.
Unità Didattica 3 Linguaggio C
PROTOCOLLO Interoperabile
Reti combinatorie: moduli di base
Sistema di regolazione del volume Il progetto consiste nella sintesi e nella realizzazione attraverso Xilinx di un sistema per la regolazione del volume,
WORD Lezione n. 1 Aprire il programma Aprire un documento esistente
Strumenti di Presentazione (Microsoft PowerPoint 2000)
Microsoft Access Chiavi, struttura delle tabelle.
Modulo 6 Test di verifica
Prof.ssa Stella Beccaria a.s. 2013_2014
Microsoft Word Interfaccia grafica
1 M. Rebaudengo Routine di servizio dell’interrupt.
Microsoft Access Maschere (II).
INTERFACCE Schede elettroniche che permettono al calcolatore di comunicare con le periferiche, che possono essere progettate e costruite in modo molto.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE File Marco D. Santambrogio – Ver. aggiornata al 21 Maggio 2014.
Gestione dei dispositivi di I/O:
Metodologie e strumenti basati sulle TIC per l’inclusione scolastica “Lavorare sul testo e scrivere più velocemente un testo” 16/04/2015Modulo 1 – Valentino.
Microsoft Access Chiavi, struttura delle tabelle.
1 Input/Output. 2 Livelli del sottosistema di I/O Hardware Gestori delle interruzioni Driver dei dispositivi Software di sistema indipendente dal dispositivo.
1 Input/Output. 2 Livelli del sottosistema di I/O Hardware Gestori delle interruzioni Driver dei dispositivi Software di sistema indipendente dal dispositivo.
ELABORAZIONE TESTI MICROSOFT WORD EM 09.
Io ho voluto dimostrarlo attraverso una delle mie passioni:
Lezione 01 Writer: I Dati inserimento e modifica.
1 Informatica Generale Alessandra Di Pierro Ricevimento: Giovedì ore presso Dipartimento di Informatica, Via Buonarroti,
Lezione 16 Riccardo Sama' Copyright  Riccardo Sama' Excel: strumenti per creare.
Impariamo ad usare Excel. Utilizzare l’interfaccia Avviare Excel e iniziare ad esplorare l'interfaccia per acquisire familiarità con esso… Non c'è modo.
Comunicazione Seriale Prof. Antonino Mazzeo Corso di Laurea Specialistica in Ingegneria Informatica.
Microsoft Word Idoneità Informatica. Inserire simboli Clic su Inserisci, nella Barra dei menu. Clic su Simbolo. Nella finestra Simbolo, vengono visualizzati.
Anno scolastico 2014/2015 Classe 1° B Venerucci Samuele.
ITT-LSA “T. SARROCCHI” Corso Microsoft PowerPoint SAPER APRIRE L’APPLICAZIONE POWERPOINT Sequenza comandi 1)Posizionarsi con il mouse sul pulsante della.
Transcript della presentazione:

Interfacciamento con mouse seriali

Mouse per P.C. Si sono affermati diversi standard per mouse collegabili a Personal Computer, tra di loro incompatibili dal punto di vista HW: mouse seriale “standard Microsoft” a 2 tasti, collegato all’interfaccia seriale mouse seriale “standard Genius” (o Logitech, o PC-mouse) a 3 tasti, collegato all’interfaccia seriale mouse “standard PS/2” a 2 tasti, con apposito connettore veicolato verso l’interfaccia della tastiera mouse “Microsoft a 3 tasti”, estensione dello standard Microsoft a 2 tasti.

Lo standard mouse “Microsoft” sistema operativo driver del mouse API interrupt API UART 8250 o 16550 programmi applicativi linea seriale Mouse

Protocollo seriale dello standard MS Il mouse contiene un trasmettitore seriale non programmabile. Esso trasmette informazioni ogniqualvolta: viene premuto o rilasciato un tasto viene spostato il mouse. Ogni volta che il mouse deve trasmettere informazioni, spedisce un pacchetto di dati contenente: lo stato attuale dei pulsanti lo spostamento relativo rispetto all’ultimo pacchetto di dati inviato.

Trasmissione seriale Il mouse trasmette secondo i seguenti parametri: 1200 baud 8 bit per carattere 1 bit di stop nessuna parità Il mouse può essere collegato ad una delle 4 interfacce seriali del P.C., da COM1 a COM4. Ciascuna interfaccia corrisponde ad un componente NS16550 (estensione del NS8250) che risponde a specifici indirizzi di I/O.

Formato del pacchetto dati Il pacchetto dati trasmesso dal mouse è costituito da 3 caratteri di 8 bit ciascuno. Essi vengono trasmessi in sequenza, e devono essere letti singolarmente dall’interfaccia seriale. primo byte 1 1 L R Y7 Y6 X7 X6 1 X5 X4 X3 X2 X1 X0 secondo byte 1 Y5 Y4 Y3 Y2 Y1 Y0 terzo byte

Pacchetto dati: la trama 1 1 L R Y7 Y6 X7 X6 1 X5 X4 X3 X2 X1 X0 1 Y5 Y4 Y3 Y2 Y1 Y0 i bit 7 e 6 indicano la trama del pacchetto: nel primo byte valgono 11 nel secondo e terzo byte valgono 10 per leggere dati significativi, occorre: sincronizzarsi con il trasmettitore, aspettando il primo byte con indicatore di trama 11 attendere i successivi due caratteri, verificando che abbiano indicatore pari a 10 in caso di errore occorre scartare quanto ricevuto e aspettare il prossimo pacchetto.

Pacchetto dati: i tasti 1 1 L R Y7 Y6 X7 X6 1 X5 X4 X3 X2 X1 X0 1 Y5 Y4 Y3 Y2 Y1 Y0 i bit 5 e 4 del primo byte contengono lo stato dei due tasti del mouse: il bit 5 “L” è relativo al tasto sinistro il bit 4 “R” è relativo al tasto destro ciascun bit vale 1 se il tasto è premuto, 0 se non è premuto il valore del bit indica lo stato attuale del tasto: per rilevare una variazione (pressione o rilascio), il software dovrà fare dei confronti con lo stato precedente.

Pacchetto dati: lo spostamento 1 1 L R Y7 Y6 X7 X6 1 X5 X4 X3 X2 X1 X0 1 Y5 Y4 Y3 Y2 Y1 Y0 i bit da 3 a 0 del primo byte, insieme ai bit da 5 a 0 del secondo e del terzo byte, contengono lo spostamento del mouse rispetto all’ultimo pacchetto trasmesso gli spostamenti sono espressi in complemento a 2 su 8 bit spostamento orizzontale (positivo verso destra): bit 3 e 2 del primo byte e bit da 5 a 0 del secondo byte spostamento verticale (positivo verso il basso): bit 1 e 0 del primo byte e bit da 5 a 0 del terzo byte

Estensione: mouse a 3 tasti Esistono in commercio dei mouse a 3 tasti che seguono il protocollo Microsoft. Il tal caso il tasto centrale viene trasmesso come L=R=1, ossia come se fossero premuti contemporaneamente i due tasti sinistro e destro. Molti di questi mouse sono dotati di un interruttore per selezionare il protocollo di funzionamento (MS=Microsoft / PC=Genius).

Coordinate relative ed assolute Il mouse trasmette esclusivamente coordinate relative. La traduzione in coordinate assolute (posizione sullo schermo) è totalmente a carico del software. Conviene disporre di due variabili globali, MouseX e MouseY, che indicano la posizione attuale del mouse. Nell’aggiornamento di tali variabili occorre limitarne i valori all’area rappresentabile sullo schermo. La posizione del cursore sullo schermo si otterrà moltiplicando MouseX e MouseY per opportune costanti.

Gestione dei tasti Al fine di rilevare la pressione ed il rilascio dei tasti, è necessario disporre di due variabili globali nelle quali memorizzare lo stato dei tasti. Esempio: ButtonL, ButtonR. Dal confronto dei dati ricevuti dal mouse con i valori contenuti nelle variabili ButtonL e ButtonR, è possibile determinare se è appena stato premuto o rilasciato un tasto, ed agire di conseguenza.

Ricezione dei dati dal mouse Inizializzazione interfaccia seriale Ricezione di un pacchetto dati Aggiornamento variabili Disegno del cursore su video

Inizializzazione È necessario inizializzare l’interfaccia seriale con i parametri opportuni, programmando i registri: Divisor Latch Low e High (Baud Rate) LCR (data format) FIFO C.R. (per disattivare la FIFO), solo 16550 IER (per disabilitare l’interrupt) MCR (per disabilitare OUT2 e abilitare RTS, DTR).

Ricezione di un pacchetto dati else Leggi un byte 11 else bit 7-6 = 11 11 else Leggi un byte 10 11 bit 7-6 = 10 10 Leggi un byte OK bit 7-6 = 10

Lettura di un byte Leggi LSR FI=1 OE=PE=FE=0 Leggi RBR Leggi RBR

Indirizzi delle interfacce seriali Indirizzi di I/O di base per le porte seriali: COM1: 3F8h COM2: 2F8h COM3: 3E8h COM4: 2E8h N.B. gli indirizzi effettivi si possono talvolta modificare agendo sui ponticelli della scheda seriale oppure mediante l’’auto-configurazione Plug-and-Play.

Esercizio Si scriva un programma che legga il flusso di dati proveniente dal mouse e sposti di conseguenza un carattere “*” sul video. Il tasto sinistro lascia dietro di sé una traccia di “.”, il tasto destro deve cancellare. Si consiglia di scrivere le procedure assembler: void init_mouse(void): inizializza l’interfaccia int poll_mouse(void): legge un carattere in polling, gestendo eventuali errori PE, FE, OE. Le procedure saranno poi richiamate da un programma C che penserà a interpretare i dati.