Лабораторная 1
.docЦель работы - ознакомление с системой команд однокристального микроконтроллера семейства i8051 и получение навыков работы в системе отладки.
Система команд микропроцессора и наиболее употребительные директивы ассемблера представлены в разделах помощи системы отладки (см. пункты окна "Помощь" экранного меню).
Для первоначального ознакомления учащийся составляет программу в языке ассемблера ( см. варианты заданий) и выполняет основные этапы отладки : редактирование, компиляцию, моделирование . Все этапы работы выполняются посредством вызова соответствующих действий с помощью экранного меню интегрированной системы отладки, а в процессе моделирования - выбором соответствующих функций из меню встроенной программы-моделировщика. Подробно последовательность вызовов представлена в разделе 3 описания настоящей работы - порядок выполнения работы.
Разрабатывая обучающимся тестовая программа содержит операции считывания входных данных с портов ввода-вывода, обработку считанной информации и выдачу результатов на внешние контакты микроконтроллера.
В работе рассматривается так называемый минимальный режим микроконтроллера, то есть без внешней памяти. Для приема и выдачи информации используются порты ввода-вывода. Порт ввода-вывода содержит регистр для выводимых данных и буфер для входных данных. Регистр выходных данных может быть загружен командой MOV Pn, A , где n -номер порта, а данные с линии ввода-вывода прочитаны командой MOV A,Pn. Однако следует иметь в виду, что внешний контакт порта является одновременно и входом и выходом. Фактически на этой линии реализуется операция "монтажного ИЛИ", то есть если внешний источник, подключенный к соответствующему контакту или выходной регистр выдают на линию уровень логического нуля, то состояние линии нулевое, и при считывании с порта прочтется логический ноль. Иными словами, если порт используется для ввода данных в выходной регистр на время обмена ( а если ввод через этот порт не предусмотрен, то постоянно) должен быть загружен код, содержащий единицу во всех разрядах. Подобно внешние устройства, подключаемые к портам, не должны выдавать активных единичных сигналов на линию передачи данных во время приема.
Вариант 2. В считанном байте анализируется бит В0. Если в нем 0 то передаче на выходной порт подлежит исходный байт, иначе считанное значение увеличивается на единицу
JMP START ORG 100H START: MOV R6,#4 REPEAT: MOV A,P0 JNB ACC.0,END
INC A END: MOV P1,A DJNZ R6,REPEAT |
// Переход на начало основной программы // Смещение // Метка начала // Заносим в регистратор R6 константу 4 (количество повторений) // Метка начала цикла // Заносим значение из входного порта Р0 в аккумулятор // Условный переход к концу цикла если 0 бит аккумулятора равно 0. // Увеличиваем на А // Метка конца цикла // Уменьшение счетчика цикла R6 переход к началу цикла если R6 не равно 0. |
Текст входного файла:
ff
0f
f0
00
Текст выходного файла:
00 01 F0 00