Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЛП_ЛС1.doc
Скачиваний:
16
Добавлен:
21.08.2019
Размер:
9.68 Mб
Скачать

Выполнение работы

  1. Изучить структуру и режимы функционирования микроконтроллера MC68HC908GP32.

  2. Ознакомиться с возможностями интегрированного отладчика ICS08GPGTZ.

  3. Изучить реализуемые микроконтроллером способы адресации и команды пересылки данных.

  4. Подготовить лабораторный стенд ЛС-1 к работе, выполнив следующие операции:

  • вставьте один из разъемов интерфейсного кабеля в разъем DB9 на задней панели стенда ЛС-1, а второй разъем этого кабеля в один из последовательных COM–портов инструментального компьютера (COM1 или COM2), поддерживающих скорость обмена 9600 бит/с;

  • вставьте штекер сетевого адаптера в разъем питания, расположенный на задней панели стенда ЛС-1; включите сетевой адаптер в штепсельную розетку электросети напряжением 220В;

  • переведите переключатель питания на передней панели стенда ЛС-1 в положение “Включено”, после этого на макете должен загореться красный светодиодный индикатор;

  • включите питание инструментального компьютера, работающего под управлением ОС Windows 95 или старшей версии с установленным пакетом программ отладки ICS08GPGTZ; из рабочего каталога запустите интегрированную среду программирования WinIDE.exe.

После выполнения этой процедуры на экране монитора должно появиться главное окно среды программирования WinIDE (см. раздел 3 Введения), в котором доступно меню, функциональные клавиши и окна редактирования исходного текста.

  1. В новом окне редактора ввести исходный текст программы содержащий различные варианты команд пересылки “регистр – регистр”, “регистр – память”, “память – память” (табл. 1.1).

  2. Выполнить компиляцию программы путем нажатия клавиши Assemble/Compile File (ассемблировать/откомпилировать файл). В случае получения сообщений об ошибке исправить исходный текст программы и повторить попытку компиляции.

  3. Войти в режим моделирования (симуляции) путем нажатия клавиши Simulator (симулятор контроллера). Проконтролировать правильность выполнения команд, используя окна CPU08, Memory Window 1, Code Window 1: Source.

  4. Ввести код программы в память микроконтроллера с помощью приложения Programmer (программатор). Войти в режим отладки путем нажатия клавиши In-Circuit Debuger (схемный отладчик). Проконтролировать правильность выполнения команд, используя окна CPU08, MemoryWindow1, CodeWindow1:Source.

Работа № 2. Микроконтроллер mc68hc908gp32: команды обработки данных

Цель работы: изучение команд арифметических, логических и битовых операций, команд сравнения и сдвигов.

Введение

Команды арифметических операций (табл.2.1) выполняют соответствующие действия над операндами, один из которых располагается в аккумуляторе A, где размещается затем результат. При операциях сложения и вычитания с учетом и без учета признака переноса C (команды ADC, ADD, SBC, SUB) второй операнд M адресуется любым способом, кроме относительного и индексного с постинкрементом. Команда двоично-десятичной коррекции DAA выполняется после команды ADD для получения правильного результата, если в качестве слагаемых использовались двоично-десятичные числа (две тетрады представляют два десятичных разряда числа).

Команда умножения MUL выполняется над 8-разрядными операндами без знака, расположенными в регистрах A, X, 16-разрядное произведение X:A размещается в этих же регистрах (старший байт в X, младший байт в A). Команда деления DIV использует в качестве делимого 16-разрядный операнд H:A (старший байт в H, младший байт в A), делитель находится в регистре X. Полученное 8-разрядное частное размещается в аккумуляторе, остаток – в регистре H.

При операциях инкремента, декремента (команды INC, INCA, INCX, DEC, DECA, DECX) и изменения знака (команды NEG, NEGA, NEGX) используются следующие способы адресации: индексная, индексная по указателю стека с 8-разрядным смещением или прямая с 8-разрядным адресом.

Команды AIX, AIS позволяют корректировать значение адреса, размещенного а регистрах H:X или SP, путем сложения их содержимого с 8-разрядной константой, которая задается в виде непосредственного операнда Im. Этот операнд является числом со знаком (представляется в дополнительном коде).

Команды сравнения CMP, CPX выполняют вычитание операндов без записи результата, но с установкой значений признаков V, N, Z, C в соответствии с полученным результатом. Эти команды используют все возможные способы адресации операнда, кроме относительного и индексного с постинкрементом. Команда CPHX производит сравнение 16-разрядных операндов, одним из которых является содержимое индексного регистра H:X, а вторым – непосредственно заданный в команде двухбайтовый операнд Im или содержимое двух рядом расположенных ячеек памяти M:M+1. В последнем случае команда CPHX использует 8-разрядную прямую адресацию.

Таблица 2.1. Команды арифметических и логических операций, сравнения и тестирования

Мнемокод

Команда

Операция

ADD (opr)

Сложение

A + M  A

ADC (opr)

Сложение с переносом

A + M + С  A

SUB (opr)

Вычитание

A - M  A

SBC (opr)

Вычитание с заемом

A - M - С  A

MUL

Беззнаковое умножение

A * X  X : A

DIV

Беззнаковое деление

H:A / X  A, остаток H

DAA

Двоично-десятичная коррекция результата сложения

INC (opr)

Инкремент M

M + 1  M

INCA

Инкремент A

A + 1  A

INCX

Инкремент X

X + 1  X

DEC (opr)

Декремент M

M - 1  M

DECA

Декремент A

A - 1  A

DECX

Декремент X

X - 1  X

NEG (opr)

Изменение знака M

0 - M  M

NEGA

Изменение знака A

0 - A  A

NEGX

Изменение знака X

