La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

GESTIONE DELLA TASTIERA Prof. Marco Solarino. 2 STRUTTURA HARDWARE CODIFICA DI RIGA CODIFICA DI COLONNA A CONTROLLORE INTERNO SCAN CODE (1E) ALL'INTERFACCIA.

Presentazioni simili


Presentazione sul tema: "GESTIONE DELLA TASTIERA Prof. Marco Solarino. 2 STRUTTURA HARDWARE CODIFICA DI RIGA CODIFICA DI COLONNA A CONTROLLORE INTERNO SCAN CODE (1E) ALL'INTERFACCIA."— Transcript della presentazione:

1 GESTIONE DELLA TASTIERA Prof. Marco Solarino

2 2 STRUTTURA HARDWARE CODIFICA DI RIGA CODIFICA DI COLONNA A CONTROLLORE INTERNO SCAN CODE (1E) ALL'INTERFACCIA DI TASTIERA

3 3 SCAN CODE Lo SCAN CODE individua il tasto premuto (o rilasciato), ma solo in base alla sua posizione, indipendentemente quindi dal simbolo riportato sulla superficie del tasto stesso. Il suo bit più significativo indica se il tasto è premuto (bit7=0) o rilasciato (bit7=1), mentre i restanti bit indicano di quale tasto si tratta.

4 4 SCHEDA MADRE COLLEGAMENTO ESTERNO INTERFACCIA TASTIERA Generalmente la tastiera si collega all'unità centrale tramite il connettore PS/2, ma questa non è l'unica modalità disponibile.

5 5 COLLEGAMENTI INTERNI INTERFACCIA TASTIERA (64H) PORTA A DEL PPI 8255 (60H) SCAN CODE PIC 8259 RICHIESTA DI INTERRUPT IRQ1INTR RICHIESTA DI INT09 ALLA CPU

6 6 INT09 - ATTIVAZIONE Gli eventi che provocano la richiesta di attivazione della INT09 sono due: pressione di un tasto rilascio di un tasto ATTENZIONE Si può abilitare la ripetizione del tasto, e allora la richiesta di INT09 verrà inoltrata più volte finche si mantiene la pressione.

7 7 RIPETIZIONE DEL TASTO Se si attiva la ripetizione del tasto, si devono stabilire i valori di due parametri: il ritardo prima dell'inizio la frequenza di ripetizione Questi valori si possono impostare nel setup del BIOS o tramite le utilità offerte dal sistema operativo (Pannello di controllo in Windows XP o Impostazioni di sistema in Kubuntu Linux).

8 8 INT09 – COSA FA Semplificando molto, la funzione essenziale della routine di risposta alla INT09 è di riconoscere il tasto premuto (tramite il suo scan code) e associargli un codice ASCII. Non è suo compito consumare il tasto, ma solo renderlo disponibile per i programmi che dovranno utilizzarlo. Ottiene questo scopo depositando scan code e codice ASCII nel buffer di tastiera, da cui gli altri programmi potranno prelevarlo.

9 9 BUFFER DI TASTIERA 0:41Eh 0:420h scan code + ASCII 0:422h scan code + ASCII 0:424h 0:426h 0:43Ch Keyboard Buffer Head Pointer (0:41Ah) 422h Keyboard Buffer Tail Pointer (0:41Ch) 426h

10 10 INT09 – L'INIZIO Le prime istruzioni della routine di risposta alla INT09 consistono in un ciclo di attesa della disponibilità dello scan code sulla porta 60h (Porta A del PPI). Il bit meno significativo della porta 64h (interfaccia tastiera) segnala tale disponibilità ponendosi a 1. INT09 LEGGI PORTA 64h BIT MENO SIGNIFICATIVO =1? SI (scan code arrivato) A NO

11 11 INT09 – SECONDA FASE Qui viene acquisito lo scan code e si determina quale evento ha causato la chiamata della INT09: tasto premuto (bit più significativo=0) tasto rilasciato (bit più significativo=1) LEGGI PORTA 60h BIT PIU SIGNIFICATIVO =0? A B C SI (tasto premuto) NO (tasto rilasciato)

12 12 INT09 – OPERAZIONI PRINCIPALI Ricordando che stiamo semplificando molto ciò che accade, in questa fase si compiono essenzialmente due operazioni: si associa un codice ASCII allo scan code si inseriscono entrambi i valori nel buffer di tastiera B C ASSOCIA ALLO SCAN CODE IL CODICE ASCII DEL TASTO INSERISCI SCAN CODE E CODICE ASCII NEL BUFFER DI TASTIERA

13 13 INT09 – CONCLUSIONE Nella fase finale non resta che avvisare il PIC del termine della routine di interrupt inviandogli il codice di End Of Interrupt INVIA EOI (20h) AL PIC (20h) C IRET


Scaricare ppt "GESTIONE DELLA TASTIERA Prof. Marco Solarino. 2 STRUTTURA HARDWARE CODIFICA DI RIGA CODIFICA DI COLONNA A CONTROLLORE INTERNO SCAN CODE (1E) ALL'INTERFACCIA."

Presentazioni simili


Annunci Google