Вход на сайт Навигация по сайту Любить и уважать Бонус-счастливчики
|
Содержимое файла "Laba#2_0.doc" (без форматирования) 1. Мета роботи Закріплення теоретичних знань системи команд мікроконтролера МК51; придбання навиків складання програм на мові програмування асемблер, що реалізують алгоритми з циклічною структурою; закріплення навиків налагодження програм за допомогою програмного емулятора INFO-8051. 2. Домашнє завдання Скласти блок-схему алгоритму і текст програми на асемблері мікроконтролера МК51 відповідно до завдання. Занести в протокол умову задач, блок-схеми алгоритму і початковий варіант програми. В РПД з адреси 0100H, розміщено масив з 20 однобайтних цілих чисел зі знаком (старший розряд). Визначити скільки додатніх, від’ємних чисел, і чисел рівних нулю в цьому масиві. Результати помістити в РПД в комірки за адресами 0200H, 0201H, 0202H відповідно. Приведемо принципові схеми підключення зовнішніх пам'яті програм і пам'яті даних до МК51 – рис. 1 та рис. 2 відповідно. Рис. 1. Рис. 2. Алгоритм роботи програми приведено на рис. 3. Рис. 3. Tекст програми має вигляд: ORG 0 ; JMP START ; перехід на початок програми ORG 30 ; START: MOV R2, #1 ; занесення до лічильника кількості чисел початкового значення MOV R3, #0 ; занесення нуля до лічильника нулів MOV R4, #0 ; занесення нуля до лічильника додатніх чисел MOV R5, #0 ; занесення нуля до лічильника від’ємних чисел MOV DPTR, #1FFH ; занесення до DPTR початкової адреси M_2: MOV A, R2 ; занесення до акамулятору поточного значення лічильника чисел MOVC A,@A+DPTR ; занесення до акамулятору поточного числа із РПД CJNE A, #10000000B, M_5 ; перевірка на відмінність від нуля M_5: CJNE A, #00000000B, M_1 ; перевірка на відмінність від нуля INC R3 ; збільшення значення лічильника нулів JMP M_4 ; перехід на мітку M_1: JB ACC.7,M_3 ; перевірка на від’ємність INC R4 ; збільшення значення лічильника додатніх чисел JMP M_4 ; перехід на мітку M_3: INC R5 ; збільшення значення лічильника від’ємних чисел M_4: INC R2 ; збільшення значення лічильника поточних чисел CJNE R2, #15H, M_2 ; перевірка на відповідність заданій кількості чисел MOV DPTR, #200H ; занесення до DPTR початкової адреси виводу результату MOV A, R4 ; занесення до акамулятору значення кількості додатніх чисел MOVX @DPTR,A ; вивід результату INC DPTR ; збільшення значення DPTR MOV A, R5 ; занесення до акамулятору значення кількості від’ємних чисел MOVX @DPTR,A ; вивід результату INC DPTR ; збільшення значення DPTR MOV A, R3 ; занесення до акамулятору значення кількості нулів MOVX @DPTR,A ; вивід результату END ; кінець Висновок На даній лабораторій роботі було проведено ознайомлення з емулятором асемблера МК51; розроблено початковий варіант програми та налагождено программу з розгалуженою структурою і отримані результати її роботи. |
Посетителей: 0, из них зарегестрированных: 0, гостей: 0 Зарегистрированные пользователи: Подробно | Страница сгенерирована за 0.062 сек. |