Вхідний струм, мк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. equldistsldistsldistsldildimovstsdeccpibrneldildsmovret | ICW1 = 0x01ICW2 = 0x34ICW3 = 0x90ICW4 = 0x50Adr2 = 0x8000Adr1 = 0x8001R0, ICW1Adr1, R0R0, ICW2Adr1, R0R0, ICW3Adr1, R0R1, 0x08R2, 0x100R3, R2Adr2, R3R2R2, 0m1R4, 0x300R5, Adr2R4, R5 | ; команда установки режиму; команда программ. синхронізації; команда запису в ОЗП індикації; команда читання ОЗП клавіатури; адреса завантаження команд; адреса завантаження даних; завантаження команди режиму роботи; у контролер; завантаження команди програмування; синхронізації у котролер; завантаження команди запису в ОЗП; індикації у контролер; завантаження лічильника; завантаження початкової адреси; завантаження даних в ОЗП індикації; декремент регістру; порівняння значення в регістрі з 0; перехід на мітку, якщо не рівно 0; завантаження початкової адреси; читання ОЗП клавіатури; зміст регістру R5 відправити у пам’ять по адресу, який знаходиться в R4 |
Адаптер послідовного інтерфейсу слугує для обміну інформацією у послідовному коді у двох режимах: асинхронному та синхронному.
Умовно графічне зображення адаптеру наведено на Рис.16
Рис.16 - Адаптер послідовного інтерфейсу i8254
Електричні параметри i8251:
1. Напруга живлення - 5 В
2. Вихідна напруга:
високого рівня - 2,4 В
низькі рівні - 0,45 В
3. Вихідний струм високого рівня - 1 мА
4. Вихідний струм низького рівня - 5 мА
5. Вхідний струм високого рівня - 30 мкА
6. Вхідний струм низького рівня - 30 мкА
Програмування адаптеру послідовного інтерфейсу Intel 8251
Завдання: Запрограмувати адаптер i8251 для роботи у асинхронному режимі на випадок:
кількість стоп-біт: 2
кількість інформаційних біт: 8
контроль парності
коеф. ділення частоти синхронізації: 16
кількість посилок: 48
Програма:
Спочатку сформуємо слово приказу - 11011110 #DEH
Початковий адрес у пам’яті #100Н
Кінцевий адрес у пам’яті #130Н
Адреса адаптеру #E000H
i8251: ; оголошення констант
. equadr1 = 0xE001; адреса А0=1
. equadr2 = 0xE000; адреса адаптеру
. equmask1 = 0x01; відокремлення TxRDY
. equmask2 = 0x02; відокремлення RxRDY
. equmask3 = 0b00111000; виявлення помилок
ldiR0, 0xDE; слово приказу
stsadr1, R0; програмув. на асинхр. режим
m1: ldiR0, 0x01; завантаження РПД=1
stsadr1, R0; слово команда, дозвіл
; передачі
m2: ldsR0, adr1; читання слова-стану
andiR0, mask1; маскування біта TxRDY
breqm2
ldiR31, 0x01; поч. адреса для видачі 100H потрапляє у
; старший байт Z (ZH=R31)
ldiR2, 0x30; 48 посилок
m3: ; програмув. передачі
ld R3, Z+; передача із слідуючої комірки у РОН
stsadr2, R3; видача байту інформації
decR2; декримент лічильника
cpiR2, 0
brnem3
RET
m4: ldiR0, 0x04; завантаження РПД=1
stsadr1, R0; слово команда, дозвіл
; прийому
m5: ldsR0, adr1; читання слова-стану
andiR0, mask2; маскування біта RxRDY
breqm5
ldsR0, adr1; читання слова-стану
andiR0, mask3; перевірка на факт помилки
brneerror
ldiR30, 0x31; поч. адреса для прийому 131H
; потрапляє побайтово до молодшого та
; старшого байтів рег. Z (ZL=R30)
ldiR31, 0x01; (ZH=R31)
ldiR2, 0x30; 48 посилок
m6: ; програмув. прийому
ldsR3, adr2; прийом байту інформації
stZ+, R3; прийом у слідуючу комірку РОН
decR2; декримент лічильника
cpiR2, 0
brnem6
RET
Проведемо розрахунок навантажувальних характеристик для виходів мікроконтролера для шини даних, адреси і керування.
Навантаження на шину даних мікроконтролера визначається по формулі:
IвихDL =IвхСKI + IвхPIТ + IвхOZU + IвхPZU + IвхACP = 0,03 + 0,03 + 1,6 + 0,25 + 0,1 = = 2,01 мА;
IвихDH = IвхCKI + IвхPIТ + IвхOZU + IвхPZU +IвхACP = 0,03 + 0,03 + 0,1 + 0,04 + 0,1 = = 0,3 мА;
СD = СCKI + СPIТ + СOZU + СPZU + СACP = 5 + 5 + 25 + 35 + 6 = 76 пФ.
Так як навантаження на шину даних не перевищує 40 мА, то використання додаткового шиного формувача не потрібне. Використаний буферний регістр відповідає поставленим вимогам.
Навантаження на шину адреси мікроконтролера визначається по формулі:
IвихАL =IвхСKI + IвхPIТ + IвхOZU + IвхPZU = 0,03 + 0,03 + 1,6 + 0,50 = 2,16 мА;
IвихАH = IвхCKI + IвхPIТ + IвхOZU + IвхPZU = 0,03 + 0,03 + 0,1 + 0,08 = 0,24 мА;
СА = СCKI + СPIТ + СOZU + СPZU = 5 + 5 + 25 + 30 = 65 пФ.
Так як навантаження на шину адреси не перевищує 40 мА, то використання додаткового шиного формувача не потрібне. Використаний буферний регістр відповідає поставленим вимогам.
Навантаження на шину керування мікроконтролера визначається по формулі:
IвихСL =IвхСKI + IвхPIТ + IвхOZU + IвхPZU = 0,03 + 0,03 + 1,6 + 0,25 = 1,94 мА;
IвихСH = IвхCKI + IвхPIТ + IвхOZU + IвхPZU = 0,03 + 0,03 + 0,1 + 0,04 = 0,23 мА;
СС = СCKI + СPIТ + СOZU + СPZU = 5 + 5 + 25 + 25 = 60 пФ.
Отримані при розрахунку значення струмув та ємностей не перевищують граничні значення.
В ході виконання курсової роботи була розроблена повна принципова схема мікропроцесорної системи. Були розглянуті різні варіанти структурної та принципової схем. Згідно із завданням складена програма ініціалізації окремих блоків. Обрані та розраховані необхідні у системі елементи. Була розглянута видача і запис інформації в пам’ять, АЦП, керування системою за допомогою клавіатури та індикації.
Виконання курсової дозволить у подальшому без труднощів розробляти подібні та ще більш складні процесорні системи.