Контролер клавіатури і індикації
Поможем в ✍️ написании учебной работы
Поможем с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой

 

Для керування індикацією та сканування клавіатури використовується спеціалізована мікросхема i8279. Вона являє собою контролер клавіатури та індикації. Мікросхема має внутрішній ОЗП клавіатури та індикації, може працювати у декількох режимах і дозволяє керувати восьми - або шістнадцятирозрядною індикацією та опитувати до 128 клавіш або дискретних датчиків. Умовне графічне позначення мікросхеми приведене на рис.14.


Рис.13- Умовне-графічне позначення мікросхеми i8279

 

Внутрішня адресація виробляється по входу A0, тому на цей вхід потрібно подати сигнал з адресної шини. Обмін даними йде по шині даних. Входи RL0-RL7 мікросхеми служать для зчитування стану клавіш клавіатури; виходи OutA3-OutA0, OutB0-OutB3 підключаються до індикаторів; виходи S0-S3 - це виходи сканування рядків клавіатури й перебору індикаторів при відображенні. При надходженні інформації від клавіатури контролер виробляє запит на переривання, виставляючи на виході IRQ сигнал активного рівня. Цей сигнал надходить на один із входів зовнішніх переривань мікроконтролера.

Найменування виводів мікросхеми i8279:

D0…D7 - входи-виходи з третім станом

CS - вибір мікросхеми

RD - читання

WR - запис

A0 або C/D - команда / данні

CLK - синхронізація

RES - початкова установа

S0…S3 - сканування

BD - гасіння індикації

OUTA3… OUTA0, OUTB3… OUTB0 - коди символів

R0…R7 - прийом сигналів з клавіатури

SHIFT - верхній / нижній регістр

IRQ - запит переривання

Технологічні та електричні характеристики:

Технологія - ТТЛШ

Напруга живлення, В - 5

Вихідна напруга, В:

високого рівня - 2,4

низького рівня - 0.45

Вихідний струм, мA:

при напрузі низького рівня - 5

при напрузі високого рівня - 1

Вхідний струм, мкA:

низького рівня - 30

високого рівня - 30

Потужність - 350 мВт

Струм споживання - 60 мА

Режими роботи інтерфейсу клавіатури:

1. Послідовне опитування матриці клавіш із декодуванням і забороною уведення двох одночасно натиснутих клавіш.

2. Послідовне опитування з дешифруванням лічильника сканування з дозволом натискання N клавіш (N<=8).

3. Послідовний режим без дешифрації клавіш із забороною уведення 2х і більше натиснутих клавіш (S0-S3 - Висновки лічильника, до нього підключений 8 розрядний дешифратор (128 кл))

4. Послідовне опитування без дешифрування й з дозволом N натиснутих клавіш N<=8.

5. Послідовне опитування матриці датчиків з дешифруванням матриці сканування.

6. Послідовне опитування матриці датчиків без дешифрування матриці сканування.

7. Стробований вхід з дешифруванням лічильника сканування, що використається для опитування.

8. Стробований вхід без дешифрування лічильника сканування, що використається для опитування.

Режими роботи блоку індикації:

0. Виводить символ на 8мі розрядну індикацію, з розміщенням їх ліворуч праворуч.

1. Виводить символ на 16ти розрядну індикацію, з розміщенням їх ліворуч праворуч.

2. Виводить символ на 8мі розрядну індикацію, зі зрушенням раніше відображеної інформації вліво.

3. Виводить символ на 16ти розрядну індикацію, зі зрушенням раніше відображеної інформації вліво.

Згідно завданню треба організувати 8 індикаторів та 11 клавіш.

Для перетворення двійкового коду у семисегментний використаємо дешифратор К155ИД7, який має три входи і вісім виходів, чого достатньо для виконання поставленої задачі. Даний дешифратор у своєму составі має керуючі входи для організації динамічної індикації.


Рис.14 - Умовне графічне позначення К155ИД7

 

Найменування виводів:

А0-А2 - адресні входи,

Q0-Q7 - лінії виходу,

С1-С3 - ліній вибору мікросхеми.

Технологічні та електричні характеристики:

Технологія - ТТЛШ

Напруга живлення, V - 5

Вихідна напруга, V

високого рівня - 2,2

низького рівня - 0.8

Вихідний струм, mA

при напрузі високого рівня - 20

при напрузі низького рівня - 8

Струм споживання, mA – 74


Рис.15 - Схема підключення блоку i8279

 

Сформуємо формат команди встановлення режиму роботи контролера:

ICW1 = 00000001B = 01H

Обрано Режим 0 роботи інтерфейсу індикації та Режим 1 роботи інтерфейсу клавіатури, вивід символів на 8мі розрядну індикацію з розміщенням їх ліворуч праворуч та з запереченням натискання двох або більше клавіш.

Сформуємо формат команди програмування синхронізації: ICW2 = 00110100B = 34H. Коефіцієнт переліку вибрано рівним 20, тобто 10100В, тому що внутрішня частота інтерфейсу не повинна перевищувати 100кГц (2МГц /20 = 100кГц).

Сформуємо формат команди запису у ОЗП індикації:

ICW3 = 10010000B = 90H

Сформуємо формат команди читання ОЗП клавіатури:

ICW4 = 01010000B = 50H


Програма ініціалізації контролера клавіатури і індикації i8279

Мітка Мнємокод Операнди Коментарії
  i8279:   m1:   . equ . equ . equ . equ . equ . equ ldi sts ldi sts ldi sts ldi ldi mov sts dec cpi brne ldi lds mov ret   ICW1 = 0x01 ICW2 = 0x34 ICW3 = 0x90 ICW4 = 0x50 Adr2 = 0x8000 Adr1 = 0x8001 R0, ICW1 Adr1, R0 R0, ICW2 Adr1, R0 R0, ICW3 Adr1, R0 R1, 0x08 R2, 0x100 R3, R2 Adr2, R3 R2 R2, 0 m1 R4, 0x300 R5, Adr2 R4, R5     ; команда установки режиму ; команда программ. синхронізації ; команда запису в ОЗП індикації ; команда читання ОЗП клавіатури ; адреса завантаження команд ; адреса завантаження даних ; завантаження команди режиму роботи ; у контролер ; завантаження команди програмування ; синхронізації у котролер ; завантаження команди запису в ОЗП ; індикації у контролер ; завантаження лічильника ; завантаження початкової адреси ; завантаження даних в ОЗП індикації ; декремент регістру ; порівняння значення в регістрі з 0 ; перехід на мітку, якщо не рівно 0 ; завантаження початкової адреси ; читання ОЗП клавіатури ; зміст регістру R5 відправити у пам’ять по адресу, який знаходиться в R4  

 





Дата: 2019-07-31, просмотров: 312.