Главная » Просмотр файлов » Хартов В.Я. Микроконтроллеры AVR. Практикум для начинающих (2007)

Хартов В.Я. Микроконтроллеры AVR. Практикум для начинающих (2007) (1264222), страница 31

Файл №1264222 Хартов В.Я. Микроконтроллеры AVR. Практикум для начинающих (2007) (Хартов В.Я. Микроконтроллеры AVR. Практикум для начинающих (2007)) 31 страницаХартов В.Я. Микроконтроллеры AVR. Практикум для начинающих (2007) (1264222) страница 312021-07-29СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 31)

Как изменится программа вывода в программируемый параллельный порт, если разрешить прерывания от модуля Т%1? 6. ОРГАНИЗАЦИЯ ВВОДА/ВЫВОДА ДАННЫХ ПО ПАРАЛЛЕЛЬНОМУ ИНТЕРФЕЙСУ Для обмена с внешними устройствами широко применяют обмен байтами или тетрадами. Обмен данными микроконтроллеров с простейшими устройствами ввода~вывода пульта оператора, кнопками и индикаторами, был описан в гл. 2. Обмен данными с внешними устройствами (ВУ) в параллельном формате выполняется по протоколам, которые зависят от многих факторов — характеристик контроллеров внешних устройств, ширины интерфейса, типа обмена (однонаправленный, двунаправленный), применяемых алгоритмов обмена (синхронный, асинхронный, с квитированием, по прерыванию, по выделенной или общей шине данных, байтовый, блочный, с контролем по четности, с общей контрольной суммой и др.).

При обмене могут быть использованы разнообразные инструкции (команды управления контроллерами периферийных устройств (ПУ), флаги готовности и байты состояния ВУ), адреса устройств, байты данных передаваемых или принимаемых сообщений, их контрольные суммы. Далее рассмотрены примеры возможных решений протоколов параллельного обмена в типовых приложениях.

