ТОП 10:

Загальні вимоги до підготовки, проведення та здавання лабораторних робіт



Загальні положення

Вступ

Метою проведення лабораторних занять з курсу «Програмне забезпечення ІІС» є закріплення студентами теоретичних навичок та набуття практичних навичок при вивченні мови програмування Асемблер та мікропроцесорного контролера МК51.

Лабораторні роботи виконуються студентами на комп’ютері з використанням таких програмних засобів: Keil uVision (використовуються для розроблення та настроювання коду програми на мові програмування Асемблер) та Proteus 7 (використовується для моделювання роботи розробленої програми на мікропроцесорному контролері МК51).

Вимоги з техніки безпеки

1. Забороняється заходити в клас у верхньому одязі.

2. Проводити роботу в комп'ютерному класі тільки з дозволу викладача або лаборанта.

3. Кожний студент повинен працювати на закріпленому за ним комп'ютері. Перехід на інший комп'ютер без дозволу викладача забороняється.

4. Робоче місце потрібно тримати чистим та охайним. Конспекти та книжки розмістити на столі таким чином, щоб вони не заважали роботі на комп'ютері.

5. Якщо сеанс попереднього користувача не був завершеним, завершіть його.

6. Під час роботи не стукайте по клавіатурі та без потреби не натискуйте на клавіші, не кладіть на клавіатуру сторонні предмети.

7. Необхідно виконувати тільки ту роботу, яка передбачена навчальним процесом.

8. Дозволяється завантажувати програми, необхідні тільки для виконання учбового завдання.

9. Забороняється користуватися дискетами та дисками без дозволу лаборанта або викладача.

10. Перед роботою з дискетою або флеш-диском - обов'язково перевірити її на наявність вірусів.
11. Категорично забороняється інсталяція програми, а також видалення встановлених програм.

12. Забороняється замінювати конфігурацію і надбудову операційної системи без необхідності.

13. Дозволяється зберігати файли користувача тільки в каталозі Sum_GU_STUD та працювати тільки у своїй папці, під своїм ім'ям.

14. У разі необхідності роздрукування документа необхідно звернутися до викладача або лаборанта.

15. По закінченні роботи слід закрити всі активні програми та коректно вимкнути комп'ютер. Робоче місце має залишатися чистим.

 

Загальні вимоги до підготовки, проведення та здавання лабораторних робіт

Порядок підготовки до лабораторної роботи

До початку проведення лабораторної роботи (дома) студент повинен:

ü повторити загальні теоретичні положення відповідно до списків питань, які наводяться в методичних вказівках до конкретної лабораторної роботи, використовуючи конспект лекцій та літературу;

ü вивчити за даними методичними вказівками порядок проведення наступної лабораторної роботи;

ü розібратися з лабораторною роботою вдома або в комп’ютерному класі у позааудиторний час.

 

Порядок проведення лабораторної роботи

Виконувати лабораторну роботу необхідно згідно з варіантом, який видається викладачем. Лабораторна робота виконується в комп’ютерному класі в програмах для розроблення, настроювання та моделювання коду програми на мові програмування Асемблер Keil uVision і Proteus 7, а факт виконання зазначає викладач у журналі. Звіт необхідно зробити вдома після виконання лабораторної роботи і здати за тиждень до запланованого строку звітності з дисципліни, який визначається розкладом. Лабораторні роботи обов’язково необхідно захищати.

Здавання лабораторних робіт

Здавання та захист звіту про виконання лабораторної роботи відбувається викладачу, який проводив лабораторні заняття у формі співбесіди. Кожну лабораторну роботу необхідно захищати. Під час захисту обов’язково повинна бути дискета (або інший носій інформації) з виконаною роботою та звіт. Під час захисту студент повинен ясно та змістовно пояснити суть роботи, порядок виконання роботи, отримані результати та зроблені висновки, а також відповісти на контрольні питання до кожної конкретної роботи. Студенти, яки не захистять хоча б одну з робіт, до здавання семестрового контролю (заліку чи іспиту) не допускаються.

Після захисту всіх лабораторних робіт звіти з кожної роботи оформлюються та скріплюються під загальним звітом в окремій папці. Наявність всіх захищених робіт є необхідною умовою допуску до семестрового контролю.

 

Вимоги до форми та змісту звіту

1.3.4.1 Вимоги до змісту звіту до однієї лабораторної роботи

Звіт про виконану лабораторну роботу повинний містити номер лабораторної роботи, найменування теми роботи (наприклад, Лабораторна робота 5. Робота з масивами) та містити такі розділи:

