
- •Лабораторный комплекс ldk332
- •Контроллерная плата dk332
- •Лабораторная плата lc332
- •Описание среды программирования
- •Описание команд Команды условного ветвления.
- •Арифметические команды.
- •Порядок выполнения работы.
- •Неисправности и способы устранения:
- •Приложение
- •1. Пример участка программы
- •2. Варианты заданий на 10 групп студентов.
- •4. Вопросы для контроля и самопроверки.
Министерство высшего и профессионального образования РФ.
Балаковский институт техники, технологии и управления.
Методические указания к лабораторной работе
ИЗУЧЕНИЕ АРИФМЕТИЧЕСКИХ КОМАНД, КОМАНД УСЛОВНОГО ВЕТВЛЕНИЯ
И РАБОТА С ЖКИ – МОДУЛЕМ УЧЕБНОГО СТЕНДА
НА БАЗЕ МИКРОКОНТРОЛЛЕРА MOTOROLAMC68332
Балаково 2004г.
Цель работы:практическое освоение программирования микроконтроллера MC68332 с использованием интегрированной среды. Изучение простых арифметических команд, команд условного ветвления. Вывод информации на ЖК-дисплей.
Лабораторный комплекс ldk332
Для изучения функционирования 32-разрядного микроконтроллера MC68332 используется лабораторный комплексLDK332, в состав которого входят:
несущая плата Carrier (служит для установки на лабораторный стенд);
контроллерная плата DK332, содержащая микроконтроллерMC68332 и память (ОЗУ, ПЗУ);
лабораторная плата LC332, подключаемая к контроллерной плате; на платеLC332 размещается набор периферийных устройств, являющихся объектами управления;
интегрированная среда программирования-отладки Debug32.
Контроллерная плата dk332
Используемая в лабораторном практикуме контроллерная плата DK332 позволяет реализовать различные варианты систем на базе микроконтроллера MC68332 и выполнять их отладку с помощью персонального компьютера класса IBM-PC, подключаемого к отладочному BDM-порту микроконтроллера. На плате располагаются микроконтроллер MC68332, память емкостью по 96 Кбайт, порт последовательного обмена по стандарту RS-232, отладочный BDM-порт, линейка светоиндикаторов, разъемы расширения для подключения периферийных устройств.
Лабораторная плата lc332
Лабораторная плата LC332 предназначена для совместной работы с процессорной платойDK332 (рис.1):
Рис. 1 Структура лабораторного стенда
Блок клавиатуры предназначен для ручного ввода данных. Клавиатура содержит 12 кнопок, каждая из которых замыкает один из ключей в матрице контактов, выполненных печатным способом.
Аналого-цифровой преобразователь со встроенным датчиком температуры. Этот блок реализован на базе микросхемы AD7817 фирмы Analog Devices, которая содержит 4-х канальный быстродействующий 10-разрядный АЦП с термодатчиком. АЦП работает по алгоритму последовательного приближения и обеспечивает время преобразования 9 мкс.
Блок управления электродвигателем. На платеLC332 размещен двигатель постоянного тока типа ДПР-2-Н1-01, управление работой которого производится с помощью таймерного процессораTPU, входящего в состав микроконтроллера МС68332. Программированием таймерного процессораTPUможно обеспечить различные режимы работы электродвигателя.
Жидкокристаллический дисплей. В качестве устройства отображения информации на плате LC332 используется двухстрочный 40-символьный жидкокристаллический дисплей (ЖКД) фирмы InTech типа ITM-1602DTR. На плате ЖКД смонтирован специализированный контроллер HD44780 фирмы Hitachi, который обеспечивает выдачу необходимых управляющих сигналов и генерацию на дисплее заданного набора символов (табл. 2). Сборка, состоящая из ЖКД и контроллера, называется ЖКИ-модулем.
Рис. 2 Схема подключения ЖКИ
Микроконтроллер управляет работой ЖКИ-модуля с помощью системной шины и сигналов выборки кристалла CS7, CS8 (рис. 2). К ним подключены выводы ЖКИ-модуля, которые имеют следующее назначение:
DB7-0- линии передачи данных;
R/W - вход сигнала, задающего вид обмена: чтение при подаче сигнала R/W=1, запись при R/W=0;
E - вход сигнала, разрешающего при значенииE=1 обращение к ЖКИ-модулю;
RS - вход сигнала, определяющего выбор регистра ЖКИ-модуля, к которому производится обращение: приRS=0-адресуется регистр командIR, приRS=1-адресуется регистр данныхDR.
Изображение каждого символа на дисплее реализуется с помощью матрицы 5х8 точек. Состояние каждой точки: включено или отключено, определяется кодом соответствующего видеосимвола, хранящегося в памяти контроллера, входящего в состав ЖКИ-модуля. Этот контроллер содержит память видеосимволов DDRAM, в которой хранятся коды стандартных видеосимволов, изображаемых на дисплее, и ОЗУ знакогенератораCGRAM, в которое пользователь вводит коды дополнительных символов, представляемых на дисплее вместе со стандартными символами. Положение изображаемого на дисплее символа определяется адресным счетчикомAC, в котором содержится адрес позиции выводимого символа. Адреса символов 1-й строкиAC= $00 - 28, адреса символов второй строки $40 - 67. При выводе символов на экран счётчикAC, дойдя до последнего символа 1-й строки (адрес $28), автоматически перейдёт на начало 2-й строки (адрес $40). Для обращения к ЖКИ-модулю используется регистр командIR, в который вводятся управляющие слова, и регистр данныхDR, в который поступают данные для отображения на дисплее. Управление режимом работы ЖКИ-модуля производится путем установки значения управляющих флагов, которое выполняется путем ввода управляющих слов в регистр командIR(табл. 1). Управляющие флаги имеют следующее назначение (в скобках указано их начальное значение, устанавливаемое при включении питания):
I/D (=1) - определяет изменение значения счетчикаACпосле вывода очередного символа: уменьшение на 1 приI/D=0, увеличение на 1 приI/D=1;
S(=0) - задает режим сдвига содержимого экрана: приS=0 сдвиг не производится, приS=1 изображение на экране после вывода очередного символа сдвигается вправо (при значении флагаI/D=0) или влево (при значении флагаI/D=1);
D/L(=1) - определяет разрядность используемой шины данных: 8-разрядная при значенииD/L=1, 4-разрядная приD/L=0;
N(=0) - задает число используемых строк дисплея: 0 - одна строка, 1 - две строки;
F(=0) - указывает размер матрицы изображения символов: 0 - 5x8, 1 - 5х10 точек;
D(=0) - управляет выводом изображения на дисплей: 1 - вывод изображения, 1 - отсутствие изображения;
C(=0) - выводит на экран приC=1 изображение курсора в виде символа подчеркивания;
B(=0) - выводит на экран приB=1 представление курсора в виде мерцающего изображения символа (знакоместа).
Дополнительные флаги используются при выполнении сдвига изображения на дисплее с помощью соответствующего управляющего слова (табл. 1):
S/C - определяет объект смещения: приS/C=0 производится сдвиг курсора, приS/C=0 - сдвиг всего изображения;
R/L- задает направление сдвига курсора или изображения: влево приR/L=0, вправо приR/L=1.
Режим работы ЖКИ-модуля задается путем ввода в регистр команд IRуправляющих слов, устанавливающих необходимые значения флагов. В табл. 1 приведены возможные значения управляющих слов и реализуемые ими функции. Два первых управляющих слова обеспечивают начальную установку счетчика адресаAC, четыре следующие слова производят установку необходимых значений флагов, два последних слова выполняют установку значения счетчикаACпри обращении к внутренней памяти видеосимволов -CGRАMилиDDRAM.
При чтении содержимого регистра IRна шину данныхDB7-0 выводится 8-разрядное слово состояния, старший бит которого содержит признак занятостиBF, а в семи младших битах указывается текущее значение счётчика адресаAC. Признак занятости принимает значениеBF=1, когда контроллер ЖКИ-модуля занят (производит вывод изображения на дисплей), и BF=0 – когда контроллер свободен (доступен для ввода новой информации). Так как процедура выдачи изображения на дисплей занимает достаточно длительное время, управляющий микроконтроллер должен проверять значение битаBFперед каждым обращением к ЖКИ-модулю.
Таблица 1. Управляющие слова, задающие режим работы ЖКИ-модуля
Управляющее слово D7-0 |
Назначение |
0 0 0 0 0 0 0 1 |
Установка AC=0 (1-я строка, позиция 1), адресация кDDRAM, очистка экрана |
0 0 0 0 0 0 1 - |
Установка AC=0 (1-я строка, позиция 1), адресация кDDRAM, запрещение сдвига (S=0) |
0 0 0 0 01 I/D S |
Определяет направление сдвига курсора или экрана |
0 0 0 0 1 D C B |
Задает режим отображения (с курсором или без него) |
0 0 0 1 S/C R/L - - |
Вызывает сдвиг курсора или изображения |
0 0 1 DL N F - - |
Определяет разрядность шины данных и размер изображения |
0 1 AC5-0 (CGRAM) |
Задает содержимое AC(адрес позиции символа) при обращении кCGRAM |
1 AC6-0 (DDRAM) |
Задает содержимое AC(адрес позиции символа) при обращении кDDRAM |
Для вывода символа на дисплей микроконтроллер должен по шине DB7-0 записать в регистр данных DR ЖКИ-модуля код соответствующего символа (табл. 2). При этом код символа записывается в DDRAM по текущему адресу, заданному содержимым счетчика AC, после чего содержимое AC увеличивается (при значении флага I/D=1) или уменьшается (при значении флага I/D=0) на 1. Необходимые управляющие сигналы E = RS = 1 формируются с помощью сигналов выборки кристалла CS7, CS8, которые выдаются микроконтроллером при соответствующем программировании.
Таблица 2. Коды символов, представляемых на дисплее ЖКИ-модуля