Микропроцессорная техника. 3
Министерство науки и образования Украины
Донбасский
государственный технический
Краснолучский
инженерный факультет
Курсовая
работа по курсу:
«МИКРОПРОЦЕССОРНАЯ
ТЕХНИКА»
Проверил:
Захожай О. И.
Выполнил:
Студент группы ЭС-04
Сальников Д.В.
Красный Луч, 2008 г.
Техническое задание на курсовую работу
Спроектировать микропроцессорную систему, оснащенную клавиатурой, которая индицирует нажатую клавишу и количество повторных нажатий одной клавиши. Вывод осуществлять на семисегментную индикацию.
Реферат
Курсовая работа: 28 с., 1 рис., 3 источника, 4 приложения.
Цель работы – спроектировать микропроцессорную систему, оснащенную клавиатурой, которая индицирует нажатую клавишу и количество повторных нажатий одной клавиши. Вывод осуществлять на семисегментную индикацию.
Курсовая работа включает в себя схему электрическую принципиальную разрабатываемого устройства, а также программу управления ею.
СОДЕРЖАНИЕ
Введение 5
1 Описание контроллера КР580ВВ79 6
1.1 Структура контроллера КР580ВВ79. 7
1.2 Связь с системной шиной 9
1.3 Программирование 10
1.4 Работа БИС КР580ВВ79 11
1.5 Интерфейс клавиатуры 15
1.6 Интерфейс дисплея. 17
2 Описание параллельного интерфейса ввода-вывода ЭВМ. 20
3 Описание разрабатываемого устройства 22
4 Разработка программного обеспечения 23
5 Выбор элементной базы. 26
вывод 27
ЛИТЕРАТУРА. 28
ПРИЛОЖЕНИЕ А. СХЕМА ЭЛЕКТРИЧЕСКАЯ ПРИНЦИПИАЛЬНАЯ
ПРИЛОДЕНИЕ б. СХЕМА ЭЛЕКТРИЧЕСКАЯ СТРУКТУРНАЯ
Приложение
В. программА УПРАВЛЕНИЯ
СХЕМОЙ
ПРИЛОЖЕНИЕ
Г. АЛГОРИТМ РАБОТЫ УСТРОЙСТВА
ВВЕДЕНИЕ
Микропроцессорные системы в зависимости от их функционального назначения используют различные устройства ввода и отображения (УВО) информации. Несмотря на то, что в настоящее время любая ЭВМ может быть оснащена достаточным набором стандартных устройств ввода и отображения информации (многофункциональные клавиатуры, символьно-графические дисплеи на ЭЛТ, другие манипуляторы), в некоторых случаях возникает необходимость использования нестандартных устройств ввода и отображения информации, выполняющих ограниченный набор функций, но при этом более компактных и приспособленных для работы в специфических условиях. Наличие у современных ЭВМ стандартизированных каналов (портов) ввода-вывода позволяет при наличии соответствующего программного обеспечения обеспечить взаимодействие таких специализированных устройств с программно-аппаратным комплексом ЭВМ. Примером таких устройств могут быть внешние блоки охранных систем, систем управления различным оборудованием и многое другое.
Для
вышеописанных целей
Целью
данного курсового проекта
1.Описание контроллера КР580ВВ79
БИС КР580ВВ79 – программируемое устройство, предназначенное для построения систем (подсистем) отображения информации на основе дисплеев (индикаторов) различных типов, а также систем (подсистем) ввода информации из различного типа клавиатур (рис.1, табл.1).
Эта БИС позволяет автоматически сканировать клавиатуру, определить и выдать код позиции клавиши, нажатой в матрице клавиатуры, подавить помехи дребезга контактов клавиатуры, а также регененерировать изображение на дисплее (индикаторе). Программирование восьми режимов ввода и четырех режимов вывода обеспечивает широкие возможности для пользователя при вводе и отображении информации. Вводимая информация может накапливаться в обратном магазине (ОМ) ОЗУ датчиков с доступом "первый вошел- первый вышел" емкостью 8слов Х 8разрядов (8 байт). При наличии информации в ОМ
ОЗУ датчиков микросхема вырабатывает запрос прерывания, а в случае ввода или чтения более восьми символов – сигналы ошибок переполнения или переопустошения в слове состояния. Для регенерации изображения на дисплее (индикаторе) в микросхеме имеется ОЗУ отображения объемом 16 слов Х 8 разрядов. Время сканирования клавиатуры и регенерации изображения задается программным способом. По электрическим параметрам БИС КР580ВВ79 полностью совместима с микросхемами серии ТТЛ. Конструктивно выполнена в пластмассовом корпусе типа 2123.40-2 ГОСТ 17467-79.
Рис. 1. Условное графическое обозначение (а) и назначение выводов (б) БИС КР580ВВ79.
1.1.Структура контроллера КР580ВВ79.
БИС КР580ВВ79 организована на базе внутренней шины. В ее состав входят (рис.2): ОМ ОЗУ датчиков со схемой управления и устранения дребезга клавиатуры, буферами клавиатуры и датчиков и схемой анализа состояния ОМ ОЗУ датчиков; схема управления и синхронизации со счетчиком сканирования; ОЗУ отображения с регистрами адреса и данных; средства сопряжения с системной шиной – буферы канала данных и схема управления чтением-записью.
ОМ ОЗУ датчиков обеспечивает хранение информации, поступающей со входов RET7…RET0, и выдачу ее в микропроцессор через внутреннюю шину данных и буферы канала данных по командам чтения. В этом блоке используются следующие сигналы:
RET7…RET0 – информация, вводимая с клавиатуры или матрицы датчиков. За счет внутренних нагрузок на этих выводах постоянно обеспечивается состояние лог.1 до появления входных сигналов низкого уровня.
SH – входной сигнал, используемый в режиме сканирования клавиатуры для расширения (увеличения числа) функций клавиш (вывод SH также имеет внутреннюю нагрузку.
- входной сигнал, назначение которого определяется режимом работы в режиме сканирования (состояние лог.1) увеличивает число конфигураций клавиатуры; в режиме сканирующего ввода (состояние лог.0) используется как строб для ввода информации с линий возврата RET0…RET7 в ОМ ОЗУ датчиков по фронту сигнала (вывод также имеет внутреннюю нагрузку).
INT – выходной сигнал, переходит в состояние лог.1: в режиме сканирования клавиатуры при наличии данных в ОМ ОЗУ датчиков; в режиме сканирования матрицы датчиков при обнаружении изменения в датчиках.
Схема управления и синхронизации программно задает скорость ввода-вывода и синхронизирует работу всех узлов контроллера. Необходимая скорость ввода-вывода создается от деления частоты входной синхронизации на программно задаваемое число, лежащее в диапазоне 2…31. При работе схемы используются сигналы сброс SR, тактовый С и BD, блокирующий индикатор (дисплей в момент смены кодов символов.
Счетчик сканирования – 4-разрядный двоичный счетчик сканирует строки клавиатурной матрицы и регенерирует изображения на дисплее (индикаторе). Программно счетчик можно установить в кодированный или декодированный (дешифрированный режим работы. В кодированном режиме он выдает на линии сканирования S3…S0 4-разрядный двоичный код от 00002 до 11112, который дешифрируется внешними дешифраторами; в декодированном режиме он выдает два младших разряда кода, а на линии сканирования S3…S0 4- разрядный унитарный код (активный уровень – лог.0). Внешних дешифраторов в этом случае не требуется, однако клавиатура может иметь не более четырех строк клавиш, а дисплей не более четырех знакомест при 8-разрядном коде символа и восемь знакомест при 4-разрядном коде.
Буферное ОЗУ отображения – ОЗУ с произвольным доступом, хранит коды символов, отображаемых на дисплее. Каждый байт может рассматриваться как два независимых полубайта. Это позволяет обслужить дисплей с большими функциональными возможностями – на 16 знакомест при восьмиразрядном коде символа и на 32 знакоместа при 4-разрядном коде символа. ОЗУ доступно для записи и чтения информации. Регистр адреса ОЗУ отображения может быть программно установлен в режим автоинкрементирования. В процессе регенерации отображения на дисплее информация из ОЗУ отображения на дисплее циклически выдается на выходы DSPA3…DSPA0 и DSPB3…DSPB0, причем бит DSPA3 соответствует биту D7 шины данных, а DSPB0 – биту D0.
Буфер канала данных – двунаправленный трехстабильный, осуществляет стыковку внутренней шины данных БИС КР580ВВ79 с системной шиной данных с помощью линий D7… D0.
Схема управления чтением-записью управляет блоками контроллера при приеме информации с системной шины данных и выдаче информации на эту шину. Для управления схемой используются следующие сигналы:
- разрешают проведение операций чтение-запись, выдачу информации на системную шину данных, прием информации с системной шины данных соответственно;
- определяет передачу команд и слов состояния (INS=1) или передачу данных ( =0).
1.2. Связь с системной шиной
Операции чтения-записи выполняются в зависимости от состояния управляющих сигналов (табл.1)
Таблица 1.
| Входные сигналы | Вид операции | |||
| 1 | 1 | 0 | 0 | Запись команды |
| 0 | 1 | 0 | 0 | Запись данных |
| 1 | 0 | 1 | 0 | Чтение слова состояния |
| 0 | 0 | 1 | 0 | Чтение данных |
| Х | Х | Х | 1 | Микросхема отключена от системной шины |
Примечание: Х – безразличное состояние.
1.3. Программирование
Центральный
процессор управляет
Таблица 2.
| Команда | ||||||||
| D7 | D6 | D5 | D4 | D3 | D2 | D1 | D0 | |
| Режим работы | 0 | 0 | 0 | К4 | К3 | К2 | К1 | К0 |
| Программирование скорости ввода-вывода | 0 | 0 | 1 | Р4 | Р3 | Р2 | Р1 | Р0 |
| Чтение ОМ ОЗУ датчиков | 0 | 1 | 0 | А4 | Х | А2 | А1 | А0 |
| Чтение ОЗУ отображения | 0 | 1 | 1 | А4 | А3 | А2 | А1 | А0 |
| Гашение – запрет отображения | 1 | 0 | 1 | Х | Г3 | Г2 | Г1 | Г0 |
| Сброс | 1 | 1 | 0 | С4 | С3 | С2 | С1 | С0 |
| Сброс INT – установка режима обнаружения ошибок | 1 | 1 | 1 | Е | Х | Х | Х | Х |
Примечание: Х – безразличное состояние.
Таблица 3.
| Код | Режим клавиатуры | ||
| К2 | К1 | К0 | |
| 0 | 0 | 0 | Кодированное сканирование с обнаружением одноклавишных сцеплений (устанавливается после сброса) |
| 0 | 0 | 1 | Декодированное сканирование с обнаружением одноклавишных сцеплений |
| 0 | 1 | 0 | Кодированное сканирование с обнаружением N-клавишных сцеплений |
| 0 | 1 | 1 | Дешифрированное сканирование с обнаружением N-клавишных сцеплений |
| 1 | 0 | 0 | Кодированное сканирование матрицы датчиков |
| 1 | 0 | 1 | Дешифрированное сканирование матрицы датчиков |
| 1 | 1 | 0 | Ввод по стробу, кодированное сканирование дисплея |
| 1 | 1 | 1 | Ввод по стробу, дешифрированное сканирование дисплея |
Таблица 4.
| Код | Режим дисплея | ||
| К4 | К3 | ||
| 0 | 0 | 8-8 битовых
символов на дисплее, ввод | |
| 0 | 1 | 16-8 битовых
символов на дисплее, ввод | |
| 1 | 0 | 8-8 битовых
символов на дисплее, ввод | |
| 1 | 1 | 16-8 битовых
символов на дисплее, ввод | |
1.4. Работа БИС КР580ВВ79
Информация в БИС КР580ВВ79 вводится через линии возврата RET7…RET0. В кодированном (дешифрированном) режиме сканирования с обнаружением одноклавишных сцеплений при нажатии клавиши срабатывает логика подавления дребезга. Другие нажатия клавиш обнаруживаются в течение следующих двух сканирований. Если это единственная нажатая клавиша и ОМ ОЗУ датчиков было пусто, то ее позиция записывается в ОМ ОЗУ датчиков вместе с содержимым линий и SH а сигнал INT устанавливается в состояние лог. 1, сообщая центральному процессору (ЦП) о вводе информации в ОМ ОЗУ датчиков из клавиатуры. Если ОМ ОЗУ датчиков было заполнено полностью, то информация с клавиши не будет введена и установится флаг ошибки D5 в слове состояния. В случае одновременного нажатия нескольких клавиш код ни одной из них не будет записан в ОМ ОЗУ датчиков. Код клавиши записывается в ОМ ОЗУ датчиков только одиночным нажатием.
В кодированном (дешифрированном) режиме с обнаружением N-клавишных сцеплений каждое нажатие клавиши обрабатывается независимо от всех остальных. При нажатии клавиши схема подавления дребезга ожидает два цикла сканирования и проверяет достоверность нажатия клавиши. При подтверждении нажатия в двух циклах код клавиши записывается в ОМ ОЗУ датчиков. Если встретится одновременное нажатие, то коду клавиш будут распознаны и введены в соответствии с порядком сканирования клавиатуры сигналами S3…S0.
В кодированном (декодированном) режиме с обнаружением N-клавишных сцеплений с помощью команды "сброс INT – установка режима обнаружения ошибок" можно запрограммировать специальный режим обнаружения ошибок. Распознавание и подавление дребезга клавиши происходит, как в обычном N-клавишном режиме. Если в течение одного цикла подавления дребезга две клавиши будут обнаружены нажатыми, то это распознается как одновременные нажатия и устанавливается в регистре слово состояния разряд D6 – флаг ошибки. Указанный флаг запрещает дальнейшую запись в ОМ ОЗУ датчиков и устанавливает на выводе INT состояние лог.1 (если оно до этого еще не было установлено).
В кодированных (дешифрированных) режимах сканирования клавиатуры символы, вводимые в ОМ ОЗУ датчиков, соответствуют позиции датчика в клавиатуре и значению сигналов SH и (неинвертированным). - старший значащий бит, SH- следующий. Далее три бита указывают строку, в которой находится нажатая клавиша. Последние три бита и указывают, к какой линии (RET7…RET0) подсоединена нажатая клавиша.
В кодированном (дешифрированном) режиме сканирования матрицы датчиков логика подавления дребезга заблокирована и состояние ключей датчиков вводится непосредственно в ОЗУ датчиков. Хотя подавление дребезга не обеспечивается, этот режим имеет то преимущество, что ЦП "знает" как долго датчик находится в замкнутом состоянии и когда он был разомкнут. Клавиатурные режимы могут только отобразить действительное замыкание. Для упрощения программного обеспечения разработчик должен функционально сгруппировать датчики в строки в том формате, в котором ЦП будет их читать. Вывод INT устанавливается в состояние лог.1 (если обнаружено изменение состояния датчика) в конце сканирования матрицы датчиков. В состояние лог.0 INT переходит после первой операции чтения данных, если перед чтением данных была записана команда "чтение ОМ ОЗУ датчиков", а во время записи команды разряд слова состояния (D4) находился в состоянии лог.0 или при подаче команды "сброс INT-установка обнаружения ошибок" (Е=1).
В кодированном (дешифрированном) режиме сканирования матрицы датчиков данные с линий возврата RET7…RET0 вводятся прямо в строку ОЗУ датчиков, соответствующую строке матрицы датчиков, которая сканируется. Таким образом, каждая позиция датчика отображается прямо в позиции матрицы ОЗУ датчиков. Входы и SH в этом режиме не используются. Заметим, что к линиям возврата могут быть подключены не только контакты. Любая логика, фиксирующаяся линиями сканирования, выдает данные на входы RET7…RET0.
В режиме "ввод по стробу с кодированным (дешифрированным) сканированием дисплея" данные также вводятся в ОМ ОЗУ датчиков через линии возврата RET7…RET0. Данные записываются нарастающим фронтом строб-импульса на линии . Они могут приходить от любой кодированной клавиатуры или матрицы датчиков. Режим 16(8) – битовых символов на дисплее, ввод слева – простейший формат отображения в котором каждой позиции дисплея определена строка (полоустрока) в ОЗУ отображения. Адресу 0 в этом ОЗУ соответствует крайний слева символ дисплея, а адресу 15 в 16-разрядном дисплее или адресу 7 в 8-разрядном – крайний справа символ. Вывод символов начиная с нулевой позиции, вызывает заполнение дисплея слева направо. Символ 17-й или 9-й будет в этом случае вводиться снова в крайнюю слева позицию дисплея и т.д. Вывод в произвольную позицию дисплея при установке режима вывод слева направо без сдвига приводит к нежелательным побочным эффектам и результата при этом предсказуем. В этом режиме адресация ОЗУ отображения используется с автоинкрементированием и без инкремента. Инкрементирование способствует увеличению адреса, по которому будет производиться следующая запись, на единицу, и символ появляется в следующей позиции. Без инкремента оба ввода произойдут в один и тот же адрес ОЗУ отображения и позицию дисплея.
Режим 16(8)-8 битовых символов на дисплее ввода справа используются в большинстве электронных калькуляторов. Первый введенный символ помещается в правую позицию дисплея. Следующий вводимый символ также помещается в правую позицию дисплея, но после того, как сдвинется все отображение на одну позицию влево. Крайний слева символ при этом сдвигается за край дисплея и теряется. В режиме ввода справа со сдвигом нет прямого соответствия между позицией дисплея и адресом строки ОЗУ отображения. Следовательно, ввод какого-либо символа в некоторую произвольную позицию дисплея не допускается, так как это может привести к неопределенным результатам. Рекомендуется последовательный ввод, начиная с нулевой позиции в режиме автоинкрементирования.
Если режим дисплея установлен на восемь символов, то цикл подсвета вдвое меньше, чем он был бы для 16-символьного дисплея, т.е. время сканирования для 8-символьных дисплеев 5,12 мс и 10,24 мс для 16-символьных дисплеев при внутренней частоте синхронизации 100 кГц.
Слово состояния используется в режимах опроса контроллера для индикации количества символов в ОМ ОЗУ датчиков D3…D0, а также для индикации ошибок при вводе информации по стробу и из клавиатуры. Имеются два типа ошибок – это переполнение и переопустошение. Переполнение D5 возникает, когда предпринимается попытка записи еще одного символа в заполненное ОМ ОЗУ датчиков. Переопустошение D4 происходит, когда ЦП пытается читать пустое ОМ ОЗУ датчиков. Слово состояния также имеет бит D7, указывающий, что ОЗУ отображения занято, так как команды сброс дисплея или общий сброс не завершили операцию сброса ОЗУ отображения до конца. В кодированном (дешифрированном) сканировании матрицы датчиков в слове состояния устанавливается бит D6, указывающий, что по крайней мере один контакт замкнут в ситуации заполненного ОЗУ датчиков. В N-клавишном специальном режиме устанавливается бит D6 в слове состояния, указывающий, что встретились ошибки нажатия более одной клавиши.
1.5. Интерфейс клавиатуры
При вводе информации с клавиатуры необходимо обеспечить опрос и анализ состояния датчиков, устранение дребезга, определение кодов датчиков, буферирование введенной информации, сервис (выбор способов опроса и анализа состояний, формирование запросов прерываний и т.п.). Для упрощения интерфейсов устройств ввода и отображения информации (УВО) обычно применяют мультиплексный опрос датчиков клавиатуры и такое же отображение информации на дисплее. Это, в свою очередь, позволяет объединить функции регенерации изображения и опроса клавиатуры.

- Микропроцессорная техника
- Микропроцессорная техника
- Микропроцессорное устройство измерения уровня напряжения
- Микропроцессорное устройство измерения уровня напряжения
- Микропроцессорные системы
- Микропроцессорные средства систем управления
- Микропроцессорные средства систем управления
- Микропроцессорлық жүйені жобалау
- Микропроцессорлық жүйенің архитектурасы және типтері
- Микропроцессорная защита асинхронного двигателя
- Микропроцессорная система
- Микропроцессорная система
- Микропроцессорная система управления
- Микропроцессорная система управления насосным агрегатом дожимной насосной станции