1. Титульний аркуш із номером варіанта (додаток Б).

2. Тема та мета лабораторної роботи.

3. Порядок виконання лабораторної роботи.

4. Алгоритм роботи програми.

5. Лістинг розробленої програми.

6. Висновки про роботу.

7. Письмова відповідь на контрольні питання до роботи.

У розділі «Порядок виконання лабораторної роботи» необхідно навести:

Ø вхідні дані;

Ø необхідні розрахунки, якщо вони потрібні;

Ø опис алгоритму роботи програми;

Ø зображення моделювання роботи програми у Proteus 7.

Розрахунки повинні бути повними та містити докладні пояснення.

Такий звіт допускається до захисту. Захист здійснюється викладачу, що проводить лабораторні заняття.

1.3.4.2 Вимоги до оформлення звіту

Звіт про лабораторну роботу оформлюється на стандартних аркушах паперу А4 від руки або машинним способом, розбірливо та акуратно. При оформленні заголовків, полів, рисунків та таблиць дотримуватися вимог «Методичних вказівок з оформлення текстових документів (курсових і дипломних проектів)». – Суми: Вид-во СумДУ, 1997.

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

Параметри тексту: відступ зверху та знизу 20 мм, зліва 20 мм, справа 10 мм при книжній орієнтації сторінки та відповідно 20мм, 10 мм, 20 мм при альбомній орієнтації, колонтитули 15 мм. Текст розміщується з одного боку аркуша.

Гарнітура тексту Time New Roman, розмір шрифту 14 рt, інтервал між рядками – одинарний. У таблицях, колонтитулах та на діаграмах шрифт може бути від 10 рt до 16 рt залежно від тексту. Колонтитул повинен вміщуватися у рядок.

Вертикальне вирівнювання тексту по верху сторінки. Горизонтальне вирівнювання тексту по ширині сторінки.

Нумерація сторінок внизу посередині сторінки арабськими цифрами, перша сторінка не нумерується.

Кожен розділ починається з нової сторінки та має горизонтальне вирівнювання по центру сторінки без урахування абзацу. Заголовок розділу великими літерами, відокремлюється від основного тексту одним порожнім рядком.

Нумерація розділів і підрозділів арабськими цифрами. Нумерація формул, таблиць, діаграм та рисунків арабськими цифрами усередині кожного розділу.

Усі звіти про лабораторні роботи наприкінці семестру збираються разом, забезпечуються титульним аркушем (див. додаток В), змістом, де зазначається назва кожної лабораторної роботи в порядку її виконання за даними методичними вказівками. У такому вигляді звіти здаються викладачеві перед захистом курсової роботи або складанням іспиту (заліку).

Робота зі стендом

Для запуску стенда необхідно виконати такий порядок дій:

1 Відкрити папку LR_N, яка знаходиться за адресою D:\ Sum_GU_STUD\MPP\Semestr_6\LR_N, де N – номер лабораторної роботи.

2 Запустити додатки Proteus 7 і Keil uVision, виконавши файли MC51.DSN і MC51.Uv2 відповідно.

3 Текст програми набирати у Keil uVision.

Рисунок 1 - Вікно програми Keil uVision

 

Панель використовують для компіляції програми. Кнопка дозволяє відтранслювати програмний код, кнопка виконує компіляцію програми і створює виконуваний файл MC51.hex.

 

4 Завантаження файла у віртуальний стенд Proteus 7 здійснюється у вікні «Правка компонента», яке викликається подвійним натисканням миші по блоку контролера. Далі вибираємо пункт «Program File» і зазначаємо виконуваний файл MC51.hex.

Рисунок 2 - Вікно «Правка компонента»

Рисунок 3 - Вікно програми Proteus 7

 

5 Запуск і зупинення процесу емуляції здійснюється за допомогою панелі, наведеної на рисунку 4.

Рисунок 4 - Панель управління моделюванням


Завантажити програму на стенд ЕОМ. Переконатися в правильному виконанні індивідуального завдання, при негативному результаті змінити алгоритм або програму. Повторити завантаження програми на стенд ЕОМ.

Тема «Робота зі стеком».

Завантажити програму в стенд ЕОМ. Переконатися у правильному виконанні індивідуального завдання, при негативному результаті змінити алгоритм або програму. Повторити завантаження програми на стенд ЕОМ.

