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

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

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

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

40 мкс Система команд контроллера Н044780 приведена в табл. 6.1, для выполнения каждой нз команд требуется определенное время, указанное в таблице. В связи с этим при программировании обмена с дисплеем необходимо после вывода каждой команды предусмотреть задержку в ожидании завершения заданной операции. 196 б.

Организация ввода!вывода данных по параллельному интерфейсу Окончание табл, б.! Примечание. 1 — ь — команды, записываемые при значениях сигналов Кь = = К/Чу= О; 9 — чтение при КЗ= О, КМ'=1; 1Π— записьданныхпри КБ =1, К/%=0 в буфер данных РРКАМ или в память знакогенератора СОКАМ; 11 — чтение данных при Кь = К!% = ! из памяти РРКАМ или СОКАМ. Символьные данные для отображения на дисплее поступают в коде А8С11 в буфер контроллера дисплея, объем которого составляет 80 байтов.

В зависимости от режима отображения !одно- Окно дисплея строчный или двухстрочный) данные для вывода на экран представляют один 80-байтовый массив или два массива по 40 байтов каждый. При двухстрочном выводе начальный адрес верхней строки (строка О) составляет $00, рнс. 6.4. Схема отображения для нижней 1строка 1) — $40. Косимвольной информации на тичество позиций в строке дис даухстрочном дисплее плея зависит от его типа. В моде- ли ЕМ0161. длина строки составляет 16 позиций.

Из этого следует, что длина буферного массива превышает число позиций дисплея. Поэтому для отображения всех элементов массива данных окно дисплея перемешается вдоль массива (рис. 6.4). Все элементы, попадающие в окно, отображаются на экране дисплея, остальные остаются вне зоны видимости. Курсор отоб- б. !. Взаимодействие с клавиатурой и ЖК-дисплеем 197 ражается на экране, если предварительно была введена команда отображать его и он находится в зоне видимости. В программе после передачи каждого символа данных необходимо предусмотреть временную задержку 40 мкс.

Процедуру инициализации дисплея и вывода сообщения из программной памяти микроконтроллера можно представить в виде последовательности действий. При начальной инициализации: 1) установка 8-битового режима вывода в две строки шрифтом 5х 7, задержка; 2) задание направления сдвига курсора вправо без сдвига дисплея, задержка; 3) включение дисплея, гашение курсора, задержка; 4) очистка дисплея и установка курсора в нулевую позицию, задержка; 5) задержка 2 мс. При выводе сообщения: 6) установка адреса буферной памяти для вывода верхней строки дисплся, задержка; 7) считывание байта сообщения из памяти и передача в дисплей, задержка, 8) повторение п.

7 для вывода всех символов сообщения в верхнюю строку; 9) установка адреса буферной памяти для вывода нижней строки дисплея, задержка; 10) вывод символа на дисплей при замыкании кнопки, задержка; 11) повторение п.10 до заполнения строки дисплея; 12) очистка дисплея и установка курсора в нулевую позицию, 13) задержка 2 мс и продолжение вывода. Програчлгирование интерфейсов.

Программирование обмена с клавиатурой и ЖК-дисплеем рассмотрим на примере проекта, в котором предусмотрен ввод с клавиатуры простого калькулятора размером 4х 4, подключенного к микроконтроллеру АТ908515, и вывод на ЖК-дисплей 1.М0161. постоянного информационного сообщения в начале работы и затем вывод кнопочных символов клавиатуры (цифр 0 — 9 и символов операций +, —, х, !).

Для соединения с внешними устройствами используем порты микроконтроллера (Р13 — для клавиатуры, РС вЂ” для передачи команд и данных на ЖК-дисплей, РА — для передачи управляющих сигналов на дисплей). Схема проекта изображена на рис. 6.5. ЕМО!61. с(ег госз=г21 х)еГ Кеу=г19 х)еГ всапсох(=г20 х(еб 1сб=г22 х)еб соцпс 1сб=г2З .огд БООО гфпр ьп1Г .огд 8007 г)пр всап)хеув ;обработка клавиатуры порт РА на вывод порт РС на вывод линии порта РРО-РРЗ на вывод РР4-РР7 на ввоД Программа 6.1 198 6, Организация ввода/вывода данных по параллельному интерфейсу Рис. 6.5. Схема соединения микроконтроллера с клавиатурой и ЖК-дисплеем Программирование операций ввода/вывода представлено программой 6.1.

