Курсовой проект по дисциплине





Скачать 309.14 Kb.
НазваниеКурсовой проект по дисциплине
страница4/7
Дата публикации07.07.2015
Размер309.14 Kb.
ТипКурсовой проект
100-bal.ru > Информатика > Курсовой проект
1   2   3   4   5   6   7

Порты ввода-вывода микроконтроллеров AVR



Все порты микроконтроллеров AVR в режиме цифрового ввода-вывода представляют собой полноценные двунаправленные порты, у которых каждый из выводов может работать как в режиме ввода, так и в режиме вывода. Это означает, что каждый отдельный разряд порта может быть настроен либо как вход, либо как выход, независимо от настройки всех остальных разрядов того же порта.

Настроить разряды порта можно при помощи команд сброса и установки бита SBI и CBI. То же самое касается изменения значения на выходе (если разряд сконфигурирован как выход) или включения/ отключения внутреннего резистора нагрузки (если разряд сконфигурирован как вход).

Все эти настройки выполняются отдельно для каждого вывода порта. Выходной буфер каждого из выводов порта содержит симметричный выходной каскад с высокой нагрузочной способностью. Нагрузочная способность каждого вывода любого порта достаточна для непосредственного управления светодиодным дисплеем.

Все выводы любого порта имеют индивидуально подключаемые резисторы нагрузки, которые в случае необходимости могут подключаться между этим выводом и источником питания. Входные схемы каждой линии порта имеют по два защитных диода, подключённых к цепи питания и к общему проводу, как это показано на рис. 1.4.



Рис. 1.4 – Эквивалентная схема входных цепей одного разряда порта ввода-вывода
Буква “x” в описании имён регистра означает название порта, сточная буква “n” означает номер разряда. При использовании этого имени в программе вместо этих символов нужно подставлять конкретную букву названия порта и конкретный номер разряда.

Например, PORTB3 – для бита номер 3 порта B, если в документации этот бит назывался PORTxn.

Для каждого порта ввода-вывода в микроконтроллере имеется три специальных регистра:

  • PORTx – регистр данных;

  • DDRx – регистр управления;

  • PINx – регистр непосредственного чтения состояния линий порта.

Регистр непосредственного чтения состояния линий порта доступен только для чтения, в то время как регистр данных и регистр управления доступны как для чтения, та и для записи.

Однако тоже возможна запись логической единицы в любой разряд регистра PINx. Она приведёт к переключению соответствующего разряда регистра данных (PORTx). Каждый разряд регистра PORTx управляет включением и отключением резистора внутренней нагрузки, если соответствующий разряд порта находится в режиме ввода.

    1. Таймеры микроконтроллеров AVR



В микроконтроллерах AVR может быть до 4х таймеров/счетчиков (ТС). Разрядность этих таймеров 8 или 16 бит (т.е. они могут считать до 28=256 или до 216=65536). Обычно их используют для точного формирования временных интервалов, подсчета импульсов на выводах микроконтроллера, формирования последовательности импульсов. Таймеры способны вырабатывать запросы на прерывания, при  этом освобождая процессор от необходимости опроса состояния таймеров. В данной статье мы разберем работу таймеров и прерываний, которые они могут вырабатывать, на примере 16-ти битного таймера/счетчика1 (TС1) микроконтроллера ATmega16. Всего у этого МК три таймера - два 8ми битных (TС0, TС2) и один 16 битный (TС1). Взглянем на таблицу векторов прерываний МК ATmega16 - 7 прерываний связаны с таймерами микроконтроллера, из них 4 связаны с таймером/счетчиком1 (TС1). Давайте разберемся, что же может этот таймер, какие регистры им управляют и что в них нужно записать, чтобы настроить таймер как нам нужно. Для начала рассмотрим все регистры ТС1 и за что какой бит отвечает, а потом рассмотрим какие-нибудь простые примеры по настройке таймера. Начнем с регистров управления таймером.

TCCR1A - регистр управления A

