![](/user_photo/2706_HbeT2.jpg)
- •Цифровые устройства и микропроцессоры Микроконтроллеры фирмы “Freescale”
- •117454, Москва, просп. Вернадского, 78 предисловие
- •1.1. Основные характеристики микроконтроллера.
- •1.2 Способы адресации
- •Карта памяти микроконтроллера.
- •1.4. Принципы написания программы.
- •Метка, операция, операнд(ы); комментарий
- •2. Исследование команд пересылки данных
- •3. Арифметические команды.
- •5. Команды работы с битовыми полями.
- •7. Содержание отчета
- •8. Контрольные вопросы и задания.
- •Методические указания по выполнению лабораторной работы №2 Изучение команд сдвигов, команд передачи управления и специальных команд.
- •1. Команды сдвигов.
- •Команды передачи управления.
- •2.1. Команды безусловного перехода.
- •2.2. Команды условного перехода.
- •Команды работы с подпрограммами.
- •Команды работы с прерываниями.
- •3. Специальные команды.
- •4. Содержание отчета
- •Контрольные вопросы и задания
- •Методические указания по выполнению лабораторной работы №4. Программирование ацп и фильтрации сигналов.
- •Библиографический список.
Карта памяти микроконтроллера.
Для написания программы на ассемблере необходимо знание карты памяти микроконтроллера MC9S12XDT512 в отладочном модуле DEMO9S12XDT512.
Таблица 1.Карта памяти.
$0000- $07FF |
Регистры |
2кБ |
|
$0800- $0FFF |
Электрически стираемое ППЗУ (EEPROM) |
4кБ |
4 – 1КБ страницы между 0x800 – 0xBFF |
$1000- $3FFF |
ОЗУ (RAM) |
12кБ |
5 – 4 kБ страницы Между 0x1000 – 0x1FFF |
$4000- $7FFF |
Фиксированная FLASH |
16кБ |
1К, 2К, 4К, 8К, |
$8000- $BFFF |
FLASH EEPROM оконные страницы |
16кБ |
32- 16кБ страниц |
$C000- $EFFF |
Фиксированная FLASH |
16кБ |
1К, 2К, 4К, 8К, |
$FF00- $FFFF |
Векторы BDM |
256 бит |
|
1.4. Принципы написания программы.
Разработчик программы CodeWarrior обладает возможностью программирования на языке ассемблера и на Си микроконтроллеров фирмы “Freescale” 68HC12 и HCS12.
Соглашение о символьных именах.
Символьные имена могут содержать до 512 алфавитно-цифровых символов и символа подчеркивания, причем первым символом не может быть цифра. Обратный слэш используется для указания на то, что директива имеет продолжение на следующей строке. Символы в верхнем и нижнем регистре считаются различными, за исключением имен стандартных директив и мнемоник инструкций.
Формат ассемблерной строки.
Ассемблерная строка МК “Frescale” имеет формат:
Метка, операция, операнд(ы); комментарий
Метка должна начинаться с первой позиции в строке, иначе компилятор выдаст ошибку. За меткой идет команда с операндами. В конце строки могут записываться комментарии. Всё, что отделено знаком «;», считается комментарием.
2. Исследование команд пересылки данных
Список этих команд приведен в таблице 1. Рассмотрим пример использования некоторых команд пересылки подробнее на простых примерах.
Таблица 1
TSTA |
CLRA |
TAB |
PSHA |
TSTB |
CLRB |
TBA |
PULA |
TST |
CLR |
TAP |
PSHB |
LDAA |
STAA |
TPA |
PULB |
LDAB |
STAB |
TSX |
PSHX |
LDD |
STD |
TXS |
PULX |
LDX |
STX |
TSY |
PSHY |
LDY |
STY |
TYS |
PULY |
LDS |
STS |
XGDX |
|
|
|
XGDY |
|
Для записи программы будем использовать внутреннее ОЗУ микроконтроллера (смотри карту памяти).
Пример 1. Перенести состояние с переключателей на семисегментный индикатор.
org $1000 ;адрес начала программы
ldaa #$0
staa $0002 ;настройка порта A на ввод
ldab #$FF
stab $0003 ;настройка порта В на вывод
ldaa $0000
staa $0001
Пример 2. Записать число 73 в семисегментный индикатор, связанный с портом B, используя расширенную адресацию.
Пример 3. Вывести состояние регистра признаков в семисегментный индикатор, используя индексную адресацию.