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

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

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

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

Регистр адреса Т%АК используется при работе микроконтроллера в качестве ведомого. Код, записанный в семи старших разрядах регистра, представляет собственный адрес микроконтроллера. Этот код сравнивается компаратором с адресом, поступающим в микроконтроллер при появлении адресного пакета в регистре Т%13К. Младший бит Т%0СЕ регистра Т%АК разрешает распознавание общих вызовов (обращений с адресом $00). Если разряд Т%0СЕ = О, распознавание общих вызовов запрещено. Управление работой порта осуществляется с помощью регистров Т%СК (табл.

5.6) и Т%ЯК (табл. 5.7). Таблица 5.б. Формат регистра управления ТЖСК Таблица 5.7. Формат регистра состояния Т%8К Биты регистра Т%СК имеют следующее назначение: Т%ЕХ вЂ” бит разрешения работы модуля Т%1. При установке бита в состояние 1 выводы Я)А, БС1. подключаются к внешним выводам микроконтроллера РС1, РСО соответственно лля всех ранее названных молелей микроконтроллеров, кроме АТшеба8х (выводы РС4, РС5) и А1шеба 64х, 128х(РП1, РПО); Т%8ТА — флаг состояния 81ап. При установке бита в единичное состояние микроконтроллер может сформировать состояние 81аг1, если шина свободна.

Если шина занята, модуль ожидает появления состояния 81ор и лишь после этого захватывает шину, формируя состояние Йаг1; Т%8ТΠ— флаг состояния 81ор. Установка флага в состояние 1 приводит к формированию на шине состояния 81ор; Т%ЕА — бит разрешения подтверждения. При установке бита в 1 устройство формирует сигнал подтверждения, когда это необходимо; 5 3. Обмен данными по интерфейсу 12С(ТИТ) Т%1Е и Т%ПМТ вЂ” флаги разрешения и прерывания от модуля Т%1. Запрос прерывания генерируется, если Т%1МТ = 1 и Т%1Е = = 1.

Сброс флага Т%Пз)Т может быть осуществлен только при записи в него логической 1; Т%%С вЂ” флаг, устанавливаемый в 1 при попытке записи в регистр данных Т%0К, когда флаг прерывания Т%Пз)Т сброшен. Биты регистра Т%8К: Т%87...Т%83 — код состояния модуля Т%1; Т%Р81:Т%Р80 — коэффициент деления предделителя контроллера скорости передачи. Контроллер скорости передачи формирует последовательность овых сигналов поступающих на линию БСЬ. Частота фор- ВКи мируемых сигналов зависит от коэффициентов деления Т% и Таблица 5.Я.

Таблица коэффициентов Ллн выбора скорости обмена по Т%1 Т%РБ, загружаемых в регистры Т%ВК и Т%8К, и для разных моделей микроконтроллеров рассчитывается по формулам: — дла АТшеба163х, АТшеба323х юг =~сйк/(16 -> 2Т%ВК); — для моделей АТшеба 8х, 16х, 32х, 64х, 128х )наг = 1сйх l (16 + + 2Т%ВК*4 ). Значения коэффициентов деления для различных частот 7г 7,г и 6сг приведены в табл. 5.8.

При работе модуля в качестве ведомого скорость обмена зависит от импульсной последовательности, поступающей в микроконтроллер через вывод БСЬ. Молуль Т%1 может работать в следующих режимах: — ведущий с передачей байтов данных; — ведущий с приемом байтов данных; 180 5. Обмен данньаии по последоватепьному интерфейсу — ведомый с приемом байтов данных; — ведомый с передачей байтов данных. Процелура передачи одного байта данных от ведущего к ведомому представляет собой определенную последовательность действий.

1. В регистр Т%СК выводится команда для формирования состояния 81аг1. Для этого необходимо установить в 1 бит Т%8ТА (Т%8ТА = 1), сбросить флаг Т%ПчТ (Т%ПЧТ = 1) и установить бит активизации модуля Т%1 (Т%ЕХ = 1). После формирования состояния Маг! флаг Т%ПнТ устанавливается в 1. Для перехода к следующему действию выполняется проверка кода состояния $08 в регистре Т%8К. (Ожидание установки флага Т%1МТ можно заменить обработкой запроса прерывания. — Прим. авт.) Программная реализация функции старта представлена далее в программе 5.6 процедурой Кепс! Яаг1 . 2.