После инициализации портов микроконтроллера, таймера и дисплея производится однократный вывод сообщения на верхнюю строку дисплея. Поскольку текст сообщения не изменяется при повторных запусках программы, он размещен в памяти программ. Символы кнопок отображаются на нижней строке дисплея. В этом случае по номеру замкнутой кнопки происходит обращение к таблице их символьных обозначений, откуда извлекается ЛВС11-код и пересылается в буфер дисплея. После заполнения строки дисплея весь экран Очищается с помощью соответствующей команды, вывод на экран продолжается с начальной позиции. ;Программа 8.1 для демонстрации работы интерфейса ;с клавиатурой 4х4 и двухстрочным ЖК-дисплеем с встроенным ;контроллером НР44780, передачей байтов команд и данных по ;8-разрядной шине через порт РС.

Управляющие сигналы ;поступают на дисплей из МК по линиям РА5-РА7. Клавиатура ,"подключена к порту РР: входы клавиатуры (вертикальные 6.1. Взаимодействие с клавиатурой и ЖК-дисплеем 199 ;линии] соединены с выходами РРО-РРЗ, выходы клавиатуры ;(горизонтальные линии) — с входами РР4-РР7. ***к********************* ******* ** ;файл определений АТ9088515 ;временная переменная ;номер сканируемого ряда клавиатуры ;номер строки клавиатуры ;номер кнопки сканирующий код грегистр ЬСР (ЖК-дисплея) ;счетчик выводимых символов на ЬСР ;Разряды порта РА для управления ЬСР . ецц ге=5 ; (КБ=1) — данные, (КБ=О) — команды .ейц гн=б ;(КХ=1) — чтение 1СР, (КХ=О) — запись в ЬСР .ечц е=7 ;строб сигналов на шине команды/данные ;Инициализация хп18: 1дь Гепр,1он(КАМЕМР) ;инициализация оцс ар1/Гепр указателя стека 1х)1 Гепр,)х19)х(КАМЕНР) оцг ар)х,гепр ;Инициализация портов вег Гепр оьв РРРА,Гепр оцс РОКС,Гепр 1х(1 Гепр,БОГ оцс РРКР,Гепр 14(1 Гепр,БРО оцГ РОКТР,Гепр ;Инициализация таймера 0 1х(1 Сепр,805 оцх ТССКО,Гепр ;коэффициент деления 1024 161 Гепр,(1«Т01ЕО) оцс Т1МБК, Гепр ;разрешение прерываний от таймера ;Инициализация ЖК-дисплея гса11 х(е1ау2па 200 б, Организация ввода)вывода данных по параллельному интерфейсу разрешение прерываний ;Подпрограмма обработки клавиатуры ясапкеуя: с1г хеу с1г ясапсос( 1с)1 со1я,4 яес ясап: го1 ясапсос( оцо РОНТП,ясапсос( с1с 1б1 гася,4 гп Гепр,Р1ИО пп: го1 Гепр Ьгсс пп ;формирование очередного скан-кода ;вывод на клавиатуру ;ввод состояния клавиатуры ;проверка замыкания кнопки 1оф 1сс(,838 ;8-битовый режим вывода, гса11 1сбсоп 2 строки, шрифт 5х7 1бф 1са,$06 ;Направление сдвига курсора вправо, без сдвига дисплея гса11 1сбсоп 1с(1 1сб/ 80С ;включить дисплей, гса11 1сосоп погасить курсор 1бг 1со,$01 ;Очистить дисплей и установить курсор в нулевую позицию гса11 1сбсоп гса11 бе1ау2пя ;Установка адреса буферной памяти для вывода верхней ;строки дисплея 1бф 1сб,$80 гса11 1сбсоп 1бф соцпГ 1сб,12 ;вывод на верхнюю строку дисплея 1бх г1,1он(яьг 0*2) 1б1 гЬ,ЬТоЬ(яьг 0*2) оцГО: 1рп аб1н г1,1 пот 1сб, гО гса11 1сооас бес соцпс 1сб Ьгпе оцГО ;Установка адреса буферной памяти для вывода нижней строки ,"дисплея 1бх 1сс(,8СО гса11 1сбсоп 1а1 соцпГ 1сб,17 яеф 1оор: г)пр 1оор б.1.

