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

3.6 Энергонезависимая память данных

Микроконтроллер ATmega16 имеет в своем составе энергонезависимую память данных EEPROM емкостью 512 байт, содержимое которой не изменяется при выключении источника питания микроконтроллера. Для работы с EEPROM используются три регистра ввода-вывода: регистр адреса EEAR, регистр данных EEDR и регистр управления EECR.

Регистр адреса состоит из двух регистров: старших разрядов EEARH (при емкости 512 байт в нем задействован только один разряд) и младших разрядов EEARL. В эти регистры помещается адрес ячейки EEPROМ, к которой производится обращение.

В регистр данных помещается байт данных, который будет помещен в EEPROM при записи. При чтении памяти в него помещается байт, считанный из EEPROM.

Регистр управления EECR определяет доступ к EEPROM. Формат этого регистра приведен на рисунке 52.

-

-

-

-

EERIE

EEMWE

EEWE

EERE

Рисунок 52

Бит EERE – бит чтения байта данных из EEPROM. При установке в состояние “1” байт данных из EEPROM загружается в регистр EEDR.

Бит EEMWE – бит разрешения записи в EEPROM. Единичное состояние этого разряда разрешает запись в EEPROM, а нулевое – запрещает.

Бит EEWE – бит записи в EEPROM. При установке этого разряда производится запись байта в EEPROM из регистра данных EEDR. По окончании записи этот бит сбрасывается аппаратно.

Бит EERIE – бит разрешения прерывания по окончании записи в EEPROM. Если этот разряд установлен и установлен бит I в регистре SREG (бит общего разрешения прерывания), то прерывания после записи в EEPROM будут разрешены. Адрес вектора прерывания от EEPROM – 0х1Е.

Процедура записи в EEPROM:

  1. Загрузить байт данных в регистр EEDR.

  2. Загрузить адрес ячейки EEPROM в регистр EEAR.

  3. Установить бит EEMWE – разрешения записи.

  4. Установить бит EEWE записи в EEPROM.

Время записи байта в EEPROM составляет 7-9 мс. По окончании записи бит EEWE аппаратно сбрасывается, после чего можно начинать следующую запись.

Процедура чтения из EEPROM при условии, что адрес ячейки EEPROM хранится в регистрах R17 и R16:

OUT EEARH,r17 ;помещение адреса ячейки в регистр адреса

OUT EEARL,r16

SBI EECR,EERE ; установка бита чтения EEPROM

IN R18, EEDR ; считанн. байт в регистр R18 из регистра данных

После считывания байта данных в регистр EEDR бит EERE сбрасывается аппаратно.