Содержимое пакета с адресом и нулевым значением бита направления записывается в регистр Т%1Ж. Передача инициализируется сбросом флага Т%!ХТ. После завершения передачи адреса и получения бита подтверждения флаг Т%ПМТ устанавливается в 1, а в регистре Т%$К устанавливается код статуса $18. Программная реализация функции записи представлена в программе процедурой Кепс! АсЬ . 3. После проверки кода статуса в регистр данных ТЪЧЖ загружается байт ланных для передачи и сбрасывается флаг Т%ПнТ.

По окончании передачи данных и получения бита подтверждения флаг Т%1ХТ устанавливается в 1, а в регистре Т%8К устанавливается код статуса $28. Эти действия обеспечивают передачу от ведущего устройства ведомому как команд, так и данных. Программная реализация функции вывода данных (а также команд) представлена в программе процедурой Яепс! Сот Оа1а. 4. После успешного завершения передачи выполняются команды для формирования состояния 81ор.

Программная реализация функции представлена в программе процедурой $гор. Кратко определим последовательность действий, выполняемых при приеме одного байта данных ведущим устройством; 1) в регистр Т%СК выводится команда для формирования состояния 81аг1; после формирования состояния 81аг1 флаг Т%П~)Т устанавливается в 1. Ддя перехода к следующему действию выполняется проверка кода состояния ($08) в регистре Т%8К. (Ожидание установки флага Т%Пч'Т также можно заменить обработкой запроса прерывания.

— Прим. авт.); 181 5, 3. Обмен данными по интерфейсу 12С~ТИ7) 2) содержимое пакета с адресом и единичным значением бита направления записывается в регистр Т%1Ж и инициализируется передача. После завершения передачи адреса и получения бита подтверждения флаг Т%ПнТ устанавливается в 1, а в регистре Т%БК устанавливается кол статуса ($40); 3) после сброса флага Т%1ХТ (разрешения приема) и получения байта ланных от ведомого данные из регистра Т%1Ж переписываются в один из регистров общего назначения. При успешном приеме код статуса в регистре Т%8К принимает значение $50. При необходимости формируется бит подтверждения приема; 4) после завершения приема выполняется команда для формирования состояния 81ор.

Последовательность действий, выполняемых при приеме одного байта данных ведомым устройством, можно определить следующим образом: 1) в регистр Т%СК выводится команда, сбрасывающая флаг Т%Пн'Т; 2) после приема первого байта с адресом ведомого устройства формируется запрос прерывания, проверяется код статуса в регистре Т%8К; если он равен $60, прием собственного адреса выполнен успешно; 3) передается бит подтверждения путем установки Т%ЕХ = 1 и выполняется сброс флага Т%1ХТ; 4) проверяется код статуса в регистре Т%8К (если он равен $80, значит в регистр Т%1Ж принят байт данных); передается бит подтверждения (Т%ЕХ = 1) и выполняется сброс флага Т%П~1Т; Действия 4-го шага повторяются, пока не будет принято все сообщение.

При поступлении состояния 81ор в регистре Т%БК формируется код статуса $АО (конец пакета). Подобным образом можно представить действия ведомого устройства при передаче данных. Подробное описание всех вариантов обмена и формируемые при этом значения статусных кодов можно найти в технической документации применяемой модели микроконтроллера. Практическая часть Работу встроенного модуля Т%1 рассмотрим на примере вывода данных из микроконтроллера АТшейа8х в параллельный порт РСА9554 для индикации. Схема сопряжения микроконтроллера МК и параллельного порта приведена на рис.

5.! 8. 183 ,после передачи алреса ;после передачи ланных .енц МТ ЯРА АСК = Ох18 .епц МТ РАТА АСК = Ох28 для частоты Рс1К = 4 Мгц ТХВН=12 ТХРЯ=О данные для вывола ;конфигурации ;настройка ППП на вывод ,"генерация стопового бита ;генерация стартового бита ;посылка адреса+записи Программа 5.6 свыходной регистр вывод данных .Ото Ох000 генерация столового бита т1вр Тпьт .Тпс1пде "в8дег.ьпс" .дет ЯРА Х = т17 .бег ВАТА = т18 ;файл определений Атвеоаа ;адресный байт ;байт данных (команды) ;1-чтение .еЧО 12стд = 1 .еЧО 12снт = 0 ;0-запись .еЧО БТАНТ = Ох08 ;после старта 182 5. Обмен данными по последовательному интерфейсу Рис.

