- •Цифровые устройства и микропроцессоры Микроконтроллеры фирмы “Freescale”
- •117454, Москва, просп. Вернадского, 78 предисловие
- •1.1. Основные характеристики микроконтроллера.
- •1.2 Способы адресации
- •Карта памяти микроконтроллера.
- •1.4. Принципы написания программы.
- •Метка, операция, операнд(ы); комментарий
- •2. Исследование команд пересылки данных
- •3. Арифметические команды.
- •5. Команды работы с битовыми полями.
- •7. Содержание отчета
- •8. Контрольные вопросы и задания.
- •Методические указания по выполнению лабораторной работы №2 Изучение команд сдвигов, команд передачи управления и специальных команд.
- •1. Команды сдвигов.
- •Команды передачи управления.
- •2.1. Команды безусловного перехода.
- •2.2. Команды условного перехода.
- •Команды работы с подпрограммами.
- •Команды работы с прерываниями.
- •3. Специальные команды.
- •4. Содержание отчета
- •Контрольные вопросы и задания
- •Методические указания по выполнению лабораторной работы №4. Программирование ацп и фильтрации сигналов.
- •Библиографический список.
Государственное образовательное учреждение высшего профессионального образования
МОСКОВСКИЙ ГОСУДАРСТВЕННЫЙ ИНСТИТУТ РАДИОТЕХНИКИ, ЭЛЕКТРОНИКИ И АВТОМАТИКИ
(ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ)
Цифровые устройства и микропроцессоры Микроконтроллеры фирмы “Freescale”
Методические указания по проведению
лабораторных работ
МОСКВА 2012
С
Редактор А.А. Парамонов.
Содержит методические указания по проведению лабораторных работ №1, №2, №3.
Печатаются по решению редакционно-издательского совета Московского государственного института радиотехники, электроники и автоматики (технического университета).
Рецензенты: Третьяков Г.Н., Ю.П. Сафаненков
© Московский государственный
институт радиотехники,
электроники и автоматики
(технический университет), 2012
117454, Москва, просп. Вернадского, 78 предисловие
Методические указания для выполнения лабораторных работ по дисциплине «Цифровые устройства и микропроцессоры» (ЦУМП) для студентов дневного отделения факультета “Радиотехнических и телекоммуникационных систем” составлены в соответствии с учебными планами для квалификации “специалист” по направлениям подготовки «Радиотехника» и «Радиотехнические системы» и для квалификации “бакалавр” по направлениям подготовки «Радиотехника» и «Инфокоммуникационные технологии и системы связи». Данная дисциплина необходима дл подготовки современного инженера и бакалавра.
Методические указания предназначены для выполнения лабораторных работ по второй части дисциплины ЦУМП для квалификации “специалист”, ЦУМП2 и “Цифровые устройства в телекоммуникациях” (ЦУТ) для квалификации “бакалавр”.
Методические указания по выполнению
лабораторной работы № 1
Изучение команд пересылки, арифметических и логических команд, команд побитовой манипуляции.
Цель работы - изучение системы команд, способов адресации и регистровой модели процессорного ядра (CPU) микроконтроллера (МК) HCS12 фирмы “Freescale” и получение навыков программирования процесса пересылки данных, выполнения арифметических и логических операций над двоичными переменными.
1.Общие сведения.
1.1. Основные характеристики микроконтроллера.
В отладочном модуле используется модификация МК MC9S12DP512, имеющего следующие параметры:
- ПЗУ FLASH ёмкостью 512 кбайт;
-ОЗУ ёмкостью12288 байт;
- EEPROM ёмкостью 4096 байт;
- контроллеры последовательных интерфейсов 5CAN, IIC, J1850, 2SCI, 3SPI;
- таймер на 8 каналов 16-ти разрядный;
- АЦП на 16 каналов 10-ти разрядный;
- модуль ШИМ на 8 каналов 8-ми разрядный;
- специальный модуль EBUS;
- частота шины CPU – 25МГц;
- напряжение питания 5.0В.
1.2 Способы адресации
Микроконтроллеры семейства HCS12 имеют следующие типы адресации: неявная, непосредственная, прямая, расширенная, индексная и относительная.
Рассмотрим каждый из видов адресации подробнее.
Неявная адресация используется в том случае, когда в качестве операндов используются либо регистры (например, COMA, CLI), либо фиксированная ячейка памяти (SWI). Другими словами можно сказать, что неявная адресация не требует отдельного битового поля для указания операнда. В большинстве случаев такие команды однобайтные. Например:
ROLA
В случае использования непосредственной адресации операнд (или один из операндов) включен непосредственно в код команды. Длина таких команд может составлять от двух до четырех байт. При записи команд, использующих непосредственную адресацию, перед операндом ставится символ “решетка” (‘#’). Например:
LDAA #$8A
Прямая адресация используется для доступа к данным, расположенным в первых 256 байтах памяти. При этом младший байт адреса операнда расположен непосредственно за кодом команды. Применение этой группы команд позволяет сократить объем программы, а также сократить время выполнения на выборке операнда из памяти. Например:
LDAB $8A.
Использование расширенной адресации позволяет осуществить доступ к любой ячейке памяти в пределах адресного пространства контроллера. При этом два байта, следующие непосредственно за кодом команды, представляют собой абсолютный адрес операнда. Например:
LDAA $D000.
Как правило, ассемблер автоматически выбирает наиболее оптимальный из двух описанных выше методов адресации.
Для доступа к массивам данных удобно использовать индексную адресацию. В микроконтроллерах семейства HCS12 используется так называемая индексная адресация с 8разрядным смещением. При этом, в индексные регистры X или Y заносятся 16 разрядные адреса, а следующий за кодом команды байт содержит 8-ми разрядное смещение. Абсолютный адрес при этом вычисляется простым суммированием содержимого индексного регистра с байтом смещения. Например:
LDX #$D0000,
LDAA $0A,X.
Команды работы со стеком так же принято относить к командам с индексной адресацией. Например:
PSHB
Эти команды используют индексную адресацию без смещения.
Относительная адресация используется в командах передачи управления. При этом абсолютный адрес перехода вычисляется путем сложения содержимого программного счетчика со смещением, представляющим собой 8-ми разрядное знаковое число. Таким образом, используя относительную адресацию, можно осуществить переход на адрес, лежащий в пределах от -128 до +127, относительно адреса следующего за командой перехода. Например:
BCC m1;
BRA *.
Заметим, что для наглядности здесь мы использовали символ “звездочка” (‘*’), который заменяется ассемблером на адрес текущей команды.