http://samou4ka.net/uploads/images/avr/tccr1a.gif

Рис. 1.5 – Регистр TCCR1A

Биты 7:6 - COM1A 1:0: контролируют поведение выхода OC1A (см. Таблицу 1).

Биты 5:4 - COM1B 1:0: контролируют поведение выхода OC1B (см. Таблицу 1).

http://samou4ka.net/uploads/images/avr/timer_table1.png

Биты 3:2 - FOC1A, FOC1B: служат для принудительного изменения состояния выходов OC1A и OC1B.

Биты 1:0 - WGM11, WGM10: служат для настройки ТС1 для работы в качестве широтно-импульсного модулятора (ШИМ). В режиме ШИМ состояние выходов OC1A и OC1B будет отличаться. В этой статье не буду ничего писать про режим ШИМа, а то будет куча информации, которую трудно переварить. Что такое ШИМ опишу как-нибудь в другой раз.

TCCR1B - регистр управления В

http://samou4ka.net/uploads/images/avr/tccr1b.gif

Рис. 1.7 – Регистр TCCR1B
Бит 7 - ICNC1: подавление дребезга на входе ICP1. Если бит установлен, то определение события на входе ICP1 происходит с задержкой в 4 машинных цикла (см. дальше по тексту).

Бит 6 - ICES1: выбор фронта срабатывания прерывания по захвату. Если установлен - на растущем фронте, если сброшен - на падающем фронте.

Бит 5 - не используется

Биты 4:3 - WGM1 3:2: для настройки ШИМа.

Биты 2:0 - CS1 2:0: выбор тактирования ТС1 (Таблица 2).

http://samou4ka.net/uploads/images/avr/timer_table2.png
Далее, с частотой, которую мы выбрали в регистре TCCR1B, счетчик таймера начинает считать и записывать значение счетчика в регистры TCNT1H и TCNT1L - старший и младший байт счетного регистра. При достижении TCNT1 значения 216 счетчик переполняется и сбрасывается, и начинает счет заново. В этот регистр мы также можем записать какое-нибудь значение, с которого мы хотим, чтобы наш счетчик стартовал. Для 16-битной операции записи, старший байт должен быть записан первым. Младший - вторым. Для операции 16-битного чтения, младший байт должен быть прочитан первым, а содержимое старшего байта считывается вторым. Если мы настроили изменение состояния входа OC1A или OC1B, тогда значение счетного регистра сравнивается каждый раз со значением регистров OCR1A и OCR1B - регистры сравнения. Каждый из этих регистров состоит из двух байт (например, OCR1AH и OCR1AL). Можно записать в эти регистры нужное значение и по совпадению значения регистра счетчика с регистром сравнения будет происходить изменение на выходах OC1A и OC1B. Также есть регистр захвата входа - ICR1 (ICR1H и ICR1L). Значение TCNT1 в этот регистр записывается при наступлении события на входе ICP1.

Счет и изменение состояния ножек МК это уже хорошо, но также этот таймер может при определенных событиях генерировать прерывания. Как мы уже видели из таблицы векторов прерываний у ТС1 есть 4 вектора прерывания - прерывание по захвату, прерывание по совпадению А, прерывание по совпадению В, прерывание по переполнению (указаны в порядке уменьшения приоритета). Рассмотрим регистры, настраивая которые можно управлять прерываниями ТС1.

TIMSK - регистр маски прерываний таймеров/счетчиков

http://samou4ka.net/uploads/images/avr/timsk.png

Рис. 1.8 – Регистр TIMSK
Бит 7 - OCIE2: прерывание по совпадению ТС2

Бит 6 - TOIE2: прерывание по переполнению ТС2

Бит 5 - TICIE1: прерывание по захвату ТС1

Бит 4 - OCIE1A: прерывание по совпадению A ТС1

Бит 3 - OCIE1B: прерывание по совпадению В ТС1

Бит 2 - TOIE1: прерывание по переполнению ТС1

Бит 1 - не используется

