Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Лабораторная 1

.doc
Скачиваний:
34
Добавлен:
01.05.2014
Размер:
42.5 Кб
Скачать

Цель работы - ознакомление с системой команд однокристального микроконтроллера семейства 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

3