- •Проектирование микроконтроллеров
- •Isbn 5-7629-0812-7 сПбГэту «лэти», 2008
- •Список использованных сокращений
- •1.Цели и задачи курсового проектирования. Уточнение задания
- •2.Разработка структурной схемы контроллера Типы разрабатываемых контроллеров-имитаторов
- •2.1.Схемы алгоритмов функционирования контроллеров
- •2.2.Варианты заданий на курсовой расчет
- •2.3.Спецификация входных и выходных сигналов контроллеров
- •2.4.Параметры радионавигационного сигнала
- •2.5.Форматы пакетов управления и пакета «старт»
- •2.6.Упрощенная структурная схема контроллера
- •3.Разработка функциональных блоков контроллера
- •3.1.Блок cpu
- •3.2.Блок памяти
- •3.3.Блок приема пакетов управления
- •3.4.Входные сигналы параллельного интерфейса блока приема управляющих пакетов и пакета «старт»
- •3.5.Последовательный интерфейс для приема пакетов управления
- •3.6. Блок индикации
- •3.7.Электрический расчет драйверов сид-дисплея
- •3.8.Особенности построения сид-индикатора на приборах с оа
- •3.9.Блок формирования временного паттерна
- •3.10.Реализация интерфейса для передачи дельта-импульсов
- •3.11.Табличное представление временного паттерна
- •Другие варианты построения таймера временного паттерна, встречающиеся в курсовом расчете
- •3.12.Селектор адреса
- •4.Уточненная структурная схема контроллера
- •5.Разработка программного обеспечения
- •5.1.Программный модуль курсового расчета
- •5.2.Структура данных модуля
- •5.3.Конструирование программного модуля
- •6.Описание шаблонов программного обеспечения, представленного на cd
- •Последовательность действий для запуска исполняемого модуля программы
- •Варианты управления контроллером
- •6.1.Варианты шаблонов формирования временного паттерна
- •6.2.Варианты шаблона "Динамическая индикация"
- •Список иллюстраций Список таблиц
- •Список литературы
- •Типы схем
- •Проектирование микроконтроллеров
- •197376, С.-Петербург, ул. Проф. Попова, 5.
6.2.Варианты шаблона "Динамическая индикация"
Каталоги этого раздела немногочисленны и рассматривают два варианта программной поддержки динамической индикации с заданием частоты сканирования таймером прибора 8155 и внешним таймером, имитируемым возможностями симулятора-отладчика.
Вариант с заданием частоты сканирования внешним генератором. Схема динамической индикации этого варианта (рис. 6.10) предполагает использование внешних регистров хранения кодов индикатора и стробов разрешения в виде отдельных регистров, расположенных в пространстве I/O (port_data, расположенный по адресу 80h, и port_stb – по адресу 81h). Внешний генератор частоты сканирования подключен ко входу запроса прерывания (в симуляторе используется R7.5). Подробности подключения аппаратных средств содержатся в файле IND1.INC и в командном файле IND1.ZGR.
|
Рис. 6.46. Схема алгоритма программной поддержки динамической индикации |
После выполнения инициализации и загрузки режима работы индикаторного устройства (блоки 1...3) производится переход на метку выбранного варианта загрузки регистров RG_7_SEG, разрешение прерывания по выбранному входу, глобальное разрешение прерывания и, наконец, ожидание прерывания, которое производится с частотой сканирования. ППОП циклически читает код из указанного буфера данных и буфера стробов и загружает соответствующими данными ячейки пространства I/O. Текст ППОП приведен ниже.
DEFSEG RST75SEG,CLASS=CODE,START=3CH
SEG RST75SEG
PUSH H ; сохранение всех используемых
PUSH D ; в ППОП регистров в стеке
PUSH PSW ;
MVI A,0
OUT PRT_STB ; запрет вывода информации
; на индикацию и сброс триггера
; запроса прерывания
LHLD POINT ; загрузка текущего значения
; указателя.
LXI D,SHIFT-1
MOV A,M ; чтение буфера данных
OUT PRT_DATA ; вывод данных
INX H ; модификацию указателя
SHLD POINT ; сохранение нового значения
; указателя.
DAD D ; вычисление указателя в буфере
MOV A,M ; чтение значения строба
OUT PRT_STB ; вывод строба индикации
; и разрешение очередного запроса
; прерывания.
INX H ; модификация указателя
MOV A,M ; проверка достижения конца буфера
CPI KONEC
JNZ END_SUB
LXI H,RG_7_SEG ; переустановка указателя
SHLD POINT ; на начало буфера
END_SUB:
; счетчик мигания символа "G"
; обрабатывается в главной
; программе
LDA COUNT ; загрузка счетчика миганий
INR A ; модификация счетчика
STA COUNT ; сохранение счетчика миганий
LDA count_out_file
INR A
STA count_out_file
POP H
POP D
POP PSW
EI
RET
Подпрограмма начинается с вывода кода 0 на все разряды регистра разрешения, затем выводит данные и только после этого выводит строб разрешения. Таким образом реализуется временная диаграмма, показанная на рис. 3.9. Адрес указателя записи стробов разрешения вычисляется в программе за счет введения константы SHIFT, которая учитывает сдвиг одного буфера относительно другого. Такая возможность обеспечивается парным перемещением указателей во время работы.
Замечание. После метки END_SUB вставлен фрагмент, который ограничивает выходную информацию, выводимую во внешний файл, что является особенностью используемой версии симулятора-отладчика.
Вариант с заданием частоты сканирования от таймера прибора 8155. Данный вариант отличается от предыдущего использованием программной модели таймера, реализованной в симуляторе-отладчике. Добавление упрощает командные файлы отладчика и вводит в раздел инициализаций фрагмент программирования таймера прибора 8155. В остальном шаблоны одинаковы. Дополнительную информацию по данному шаблону можно найти в [6], поскольку этот шаблон используется в лабораторном цикле изучаемой дисциплины.
