48239 (Программа-отладчик микроконтроллера I8051 (К1816ВЕ51))
Описание файла
Документ из архива "Программа-отладчик микроконтроллера I8051 (К1816ВЕ51)", который расположен в категории "". Всё это находится в предмете "информатика" из , которые можно найти в файловом архиве . Не смотря на прямую связь этого архива с , его также можно найти и в других разделах. Архив можно найти в разделе "рефераты, доклады и презентации", в предмете "информатика, программирование" в общих файлах.
Онлайн просмотр документа "48239"
Текст из документа "48239"
Программа-отладчик микроконтроллера I8051 (К1816ВЕ51)
Введение
Программа-отладчик микроконтроллера I8051 (К1816ВЕ51) предназначена для программирования микроконтроллера на уровне языка ассемблера, компиляции программы в объектный код и тестирования разработанной программы.
В состав программы-отладчика входят:
-
редактор языка ассемблера микроконтроллера К1816ВЕ51;
-
имитатор микроконтроллера К1816ВЕ51;
-
внутрисхемный эмулятор микроконтроллера К1816ВЕ51.
Программа запускается в работу файлом "info8051.bat". Для записи пакета на компьютер необходима инсталляционная дискета, с помощью которой программа инсталлируется на любой компьютер. В случае простого копирования программа-отладчик будет работать, но не в полном объеме (не будут выполняться операции с диском).
1 РЕДАКТОР ЯЗЫКА АССЕМБЛЕРА
Редактор позволяет в удобной форме писать программы на языке ассемблера и компилировать текст исходной программы в коды ПЗУ. После компиляции программы машинные коды автоматически записываются в ПЗУ программы-имитатора.
Состояние редактора изображается на экране дисплея в виде двух окон. В верхнем окне отражается текст программы. Нижнее окно предназначено для выдачи служебных сообщений (местоположение курсора, ошибки при компиляции и т.д.). В нижней строке экрана расположено меню редактора.
Перемещение курсора по экрану осуществляется с помощью клавиш движения курсора и, кроме этого, следующими клавишами:
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 - соединение двух строк по курсору;
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 показано содержимое памяти и в текстовом представлении (в кодах ASCII).
Выбор областей памяти для дампов осуществляется в окне выбора дампов. В нем выбирается отдельно для каждого окна область памяти, необходимая для отражения. Клавишами движения курсора «Left» и «Richt» выбирается требуемое окно, а клавишами «RgUp» и «PgDown» одна из четырех областей памяти:
ROM - внутренняя память программ;
InROM - внешняя память программ;
SFRAM - внутренняя память данных;
RAM - внешняя память данных.
В основном меню программы показано назначение функциональных клавиш для управления работой имитатора.
Для перехода между окнами используются клавиши:
Tab - переход к следующему окну;
Shift+Tab- переход к предыдущему окну;
Ctrl+Enter - переход к окну дизассемблера.
Перемещение курсора в пределах окна осуществляется клавишами:
Left - курсор на одну строку влево;
Right - курсор на одну строку вправо;
Up - курсор на одну строку вверх (в окнах дампа роллинг);
Down - курсор на одну строку вниз (в окнах дампа роллинг);