6.1. ВЗАИМОДЕЙСТВИЕ С КЛАВИАТУРОЙ И ЖК-ДИСПЛЕЕМ Цель работы — изучение способов ввода1вывода информации по параллельному интерфейсу через порты микроконтроллера. Типовым примером взаимодействия микроконтроллера с внешними устройствами по параллельному интерфейсу является обмен данными со стандартными устройствами ввода/вывода — матричной клавиатурой и дисплеем. Рассмотрим особенности работы этих устройств и программирование операций ввода(вывода.

Клавиатура. Клавиатура представляет собой кнопочный (клавишный) блок, в котором кнопки (клавиши) размещены в виде матрицы на пересечении горизонтальных и вертикальных линий связи (рис. 6.1). ! 92 б, Организации ввода/вывода данных па параллельному интерфейсу Один ряд линий, например вертикальных, подключают к входному регистру, другой ряд (горизонтальных) — к выход- 14 10 б 2 ~~ ному регистру. На входной регистр из контроллера подают 13 9 5 1 о код, содержащий 0 в одном 12 8 4 о Я разряде н единицы во всех остальных. При замыкании кнопки вертикального ряда, на Входной репктр котором присутствует сигнал О, этот сигнал поступит в Рнс. б.1.

Матричная клавиатура горизонтальну1о линнкз и по ней на выходной регистр. Проверив состояние выходного регистра, контроллер может идентифицировать строку, а вместе со столбцом и номер замкнутой кнопки. С помощью последовательности сканирующих кодов вида 1110, 1101, 1011,0111 можно опросить состояние всех столбцов клавиатуры и установить номер замкнутой кнопки (клавиши). Используя его как индекс, можно выбрать из таблицы переходов начальный адрес процедуры, выполняемой при замыкании соответствующей кнопки.

На рис. 6.2 приведен атгоритм опроса клавиатуры размером 1ЧхМ и определения номера замкнутой кнопки. Перед начаюм цикла опроса устанавливают начальное значение и-разрядного сканирующего кода и параметры циклов. Счетчик проверяемых кнопок (пшп) сбрасывается в исходное состояние О. Алгоритм опроса клавиатуры представляет собой циклическую процедуру с вложенным циклом. Во внешнем цикле выполняется вывод сканирующего кода на входной регистр клавиатуры, затем ввод с выходного регистра слова состояния выбранного столбца клавиатуры. Внутренний цикл охватывает сдвиг считанного слова влево на один разряд с последующим анализом выдвинутого бита. При выполнении операции сдвига в микроконтроллере выдвигаемый бит попадает на флаг С. При С = 0 идентифицируется замыкание кнопки с номером, значение которого определено переменной пптп, и происходит выход из цикла.

При С = ! увеличивается на единицу значение пшп, повторяется сдвиг и новая проверка флага С. Если внутренний цикл не выявил факт замыкания (С = 1), выполняется выход из внутреннего цикла, сдвиг сканирующего кода влево на один разряд и повторение описанных действий. Как видно из алгоритма, его легко адаптиро- б.1. Взаимодействие с клавиатурой и ЖК-дисплеем 193 вать к клавиатуре любой размерности путем изменения параметров циклов (и, и). Клавиатура, не имеющая входного и выходного регистров, может быть непосредственно подключена к выходному и входному портам микроконтроллера соответственно. Клавиатуру небольшой размерности 4х4 можно подключить к одному 8-разрядному порту, одна половина которого программируется на вывод, другая — на ввод. В качестве резисторов, устанавливаемых в горизонтальных линиях клавиатурной матрицы, используют подтягивающие резисторы разрядов порта микроконтроллера, работающих на ввод.

Следует иметь в виду, что в разных конструкциях клавиатур масса и Рнс. б.2. Схема алгоритма опроса габариты кнопок могут сильно клавиатуры различаться. Из-за этого при замыкании и размыкании возникают импульсные помехи — дребезг контактов, который продолжается 20 мс и более в зависимости от типа кнопки, и др.

Для борьбы с помехами клавиатуры могут быть выполнены со схемами подавления дребезга контактов в виде триггеров. При отсугствии подобных средств можно программными средствами предусмотреть блокировку от ложных срабатываний, например, повторив опрос состояния спустя 20 мс для подтверждения факта замыкания. Процедура опроса клавиатуры осуществляется периодически через определенный интервал времени, например через 50 мс, либо по сигналу запроса„формируемому клавиатурой при замыкании любой из кнопок.

Первый способ можно реализовать, настроив таймер микроконтроллера на отсчет временного интервала, определяющего период опроса. Второй способ можно реализовать в тех микроконтроллерах, порты которых формируют запрос прерывания прн изменении состояния порта, как, например, в микроконтролле- 7 — 1998 194 б Организация вводайывода данных па параллельному интерфейсу рах серии Т)пу. Если порты не обладают таким свойством, можно в качестве драйвера применить специальную микросхему типа 74С922 фирмы Ха()опа1 Веппсопбцс(ог, которая прн подключении к клавиатуре 4 х 4 формирует 4-разрядный код замкнутой кнопки, подавляет дребезг и формирует запрос для микроконтроллера. Далее в составе программы 6.1, иллюстрирующей взаимодействие микроконтроллера с клавиатурой и дисплеем, представлен программный модуль обслуживания клавиатуры размером 4х 4 без дополнительного драйвера, присоединенной непосредственно к одному из портов микроконтроллера.

Г!роцедура опроса клавиатуры в этой программе запускается сигналом прерывания от таймера. Дисатей. Дисплеи, применяемые при построении контроллеров, обычно выполняют на основе 7-сегментных индикаторов для отображения цифровой информации либо на основе жидкокристаллических (ЖК) дисплеев для отображения алфавитно-цифровой информации.

Существует множество различных моделей ЖК- дисплеев, выпускаемых различными фирмами-производителями,— от простейших однострочных для вывода символьной информации, представленной АЯС11-кодами, до матричных графических. Современные ЖК-дисплеи часто имеют встроенные контроллеры для управления дисплеем типа известного Н044780, который имеет собственную систему команд. Команды и данные для дисплея пересылаются по 8- или 4-разрядной шине данных, управляющие сигналы — по отдельным линиям связи. На рис. 6.3 приведена схема простого двухстрочного дисплея 1.М0161., интерфейс которого содержит восемь входов для передачи команд и данных в контроллер дисплея и трн линии управления: КБ — вход сигнала управления, сопровождающий передачу команд (КБ = 0) и данных (КБ = 1); КЛЪ' — вход сигнала управления, определяющий тип обращения к дисплею — запись (КЛЪ' = О) и чтение (КЛ1г' = 1); Š— вход для синхронизирующего сигнала передачи по шине данных.

Рис. 6.3. ЖК-лисплей ЬМ016Ь баб Взаимодействие с клавиатурой и ЖК-дисплеем 195 Таблица б. Ь Система команд контроллера НР44780 Описание команды 07 Рб Время 05 04 01 РО 02 Очистка дисплея, курсо прад ес 0 0 0 0 1 До 1,64 мс Курсор по адресу О, дисплей относительно буфера РРКАМ в начальной позиции От 40 мкс до 1,6 мс 0 0 Курсор сдвигается вправо (1/Р = 1) или влево (Ь 0 = 0), сдвиг дисплея (Б = 1) вместе с курсором 40 мкс 0 0 !/08 Включение (Р = 1) или выключение (О = 0) дисплея, 0 0 включение курсора (С = 1) или гашение (С = 0). Мигание курсора(В = 1) 0 С В 40 мкс Сдвиг курсора (8)С = 0) или дисплея ($1С = 1) вправо (К/Ь = 1) или влево (КЛЬ = 0) 40 мкс 8! С 0 1 Разрядность шины данных — четыре (01. = 0) илн восемь (РЬ = 1) бит, количе- ство строк дисплея— одна(М = 0) или две (Х = 1), шрифт — 5 х 7 (Р = 0) илн 5 х 10 точек (Р = 1) 1 01.

Характеристики

Список файлов книги

Свежие статьи
Популярно сейчас
Как Вы думаете, сколько людей до Вас делали точно такое же задание? 99% студентов выполняют точно такие же задания, как и их предшественники год назад. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6418
Авторов
на СтудИзбе
307
Средний доход
с одного платного файла
Обучение Подробнее