Електроний посібник з
дисципліни "Мікропроцесорні системи"
Дипломный проект
Лабораторна робота №4
Написання програми комбінаційного автомата за таблицею істинності
Ціль роботи: вивчити методи розв'язку логічних рівнянь для бітових змінних і засвоїти формальні методи написання програми для комбінаційних автоматів.
Теоретичні відомості. Спосіб реалізації комбінаційного автомата, розглянутий в 3 лабораторній роботі, має наступні обмеження: вхідні сигнали повинні бути підключені на один порт і підряд (інакше необхідно буде збирати інформацію з різних входів в одне вхідне слово); при досить великій кількості входів (7 і більше) і неповному використанні вихідних комбінацій нераціонально використовується пам'ять програм. Тому пропонується інший спосіб розв'язку задання керування, заснований на програмній реалізації логічних кон’юнктивно диз'юнктивних рівнянь.
Як і в попередньому випадку, функціонування автомата задається у вигляді таблиці істинності, наприклад, табл. 1
Таблиця 1
Приклад задання алгоритму у вигляді таблиці істинності
Входи
|
Вихід
|
P1.2
|
P1.4
|
P2.1
|
P2.3
|
Р1.7
|
0
|
1
|
1
|
0
|
1
|
1
|
0
|
1
|
0
|
1
|
1
|
1
|
0
|
0
|
1
|
Запишемо логічне рівняння для виходу згідно з наведеною таблицею.
Р1.7=!Р1.2 & P1.4 & P2.1 & P2.3 +Р1.2 & !P1.4 & P2.1 & !P2.3+Р1.2 &
!P1.4 & P2.1 & !P2.3 (3.1)
Складемо схему алгоритму для першої функції «І» рівняння (рис. 3.1).
Слід звернути увагу, що команді переходу за умовою відповідає умовний оператор на блок-схемі алгоритму з результатом «ні» унизу. Тому для того, щоб програма була зручною, пропонується використовувати команди, які перевіряють інверсну умову. Тоді послідовне виконання таких команд і буде відповідати виконанню вихідної умови логічної функції.
У результаті програмна реалізація для першої функції «І» рівняння має вигляд:
JB P1.2,M1
JNB P1.4,M1
JNB P2.1,M1 JNB P2.3,M1
SETB P1.7
LJMP EXIT
M1: * * * ;перевірка наступної умови
Схема алгоритму для функцій «АБО» наведена на рис. 3.6 у розділі 3. У цьому алгоритмі під &1, &2 маються на увазі логічні функції «І» по рядках таблиці наведених рівнянь.
Повна програма логічного рівняння, відповідного до таблиці істинності, має вигляд:
Loop: JB P1.2,M1; перевірка умови першого рядка таблиці
JNB P1.4,M1 JNB P2.1,M1 JNB P2.3,M1
SETB P1.7; установка виходу в одиницю
LJMP Loop; і вихід
M1:
JNB P1.2,M2; ; перевірка умови другого рядка таблиці
JB P1.4,M2 JNB P2.1,M2 JB P2.3,M2
SETB P1.7; установка виходу в одиницю
LJMP Loop; і вихід
M2:
JNB P1.2,M3; перевірка умови третього рядка таблиці
JB P1.4,M3 JNB P2.1,M3 JB P2.3,M3
SETB P1.7; установка виходу в одиницю
LJMP Loop; і вихід
M3: CLR P1.7; скинути вихід у нуль - не виконалася жодна з умов
LJMP Loop; і вихід
Методика виконання:
1. Заносимо програму у вікно редактора програми.
2. Контроль над роботою програми зробимо за допомогою редактора оточення. Для цього підключаємо на входи відповідні до задання кнопки, а на виходи - світлодіоди.
3. Правильність складання умов появи вихідних сигналів перевіряється під час симуляції виконання в покроковому режимі, остаточна перевірка - в автоматичному режимі. Для переходу на симуляцію в автоматичному режимі необхідно після включення повторно нажати клавішу F9.
Звіт повинен містити текст програми, вихідні дані й блок-схему алгоритму.
Варіанти задань















