Учебная работа. Реферат: Программа-отладчик микроконтроллера I8051 К1816ВЕ51
Введение
программка-отладчик микроконтроллера I8051 (К1816ВЕ51) создана для программирования микроконтроллера на уровне языка ассемблера, компиляции программки в объектный код и тестирования разработанной программки.
В состав программы-отладчика входят:
· редактор языка ассемблера микроконтроллера К1816ВЕ51;
· имитатор микроконтроллера К1816ВЕ51;
· внутрисхемный эмулятор микроконтроллера К1816ВЕ51.
программка запускается в работу файлом «info8051.bat». Для записи пакета на комп нужна инсталляционная дискета, при помощи которой программка инсталлируется на хоть какой комп. В случае обычного копирования программка-отладчик будет работать, но не в полном объеме (не будут производиться операции с диском).
1 РЕДАКТОР ЯЗЫКА АССЕМБЛЕРА
Редактор дозволяет в комфортной форме писать программки на языке ассемблера и составлять текст начальной программки в коды ПЗУ. Опосля компиляции программки машинные коды автоматом записываются в ПЗУ программы-имитатора.
состояние редактора изображается на дисплее монитора в виде 2-ух окон. В верхнем окне отражается текст программки. Нижнее окно создано для выдачи служебных сообщений (положение курсора, ошибки при компиляции и т.д.). В нижней строке экрана размещено меню редактора.
Перемещение курсора по экрану осуществляется при помощи кнопок движения курсора и, не считая этого, последующими кнопками:
Home — в начало строчки;
End — в конец строчки;
PgUp — листать ввысь;
PgDn — листать вниз;
Ctrl-Home — в начало файла;
Ctrl-End — в конец файла;
Сtrl-PgUp — в начало экрана;
Ctrl-PgDn — в конец экрана;
Ctrl-Left — роллинг ввысь;
Ctrl-Right- роллинг вниз.
Для редактирования введенного текста употребляются клавиши:
Del — удаление знака под курсором;
BackSpace — удаление знака слева от курсора. Если курсор находится в первой позиции строчки, то текущая строчка будет слита с предшествующей, но лишь в том случае, если длина результирующей строчки не превосходит 128 символов.
Ins (Вст) — переключение режима «вставка/замещение». При включении режима вставки в служебном окне высвечивается сообщение «ВСТ». В этом режиме при наборе знака посреди строчки знаки, стоящие справа от курсора сдвигаются на одну позицию на Право. В режиме замещения знак, стоящий над курсором, заменяется на введеный.
F6 — стирание до конца строчки;
F9 — вставка новейшей строчки. текст, стоящий ниже строчки, в какой находится курсор, сдвигается на одну строчку вниз;
Alt-Y — удаление текущей строчки;
Alt-S — расщепление строчки на две по курсору;
Alt-J — соединение 2-ух строк по курсору;
Alt-Q — восстановление строчки в начальном виде, если курсор еще не покинул строчку.
Редактор предоставляет возможность работы с блоком текста. Отмеченный блок можно переместить в хоть какое пространство текста, скопировать либо удалить. Для работы с блоком употребляются клавиши:
Alt-L — отметка одной строчки либо целого блока. При отметке одной строчки курсор нужно установить в подходящую строчку и надавить комбинацию «Alt-L». Для отметки нескольких строк нужно поначалу поместить курсор в первую строчку подходящего блока и надавить «Alt-L», а потом в последнюю строчку и также надавить «Alt-L». Отмеченный блок будет выделен;
Alt-U — снятие маркировки;
Alt-C — копирование блока вослед за текущей строчкой. Отмеченный блок расположится вослед за строчкой, в какой находится курсор, а остальной текст передвинется вниз. Начальный блок остается.
Alt-M — перенос блока вослед за текущей строчкой. Отмеченный блок будет перенесен вослед за строчкой, содержащей курсор, а начальный блок будет удален.
Alt-D — удаление маркированного текста.
Для поиска последовательности знаков, употребляется поиск по эталону. Поиск осуществляется в строчках, находящихся опосля курсора. При внедрении эталона для поиска введенные буковкы воспринимаются как строчные и если разыскиваемая последовательность содержит строчные буковкы, то она не будет найдена. При нахождении первой группы знаков, совпадающей с данным прототипом, курсор устанавливается в это пространство экрана. Для поиска употребляются клавиши:
Alt-F — установление эталона для поиска. В служебном окне возникает требование установить эталон для поиска. Ввод эталона должен окончиться нажатием клавиши «ENTER». Опосля ввода эталон высвечивается понизу экрана в скобках;
Alt-X — продолжение поиска по эталону.
Ввод литеры со особым кодом осуществляется одновременным нажатием клавиши «Alt» и набором шестнадцатеричного кода знака на цифровой клавиатуре. знак возникает опосля отпускания клавиши «Alt». Для ввода знака «ESC» употребляется композиция «Alt- F1».
Работа с наружными устройствами ведется под управлением кнопок:
F2 — сохранение текущего файла на диске;
F3 — загрузка новейшего текстового файла;
Alt-W — сохранение отмеченного блока строк на диске;
Alt-R — чтение с диска текстового файла. файл вставляется в текст за текущей строчкой;
Alt-P — вывод на печать отмеченного блока строк. Если блок не отмечен, то печатается весь текст.
Кнопка «F5» производит переход к программной модели микроконтроллера, а кнопка «F7» — к внутрисхемному эмулятору. Кнопка «F10» производит переход в командное меню, которое дублирует обозначенные выше операции и предоставляет новейшие способности.
Основное меню содержит пункты «Файлы», «Ассемблер», «Эмулятор», «Функции» и «Выход».
Подменю «Файлы» содержит пункты:
· оглавление — выход в систему управления файлами;
· загруз текст — загрузка новейшего текстового файла;
· сохран текст — сохранение текущего файла на диске;
· вставить текст — вставка файла в текст за текущей строчкой;
· сохран маркир — сохранение отмеченного блока строк на диске;
· печать текста — вывод на печать отмеченного блока строк;
· новейший текст — чистка буфера редактора для ввода текста.
При выходе в систему управления файлами многофункциональные клавиши изменяют свое предназначение. Система управления файлами имитирует выход в DOS и многофункциональные клавиши принимают
F2 — установка обpазца для высветки файлов;
F3 — пpосмотp файла;
F4 — чтение файла для pедактиpования;
F5 — копиpование файла;
F6 — пеpеименованиe файла;
F7 — создание директории;
F8 — удаление файла либо директории;
F9 — смена дисковода;
F10 — создание файла;
ENTER — зависимо от типа файла выполнится:
директория — смена директории;
COM, EXE, BAT-файл — выполнение файла;
файл — чтение файла;
— ESC — выход из системы упpавления файлами.
Подменю «Ассемблер» содержит пункты:
· ассемблер — компиляция ассемблерного текста из текущего файла;
· распечатка — вывод листинга программки на печать либо в файл на диске;
· сохр. двоичн. формат — сохpанение двоичного файла пpогpаммы;
· сохр. нex. формат — cохpанение файла в HEX-фоpмате.
В подменю «Эмулятор» входят пункты:
· модель — отладка скомпилированной пpогpаммы на программной модели микроконтроллера;
· внутрисх. эмулятор — отладка программки на внутрисхемном эмуляторе;
· дизассемблер кода — дизассемблирование ПЗУ эмулятора;
· дизассемблер данных — дизассемблирование данных ПЗУ эмулятора.
Подменю «Функции» содержит:
· 25/43 Строчки — смена числа стpок на экpане (25 либо 43 лишь для адаптера EGA);
· звук вкл/выкл — Включение/выключение звука.
В подменю «Выход» содержатся пункты:
· сохран.текст — выход с сохранением текущего файла;
· не сохранять — выход без сохранения текущего файла.
Для выхода из редактора ассемблера (как и для выхода из программы-отладчика) употребляется кнопка «ESC». Она употребляется также для отмены операции и возврата в редактор. Для указания системы счисления, в какой находится конкретный операнд в конце операнда ставится буковка, которая обозначает систему счисления:
B — двоичное;
O либо Q — восьмиpичное;
D либо ничего — десятичное;
H — шестнадцатиpичное ( обязано начинаться непременно с цифpы).
Опеpатоpы упpавления листингом программки:
EJECT — пеpеход на новейшую стpаницу;
LIST/NOLIST — печатать/нет стpоки начального текста;
PRINT/NOPRINT — выводить/нет стpоки листинга;
PAGING/NOPAGING — разбивать/нет листинг на стpаницы;
PAGELENGTH(n) — установка макс.числа стpок на стpанице;
PAGEWIDTH(n) — установка макс.числа знаков в стpоке.
2 ИМИТАТОР МИКРОКОНТРОЛЛЕРА I8051
Имитатор микроконтроллера I8051 (К1816ВЕ51) представляет собой математическую модель микроконтроллера I8051 (К1816ВЕ51). программка имитирует работу микроконтроллера, что дозволяет вести отладку программ.
В окно имитатора можно попасть из редактора языка ассемблера. В процессе работы программка показывает содержимое регистров микроконтроллера на дисплее монитора и дозволяет редактировать их содержимое в процессе программки. Отслеживание программки может вестись в пошаговом либо непрерывном режиме. В процессе выполнения программки ПЗУ вероятна имитация наружных прерываний либо наружных событий. время, затраченное на выполнение программки (либо части программки), подсчитывается в счетчике машинных циклов.
содержимое составных частей микроконтроллера выводится не экран в виде окон, показанном на рис.1.
Окно регистров микроконтроллера
Окно счетчика установок
Окно дизассемблера
Окно входных сигналов
Окно дампа памяти 1
Окно дампа памяти 2
Окно выбора дампов
Основное меню имитатора
Рис.1 — Отображение содержимого микроконтроллера на дисплее
В окне состояния регистров микроконтроллера (рис.1) отражено шестнадцатеричное содержимое регистров особых функций, регистров общего предназначения текущего банка РОНов и содержимое ячеек памяти, адресок которых находится в регистрах косвенной адресации.
По желанию юзер может поменять порядок расположения регистров в окне или удалить некие регистры. Для этого довольно поправить имя регистра (либо поменять его пробелами), а потом надавить кнопку «Enter».
В окне счетчика установок показано текущее содержимое счетчика установок, счетчика машинных циклов и выходных шин микроконтроллера. В отличие от всех остальных окон, информация этого окна не редактируется.
В окне дизассемблера показаны девять дизассемблированных установок, начиная с команды, адресок которой записан в счетчике установок. Адресок счетчика установок не постоянно совпадает с адресом первого б команды и потому в окне дизассемблера быть может отражена совершенно иная команда. Окно дизассемблера дозволяет редактировать программку, не выходя из имитатора. Для этого курсор устанавливается на подходящую команду и вводится новенькая команда. Опосля нажатия клавиши «Enter» команда транслируется в машинный код, в неприятном случае – восстанавливается в начальное состояние. При редактировании нужно учесть количество б старенькой и вводимой команды, потому что остальная часть программки не двигается ввысь либо вниз. При редактировании программки в окне конкретный операнд должен вводиться лишь в шестнадцатеричном виде, потому не требуется ввод знака «#» и буковкы, обозначающей систему счисления.
В окне входных сигналов устанавливается
В окнах дампа 1 и 2 отражается шестнадцатеричное состояние 2-ух из 4 областей (по одной в любом окне) памяти. В окне дампа 2 показано содержимое памяти и в текстовом представлении (в кодах ASCII).
Выбор областей памяти для дампов осуществляется в окне выбора дампов. В нем выбирается раздельно для всякого окна область памяти, нужная для отражения. Кнопками движения курсора «Left» и «Richt» выбирается требуемое окно, а кнопками «RgUp» и «PgDown» одна из 4 областей памяти:
ROM — внутренняя память программ;
InROM — наружная память программ;
SFRAM — внутренняя память данных;
RAM — наружная память данных.
В главном меню программки показано предназначение многофункциональных кнопок для управления работой имитатора.
Для перехода меж окнами употребляются клавиши:
Tab — переход к последующему окну;
Shift+Tab- переход к предшествующему окну;
Ctrl+Enter — переход к окну дизассемблера.
Перемещение курсора в границах окна осуществляется кнопками:
Left — курсор на одну строчку на лево;
Right — курсор на одну строчку на Право;
Up — курсор на одну строчку ввысь (в окнах дампа роллинг);
Down — курсор на одну строчку вниз (в окнах дампа роллинг);
Home — курсор в начало окна;
PgUp — просмотр предшествующей странички дампа;
PgDn — просмотр последующей странички дампа;
Enter — курсор в начало последующей строчки.
программка ПЗУ может производиться в пошаговом либо непрерывном режиме. В пошаговом режиме всякий раз производится еще одна команда ПЗУ, опосля чего же обновляется содержимое всех ячеек памяти и регистров. Пошаговый режим реализуется нажатием клавиши F2.
Для пуска программки в непрерывном режиме употребляется кнопка F3. При работе программки в непрерывном режиме на дисплее обновляется лишь информация о текущем цикле микропроцессора и текущем значении РС. Вся остальная информация (дампы, окно регистров, окно дизассемблера) обновляется опосля останова программки. В непрерывном режиме меняется предназначение кнопок для способности имитации подачи наружных сигналов:
F4 — подача сигнала Int0 (переходом 1 в 0);
F5 — подача сигнала Int1 (переходом 1 в 0);
F6 — подача сигнала T0 (переходом 1 в 0);
F7 — подача сигнала T1 (переходом 1 в 0);
F8 — подача сигнала сброса;
Esc — останов программки.
По окончании выполнения программки нажатием клавиши F6 можно просмотреть перечень крайних 16 выполненных установок ПЗУ.
В процессе работы программки может быть задание точек останова, по достижении которых выполняемая программка приостанавливается. Точку останова можно задать по адресу команды или по содержимому ячейки памяти либо регистра специального предназначения. Можно задать до 8 точек останова программки, объединенных функцией «ИЛИ».
Вход в режим задания точек останова осуществляется кнопкой F4, опосля чего же на дисплее возникает окно, в каком показаны все действующие точки останова. Если предполагается задание точки останова в виде адреса команды, то нужно ввести требуемый адресок и надавить пробел для установки точки останова.
Если требуется наиболее сложное условие останова, то опосля нажатия клавиши «End» курсор перескакивает на пустое пространство для задания точки останова.
Наиболее сложное условие останова задается в виде:
NAME1 = / <> XX & … & NAMEn = / <> XX,
где: NAMEk — имя 1-го из регистров области SFR, регистр Rn либо @Ri либо выражение [XX] (содержимое внутреннего ОЗУ), XX — значение б в шестнадцатеричном представлении;
= / <> — значит, что можно избрать один из символов = (равно); либо <> (не равно);
& — знак, соединяющий части условия останова.
Примером условия останова может служить выражение:
R5=20 & R6=FF;
Условие останова производится, если производятся все его части.
Для отказа от 1-го из критерий останова курсор устанавливается на это пространство и нажимается пробел, опосля чего же повторным нажатием клавиши пробела условие восстановится по мере необходимости.
Нажатие клавиши F8 имитирует сброс микроконтроллера и производит все нужные деяния. Кнопкой F9 обнуляется счетчик машинных циклов. Меню имитатора (кнопка F10) содержит пункты:
· звук вкл/выкл — включение/выключение звука;
· загр.текст — загрузка текстового файла в HEX-формате;
· выгр.текст — cохранение текста программки в HEX-формате.
Выход в редактор ассемблера осуществляется кнопкой «ESC».
]]>