Завантажити програму в стенд ЕОМ. Переконатися у правильному виконанні індивідуального завдання, при негативному результаті змінити алгоритм або програму. Повторити завантаження програми на стенд ЕОМ.

Таблиця 4 - Перелік прапорців

Символ Позиція Ім’я і призначення
P PSW.0 Прапорець пріоритету. Встановлюється і скидається апаратно в кожному циклі команди і фіксує непарне/парне число одиничних біт в акумуляторі
- PSW.1 Не використовується
OV PSW.2 Прапорець переповнення. Встановлюється і скидається апаратно при виконанні арифметичних операцій
RS0 - RS1 PSW.3 - PSW.4 Біти вибору використовуваного банку регістрів. Можуть бути змінені програмним шляхом
RS0 RS1 Банк Границі адресів ОЗП
00H - 07H
08H - 0FH
10H 17H
  8H - 1FH

Продовження табл. 4

F0 PSW.5 Прапорець користувача. Може бути встановлений, скинутий або перевірений програмою користувача
АС PSW.6 Прапорець допоміжного перенесення. Встановлюється і скидається тільки апаратними засобами при виконанні команд додавання і віднімання і сигналізує про перенесення або позички в біті 3 акумулятора
C PSW.7 Прапорець перенесення. Встановлюється і скидається як апаратно, так і програмним шляхом

Як початковий код використовувати програму, розроблену в лабораторній роботі 3.

 

Приклад програми для роботи зі стеком

Занести в акумулятор число і виконати перевірку прапорця паритету. Якщо прапорець дорівнює «0», вивести на статичний індикатор число 00h, якщо прапорець дорівнює «1», вивести число 11h.

$ NOMOD51

$ Include (D:\ Sum_GU_STUD\MPP\ BIN\ASM51\mod51)

ORG 0

mov A, # 01000100b

jb PSW.0, Chetnoe

mov P2, # 11h

jmp Stop

Chetnoe:

mov P2, # 00h

Stop:

jmp Stop

END

 

Таблиця 5 - Варіанти індивідуальних завдань до ЛР 4

Номер вар Текст індивідуального завдання
1,11, Підрахувати і відобразити на статичному індикаторі кількість натискань кнопки SW1. Після досягнення кількості натискань 5 занести кількість натискань в акумулятор і перевірити прапорець паритету. При натисканні кнопки SW2 виконати перевірку прапорця паритету. Якщо прапорець дорівнює «0», вивести на статичний індикатор число 00h, якщо прапорець дорівнює «1», вивести число 11h
2,12, Підрахувати і відобразити на статичному індикаторі кількість натискань кнопки SW3. Після досягнення кількості натискань 6 занести кількість натискань в акумулятор і перевірити прапорець паритету. При натисканні кнопки SW4 виконати перевірку прапорця паритету. Якщо прапорець дорівнює «0», вивести на статичний індикатор число 00h, якщо прапорець дорівнює «1» вивести число 11h
3,13, Підрахувати і відобразити на статичному індикаторі кількість натискань кнопки SW5. Після досягнення кількості натискань 7 занести кількість натискань в акумулятор і перевірити прапорець паритету. При натисканні кнопки SW6 виконати перевірку прапорця паритету. Якщо прапорець дорівнює «0», і вивести на статичний індикатор число 00h, якщо прапорець дорівнює «1», вивести число 11h
4,14, Підрахувати і відобразити на статичному індикаторі кількість натискань кнопки SW7. Після досягнення кількості натискань 8 занести кількість натискань в акумулятор і перевірити прапорець паритету. При натисканні кнопки SW8 виконати перевірку прапорця паритету. Якщо прапорець дорівнює «0», і вивести на статичний індикатор число 00h, якщо прапорець дорівнює «1», вивести число 11h
5,15, Підрахувати і відобразити на статичному індикаторі кількість натискань кнопки SW1. Після досягнення кількості натискань 9 занести кількість натискань в акумулятор і перевірити прапорець паритету. При натисканні кнопки SW2 виконати перевірку прапорця паритету. Якщо прапорець дорівнює «0», і вивести на статичний індикатор число 00h, якщо прапорець дорівнює «1», вивести число 11h

Продовження табл. 5

