Краткое описание лабораторного макета. Лабораторный макет выполнен на базе однокристальной микроЭВМ семейства MCS51
Лабораторный макет выполнен на базе однокристальной микроЭВМ семейства MCS51. Память программ содержит ПЗУ объемом 16K (адреса 0H … 3FFFH) с резидентными программами «монитор», «редактор», «ассемблер» и сервисными подпрограммами. Память данных объемом 32К (0H... 7FFFH) разделена на две части: первая (0H... 3FFFH) предназначена для редактора и ассемблера, вторая совмещена с памятью программ (4000H... 7FFFH) и в нее можно помещать как данные, так и исполняемый программный код. Макет содержит два цифроаналоговых преобразователя (ЦАП). Первый подключен к порту P1 микроЭВМ, второй – к шине данных, запись в него осуществляется аналогично обращению к ячейке ОЗУ с адресом 8000Н. Макет содержит перестраиваемый генератор частоты, управляемый формирователь постоянного напряжения ЕВХ, аналоговый компаратор, выход которого подключен к входу порта Р3.3 (INT1), и фильтр нижних частот (ФНЧ),подключенный к выводу Р1.5. 1. 2. Функции и директивы программы «монитор» Программа «монитор» предназначена для организации интерфейса пользователь – микроЭВМ. При включении питания или нажатии кнопки «сброс» программируется последовательный порт микроЭВМ и выводится сообщение 'MCS-87C51FA SCS-MONITOR'. Монитор выполняет одну из директив: D (просмотр), M (редактирование), T (копирование), C (сравнение), J (запуск программы), E (вход в программу редактора и транслятора ассемблера MCS51), F (заполнение), S (определение кодов символов) в следующих областях памяти: внутреннем ОЗУ (M), внешнем ОЗУ (R) и ПЗУ (P). Символы-указатели области памяти (M, R, Р) вводятся вслед за символом директивы без пробела. Директивы могут содержать до трех параметров, представляющих собой числа в шестнадцатеричной системе счисления, разделенные между собой символами <,> или <пробел>. Незначащие нули и символ «H» вводить не нужно. Ввод директивы заканчивается нажатием клавиши <CR> или <ВК>. В случае ошибки при вводе директива не выполняется, выводится символ <#> и директиву необходимо ввести заново. Работа с директивами на примерах:
DR00_FF D - директива просмотра R – область памяти (М,Р) 00 – номер ячейки, с которой начинается просмотр(обратите внимание: выводится вся строка с данным элементом). _ - пробел FF - номер ячейки, на котором заканчивается просмотр(обратите внимание: выводится вся строка с данным элементом). (При просмотре области памяти М, просто DM)
После ввода команды нажимаем Enter. Мы видим таблицу, в ячейках которой находится содержимое выбранной области памяти. В представленной ниже таблице в некоторых ячейках показаны их номера.
2. Директива F (заполнение) FM5A_A5_77 Enter F - директива заполнения M– область памяти(R,Р) 5А - номер ячейки, с которой начинается заполнение А5 – номер ячейки, на которой заканчивается заполнение 77 – то число, которым заполняются ячейки _ - пробел. 3. Директива Т (копирование) TPM55_DD_79 Enter T - директива копирования Р - область памяти, с которой производят копирование(R,М,Р) M– область памяти, в которую производят копирование (R,Р,М) 55 - номер ячейки, с которой начинается копирование в Р DD - номер ячейки, на которой заканчивается копирование в Р 79 - номер ячейки, с которой начинается вставка в М. 4. Директива М (редактирование) MR00 Enter М – директива редактирования R – область памяти (М,Р) 00 – элемент, с которого начинается последовательное редактирование ячеек.
После нажатия Enter появляется номер ячейки; через «:» записано число, которым заполнена данная ячейка; через «-» мы записываем то число, которым хотим заполнить данную ячейку. Нажимая после этого «пробел» мы будем редактировать следующую ячейку. Закончив редактирование нужных ячеек, жмем Enter. 5. Директива С (сравнение) СМР00_0А_11 Enter. С – директива сравнения М – первая сравниваемая область памяти (М,Р,R) Р – вторая сравниваемая область памяти (М,Р,R) 00 – номер элемента в первой области, с которого начнется сравнение 0А – номер элемента в первой области, на котором сравнение закончится 11 - номер элемента во второй области, с которого начнется сравнение _ - пробел 6. Директива S (определение кодов символов) S5 Enter. S – директива 5 – здесь может быть любой символ, код которого нас интересует 7. Директива J (запуск программы) J4000 Enter. запуск программы с адреса 4000H
При выводе информации, не помещающейся на один экран, остановка/возобновление вывода осуществляется нажатием клавиш <Ctrl>+<S>. Прекращение вывода с выходом в монитор – <Ctrl>+<A>.
|