Взаимодействие с клавиатурой и ЖК-дисплеем 201 гфпр ргеяв пп: ьпс Кеу бес гояя Ьгпе пп с(ес со1я Ьгпе ясап ргеяя: ср1 хеу,16 Ьгец 81 гса11 1сс) ягг 1 Г1: геоф ;переход при замыкании (С=О) ;увеличение номера кнопки ;уменьшение номера строки ;уменьшение номера ряда ;выкод при отсутствии замыканий ;вывод на дисплей ;Подпрограмма вывода 1сбсоп: оцГ РОРТС,1со 1с(1 Гепр,Ох80 оцс РОНТА,Сепр сЬг РОНТА,е гса11 бе1ау40ця на дисплей байта команды ;вывод команды ;установка режима записи команд ;фронт 1/О стюоба ;Подпрограмма вывода значения клавиши на нижнюю строкУ ;дисплея 1сб яог 1: бес соцпГ 1сс) Ьгпе пес ;При достижении конца строки обновить счетчик вывода на ;дисплей, очистить дисплей и установить курсор в нулевую гпозицию 1б1 соцпГ 1сб,16 1с)1 1сс( $01 гса11 1сбсоп гса11 бе1ау2пя ;Установка адреса буферной памяти на начало нижней строки 1с(1 1сс(,8СО гса11 1сбсоп ;Определение символа клавиши по ее номеру и вывод на ;дисплей пеГ: 1бх г1,1он(ясг 1*2) 1дф гЬ,ЬТОЬ(ятг 1*2) асЫ г1,)сеу Ьгсс пе2 ьпс гЬ пе2: 1рп пот 1сс(,гО гса11 1сбс(аг гег 202 б.

Организация ввода/вывода данных по параллельному интерфейсу гег ;Подпрограмма вывода на дисплей байта данных 1оббагс оос РОРТС,1сб 1бь Сешр,ОхЛО спг РОПТЬ, Гвшр сЬ1 РОВТА, е гса11 бе1ау40пз гег ;вывод символа ;установка режима записи данных ;фронт 1/О отроба бе1ау40пз: 1б1 г18,48 бО: бес г18 Ьгпв бО гег бе1ау2шз: ;задержка 2 мс 1бь г17, 48 61: гоа11 бв1ау40пз бес г17 Ьгпе 61 гег задержка 40 мкс при Рс1К = 3,69 НГц Текст сообщения для верхней строки дисплея Обозначения клавиш, выводимые на нижнюю строку дисплея звг 1: .бЬ /','х ,'- Задание Е Запустить программу АУК Зшс)10 4. Подготовить программу б.1 для компиляции.

Получить файл с расширением .)зех, выполнив команды Рго/ес// Ви/Ы. Запустить программу Рготепз/ 151З для симуляции проекта с виртуальными устройствами, клавиатурой и дисплеем. Создать проект согласно схеме рис. б.5. Выделив правой кнопкой мыши обозначение микроконтроллера, щелчком левой кнопки открьпь окно настройки н указать путь к )зех-файлу, полученному в АУК ЗШ010 4.

Запустить программу на выполнение. Нажимая кнопки виртуальной клавиатуры, убедиться в правильной работе программы обмена, наблюдая символы кнопок, выводимые на дисплей. Задание 2. Изменить схему проекта, заменив клавиатуру 4х 4 клавиатурой бх4. Внести соответствующие изменения в программу. Проверить работу программы на модели с виртуальными устройствами. б.2. Организация асинхронного параллельного обмена,. 205 Задание 3. Изменить программу, предусмотрев вывод символов на дисплей в направлении справа налево. Проверить работу программы. Задание 4. Изменить программу, предусмотрев вывод команд и данных на дисплей по 4-разрядной шине данных.

Проверить работу программы. Задание 5. Подключить к разъемам ЗТК500 схему дисплея и блок клавиатуры. Загрузить программу и проверить ее работу. (В комплекте ЗТК500 эти устройства отсутствуют, поэтому задание можно выполнить при наличии соответствующих устройств клавиатуры и дисплея. — Прим. авт.) 6.2. ОРГАНИЗАЦИЯ АСИНХРОННОГО ПАРАЛЛЕЛЬНОГО ОБМЕНА ДАННЫМИ С КВИТИРОВАНИЕМ Цель работы — изучение режимов ввода/вывода информации через порты микроконтроллера и организация асинхронного параллельного обмена данными с квитированием. Асинхронный обмен между микроконтроллером и ВУ можно осуществить различными способами, Способ с опросом состояния внешнего устройства. При этом способе микроконтроллер считывает из контроллера адресованного ВУ слово состояния (5%) ВУ. Если бит готовности в слове состояния указывает на готовность ВУ к обмену данными, микроконтроллер запускает эту операцию (чтение при вводе или запись при выводе).

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

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

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