Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Конспект мпсу.doc
Скачиваний:
88
Добавлен:
22.09.2019
Размер:
6.71 Mб
Скачать

Урок №20

Тема 2.6 Система сброса

Вопросы темы:

2.6.1 Источники сигнала сброса: начальный сброс, внешний сброс, сброс при снижении напряжения питания, сброс от сторожевого таймера.

2.6.1 Схема внешнего сброса и сброса при включении питания

2.6.1 Источники сигнала сброса: начальный сброс, внешний сброс, сброс при снижении напряжения питания, сброс от сторожевого таймера.

Во время сброса выполнение программы начинается с нулевого адреса, все порты устанавливаются в начальное состояние.

Микросхема ATtiny2313 имеет 4 источника сброса:

  • сброс при включении питания,

  • внешний сброс по сигналу Reset,

  • сброс от сторожевого таймера,

  • сброс при снижении питания ниже установленного уровня (при включенной системе контроля питания)

2.6.1 Схема внешнего сброса

На рисунке 1 изображена схема, которая обеспечит внешний сброс при нажатии кнопку, а также при включении питания.

Рисунок 1 – Схема внешнего сброса

Рисунок 2 – Элементы схемы сброса: а) – конденсатор К50-68, б) резисторы МЛТ, в) кнопка DTS-32, г) диод 1N4148

Рассмотрим, как происходит сброс при включении питания. Когда питание микросхемы выключено Vcc=0, конденсатор С1 разряжен и на входе Reset лог.0, что обеспечивает сброс микросхемы. В момент включения питания конденсатор начинает заряжаться, пока он не зарядится до уровня лог.1 (примерно 2 В) на входе Reset сохраняется лог.0. Как только конденсатор зарядится до порога лог.1, сброс прекращается. Диод VD1 предназначен для быстрой разрядки конденсатора при выключении питания, благодаря чему схема обеспечит сброс при повторном включении питания.

При нажатии на кнопку SB1, вход Reset соединяется с общим проводом и происходит внешний сброс.

Контрольные вопросы:

1 Перечислите источники сброса у микроконтроллеров AVR

2 Какой сигнал необходимо подать на вход Reset, чтобы произошел сброс?

3 Как происходит внешний сброс?

4 Как происходит сброс при включении питания?

5 Объясните назначение диода VD1

6 Какие элементы входят в состав схемы сброса?

Рекомендуемая литература:

А.В. Белов. Микроконтроллеры в радиолюбительской практике. СПб.: Наука и техника, 2007.-352 с.: ил. с.59-62

Урок №21

Тема 2.7 Параллельные порты микроконтроллеров семейства avr

Вопросы темы:

2.7.1 Имена и состав параллельных портов. Конфигурирование портов

2.7.2 Устройство, принцип работы параллельного порта

2.7.3 Подключение ко входам порта внутреннего подтягивающего резистора

2.7.4 Сброс порта

2.7.5 Нагрузочная способность портов

2.7.1 Имена и состав параллельных портов. Конфигурирование портов

Микроконтроллеры семейства AVR имеют от одного до семи параллельных портов. Имена портов: А, В, С, D, T, F, G. Порты могут быть полными и неполными. Полный порт имеет 8 разрядов. В неполных портах некоторые разряды отсутствуют. Например у микроконтроллера ATtiny2313 один полный порт В и два неполных порта: А – трехразрядный и D – семиразрядный. У микроконтроллера ATmega8535 4 полных порта А, В, С, D.

Все порты микроконтроллера двунаправленными, то есть могут работать как порты ввода и как порты вывода. В состав каждого параллельного порта входят три регистра:

  • регистр направления DDRх ,

  • регистр вывода данных PORTх,

  • регистр ввода данных PINх.

Вместо индекса «х» указывается имя порта: А, В, С, D и т.д.

Назначение регистров порта:

  • регистр DDRх задает направление работы порта: если в него записаны все единицы (DDRх =$ff), порт настроен на передачу данных с выходов регистра PORTх на внешние контакты порта, если все разряды регистра DDRх сброшены (DDRх =00h) порт настроен на прием, внешние контакты микроконтроллера отключаются от выходов регистра вывода PORTх и порт принимает информацию от внешнего устройства в регистр PINх. Таким образом, с помощью регистра DDRх порт настраивается на ввод или вывод данных.

  • регистр PORTх предназначен для записи и хранения данных, передаваемых из микроконтроллера во внешние устройства, в режиме вывода его выходы соединяются с внешними контактами (выходами) порта;

  • регистр PINх всегда связан с внешними контактами порта: в режиме вывода в него записываются данные, передаваемые из регистра PORTх на выход, в режиме ввода регистр вывода PORTх отключается от внешних контактов МК и в регистр PINх записываются данные от внешних устройств, то есть со входов порта;

