- •Національний університет „Львівська політехніка” Кафедра атхп Курсовий проект
- •1. Індивідуальне завдання до курсового проекту з дисципліни «мікропроцесорна техніка» на тему «проектування інтелектуального давача на базі мікоконтролера 89с51»
- •Структурна схема інтелектуального давача, побудованого на базі мікроконтролера 89с51 .
- •2.1 Мікроконтролер 89с51 .
- •Опис роботи інтелектуального давача.
- •Побудова контролера клавіатури та семисегментного індикатора.
- •3.1. Ввід інформації з клавіатури.
- •3.2. Вивід інформації на семисегментний індикатор.
- •3.3. Програма для програмування програмованого логічного пристрою контролера
- •3.4. Часові діаграми pоботи програмованого логічного пристрою контролера
- •4. Робота аналого-цифрового перетворювача
- •Контролери послідовного каналу вводу-виводу.
- •Програма для роботи мікропроцесорного пристрою, побудованого на базі мікроконтролера 89с51
- •Висновки
- •Література
3.2. Вивід інформації на семисегментний індикатор.
Вивід інформації на дев’ятирозрядний індикатор здійснюється наступним чином. Біти Р0.4-Р0.7 байту Р0 з порту Р0 мікроконтролера 89С51 поступає на вхід контролера клавіатури та дев’ятирозрядного індикатора, побудованого на базі програмованого логічного пристрою 5С090. На контролер також поступає і сигнал синхронізації CLK, який знімається з виходу P1.0 мікроконтролера 89С51.
При динамічній індикації байт індикації (YА-YG) поступає від контролера одночасно на входи усіх дев’яти семисегментних індикаторів, які утворюють лінійний дисплей, а вибір знакомісця (Y0-Y8) здійснюється бітом вибірки, який поступає з зсуваючого регістра (R0-R8), що побудований на базі програмованого логічного пристрою 5С090.
З кожним імпульсом біту вибірки сигнал символу з порту Р0 (біти P0.4 - Р0.7) мікроконтролера 89С51 поступає на дешифратор символів, який побудований на тому ж програмованому логічному пристрої 5С090.
Підпрограма виводу символу на семисегментний індикатор реалізує вибірку коду наступного символу з РПД (вихідні коди символів повинні бути розміщені у послідовно розташованих комірках пам’яті), його відображення в текучому знакомісці. Для отримання яскравої та рівної (немигтючої) індикації необхідно забезпечити: по-перше, заборону вибірки знакомісць на час зміни байту індикації у порту Р0 (бланкування), по-друге, регенерацію зображення на кожному знакомісці з частотою 20 раз в секунду, тобто звертання до підпрограми через кожні 50/N мс, де N=9 - число знакомісць на дисплеї. Бланкування здійснюється видачею байта вибірки «всі одиниці».
Необхідна частота звернення до підпрограми виводу символу забезпечується за допомогою переривання від таймера.
Схема під’єднання семисегментного рідкокристалічного індикатора (9 семисегментних індикаторів) до контролера клавіатури та рідкокристалічного індикатора наведена на рис. 3.3.
Таблиця переходів та виходів рідкокристалічного семисегментного індикатора наведена у таблиці 3.2.
Таблиця 3.2
Таблиця переходів та виходів роботи контролера індикатора
S |
CLK |
R0 |
R1 |
R2 |
R3 |
R4 |
R5 |
R6 |
R7 |
R8 |
|
0 |
1 |
||||||||||
0 |
1 |
0 |
0 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
2 |
1 |
1 |
0 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
2 |
3 |
2 |
1 |
1 |
0 |
1 |
1 |
1 |
1 |
1 |
1 |
3 |
4 |
3 |
1 |
1 |
1 |
0 |
1 |
1 |
1 |
1 |
1 |
4 |
5 |
4 |
1 |
1 |
1 |
1 |
0 |
1 |
1 |
1 |
1 |
5 |
6 |
5 |
1 |
1 |
1 |
1 |
1 |
0 |
1 |
1 |
1 |
6 |
7 |
6 |
1 |
1 |
1 |
1 |
1 |
1 |
0 |
1 |
1 |
7 |
8 |
7 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
0 |
1 |
8 |
0 |
8 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
0 |
Вхідними сигналами для виводу символу на індикатор є чотири молодші біти порту 0, а саме Р0.4, Р0.5, Р0.6 та Р0.7. Бітом вибірки служить сигнал, який поступає з порту Р1.0. На виходах YA, YB, YC, YD, YE ,YF та YG формується код символу на семисегментному рідкокристалічному індикаторі, а на виходах R0, R1, R2, R3, R4, R5, R6, R7, R8 формується сигнал біту вибірки елементу індикатора.
Значення функцій коду символу YA, YB, YC, YD, YE ,YF та YG наведені у таблиці 3.3.
Таблиця 3.3
Кодування символів індикатора
P0.7 |
P0.6 |
P0.5 |
P0.4 |
YA |
YB |
YC |
YD |
YE |
YF |
YG |
Симв. |
0 |
0 |
0 |
0 |
1 |
1 |
1 |
1 |
1 |
1 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
1 |
1 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
1 |
0 |
1 |
1 |
0 |
1 |
1 |
0 |
1 |
2 |
0 |
0 |
1 |
1 |
1 |
1 |
1 |
1 |
0 |
0 |
1 |
3 |
0 |
1 |
0 |
0 |
0 |
1 |
1 |
0 |
0 |
1 |
1 |
4 |
0 |
1 |
0 |
1 |
1 |
0 |
1 |
1 |
0 |
1 |
1 |
5 |
0 |
1 |
1 |
0 |
1 |
0 |
1 |
1 |
1 |
1 |
1 |
6 |
0 |
1 |
1 |
1 |
1 |
1 |
1 |
0 |
0 |
0 |
0 |
7 |
1 |
0 |
0 |
0 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
8 |
1 |
0 |
0 |
1 |
1 |
1 |
1 |
1 |
0 |
1 |
1 |
9 |
1 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
- |
1 |
0 |
1 |
1 |
1 |
0 |
0 |
1 |
1 |
1 |
1 |
E |
1 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
1 |
r |
1 |
1 |
0 |
1 |
0 |
0 |
1 |
1 |
1 |
0 |
1 |
o |
1 |
1 |
1 |
0 |
0 |
0 |
0 |
1 |
1 |
1 |
1 |
t |
1 |
1 |
1 |
1 |
1 |
1 |
0 |
0 |
1 |
1 |
1 |
P |