Бит 0 - TOIE0: прерывание по переполнению ТС0

Если соответствующий бит установлен в "1" и бит I (7-й бит) регистра состояний  SREG установлен в "1", тогда соответствующее прерывание будет срабатывать.
TIFR - регистр флагов прерываний таймеров/счетчиков
http://samou4ka.net/uploads/images/avr/tifr.png

Рис. 1.9 – Регистр TIFR

Флаги соответствуют прерываниям в регистре TIMSK. Устанавливаются в "1" при выполнении условий соответствующего прерывания.

Вот и вся теория связанная с ТС1. Остальные таймеры настраиваются аналогичным образом.
Обобщённые сведения о таймере 1:

  • Счетчик 16-ти битный (16 битный ШИМ)

  • Два независимых выхода, срабатывающих по совпадению

  • Один вход по захвату события (растущий или падающий фронт)  и подавление дребезга на этом входе

  • Тактирование от встроенного тактового генератора или внешний источник тактирования таймера (T1)

  • 4 независимых прерывания


1   2   3   4   5   6   7

Похожие:

Курсовой проект по дисциплине iconКурсовой проект на тему: Проект производственно-технической базы...
Курсовой проект содержит три листа графической части и пояснительную записку на 70 стр., 13 таблиц, 10 использованных источников
Курсовой проект по дисциплине iconПояснительная записка к курсовой работе по дисциплине «Разработка...
Курсовой проект содержит: страниц –20, источников – 5, рисунков – 6, таблиц – 2
Курсовой проект по дисциплине iconПояснительная записка к курсовой работе по дисциплине «Разработка...
Курсовой проект содержит: страниц –22, источников – 5, рисунков – 6, таблиц – 2
Курсовой проект по дисциплине iconОтчетной работы) Курсовой проект (вид работы) По дисциплине «Теория антикризисного управления»
Титульный лист курсовой работы (проекта), контрольной работы, домашнего задания, реферата, отчета о практике
Курсовой проект по дисциплине iconКурсовой проект по дисциплине: Методы принятия управленческого решения...

Курсовой проект по дисциплине iconКурсовой проект по дисциплине: Методы принятия управленческого решения...

Курсовой проект по дисциплине iconПриложение примерные Темы для Курсовой работы по дисциплине
Курсовой работа по дисциплине «Технологии программирования» состоит из 2 частей: теоретическая часть; практическое задание
Курсовой проект по дисциплине iconКурсовой проект по дисциплине Право и организация социального обеспечения
Понятие материнского (семейного) капитала и его правовое регулирование
Курсовой проект по дисциплине iconКурсовой проект по дисциплине «Бизнес-план предприятия»
Министерство образования Российской Федерации Московский государственный университет печати
Курсовой проект по дисциплине iconРеферат Курсовой проект выполнен на тему «Оборудование станции «Е»
Курсовой проект выполнен на тему «Оборудование станции «Е» устройствами блочной маршрутно-релейной централизацией
Курсовой проект по дисциплине iconРеферат Курсовой проект выполнен на тему «Оборудование станции «Е»
Курсовой проект выполнен на тему «Оборудование станции «Е» устройствами блочной маршрутно-релейной централизации
Курсовой проект по дисциплине iconКурсовой проект по химическим средствам защиты растений Тема: «Химическая...
Курсовой проект «Химическая защита клевера от вредных организмов» изложен на страницах машинописного текста, содержит таблиц, приложения....
Курсовой проект по дисциплине iconКурсовой проект по дисциплине: Методы принятия управленческого решения...

Курсовой проект по дисциплине iconКурсовой проект по дисциплине Методы принятия управленческих решений...

Курсовой проект по дисциплине iconКурсовой проект по дисциплине Методы принятия управленческих решений...

Курсовой проект по дисциплине iconКурсовой проект по дисциплине Методы принятия управленческих решений...



Школьные материалы


При копировании материала укажите ссылку © 2013
контакты
100-bal.ru
Поиск