Кроме режимов ввода и вывода порт имеет еще один режим работы: прием данных с подключенным внутренним подтягивающим резистором.

Настройка порта на требуемый режим работы называется конфигурированием порта. Конфигурирование порта можно выполнять побайтно или поразрядно: отдельные разряды на ввод, остальные на вывод и т.д. Нуль в DDRх настраивает соответствующий вывод порта на ввод, единица на вывод.

В качестве примера рассмотрим варианты конфигурирования порта В.

а) разряды порта В будут работать на ввод данных с внешних выводов, если записать в регистр ddrb все нули: ddrb=$00

б) разряды порта В будут настроены на вывод, если записать в регистр ddrb все единицы: ddrb=$ff

в) ко всем выводам порта В будут подключены внутренние подтягивающие резисторы, а порт будет настроен на ввод, если записать в регистр ddrb все нули, а в регистр portb все единицы: ddrb=$00, portb=$ff

г)чтобы настроить нулевой разряд порта В на ввод, остальные - на вывод, необходимо записать в разряд ddrb,0 лог.0, остальные разряды установить в 1:

Пример: Определите, конфигурацию портов A, B, C, D:

d dra=0fh

ddrb=00h

portb=ffh

ddrc=00h

ddrd=ffh

2.7.2 Устройство, принцип работы параллельного порта микроконтроллеров семейства AVR

Полный параллельный порт имеет 8 разрядов, в каждом разряде порта присутствуют 3 регистра: регистр ввода pinx, регистр вывода portx, регистр направления ddrx. Рассмотрим упрощенную схему порта В.

Основными элементами порта являются регистр вывода данных portb, регистр направления ddrb, регистр ввода данных pinb. Регистры построены на D-триггерах со статическим управлением. Эти триггеры называются также «защелками», они работают следующим образом: если на входе С присутствует лог.1 триггер записывает бит со входа D, если С=0 триггер «защелкнут», запись прекращается, а на его выходах отображается записанный бит.

Рисунок 1 – Упрощенная схема порта

Ключи S1- S5 задают направление прохождения сигналов в порту: пунктиром условно показаны сигналы управления ключами: лог.1 замыкает ключ, лог.0 размыкает.

  1. Проанализируем работу порта при выводе данных.

Данные выводятся через регистр вывода данных portb. Этот регистр представляет собой восьмиразрядный параллельный регистр, построенный на триггерах типа «защелка». По командам микроконтроллера информация, предназначенная для вывода, записывается в регистр portb и появляется на его выходах.

Чтобы передать информацию с выходов регистра portb, необходимо настроить порт на вывод, то есть записать в регистр направления ddrb код 11111111b=ffh. При этом, сигнал Q=1 с прямого выхода триггера регистра ddrb замыкает контакт S3 и подключает выход триггера регистра данных portb к выходному контакту порта, кроме того этот сигнал размыкается ключ S4 и отключает подтягивающий резистор от входа порта.

2) Проанализируем работу порта при вводе данных.

Ввод данных происходит через регистр pinb. Чтобы настроить порт на ввод, в регистр ddrb записывается код 00000000b=$00. При этом на прямом выходе Q регистра ddrb появляется 0, контакт S3 размыкается и регистр вывода portb отключается от выходов порта, это исключает вероятность чтение через регистр pinb выводимых данных. По команде чтения регистра pinb замыкается контакт S5, и внешний контакт порта подключается к внутренней шине данных.

Контрольные вопросы:

1 Перечислите имена параллельных микроконтроллеров AVR

2 Назовите имена трех регистров параллельного порта

3 Объясните назначение регистра направления параллельного порта

4 Объясните назначение регистра вывода данных параллельного порта

5 Объясните назначение регистра ввода данных параллельного порта

6 Какие элементы входят в состав схемы сброса?

7 Что такое конфигурирование порта?

8 Как сконфигурировать порт на вывод данных?

9 Как сконфигурировать порт на ввод данных?

10 Как подключить ко входу порта внутренний подтягивающий резистор?

11 Проанализируйте работу порта по упрощенной схеме в режимах записи данных в порт, чтения данных из порта