MC_PIC (1031647), страница 4

Файл №1031647 MC_PIC (Раздаточный материал к курсовому проекту) 4 страницаMC_PIC (1031647) страница 42017-12-22СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

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

Состояние бита GIE также определяет:будет ли процессор переходить на подпрограмму прерывания после выхода из режимаSLEEP. Сброс битов – запросов прерываний – должен осуществляться соответствующейпрограммой обработки.5.2.7. Счетчик командСчетчик команд PCL и PCLATH имеет разрядность 13 бит. Младший байт счетчика(PCL) доступен для чтения и записи и находится в регистре 02h.

Старший байт счетчикакоманд не может быть напрямую записан или считан и берется из регистра PCLATH (PClatch high), адрес которого 0Ah. Содержимое PCLATH передается в старший байт счетчикакоманд, когда он загружается новым значением.В зависимости от того, загружается ли в счетчик команд новое значение во времявыполнения команд CALL, GOTO, или в младший байт счетчика команд (PCL) производитсязапись, – старшие биты счетчика команд загружаются из PCLATH разными способами, какпоказано на рис. 5.6.Рис. 5.6. Загрузка старших бит счетчика команд.Команды CALL и GOTO оперируют 11-разрядным адресным диапазоном,достаточным для смещения в пределах страницы программной памяти объемом 2К слов.

ДляМК подгруппы PIC16F8X этого хватает. С целью обеспечения возможности расширенияпамяти команд для будущих моделей МК предусмотрена загрузка двух старших битсчетчика команд из регистра PCLATH<4:3>. При использовании команд CALL и GOTOпользователь должен убедиться в том, что эти страничные биты запрограммированы длявыхода на нужную страницу. При выполнении команды CALL или выполнении прерываниявесь 13-битный счетчик команд помещается в стек, поэтому для возвращения изподпрограммы не нужны манипуляции с разрядами PCLATH<4:3>.Микроконтроллеры подгруппы PIC16F8X игнорируют значения бит PCLATH<4:3>,которые используются для обращения к страницам 1, 2 и 3 программной памяти.

Однакоприменять биты PCLATH<4:3> в качестве ячеек памяти общего назначения нерекомендуется, так как это может повлиять на совместимость с будущими поколениямиизделий.Возможность выполнять арифметические операции непосредственно над счетчикомкоманд позволяет очень быстро и эффективно осуществлять табличные преобразования вPIC-контроллерах.Микроконтроллеры подгруппы PIC16F8X имеют восьмиуровневый аппаратный стекшириной 13 бит (см. рис. 5.4).

Область стека не принадлежит ни к программной области, ник области данных, а указатель стека пользователю недоступен. Текущее значение счетчикакоманд посылается в стек, когда выполняется команда CALL или производится обработкапрерывания. При выполнении процедуры возврата из подпрограммы (команды RETLW,RETFIE или RETURN) содержимое счетчика команд восстанавливается из стека. РегистрPCLATH при операциях со стеком не изменяется.Стек работает как циклический буфер.

Следовательно, после того как стек былзагружен 8 раз, девятая загрузка перепишет значение первой. Десятая загрузка перепишетвторую и т.д. Если стек был выгружен 9 раз, счетчик команд становится таким же, как послепервой выгрузки.Признаков положения стека в контроллере не предусмотрено, поэтому пользовательдолжен самостоятельно следить за уровнем вложения подпрограмм.5.2.8. Прямая и косвенная адресацииКогда производится прямая 9-битная адресация, младшие 7 бит берутся как прямойадрес из кода операции, а два бита указателя страниц (RP1, RP0) из регистра статуса, какпоказано на рис. 5.7.Рис. 5.7. Методы адресации данных.Признаком косвенной адресации является обращение к регистру INDF. Любаякоманда, которая использует INDF (адрес 00h) в качестве регистра фактически обращается куказателю, который хранится в FSR (адрес 04h).

Чтение косвенным образом самого регистраINDF даст результат 00h. Запись в регистр INDF косвенным образом будет выглядеть какNOP, но биты статуса могут быть изменены. Необходимый 9-битный адрес формируетсяобъединением содержимого 8-битного FSR регистра и бита IRP из регистра статуса (см.рис. 5.7).Обратите внимание, что некоторые регистры специальных функций располагаются вбанке 1. Чтобы адресоваться к ним, нужно дополнительно установить в единицу бит RP0 врегистре статуса.5.2.9. Порты ввода/выводаКонтроллеры подгруппы PIC16F8X имеют два порта: PORTA (5 бит) и PORTB (8 бит)с побитовой индивидуальной настройкой на ввод или на вывод.ПортA (PORTA) представляет собой 5-битовый фиксатор, соответствующийвыводам контроллера RA<4:0>.

Линия RA4 имеет вход триггера Шмитта и выход соткрытым стоком. Все остальные линии порта имеют ТТЛ входные уровни и КМОПвыходные буферы. Адрес регистра порта А – 05h.Каждой линии порта поставлен в соответствие бит направления передачи данных,который хранится в управляющем регистре TRISA, расположенном по адресу 85h. Если битуправляющего TRISAрегистра имеет значение 1, то соответствующая линия будетустанавливаться на ввод.