0 - X  X

AIX #Im

Сложение H:X с константой

H:X + Im  H:X

AIS #Im

Сложение SP с константой

SP + Im  SP

CMP (opr)

Сравнение A с M

A - M, установка V,N,Z,C

CPX (opr)

Сравнение X с M

X - M, установка V,N,Z,C

CPHX (opr)

Сравнение H:X c M:M+1

H:X - M:M+1, установка V,N,Z,C

TST (opr)

Тестирование M

M - 0, установка N,Z

TSTA

Тестирование A

A - 0, установка N,Z

TSTX

Тестирование X

X - 0, установка N,Z

AND (opr)

Логическое И

A  M  A

OR (opr)

Логическое ИЛИ

A  M  A

EOR (opr)

Исключающее ИЛИ

A  M A

COM (opr)

Логическая инверсия M

M  M

COMA

Логическая инверсия A

A  A

COMX

Логическая инверсия X

X  X

BIT (opr)

Битовое тестирование

A  M, установка N,Z

Команды тестирования TST, TSTA, TSTX устанавливают признаки N, Z в соответствии со значением выбираемого операнда. В команде TST можно использовать индексную, индексную по указателю стека с 8-разрядным смещением или прямую адресацию с 8-разрядным адресом.

Команды логических операций AND, ORA, EOR выполняют операции И, ИЛИ, Исключающее ИЛИ над разрядами содержимого аккумулятора A и адресуемого операнда (табл. 2.1). Команда битового тестирования BIT производит логическое умножение операндов (операция И) без записи результата, но с установкой признаков N, Z. При выполнении этих команд используются те же способы адресации, что и в командах сложения-вычитания. В командах логической инверсии COM, COMA, COMX используется только индексная, индексная по указателю стека с 8-разрядным смещением или прямая адресация с 8-разрядным адресом.

Команды сдвигов (табл.2.2) выполняют арифметические (команды ASL, ASLA, ASLX, ASR, ASRA, ASRX), логические (команды LSL, LSLA, LSLX, LSR, LSRA, LSRX) и циклические (команды ROL, ROLA, ROLX, ROR, RORA, RORX) сдвиги над операндами, расположенными в регистрах A, X или адресуемой ячейке памяти. При обращении к памяти используется индексная, индексная по указателю стека с 8-разрядным смещением или прямая адресация с 8-разрядным адресом. Команды ASL, ASLA, ASLX реализуют такие же операции, как и команды LSL, LSLA, LSLX.

Таблица 2.2. Команды сдвигов.

Мнемокод

Команда

Операция

С

Операнд

00

ASL, LSL (opr)

ASLA, LSLA ASLX, LSLX

Арифметический или логический сдвиг влево

С

Операнд

ASR (opr) ASRA ASRX

Арифметический сдвиг вправо

С

Операнд

0

LSR (opr) LSRA LSRX

Логический сдвиг

вправо

С

Операнд

ROL (opr) ROLA ROLX

Циклический сдвиг влево

С

Операнд

ROR (opr) RORA RORX

Циклический сдвиг вправо

Команды битовых операций BCLR, BSET (табл.2.3) устанавливают соответственно значение 0 или 1 для n-го бита в операнде, 8-разрядный адрес которого содержится во втором байте команды (8-разрядная прямая адресация). Номер бита n задается в команде. Команды CLC, CLI и SEC, SEI устанавливают значение 0 или 1 признаков C, I в регистре условий CCR. При этом команды CLI и SEI разрешают и запрещают обслуживание поступающих запросов прерывания.

Таблица 2.3. Команды битовых операций и установки признаков.

Мнемокод

Команда

Операция

BCLR n, (opr)

Установка значения бита bn = 0

0  bn

BSET n, (opr)

Установка значения бита bn = 1

1  bn

CLC

Установка признака C = 0

0  C

CLI

Установка признака I = 0

0  I

SEC

Установка признака C = 1

1  C

SEI

Установка признака I = 1

1  I

При выполнении команд пересылки, арифметических и логических операций, сдвигов, битовых операций происходит изменение значений определенных признаков в регистре условий CCR. В табл.2.4 изменение этих признаков показано символами:

"+" - установка значения по результату операции,

"-" - значение остается неизменным,

0, 1 - установка соответствующих значений признаков,

“х” – принимает произвольное значение.

Таблица 2.4. Установка значений признаков при выполнении команд.

Команды

Признаки

V

N

I

N

Z

C

LDA, LDX, LDHX, STA, STX, STHX,

0

-

-

+

+

-

TST, TSTA, TSTX, AND, ORA, EOR, BIT,

INC, INCA, INCX, DEC, DECA,DECX

+

-

-

+

+

-

ADD, ADDC

+

+

-

+

+

+

SUB, SBC, NEG, NEGA, NEGX,

CMP, CPX, CPHX, ASL, ASLA, ASLX,

+

-

-

+

+

+

LSL, LSLA, LSLX, ASR, ASRA, ASRX,

ROL, ROLA, ROLX, ROR, RORA, RORX

LSR, LSRA, LSRX

+

-

-

0

+

+

CLR, CLRA, CLRX, CLRH

0

-

-

0

1

-

COM, COMA, COMX

0

-

-

+

+

1

MOV

+

-

-

+

+

-

MUL

-

0

-

-

-

0

DIV

-

-

-

+

+

-

DAA

x

-

-

+

+

+

CLC

-

-

-

-

-

0

CLI

-

-

0

-

-

-

SEC

-

-

-

-

-

1

SEI

-

-

1

-

-

-

SWI

-

-

1

-

-

-

RTI, TAP

+

+

+

+

+

+

BRCLR, BRSET

-

-

-

-

-

+

WAIT, STOP

-

-

0

-

-

-