Гребнев В.В. - Микроконтроллеры семейства AVR фирмы Atmel, страница 8
Описание файла
DJVU-файл из архива "Гребнев В.В. - Микроконтроллеры семейства AVR фирмы Atmel", который расположен в категории "". Всё это находится в предмете "цифровая обработка сигналов (цос)" из 8 семестр, которые можно найти в файловом архиве МГТУ им. Н.Э.Баумана. Не смотря на прямую связь этого архива с МГТУ им. Н.Э.Баумана, его также можно найти и в других разделах. Архив можно найти в разделе "книги и методические указания", в предмете "цифровая обработка сигналов" в общих файлах.
Просмотр DJVU-файла онлайн
Распознанный текст из DJVU-файла, 8 - страница
Задание значения выходного сигнала на отдельных выводах порта выполняется с использованием команд с мнемокодами СВ1 РОКТХ, У (№ 65) (для низкого уровня) и ЯВ1 РОКТХ, У (№ 66) для высокого уровня. При совместном использовании Всех разрядов порта для приема и выдачи байтов используются команды с мнемокодами 1Х й.,~, Р1ХХ (№ 60) и О11Т РОКТХ, К„(№ 61) соответственно. Обращение к параллельному порту для приема н выдачи байтов может быть выполнено с использованием команд с обращением по адресам в адресном пространстве ЖАМ (№№ 34 — 57).
При этом в качестве адресов используются номера регистров ввода-вывода, увеличен- ные на $20. Работа периферийных ус~байств При пуске и перезапуске микроконтроллера все разряды регистров ВАКХ и РОКТХ всех портов сбрасываются в нулевое состояние и выводы портов работают в режиме входов и находятся в Х состоянии. Исключением является разряд РОКТА.2 регистра РОКТА в микроконтроллере типа 128, который устанавливается в единичное состояние.
В микроконтроллере типа гп163 при установке в единичное состояние разряда Р110 регистра ЯНОК (№ $30) во всех разрядах всех портов разрывается цепь, связываюшая вывод порта с шиной Ъ'СС через резистор. В микроконтроллере типа г15 разряд Р1)1) входит в регистр МСБСК (№ $35). В микроконтроллере типа г28 выводы норта РВ подключаются через резисторы к шине ЪСС при единичном состоянии разряда Р1ЛЗРВ регистра МС11СЯ. 3.2. Последовательный порт ввода-вывода ВР! Порт ЯР1 входит в состав периферийных устройств микроконтроллеров типа 4433, 8515, 8535, т163 и т103.
Основным элементом порта ЯР1 являстся восьмиразрядный реверсивный сдвигающий регистр, который используется для параллельного ввода из шины данных микроконтроллера байта, предназначенного для выдачи: последовательной выдачи байта на выход микроконтроллера с одновременным последовательным вводом байта со входа микроконтроллера и параллельной выдачи введенного байта в буферный регистр для последующей передачи в шину данных микроконтроллера. Сдвпгак>щий регистр и буферный регистр имеют одно пмя — ЯР1Ж (№ $0Е). Запись байта в сдвигающий регистр выполняется по команде О11Т ЯР1Ж, К„, чтение байта из буферного регистра — по команде 1Х К~, БРВК. В состав порта ЯР1 входят также регистр управления ОРСК (№ $0Р), регистр состояния ЯР8К (№ $0Е) и элементы, управляюшие работой порта.
Структурная схема порта ЯР1 изображена на рпс. 3.2. Порт ЯР1 переводится в рабочее состояние при установке в единичное состояние разряда ЯРЕ регистра ОРСК. При этом выводы порта МОЯ1, М180, БСК и Я подключаются к внешним выводам микроконтроллера в соответствии с табл. 3.3. Таблица З.З Глаао 3 44 Рис.
3.2 Порт ЯР1 может работать в режиме ведущего (та~гег) или ведомого фаье). Выбор режима определяется состоянием разряда МЯТЕ регистра БРСЬ. При МЯТЫ=1 порт работает в режиме ведущего. При этом вывод МОЯ1 является выходом, вывод М150 — входом, вывод ЯСК— выходом. Функция вывода % зависит от состояния разряда Р1ЖВ.Х (Х = 2, 4, О) регистра ИЖВ. Если ШЖВ.Х = 1 (вывод РВ.Х является выходом), вывод Ю порта ЯР1 не подключен к выводу РВ.Х порта РВ. Если 1ИЖВ.Х = 0 (вывод РВ.Х является входом), значение сигнала на этом входе влияет на работу порта ЯР1.
При единичном значении сигнала на этом входе порт работает в режиме ведущего, а при появлении нулевого значения сигнала он переводится в режим ведомого и для возвращения в режим ведущего после появления единичного значения сигнала на входе % требуется вновь установить разряд МНТК регистра БРСЬ в единичное состояние. В режиме ведущего обмен байтами начинается при записи байта в сдвигающий регистр ЯР1Ж (Ж). В схеме управления СУ1 вырабатывается серия из восьми импульсов, которая управляет сдвигом в регистре ЯР1Ж (Ю) и выдается на выход ИСК для управления сдвигом в регистре ведомого порта. рабата периферийных устройств Полярность импульсов определяется состоянием разряда СР01 регистра ЯРСК. При СР01.
- О сигнал на выходе ЯСК в исходном состоянии имеет нулевое значение, импульс формируется при переходе сигнала к единичному значению. Прн СР01 =1 сигнал в исходном состоянии имеет единичное значение и импульс формируется при переходе сигнала к нулевому значению. Направление сдвига в регистре и порядок следования битов на выходе МОЯ1 определяется состоянием разряда ВОК1) регистра ЯРСК.
При РОКВ = О выдача байта начинается со старшего бита (1)7), при ВОИН = 1 выдача начинается с младшего бита (РО). При выдаче каждого бита на выход МОЯ1 соответствующий бит из ведомого порта поступает на вход М1ЯО и вводится в сдвигающий регистр. Серия из восьми импульсов в ведущем порте формируется из тактового сигнала СК путем деления частоты в пересчетной схеме ПС. Коэффициент деления К определяется комбинацией состояний разрядов ЯРКО и ЯРК1 регистра ЯРСК в соответствии с табл. ЗА.
В микроконтроллере типа т163 в регистре состояния ЯРЯК есть дополнительный разряд ЯР12Х, при единичном состоянии которого скорость передачи увеличивается в два раза. Таблица 3.4 * — в МК типа т1вз при 8Р!2Х -1 При завершении выдачи/приема байта устанавливается в единичное состояние разряд ЯР1Г регистра состояния ЯРЯК и при единичном состоянии разряда ЯР1Е регистра ЯРСК в блок прерываний поступает запрос прерывания ЯР1 ЯТС (ЯР1 5ела1 Ттапз~ет Сотр1еге).
Разряд ЯР1Г сбрасывается в нулевое состояние аппаратно при переходе к выполнению соответствующей прерывающей программы или при чтении регистра ЯРЯК перед записью нового байта в регистр ЯР1Ж (Ч~). При записи нового байта в регистр ЯРОК (Ю) в процессе сдвига ранее записанного байта устанавливается в единичное состояние разряд ЮС01.
регистра ЯРЯК (ошибка при вводе). Разряд %С01 сбрасывается в нулевое состояние при чтении регистра ЯРЯК. При МЯТК = О порт работает в режиме ведомого. В этом случае вывод МОЯ1 работает как вход, вывод М1ЯΠ— как выход, выводы ЯСК и ЯЯ вЂ” как входы. Выводы порта подключаются к соответствующим Глава 3 0ОЮ=О моя 0ОЮ=1 ! ! ! ! ! ! 07 07г6 0770 Рис. 3.3 выводам порта РВ при установке в единичное состояние разряда ЯРЕ регистра ЯРСК. Порт переходит в рабочее состояние при нулевом значении сигнала на входе ЯЯ. При поступлении серии импульсов на вход ЯСК из регистра ЯРОК (~Ч) на вывод М1ЯО последовательно выводится байт, ранее записанный в этот регистр.
Одновременно в регистр вводится байт, поступающий на вход МОЯ1. При завершешш обмена байтами устанавливается в единичное состояние разряд ЯР1Е регистра ЯРЯК и прн единичном состоянии разряда ЯР1Е в регистре ЯРСК в блок прерываний поступает запрос прерывания ЯР1 ЯТС. Состояние разрядов СР01. и ВОКВ в регистре ЯРСК у ведомого порта должно совпадать с состоянием одноименных разрядов у ведущего порта.
Состояние разрядов ЯРКО и ЯРК1 не влияет на работу порта. Состояние разряда СРНА определяет значение сигнала на выходе М1ЯО при переходе порта в рабочее состояние (ЯЯ = 0) до и после обмена байтами. При СРНА = О прп переходе порта в рабочее состояние на выходе М1ЯО появляется значение бита, который будет выдаваться первым, а значение сигнала после выдачи восьмого бита является неопределенным. При СРНА = 1 значение сигнала на выходе М1ЯО при переходе порта в активное состояние является неопределенным, а после передачи восьмого бита на выходе М1ЯО сохраняется значение переданного бита. Временные диаграммы сигналов на выходах ЯСК и МОЯ1 ведущего микроконтроллера и выходе М1ЯО ведомого микроконтроллера при разных состояниях разрядов СР01., ВОКВ и СРНА изображены па рис.
3.3. 47 Работа периферийиык устройств При подключении к ведущему порту нескольких ведомых портов шины МОЯ1, М150 и ЯСК являются общими для всех портов, а выводы % ведомых микроконтроллеров должны быть соединены со специальными выходами ведущего микроконтроллера с помощью отдельных шин. В качестве специальных выходов ведущего микроконтроллера могут использоваться любые выводы любых портов, не используемые в иных целях. 3.3.