- •1. Структура и функционирование микроконтроллера mc68hc908gp32
- •1.1. Общая структура микроконтроллера mc68hc908gp32.
- •1.2. Организация и адресация памяти.
- •1.3. Генерация тактовых импульсов и запуск микроконтроллера.
- •1.4. Реализация прерываний.
- •1.5. Режимы функционирования.
- •2. Лабораторный стенд лс-1
- •2.1. Общее описание лабораторного стенда лс-1.
- •2.2. Основные функциональные узлы лабораторного стенда лс-1.
- •2.3. Включение лабораторного макета и подготовка его к работе.
- •3. Интегрированная среда программирования ics08gpgtz
- •3.1. Интегрированная среда WinIde.
- •3.2. Создание исходного текста и компиляция программы.
- •3.3. Моделирование выполнения программы.
- •3.4. Загрузка программы в память микроконтроллера.
- •3.5. Запуск и отладка программы на лабораторном макете.
- •Работа №1. Микроконтроллер mc68hc908gp32: регистровая структура, способы адресации, команды пересылки
- •Введение
- •Выполнение работы
- •Работа № 2. Микроконтроллер mc68hc908gp32: команды обработки данных
- •Введение
- •Выполнение работы
- •Работа № 3. Микроконтроллер mc68hc908gp32: команды управления программой и процессором.
- •Введение
- •Выполнение работы
- •Работа № 4. Микроконтроллер mc68hc908gp32: программирование на языке Ассемблера
- •Выполнение работы
- •Работа №5. Цифровая система на базе микроконтроллера mc68hc908gp32: реализация параллельного ввода-вывода данных.
- •Введение
- •Порядок выполнения работы
- •Работа №6. Цифровая система на базе микроконтроллера mc68hc908gp32: реализация последовательного обмена данными.
- •Введение
- •Порядок выполнения работы
- •Работа №7. Цифровая система на базе микроконтроллера mc68hc908gp32: ввод и обработка аналогового сигнала.
- •Введение
- •Порядок выполнения работы
- •Работа №8. Цифровая система на базе микроконтроллера mc68hc908gp32: реализация таймерных функций.
- •Введение
- •Порядок выполнения работы
- •Приложение 1. Описание жидкокристаллического индикатора
- •Приложение 2.
- •Приложение 3.
Выполнение работы
Изучить структуру и режимы функционирования микроконтроллера MC68HC908GP32.
Ознакомиться с возможностями интегрированного отладчика ICS08GPGTZ.
Изучить реализуемые микроконтроллером способы адресации и команды пересылки данных.
Подготовить лабораторный стенд ЛС-1 к работе, выполнив следующие операции:
вставьте один из разъемов интерфейсного кабеля в разъем DB9 на задней панели стенда ЛС-1, а второй разъем этого кабеля в один из последовательных COM–портов инструментального компьютера (COM1 или COM2), поддерживающих скорость обмена 9600 бит/с;
вставьте штекер сетевого адаптера в разъем питания, расположенный на задней панели стенда ЛС-1; включите сетевой адаптер в штепсельную розетку электросети напряжением 220В;
переведите переключатель питания на передней панели стенда ЛС-1 в положение “Включено”, после этого на макете должен загореться красный светодиодный индикатор;
включите питание инструментального компьютера, работающего под управлением ОС Windows 95 или старшей версии с установленным пакетом программ отладки ICS08GPGTZ; из рабочего каталога запустите интегрированную среду программирования WinIDE.exe.
После выполнения этой процедуры на экране монитора должно появиться главное окно среды программирования WinIDE (см. раздел 3 Введения), в котором доступно меню, функциональные клавиши и окна редактирования исходного текста.
В новом окне редактора ввести исходный текст программы содержащий различные варианты команд пересылки “регистр – регистр”, “регистр – память”, “память – память” (табл. 1.1).
Выполнить компиляцию программы путем нажатия клавиши Assemble/Compile File (ассемблировать/откомпилировать файл). В случае получения сообщений об ошибке исправить исходный текст программы и повторить попытку компиляции.
Войти в режим моделирования (симуляции) путем нажатия клавиши Simulator (симулятор контроллера). Проконтролировать правильность выполнения команд, используя окна CPU08, Memory Window 1, Code Window 1: Source.
Ввести код программы в память микроконтроллера с помощью приложения 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 ASLA, LSLA ASLX, LSLX |
Арифметический или логический сдвиг влево |
|
С
Операнд |
Арифметический сдвиг вправо |
|
С
Операнд
0 |
Логический сдвиг вправо |
|
С
Операнд |
Циклический сдвиг влево |
|
С
Операнд |
Циклический сдвиг вправо |
|
Команды битовых операций 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
-
-
-