Вход на сайт Навигация по сайту Любить и уважать Бонус-счастливчики
|
Содержимое файла "Laba#1_0.doc" (без форматирования) 1. Мета роботи Закріплення теоретичних знань системи команд мікроконтролера МК51; придбання навиків складання програм на мові програмування асемблер, що реалізують алгоритми з розгалуженнями; закріплення навиків налагодження програм за допомогою програмного емулятора INFO-8051. 2. Домашнє завдання Скласти блок-схему алгоритму і текст програми на асемблері мікроконтролера МК51 відповідно до завдання. Визначити обсяг резидентної пам'яті програм для розміщення програми та максимальний та мінімальний час її виконання. Занести в протокол умову задач, блок-схеми алгоритму і початковий варіант програми. Пам'ять програм (ПЗУ) - 4 Кбайта і призначена для збереження команд, констант, таблиць перекодування вхідних і вихідних змінних і т.д. РПП має 16-бітну шину адреса, через яку забезпечується, найчастіше, доступ з лічильника чи команд із регістра-покажчика даних. Останній виконує функції базового регістра при непрямих переходах по чи програмі використовується в командах, що оперують з таблицями. Пам'ять даних (ОЗУ) призначена для збереження змінних у процесі виконання прикладної програми, адресується одним байтом і має ємність 128 байт. Крім того, до адресного простору РПД примикають адреси регістрів спеціальних функцій (РСФ). Нижче зображено умовне графічне позначення мікросхеми I8051, та графічне зображення простору пам’яті МК51. Рис. 1. Умовне графічне позначення мікросхеми I8051 Рис. 2. Умовне зображення простору пам’яті МК51 Завдання. Задано три однобайтних числа: , 3 HYPER14HYPER15 та . Обчислити , якщо , або - в протилежному випадку. - порт Р0, – РПД, адреса комірки 20Н, HYPER14HYPER15– РПП, комірка 200Н, - порт Р2. Попередній текст програми має вигляд: MOV A, PO SUBB A, 20H JC M1 MOV A, 20H SUBB A, 200H JC M1 MOV A, 20H ANL A, 200H MOV A P2 JMP M2 M1: MOV A, 20H MOV B, 200H MUL AB MOV P2, B NOP MOV P2, A M2: NOP Алгоритм роботи записаної програми приведено на рис. 3: Рис. 3. Блок-схема алгоритму роботи Текст програми. 3. Робота в лабораторії Текст налагодженої програми: mov a,#0; занулення акамулятора mov r0,#20h; занесення в r0 адреси В mov r1,#40h; занесення в r1 адреси А mov @r1,p0; занесення в комірку значення А mov dptr,#200h; занесення в dptr адреси С movc a,@a+dptr; занесення в акумулятор С subb a,@r0; порівняння С та В jnc podpr; перехід до підпрограми, якщо C>B mov a,@r0; занесення в акумулятор В subb a,@r1; порівняння А та В jnc podpr; перехід до підпрограми, якщо В>А mov a,@r1; занесення в акумулятор А anl a,@r0; виконання операції mov a,p2; виведення на порт Р2 результату jmp fin; перехід на мітку fin podpr: mov a,@r1; занесення в акумулятор А mov b,@r0; занесення до регістру B значення В mul ab; множення mov b,p2; виведення на порт Р2 старшого байту mov a,p2; виведення на порт Р2 молодшого байту fin: nop; кінець Вихідні дані: A=64; B=17; C=42. Результат виконання: P3=8FC. 4. Висновок На данній лабораторій роботі було складкно програму на мові програмування асемблер, вихідний варіант якої не працює. Було відлагождено програму з розгалуженою структурою та отримані результати. |
Посетителей: 0, из них зарегестрированных: 0, гостей: 0 Зарегистрированные пользователи: Подробно | Страница сгенерирована за 0.0614 сек. |