6,16 Підрахувати і відобразити на статичному індикаторі кількість натискань кнопки SW3. Після досягнення кількості натискань 4 занести кількість натискань в акумулятор і перевірити прапорець паритету. При натисканні кнопки SW4 виконати перевірку прапорця паритету. Якщо прапорець дорівнює «0», і вивести на статичний індикатор число 00h, якщо прапорець дорівнює «1», вивести число 11h
7,17 Підрахувати і відобразити на статичному індикаторі кількість натискань кнопки SW5. Після досягнення кількості натискань 5 занести кількість натискань в акумулятор і перевірити прапорець паритету. При натисканні кнопки SW6 виконати перевірку прапорця паритету. Якщо прапорець дорівнює «0», і вивести на статичний індикатор число 00h, якщо прапорець дорівнює «1», вивести число 11h
8,18 Підрахувати і відобразити на статичному індикаторі кількість натискань кнопки SW7. Після досягнення кількості натискань 6 занести кількість натискань в акумулятор і перевірити прапорець паритету. При натисканні кнопки SW8 виконати перевірку прапорця паритету. Якщо прапорець дорівнює «0», і вивести на статичний індикатор число 00h, якщо прапорець дорівнює «1», вивести число 11h
9,19 Підрахувати і відобразити на статичному індикаторі кількість натискань кнопки SW1. Після досягнення кількості натискань 7 занести кількість натискань в акумулятор і перевірити прапорець паритету. При натисканні кнопки SW2 виконати перевірку прапорця паритету. Якщо прапорець дорівнює «0», і вивести на статичний індикатор число 00h, якщо прапорець дорівнює «1», вивести число 11h
10,20 Підрахувати і відобразити на статичному індикаторі кількість натискань кнопки SW3. Після досягнення кількості натискань 8 занести кількість натискань в акумулятор і перевірити прапорець паритету. При натисканні кнопки SW4 виконати перевірку прапорця паритету. Якщо прапорець дорівнює «0», і вивести на статичний індикатор число 00h, якщо прапорець дорівнює «1», вивести число 11h

 

Рисунок 12 - Схема до лабораторної роботи 4


Тема «Робота з масивами».

Завантажити програму в стенд ЕОМ. Переконатися у правильному виконанні індивідуального завдання, при негативному результаті змінити алгоритм або програму. Повторити завантаження програми на стенд ЕОМ.

Тема «Система переривань».

Завантажити програму в стенд ЕОМ. Переконатися у правильному виконанні індивідуального завдання, при негативному результаті змінити алгоритм або програму. Повторити завантаження програми на стенд ЕОМ.

Структура переривань

Механізм переривань в ЕОМ дозволяє автоматично реагувати на зовнішні і на внутрішні події (переповнення таймерів/лічильників; завершення послідовного обміну).

Кожне із зовнішніх переривань INTO, INT1 може бути активізовано за рівнем або за фронтом сигналів Р3.2, Р3.3 за допомогою бітів IT0 і IT1 регістра TCON. Під час отримання запиту зовнішнього переривання INTх встановлюється прапорець IEх регістра TCON. Очищення прапорця IEх проводиться апаратно: при перериванні за фронтом IEх скидається при зверненні до відповідної підпрограми обробки переривання; при перериванні за рівнем прапорець очищається при знятті запиту зовнішнього переривання, тобто в IEх відстежується стан виведення INTх.

Щоб зовнішнє переривання за рівнем було розпізнано, необхідно, щоб низький рівень на виведення INTх утримувався протягом не менше 12 періодів сигналу тактової частоти. Якщо ж переривання активізується з переходу зі стану високого рівня у стан низького рівня, то циклу низького рівня повинен передувати цикл високого рівня на виведення INTх. Якщо зовнішнє переривання активізується за рівнем, запит потрібно утримувати до початку обслуговуючої підпрограми і знімати перед завершенням цієї підпрограми для запобігання повторного обслуговування.

