Вход на сайт Навигация по сайту Любить и уважать Бонус-счастливчики
|
Содержимое файла "Лаб 3.doc" (без форматирования) Міністерство освіти і науки України Одеський національний політехнічний університет Інститут радіоелектроніки та телекомунікацій Кафедра радіотехнічних систем Група РТ-001 Бригада №1 Студент: Конопака Є.А. Звіт з лабораторної роботи №3 Розробка та виконання програм з опрацюванням багатобайтних чисел та використанням підпрограм на базі мікроконтролера МК51 Складений: Прийнятий: 23 березня 2003 р. 1. Мета роботи: -закріплення теоретичних знань по системі команд мікроконтролера МК51; -придбання навиків складання на асемблері програм, що реалізують алгоритми з опрацюванням багатобайтних чисел та використанням подпрограм; -закріплення навиків налагодження програм за допомогою програмного емулятора INFO-8051. 2. Домашнє завдання. У домашнім завданні необхідно скласти схему алгоритму і текст програми на асемблері мікроконтролера МК51 у відповідності зі своїм варіантом(1 варіант). Скласти контрольні приклади. Контрольні приклади повинні передбачати перевірку програм по всіх гілках алгоритму. Визначити обсяг резидентної пам'яті програм для розміщення програми та максимальний і мінімальний час ії виконання. Занести в протокол умову задач, блок-схеми алгоритмів і початковий варіант програми. № вар. Формулювання задачі 1. В РПД, починаючи з адреси 0100H,записаний масив з 3-х байтних чисел з фіксованою комою (старший розряд старшого байта знаковий). Негативні числа записані в прямому коді. Обчислити суму чисел цього масиву і результат записати, починаючи з адреси 0100H. 2. Основні теоретичні відомості Принципова схема підключення зовнішньої пам’яті програм Принципова схема підключення зовнішньої пам’яті даних 3. Виконання домашнього завдання Текст программи: mov DPTR,#0100H mov R0,#00 mov R7,#00 mov R1,#00 mov R2,#00 mov R3,#00 mov R4,#00 mov R5,#00 mov R6,#00 clr PSW.7 cycle: movx A,@DPTR mov R1,A inc DPTR movx A,@DPTR mov R2,A inc DPTR movx A,@DPTR mov R3,A inc DPTR mov A,R1 jnb ACC.7,plus call minus nop plus: clr PSW.7 mov A,R3 add A,R6 mov R6,A jnb PSW.7,n1 y1: clr PSW.7 mov A,R5 add A,#01 mov R5,A jnb PSW.7,n2 y2: clr PSW.7 mov A,R4 add A,#01 mov R4,A jnb PSW.7,end_without jmp end_with n1: clr PSW.7 mov A,R2 add A,R5 mov R5,A jb PSW.7,y2 n2: clr PSW.7 mov A,R1 add A,R4 mov R4,A jb PSW.7,end_with jmp end_without end_with: end_without: mov R0,DPL mov R7,DPH mov DPTR,#0100H mov A,R4 movx @DPTR,A inc DPTR mov A,R5 movx @DPTR,A inc DPTR mov A,R6 movx @DPTR,A mov DPL,R0 mov DPH,R7 jmp cycle minus: mov A,R3 cpl A add A,#01 mov R3,A mov A,R2 cpl A jnb PSW.7,jump1 clr PSW.7 add A,#01 jump1: mov R2,A mov A,R1 cpl A jnb PSW.7,jump2 clr PSW.7 add A,#01 jump2: setb ACC.7 mov R1,A ret Блок схема алгоритму: Блок-схема алгоритму підпрограми переводу від’ємних чисел в додатковий код За початковим варіантом программа займає 134 байта. Контрольні приклади для перевірки роботи (перед початком перевірки роботи ввести в пам’ять дану послідовність відповідно до завдання): 1) 111111,222222,333333; 2) 800007,000005,000002 ; 5. Початкові дані і результат виконання програми Початкові дані – дані контрольного прикладу: Результат виконання-за адресою 0100Н – числа: 1) 666666; 2) 000000; 6. Висновок На данній лабораторій роботі я закріпив теоретичні знання з принципу побудови програм асемблера МК51. Було відлагождено программу з опрацюванням багатобайтних чисел та використанням підпрограм на базі мікроконтролера МК51 і отримані результати. Програма займає 134 байта. Початок Є перенос Додати до середнього регістру суми 1 Є перенос Є перенос Додати молодші регістри Підпрограмма переводу в додатковий код >0 Завантажити число Додати до старшого регістру суми 1 Обнути регістри Ввід даних Початок Кінець Сигнал перевантаження Додати середні регістри Є перенос Додати старші регістри Є перенос Перевантаження немає Глобальний перехід (Завантаження наст.ч.) Завантажити перший розряд Інвертувати перш. розряд Додати 1 до першого розр. Є перенос Інвертувати друг. розряд Додати 1 до другого розр. Інвертувати третій. розряд Додати 1 до третього розр. Є перенос Останов |
Посетителей: 0, из них зарегестрированных: 0, гостей: 0 Зарегистрированные пользователи: Подробно | Страница сгенерирована за 0.05 сек. |