Контрольные вопросы к разделу 3.

  1. Функции портов микроконтроллеров.

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

  3. Команды, используемые при работе с портами ввода-вывода.

  4. Настройка разряда 4 порта D на вывод.

  5. Настройка разряда 6 порта D на ввод.

  6. Как вывести байт данных из R6 в порт D?

  7. Принять данные из порта В в регистр R23.

  8. В какой регистр порта необходимо загрузить выводимые в порт данные?

  9. Из какого регистра порта необходимо считывать вводимые данные?

  10. Какой элемент может быть подключен к выводам XTAL1 и XTAL2?

  11. Сколько портов имеет микроконтроллер ATMega16"?

  12. Разрядность портов микроконтроллера ATMega16.

  13. Выбрать альтернативное имя входа захвата микроконтроллера.

  14. Выбрать альтернативное имя выхода совпадения микроконтроллера.

  15. Какие сигналы подаются на входы микроконтроллера с альтернативными именами Т0 и Т1?

  16. В какие разряды порта выдается сигнал с ШИМ?

  17. Какую функция можно выполнить в микроконтроллере, если подать на вход ICP последовательность импульсов?

  18. Количество разрядов порта А микроконтроллера ATMega16, которое задействовано для входов АЦП

  19. На какие разряды порта необходимо подавать напряжения, для определения какое из напряжений большее?

  1. Функция подсистемы прерываний в микроконтроллерах.

  2. Как разрешается прерывание от источника прерывания .

  3. Выполняемые операции при поступлении сигнала прерывания от устройства, если прерывания от него разрешены.

  4. Что представляет собой вектор прерывания?

  5. Место размещения таблицы векторов прерываний.

  6. Длина вектора прерывания.

  7. Типы прерываний (имена векторов) в микроконтроллере ATMega16.

  8. Как установлены приоритеты прерываний в микроконтроллер ATMega16?

  9. Имена флагов прерываний: по захвату таймера/счетчика Т1 и внешнего прерывания со входа INT1.

  10. Формат регистра разрешения внешних прерываний в микроконтроллере ATMega16.

  11. Команды, которые чаще всего используются в начале и в конце подпрограммы обработки прерывания.

  12. Возможные типы входов внешних прерываний со входов INT0 и INT1.

  1. Выбрать функции, выполняемые таймерами/счетчиками микроконтроллеров в управляющей системе на микроконтроллере.

  2. Основные режимы таймеров/счетчиков.

  3. Что представляют собой аппаратно таймеры/счетчики?

  4. Функция цифрового счетчика.

  5. Понятие переполнения счетчика.

  6. Основной параметр цифрового счетчика.

  7. Число различных состояний цифрового счетчика с разрядностью 8.

  8. Что происходит при переполнении таймера/счетчика?

  9. Варианты работы таймера/счетчика Т0.

  10. Варианты включения таймера/счетчика Т0.

  11. Функции разрядов CS20,CS10,CS00 регистра управления TCCR0 таймером/счетчиком Т0.

  12. Работа таймера/счетчика Т1 режиме сравнения.

  13. Для чего используется во встроенных системах на микроконтроллере режим сравнения?

  14. Какие флаги могут устанавливаться при работе таймера/счетчика Т1?

  15. Работа таймера/счетчика Т1 в режиме захвата.

  16. Для чего во встроенных системах на микроконтроллерах используется режим захвата?

  1. Функции аналогового компаратора.

  2. В каком случае на выходе компаратора напряжение равно уровню логической единицы?

  3. Прерывание от аналогового компаратора может быть вызвано:

  4. Что может произойти при изменении уровня на выходе аналогового компаратора?

  5. Число циклов перезаписи в EEPROM микроконтроллеров ATMega16.

  6. Процедуры для записи байта в EEPROM.

  7. Процедуры для чтения байта из EEPROM.

  8. Имя бита разрешения прерывания от компаратора.

  9. Емкость EEPROM в микроконтроллере ATMega16.

  10. Если емкость EEPROM 512 байт, то каков формат адресного регистра EEAR?

  1. Какой принцип используется в АЦП последовательных приближений?

  2. Параметры АЦП микроконтроллера ATmega16.

  3. Режимы работы АЦП микроконтроллеров семейства AVRMega.

  4. С какой тактовой частотой рекомендуется вести преобразование АЦП?

  5. Каким сигналом может быть запущено преобразование АЦП?

  6. Значение выходного кода шестиразрядного АЦП, если на входе величина напряжения равна 46,8 единиц.

  7. Работа четырехразрядного АЦП в третьем такте, если входное напряжение равно 8,2 единицы.

  8. Абсолютная погрешность восьмиразрядного аналого-цифрового преобразователя (теоретическая), если величина образцового напряжения равна 2,56В.

  9. Действия аналогового компаратора в схеме АЦП последовательных приближений.

  10. Имя флага прерывания по завершении преобразования АЦП.

  11. В каком блоке АЦП заряжается конденсатор до величины входного напряжения и остается постоянным на время преобразования?

  1. Основные блоки передатчика UART.

  2. Основные блоки приемника UART.

  3. Количество разрядов в кадре при отключенном режиме контроля по четности.

  4. Правильный формат кадра на выходе TXD блока UART при передаче байта В3Н в режиме с контролем по четности и одним стоповым битом.

  5. Какие векторы прерываний могут быть вызваны при работе блока универсального асинхронного приемопередатчика?

  6. Когда устанавливается флаг прерывания "регистр передачи UART пуст"?

  7. Функция делителя частоты в блоке UART.

  8. Для чего производится сканирование стартового бита в приемнике RXD?

  9. Сколько раз производится сканирование входа RXD приемника в нормальном режиме?

  10. Для чего используются стартовый и стоповый биты при асинхронной последовательной передаче данных.

  11. Какие ошибки могут быть обнаружены в приемнике UART?