Переривання від таймерів/лічильників виконуються за бітами TF0 і TF1 регістра TCON, які встановлюються при переповненні відповідних регістрів таймерів/лічильників (за винятком режиму 3. Очищення прапорців TF0 і TF1 відбувається при переході до підпрограми обслуговування переривання.

Переривання від послідовного порту виконується за прапорцем закінчення прийому RI або за прапорцем закінчення передавання TI, які встановлюються в регістрі SCON.

На відміну від усіх інших прапорців, RI і TI скидаються тільки програмним шляхом, як правило в межах підпрограми обробки переривання, де визначається, якому з прапорців RI або TI відповідає переривання.

У разі одночасного надходження запитів переривання з однаковим рівнем пріоритету, що дорівнює 0 або 1, обробка їх провадиться в порядку внутрішнього опитування прапорців:

IEO -> TFO -> TE1 -> TF1 -> (TI + RI).

Встановлення прапорців переривання відбувається в кінці машинного циклу, а їх опитування в наступному циклі. І лише після виконання останнього циклу поточної команди проводиться апаратний виклик відповідної підпрограми обслуговування, еквівалентний команді LCALL.

У загальному випадку звернення до підпрограми обслуговування затримується при виконанні хоча б однієї з таких умов:

• проводиться обробка переривання з таким самим або вищим пріоритетом;

• поточний машинний цикл (опитування прапорця) не є останнім циклом виконуваної команди;

• виконувана команда поточної програми RETI або будь-яка команда звернення до регістрів IE, IP.

В останній умові після закінчення однієї з вищезазначених команд обов'язково виконається ще одна команда поточної програми перед викликом підпрограми обслуговування переривання.

Прапорець переривання, встановлений під час дії блокування переривання за однією з трьох зазначених умов і скинутий до їх зняття, не викличе обслуговування відповідного запиту переривання.

Підпрограма обслуговування переривання продовжується до виконання команди RETI, за якою відновлюється стан логіки переривання і стан програмного лічильника PC з двох верхніх осередків стека. При використанні команди RET відновлюється тільки стан програмного лічильника, а стан логіки переривання залишається незмінним.

Таблиця 9 - Початкові адреси векторів переривань

Джерело переривання Адреса
Зовнішнє переривання 0 0003H
Переповнення таймера 0 000BH
Зовнішнє переривання 1 0013H
Переповнення таймера 1 001BH
Послідовний порт 0023H

 

Приклад програми:

Організувати почергове миготіння лінійки світлодіодів у шаховому порядку. При натисканні кнопки SW1 (INT0) виводити на статичному індикаторі число 01h, при натисканні кнопки SW2 (INT1) виводити на статичному індикаторі число 02h. У програмі використати переривання.

$ NOMOD51

$ Include (D:\ Sum_GU_STUD\MPP\ BIN\ASM51\mod51)

ORG 0

jmp Config

ORG 0003h

jmp SW1

ORG 0013h

jmp SW2

Config:

mov P2, # 00000001b

mov IE, # 10100101b

mov IP, # 00000001b

Begin:

mov R1, # 01h; записати в R1 число 1

mov R2, # 02h; записати в R2 число 2

mov P1, # 01010101b; вивід результату на лінійку світлодіодів

call DEL; виклик підпрограми затримки

mov P1, # 10101010b

call DEL; виклик підпрограми затримки

jmp Begin, перехід у початок програми

 

SW1:

mov P2, R1

reti

 

SW2:

mov P2, R2

reti

 

DEL:; підпрограма затримки

mov R6, # 0FFh

mov R5, # 0Ah

C2: mov R7, # 0FFh

C4: djnz R7, C4

djnz R6, C2

djnz R5, C2

ret; вихід з підпрограми

 

END

 

 

Таблиця 10 - Варіанти індивідуальних завдань до ЛР 6

Номер вар. Текст індивідуального завдання
1,11, Занести до регістра R1 число 25Н, віднімаючи від числа "1", відображати результат на подвійному статичному індикаторі у молодшому розряді до нуля. За переривання INT0 вмикати, а після INT1 вимикати переміщення світлодіода на HL1-HL8
2,12, Занести до регістра R1 число 05Н. За переривання INT0 організувати біжучий рядок на подвійному статичному індикаторі справа наліво, а після перериванню INT1 зліва направо. Увімкнути в шаховому порядку світлодіоди HL1-HL8
3,13, Після переривання INT0 вмикати непарні світлодіоди на HL1-HL8, а по INT1 парні. Занести до регістра R5 00Н, додаючи до числа "1" відображати результат на подвійному статичному індикаторі у молодшому розряді до 30
4,14, Занести до регістра R0 число 00Н, додаючи до числа "1", відображати на подвійному статичному індикаторі, організувати можливість зміни кроку підсумовування, використовуючи INT0 і INT1 (INT0 - зменшує крок, INT1 - збільшує крок). Дублювати ці числа на лінійці світлодіодів (у двійковій формі)
5,15, Занести до регістра R5 число 08Н. Використовуючи переривання INT0 і INT1 (INT0 - забирає "2", INT1-додає "2"), організувати можливість зміни значення на подвійному статичному індикаторі. Сумарну кількість натискань SW1 і SW2 виводити на одинарний статичний індикатор
6,16 Занести до регістра R3 число 40Н, віднімаючи від числа "4", відображати результат на подвійному статичному індикаторі у молодшому розряді до нуля. Після переривання INT0 вмикати, а по INT1 вимикати переміщення світлодіода на HL1-HL8
7,17 Занести до регістра R7 число 08Н. Після переривання INT0 організувати біжучий рядок на подвійному статичному індикаторі зліва направо, а по перериванню INT1 справа наліво. Ввімкнути крайні світлодіоди HL1-HL8
8,18 Після переривання INT0 вмикати парні світлодіоди на HL1-HL8, а після INT1 непарні. Занести до регістра R1 00Н, додаючи до числа "2", відображати результат на подвійному статичному індикаторі у молодшому розряді до 50
9,19 Занести до регістра R2 число 00Н, додаючи до числа "5", відображати на подвійному статичному індикаторі, організувати можливість зміни кроку підсумовування використовуючи INT0 і INT1 (INT0 - зменшує крок, INT1 - збільшує крок). Дублювати ці числа на лінійці світлодіодів (у двійковій формі)

Продовження табл. 10

10,20 Занести до регістра R0 число 05Н. Використовуючи переривання INT0 і INT1 (INT0 - забирає "5", INT1-додає "5"), організувати можливість зміни значення на подвійному статичному індикаторі. Сумарна кількість натискань SW1 і SW2 виводити на одинарний статичний індикатор

 

Рисунок 16 - Схема до лабораторної роботи 6


Завантажити програму в стенд ЕОМ. Переконатися у правильному виконанні індивідуального завдання, при негативному результаті змінити алгоритм або програму. Повторити завантаження програми на стенд ЕОМ.

У базових моделях сімейства є два програмованих 16-бітних таймери /лічильники (T/C0 і T/C1), які можуть бути використані як таймер, так і як лічильники зовнішніх подій. У першому випадку вміст відповідного таймера/лічильника (Т/С) інкрементується в кожному машинному циклі, тобто через кожні 12 періодів коливань кварцового резонатора, в другому воно інкрементується під впливом переходу з 1 в 0 зовнішнього вхідного сигналу, що подається на відповідний (T0, T1) вивід мікроЕОМ 8051. Оскільки на розпізнавання періоду потрібні два машинних цикли, максимальна частота підрахунку вхідних сигналів дорівнює 1/24 частоти резонатора. На тривалість періоду вхідних сигналів обмежень зверху немає. Для гарантованого прочитання вхідний сигнал повинен утримувати значення 1, як мінімум, протягом одного машинного циклу мікроЕОМ.

Приклад програми

Організувати почергове перемикання лінійки світлодіодів в шаховому порядку. На статичному індикаторі відображати числа 01h і 02h. Організувати затримку почергового виведення на світлодіоди й індикатор, що дорівнює 1 с. Використовувати таймер 0.

$ NOMOD51

$ Include (D:\ Sum_GU_STUD\MPP\ BIN\ASM51\mod51)

ORG 0

Begin:

mov R1, # 01h; записати в R1 число 1

mov R2, # 02h; записати в R2 число 2

mov P1, # 01010101b; виведення результату на лінійку світлодіодів

mov P2, R1

call timer_50mcs; виклик підпрограми затримки

mov P2, R2

mov P1, # 10101010b; виведення результату на лінійку світлодіодів

call timer_50mcs; виклик підпрограми затримки

jmp Begin, перехід на початок програми

 

timer_50mcs:

mov R7, # 20d

Sec_1:

mov TMOD, # 00000001b

mov TH0, # HIGH (15542)

mov TL0, # LOW (15542)

setb TR0

jnb TF0, $

clr TF0

clr TR0

djnz R7, Sec_1

ret

END

 

 


Таблиця 13 - Варіанти індивідуальних завдань до ЛР 7

Номер вар. Текст індивідуального завдання
1,11, Занести до регістра R1число 09Н, віднімаючи від числа "1", відображати результат на статичному індикаторі у молодшому розряді до нуля. Вмикати переміщення світлодіода на HL1-HL8. Організувати затримку почергового виведення на світлодіоди і індикатор, що дорівнює 2 с. Використовувати таймер 0
2,12, Занести до регістра R1 число 05Н. Організувати біжучий рядок на статичному індикаторі справа наліво. Вмикати в шаховому порядку світлодіоди HL1-HL8. Організувати затримку почергового виведення на світлодіоди й індикатор, що дорівнює 1,5 с. Використовувати таймер 1
3,13, Вмикати в шаховому порядку світлодіоди HL1-HL8. Занести до регістра R5 00Н, додаючи до числа "1", відображати результат на статичному індикаторі у молодшому розряді до 9. Вмикати переміщення світлодіода на HL1-HL8. Організувати затримку почергового виведення на світлодіоди й індикатор, що дорівнює 2,5 с. Використовувати таймер 0
4,14, Почергово відображати на статичному індикаторі числа від 0 до 9, дублювати ці числа на лінійці світлодіодів (у двійковій формі). Організувати затримку почергового виведення на світлодіоди і індикатор, що дорівнює 3 с. Використовувати таймер 1
5,15, Вмикати переміщення світлодіода на HL1-HL8 зліва направо, а потім справо наліво. На статичному індикаторі відображати номер варіанта у форматі ХХН. Організувати затримку почергового виводу на світлодіоди і індикатор рівну 3,5 сек. Використовувати таймер 0
6,16 Занести до регістра R7 08Н, віднімаючи від числа "2" відображати результат на статичному індикаторі в старшому розряді до нуля. Вмикати переміщення світлодіоду на HL1-HL8. Організувати затримку почергового виведення на світлодіоди і індикатор, що дорівнює 1 с. Використовувати таймер 1
7,17 Занести до регістра R1 число 08Н. Організувати біжучий рядок на статичному індикаторі з ліва на право. Вмикати в шаховому порядку світлодіоди HL1-HL8. Організувати затримку почергового виведення на світлодіоди і індикатор, що дорівнює 4 с. Використовувати таймер 0

Продовження табл. 13

8,18 Вмикати в шаховому порядку світлодіоди HL1-HL8. Занести до регістр R0 00Н, додаючи до числа "2", відображати результат на статичному індикаторі у молодшому розряді до 0АН. Вмикати переміщення світлодіода на HL1-HL8. Організувати затримку почергового виведення на світлодіоди і індикатор, що дорівнює 5 с. Використовувати таймер 1
9,19 Почергово відображати на статичному індикаторі числа від 9 до 0, дублювати ці числа на лінійці світлодіодів (у двійковій формі). Організувати затримку почергового виведення на світлодіоди і індикатор, що дорівнює 5,5 с. Використовувати таймер 0
10,20 Вмикати переміщення світлодіода на HL1-HL8 справа наліво, а потім зліва направо. На статичному індикаторі відображати номер варіанта у форматі ХХН. Організувати затримку почергового виведення на світлодіоди і індикатор, що дорівнює 6 с. Використовувати таймер 1
Примітка. Х – цифра від 0 до 9

 

Рисунок 18 - Схема до лабораторної роботи 7

 


Завантажити програму в стенд ЕОМ. Переконатися у правильному виконанні індивідуального завдання, при негативному результаті змінити алгоритм або програму. Повторити завантаження програми на стенд ЕОМ.

Приклад програми

Організувати почергове переключання лінійки світлодіодів у шаховому порядку. На статичному індикаторі відображати числа 01h і 02h. Організувати затримку почергового виведення на світлодіоди й індикатор, що дорівнює 1 сек. Використовувати таймер 0 і переривання.

$ NOMOD51

$ Include (D:\ Sum_GU_STUD\MPP\ BIN\ASM51\mod51)

ORG 0

jmp Config

ORG 000Bh

jmp Timer_0

Config:

mov R7, # 20d

mov R6, # 20d

mov R1, # 01h; записати в R1 число 1

mov R2, # 02h; записати в R2 число 2

MOV TMOD, # 00000001B; 16-бітний таймер 0 і таймер1

MOV IE, # 10000010B; Дозволені переривання від таймера1

SETB TR0; запустити таймер 0

JMP $; Чекаємо переривання

Timer_0:

MOV TH0, # HIGH (15542)

MOV TL0, # LOW (15542)

djnz R6, Sec_1

mov R6, # 20d

jnb F0, label

mov P2, R1

mov P1, # 01010101b; виведення на лінійку світлодіодів

clr F0

reti

label:

mov P2, R2

mov P1, # 10101010b; виведення на лінійку світлодіодів

setb F0

Sec_1:

reti

END

Список літератури

1. Абрайтис В.Б. Быстродействующие интегральные микросхемы " Электронная промышленность ", 1989.

  1. А.Л. Булычёв, В.И. Галкин, В.А. Прохоренко. - Аналоговые интегральные схемы: справочник. Минск.: Беларусь, 1993.- 382с.
  2. Быстродействующие интегральные микросхемы ЦАП и АЦП / под ред. А.К.Марцинкявичуса. - М.: Радио и связь, 1990.
  3. Виглеб Г. Датчики. - М.: Мир, 1989.
  4. Гутников В.С. Интегральная электроника в измерительных устройствах. - Л.: Энегроатомиздат, 1990.
  5. П.М. Грицевский, А.Е. Мамченко. - Основы автоматики, импульсной и вычислительной техники. - М.: - Радио, 1989.
  6. Кушнир Ф.В. Радиотехнические измерения. М.: Связь, 1986.
  7. Липовецкий Г.П. Однокристальные микроЭВМ. - М.: МП "БИНОМ",1992.
  8. Литвинский Г.П. Однокристальные микроЭВМ. Техническое описание и руководство по применению. М. - 1982.
  9. Зубчук В.И. Справочник по цифровой схемотехнике.- К.: Техніка, 1990.
  10. Сопряжение датчиков и устройств ввода данных с компьютерами IBM PC / под ред. У.Томпкинса и

Дж. Уэбстера, Москва: Мир, 1992.

  1. Хвощ С.Т. Микропроцессоры и микроЭВМ в системах автоматизации и управления: справочник. - М.: Машиностроение, 1987.
  2. Шевкопляс Б.В. Микропроцессорные структуры. - М.: Радио и связь, 1990.
  3. Шило В.П. Популярные цифровые микросхемы. - М.: Радио и связь, 1988.

ДОДАТОК А

(довідковий)

Теоретичні відомості.

Система команд MK51

WAIT: CJNE A, P0, WAIT

виконуватиметься до тих пір, поки на лініях порту 0 не встановиться інформація, яка збігається з вмістом акумулятора.

Підпрограми. Для звернення до підпрограм необхідно використовувати команди виклику підпрограм (LCALL, ACALL). Ці команди на відміну від команд переходу (LJMP, AJMP) зберігають в стеку адресу повернення в основну програму. Для повернення з підпрограми необхідно виконати команду RET або RETI.

 

Загальні положення

Вступ

Метою проведення лабораторних занять з курсу «Програмне забезпечення ІІС» є закріплення студентами теоретичних навичок та набуття практичних навичок при вивченні мови програмування Асемблер та мікропроцесорного контролера МК51.

Лабораторні роботи виконуються студентами на комп’ютері з використанням таких програмних засобів: Keil uVision (використовуються для розроблення та настроювання коду програми на мові програмування Асемблер) та Proteus 7 (використовується для моделювання роботи розробленої програми на мікропроцесорному контролері МК51).

Вимоги з техніки безпеки

1. Забороняється заходити в клас у верхньому одязі.

2. Проводити роботу в комп'ютерному класі тільки з дозволу викладача або лаборанта.

3. Кожний студент повинен працювати на закріпленому за ним комп'ютері. Перехід на інший комп'ютер без дозволу викладача забороняється.

4. Робоче місце потрібно тримати чистим та охайним. Конспекти та книжки розмістити на столі таким чином, щоб вони не заважали роботі на комп'ютері.

5. Якщо сеанс попереднього користувача не був завершеним, завершіть його.

6. Під час роботи не стукайте по клавіатурі та без потреби не натискуйте на клавіші, не кладіть на клавіатуру сторонні предмети.

7. Необхідно виконувати тільки ту роботу, яка передбачена навчальним процесом.

8. Дозволяється завантажувати програми, необхідні тільки для виконання учбового завдання.

9. Забороняється користуватися дискетами та дисками без дозволу лаборанта або викладача.

10. Перед роботою з дискетою або флеш-диском - обов'язково перевірити її на наявність вірусів.
11. Категорично забороняється інсталяція програми, а також видалення встановлених програм.

12. Забороняється замінювати конфігурацію і надбудову операційної системи без необхідності.

13. Дозволяється зберігати файли користувача тільки в каталозі Sum_GU_STUD та працювати тільки у своїй папці, під своїм ім'ям.

14. У разі необхідності роздрукування документа необхідно звернутися до викладача або лаборанта.

15. По закінченні роботи слід закрити всі активні програми та коректно вимкнути комп'ютер. Робоче місце має залишатися чистим.

 

Загальні вимоги до підготовки, проведення та здавання лабораторних робіт







Последнее изменение этой страницы: 2016-06-07; Нарушение авторского права страницы

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.226.241.176 (0.043 с.)