Ноль переключает линию на вывод и одновременно выводит на неесодержимое соответствующего регистра-фиксатора порта. При включении питания вселинии порта по умолчанию настроены на ввод.На рис. 5.8 дана схема линий RA<3:0> порта A.Рис. 5.8. Схема линий RA <3:0> порта А. Выводы порта имеют защитные диоды к Vdd иVss.Операция чтения порта А считывает состояние выводов порта, в то время как записьв него изменяет состояние триггеров порта. Все операции с портом являются операциямитипа «чтение-модификация-запись». Поэтому запись в порт предполагает, что состояниевыводов порта вначале считывается, затем модифицируется и записывается в триггерфиксатор. Вывод RA4 мультиплексирован с тактовым входом таймера TMR0. Схема линииRA4 порта А приведена на рис.

5.9.Порт В (PORTB) – это двунаправленный 8-битовый порт, соответствующий выводамRB<7:0> контроллера и расположенный по адресу 06h. Относящийся к порту Вуправляющий регистр TRISB расположен на первой странице регистров по адресу 86h.Если бит управляющего TRISB регистра имеет значение 1, то соответствующая линия будетустанавливаться на ввод. Ноль переключает линию на вывод и одновременно выводит на неесодержимое соответствующего регистра защелки.

При включении питания все линии портапо умолчанию настроены на ввод.Рис. 5.9. Схема линии RA4 порта А. Вывод порта имеет защитный диод только к Vss.У каждой ножки порта В имеется небольшая активная нагрузка (около 100мкА) налинию питания (pull-up). Она автоматически отключается, если эта ножказапрограммирована как вывод. Более того, управляющий бит /RBPU регистра OPTION<7>может отключить (при RBPU=1) все нагрузки.

Сброс при включении питания такжеотключает все нагрузки.Четыре линии порта В (RB<7:4>) могут вызвать прерывание при изменении значениясигнала на любой из них. Если эти линии настроены на ввод, то они опрашиваются изащелкиваются в цикле чтения Q1. Новая величина входного сигнала сравнивается со старойв каждом командном цикле.

При несовпадении значения сигнала на ножке и в фиксаторегенерируется высокий уровень. Выходы детекторов «несовпадений» RB4, RB5, RB6, RB7объединяются по ИЛИ и генерируют прерываниеRBIF (запоминаемое в регистреINTCON<0>). Любая линия, настроенная как вывод, в этом сравнении не участвует.Прерывание может вывести кристалл из режима SLEEP. В подпрограмме обработкипрерывания следует сбросить запрос прерывания одним из следующих способов:− прочитать (или записать в) порт В.

Это завершит состояние сравнения;− обнулить бит RBIF регистра INTCON<0>.При этом необходимо иметь в виду, что условие «несовпадения» будет продолжатьустанавливать признак RBIF. Только чтение порта В может устранить «несовпадение» ипозволит обнулить бит RBIF.Прерывание по несовпадению и программно устанавливаемые внутренние активныенагрузки на этих четырех линиях могут обеспечить простой интерфейс, например, склавиатурой, с выходом из режима SLEEP по нажатию клавиш.Схемы линий порта B приведены на рис.

5.10 и 5.11.Рис. 5.10. Схема линий RB <7:4> порта B. Выводы порта имеют защитные диоды к Vdd иVss.Рис. 5.11. Схема линий RB <3:0> порта B. Выводы порта имеют защитные диоды к Vdd иVss.При организации двунаправленных портов необходимо учитывать особенностиорганизации ввода/вывода данных МК. Любая команда, которая осуществляет запись,выполняет ее внутри как «чтение-модификация-запись».

Например, команды BCF и BSFсчитывают порт целиком, модифицируют один бит и выводят результат обратно. Здесьнеобходима осторожность. В частности, команда BSF PORTB, 5 (установить в единицу бит 5порта B) сначала считывает все реальные значения сигналов, присутствующие в данныймомент на выводах порта. Затем выполняются действия над битом 5, и новое значение байтацеликом записывается в выходные фиксаторы. Если другой бит регистраPORTBиспользуется в качестве двунаправленного ввода/вывода (скажем, бит 0), и в данный моментон определен как входной, то входной сигнал на этом выводе будет считан и записан обратнов выходной триггер-фиксатор этого же вывода, стирая предыдущее состояние.

До тех пор,пока эта ножка остается в режиме ввода, никаких проблем не возникает. Однако еслипозднее линия 0 переключи тся в режим вывода, ее состояние будет неопределенным.На ножку, работающую в режиме вывода, не должны нагружаться внешниеисточники токов («монтажное И», «монтажное ИЛИ»). Большие результирующие токи могутповредить кристалл.Необходимо выдерживать определенную последовательность обращения к портамввода/вывода.

Запись в порт вывода происходит в конце командного цикла. Но при чтенииданные должны быть стабильны в начале командного цикла. Будьте внимательны воперациях чтения, следующих сразу за записью в тот же порт. Здесь надо учитыватьинерционность установления напряжения на выводах. Может потребоваться программнаязадержка, чтобы напряжение на ножке (которое зависит от нагрузки) успелостабилизироваться до начала исполнения следующей команды чтения.5.2.10. Модуль таймера и регистр таймераСтруктура модуля таймера/счетчика TIMER0 и его взаимосвязь с регистрами TMR0и OPTION показаны на рис.

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

Тип файла
PDF-файл
Размер
508,9 Kb
Тип материала
Высшее учебное заведение

Список файлов учебной работы

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