Вход на сайт Навигация по сайту Любить и уважать Бонус-счастливчики
|
Содержимое файла "Laba#0_0.doc" (без форматирования) Метароботи:закріплення теоретичних знань системи команд мікроконтролера МК51; придбання навиків складання програм на мові програмування асемблер; ознайомлення та придбання навиків роботи з програмним емулятором INFO-8051. Основні теоретичні відомості по роботі з емулятором Загальний вигляд емулятора на рис. 1. Рис. 1. Функциональные клавиши F1 Эта информация F2 Выполнение одной текущей команды F3 Запуск программы с текущего адреса F4 Задание или просмотр точек останова F6 Просмотр последних 16 выполненных команд F7 Переход во внутрисхемный эмулятор F8 Сброс эмулируемого процессора F9 Сброс счетчика циклов процессора в нулевое значение F10 Вызов меню Esc Выход в ассемблер/редактор Перемещения курсора в пределах окна Left - курсор на одну строку влево Right - курсор на одну строку вправо Up - курсор на одну строку вверх (в окнах дампа возможен роллинг) Down - курсор на одну строку вниз (в окнах дампа возможен роллинг) Home - курсор в начало окна PgUp - просмотр предыдущей страницы дампа PgDn - просмотр следующей страницы дампа Enter - курсор в начало следующей строки Переходы между окнами Tab - переход к следующему окну Shift+Tab - переход к предыдущему окну Ctrl+Enter - переход к окну дизассемблераЗображення простору пам’яті МК51 Окно управления окнами дампа Left - управление окном 1 Right - управление окном 2 Up, Down - выбор типа памяти для окна 1 или 2 Окно дизассемблера Ctrl+Enter - переход к окну дизассемблера Enter - ассемблирование введенной команды по текущему адресу Ctrl+C - очистка поля команды Ins - вставка пробела в позицию курсора Del - удаление символа из позиции курсора Окно регистров Если исправить имя регистра (или заменить его пробелами), а затем нажать Enter, то в данной позиции будет выводиться указанный регистр (или будет пустое место). После запуска программы F4 Подача сигнала Int0 (переходом 1 в 0) F5 Подача сигнала Int1 (переходом 1 в 0) F6 Подача сигнала T0 (переходом 1 в 0) F7 Подача сигнала T1 (переходом 1 в 0) F8 Подача сигнала сброса Esc Останов программы После запуска программы обновляется только информация о текущем цикле процессора и текущем значении PC. После останова программы обновляется вся остальная информация (дампы, окно регистров, окно дизассемблера). Задание точек останова F4 - вход в режим задания точек остановов Esc - выход из режима задания точек остановов ввод числа - задание адреса останова пробел - установка/сброс останова по адресу (XXXX - сброшен) End - переход к редактированию условия останова Останов происходит, если в точке с указанным адресом выполнено условие останова. Если условие не задано, то оно считается выполнен- ным. Если адрес останова сброшен (XXXX), то условие проверяется после выполнения каждой команды. Каждая из 8 точек останова действует независимо от других (они объединяются по ИЛИ). Задание условия останова Условие останова задается в виде NAME1 { = | <> } XX & ... & NAMEn { = | <> } XX Здесь NAMEk - имя одного из регистров области SFR, регистр Rn или @Ri или выражение [XX] (содержимое ячейки внутреннего ОЗУ), XX - байт в шестнадцатиричном представлении, { = | <> } - означает, что можно выбрать один из знаков = (равно) или <> (не равно) & - символ, соединяющий части условия останова Условие останова выполняется, если выполняются все его части (они объединяются по И) Адреса регистров области SFR P0 *080 - порт 0 SP 081 - указатель стека DPL 082 - указатель данных (мл.) DPH 083 - указатель данных (ст.) PCON 087 - управление питанием TCON *088 - управление таймерами TMOD 089 - режим работы таймеров TL0 08A - младший байт таймера 0 TL1 08B - младший байт таймера 1 TH0 08C - старший байт таймера 0 TH1 08D - старший байт таймера 1 P1 *090 - порт 1 SCON *098 - управление последова- SBUF 099 - буфер последователь- тельным каналом ного канала P2 *0A0 - порт 2 IE *0A8 - маски прерываний P3 *0B0 - порт 3 IP *0B8 - приоритеты прерываний PSW *0D0 - слово состояния ACC *0E0 - аккумулятор B *0F0 - регистр для умножения Звездочкой (*) помечены регистры, адресуемые побитно. Робота в лабораторії. Нижче приведено тексти налагоджених програм: 1. Копіювання 0 банка у зовнішню пам’ять за адресом 5000Н mov PSW,#1000B; переключення в другий банк mov R0,#8; занесення в регістр R0 числа 8 mov DPTR,#5000H; занесення в DPTR адреси 5000Н mov R1,#0; занесення в регістр R1 числа 0 loop: mov A,@R1; занесення в акумулятор байта, що розміщений в комірці за дресою, записаною в регістрі R1 movx @DPTR,A; перенесення вмісту акумулятора в комірку зовнішньої пам’яті, адреса якої записана в DPTR inc R1; збільшення лічильника R1 inc DPTR; збільшення лічильника DPTR djnz R0,loop; перевірка умови повтору циклу 2. Очищення бітової області mov R0,#20H; занесення в регістр R0 числа 20Н (адреса) mov R1,#10H; занесення в регістр R1 числа 10Н (адреса) loop: mov @R0,#0; занулення комірки, адреса якої знаходиться в регістрі R0 inc R0; збільшення лічильника R0 djnz R1,loop; перевірка умови повтору циклу Висновок. На даній лабораторій роботі було проведено ознайомлення з емулятором асемблера МК51 - INFO-8051; з помічником емулятора, вікном відлагоджувальника, а також написано дві програми і проведено їх емуляцію. |
Посетителей: 1, из них зарегестрированных: 0, гостей: 1 Зарегистрированные пользователи: Подробно | Страница сгенерирована за 0.0596 сек. |