5.18. Схема устройства для обмена данными с ППП по интерфейсу Т%1 Задание 2. Подготовить программу для проверки обмена данными между микроконтроллером и параллельным портом, используя встроенный модуль интерфейса Т%1. В качестве примера ниже приведена программа 5.6, которая выполняет вывод в порт инвертнруемого 8-разрядного кода данных. При передаче пакетов с адресами и данными использован механизм программной проверки условий установки в 1 флага ТРА(Т и состояний регистра Т14(8К.

Создать проект устройства, используя схему рис. 5.18, для проверки работы канала Т1й'1 с помощью программы 1818 6 РгоГе881опа! из пакета Рго(ецз 6 Рго(ВББ(опа!. Проверить работу устройства в пошаговом режиме. ,"Тестовая программа 5.6 для вывода данных в программируе;мый параллельный порт по интерфейсу ТХ1 ** к**к *********Я*******я ********к ******* к**************** **** Коды статуса в режиме ведущий передатчик **** 5,3 Обмен данными по интерфейсу 12С1™) тп1т: 1дт т16,НТБН(КАМЕМВ) ;инициализация оцт зрп,т16 указателя стека 1с(1 т16,).ОХ(КАМЕХР) опт зр1, т16 ;Подготовка ТХ1 к работе 1с(1 т16,12 опт ТХВК,т16 1с(1 т16,(1«ТХЕМ) ; Рзс1=100 Кгц оцт ТЕСН, т16 1дт т20,0хАА ;Настройка микросхемы ППП тса11 Бенд Ятатт ;генерация стартового бита 1дт БЕА Х,Б40+12снт ;посылка адреса+записи тса11 Бенд Абт 1с(1 РАТА, ВОЗ ;команда записи в порт тса11 Бепс( Сов Рата 1бь РАТА,Ох00 тса11 Яепс( Сов Вата тса11 Ягор ;Вывод данных 1оор: тса11 Бепс( Бтатт 1с(1 Я)А Х, 840+12снт тса11 Бенд Адт 1да РАТА,Б01 тса11 Бепд Сов Рата воя ВАТА,т20 тса11 Бенд Сов Рата тса11 Втор сов т20 т1пср 1оор ч******************** инвертирование ;повторение вывода ***************я******************** Функции режима ведущего передатчика ************** ****** ******************************* * ***** Бепб Ятатт: 1д т16 (1«ТХТМТ)((1«ТХЯТА))(1«ТХЕМ) оцт ТЕСН,т16 'услОвия для ООстояния ятхнт 5.

Обмен данными по последовательному интерфейсу 184 185 5.3. Обмен данными по интерфейсу 12С(Т~7) наьс1: Тп г16,ТХСН вЬгз г16,ТХТНТ гзшр на1Г1 Тп г16, ТХБК апдь г16,0хГ8 срь г16,БТАНТ Ьгпе еггог гег Яеп<( Адг: оцс ТХОН,БЬА Х 1дт г16,(1«ТИ1НТ) оцс ТИСЕ,г16 наьг2: ;ожидание установки флага тх1нт (проверка выполнения старта :загрузка пакета с адресом )(1«ТИЕЫ) ;передача еггог: гег тп г16,ТИСЕ вЬгз г16,ТХ1НТ )ожидание установки флага ТХ1НТ гзшр на).Г2 1п г16, ТХБЕ апд1 г16,0хг8 ср1 г1б,мт БЕА Аск;проверка выполнения передачи Ьгпе еггог гес Бепд Сош Васа: оцс ТХОЕ, ВАТА )загрузка байта данных 1дт г16,(1«ТХ1НТ))(1«ТХЕН) оцс ТИСЕ,г16 ;передача наггз: 1п г16,ТХСР, зЬгв г16,ТХ1НТ ;ожидание установки флага ТХ1НТ гдыр наьГЗ гп г16,ТХБЕ апдь г16,0хг8 срь г16,МТ ОАТА АСК ;проверка выполнения передачи Ьгпе еггог гег Есор: 1дт г16, (1«ТХТНТ)( (1«ТХЕН) ( (1«ТИБТО) оцс ТХСН,г16 условия для состояния ЯТОР 1д1 г16,0х11 на1Г4: с(ес г16 ;задержка для состояния БтоР Ьгпе наьс4 гес Рис.

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

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

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