- •А.В. Шарапов
- •Часть 1. Микроконтроллеры мк51
- •Предисловие
- •1 Принципы построения цифровых устройств управления
- •2 Общая характеристика микроконтроллеров семейства мк51
- •3 Программная модель и система команд мк51 ( лабораторная работа №1)
- •Программная модель микроконтроллера мк51
- •Система команд микроконтроллера
- •Команды микроконтроллера семейства мк51
- •Команды, влияющие на флаги результата
- •Запись программы на языке ассемблера и ее трансляция
- •Загрузка программы в эмулятор и управление его работой
- •Программа работы
- •Контрольные вопросы
- •Содержание отчета
- •4 Таймеры и система прерываний mк51 (лабораторная работа №2)
- •Таймеры/счетчики событий mcs-51
- •Система прерываний mк51
- •Программа работы
- •Контрольные вопросы
- •Содержание отчета
- •Машинные коды команд mк51
- •5 Упражнения по решению задач
- •6 Примеры программ обработки данных
- •7 Последовательный порт мк51
- •8 Организация линий портов мк51. Подключение внешних устройств
- •9 Направление развития элементной базы 8-разрядных микроконтроллеров Отличительные признаки современной элементной базы
- •Направления развития 8-разрядных мк
- •Модульный принцип построения
- •Резидентная память мк
- •Таймеры и процессоры событий
- •Сторожевой таймер
- •Контроллеры последовательного ввода/вывода
- •Минимизация потребления энергии в системах с мк
- •10 Микроконтроллеры семейства ат89 фирмы Atmel
- •Микроконтроллер at89c4051
- •Микроконтроллер at89s51
- •11 Примеры вопросов компьютерной контрольной работы
- •Литература
- •Часть 2. Микроконтроллеры avr
- •Предисловие
- •1 Общая характеристика микроконтроллеров avr, программная модель и система команд
- •2 Директивы ассемблера
- •Include — Вложить другой файл
- •Форматы представления чисел
- •3 Программный пакет avrStudio
- •4 Микроконтроллер aTtiny15l(лабораторная работа №3)
- •Таймеры aTtiny15l
- •Энергонезависимая память данных еeprom
- •Аналоговый компаратор
- •Аналого-цифровой преобразователь
- •Программа работы
- •Контрольные вопросы
- •Содержание отчета
- •Перечень команд микроконтроллера aTtiny15l
- •5 Микроконтроллер aTmega8 (лабораторная работа № 4)
- •Порты ввода-вывода
- •Регистры таймера т1
- •Режимы работы таймера т1
- •Нормальный режим работы (Normal)
- •Режим сброса таймера при совпадении (стс)
- •Режим быстрой шим (Fast pwm)
- •Режим шим с фазовой коррекцией
- •Режим шим с фазовой и частотной коррекцией
- •Прерывания от таймеров /счетчиков
- •Программа работы
- •Контрольные вопросы
- •Содержание отчета
- •6 Средства разработки программы на языке си, компиляторы и симуляторы
- •7 Язык си для микроконтроллеров
- •Структура программы на языке Си
- •Пункт 4. Объявление переменных
- •8 Загрузка программы в микроконтроллер
- •9 Моделирование работы микроконтроллера avrс помощью симулятораvmlab (лабораторная работа №5)
- •Программа работы
- •Содержание отчета
- •10 Моделирование работы микроконтроллера avr с помощью симулятора proteus vsm
- •11 Измеритель частоты сети
- •Обоснование алгоритма решения задачи
- •Разработка прикладной программы
- •Моделирование работы устройства с помощью vmlab
- •Моделирование работы устройства с помощью симулятора
- •Литература
Энергонезависимая память данных еeprom
Для обращения к EEPROM (ее объем составляет 64 байта) используются три регистра ввода/вывода: регистр адреса EEAR, регистр данных EEDR и регистр управления EECR (табл. 4.15 и 4.16).
Таблица 4.15 – Формат регистра EECR
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
– |
– |
– |
– |
EERIE |
EEMWE |
EEWE |
EERE |
Таблица 4.16 – Разряды регистра EECR
Разряд |
Название |
Описание |
7…4 |
– |
Не используются, читаются как 0 |
3 |
EERIE |
Разрешение прерывания от EEPROM. Данный разряд управляет генерацией прерывания, возникающего при завершении цикла записи вEEPROM. Если этот разряд установлен в 1, прерывания разрешены (если флагIрегистраSREGтакже установлен в 1). При сброшенном разряде EEMWEпрерывание генерируется постоянно |
2 |
EEMWE |
Управление разрешением записи в EEPROM. После программной установки этот разряд сбрасывается аппаратно через 4 такта |
1 |
EEWE |
Разрешение записи в EEPROM. При установке этого разряда в 1 происходит запись данных вEEPROM, еслиEEMWE=1 |
0 |
EERE |
Разрешение чтения из EEPROM. По окончании чтения сбрасывается аппаратно |
Для записи одного байта в EEPROM необходимо:
дождаться готовности EEPROM к записи (ждать пока не сбросится флаг EEWE);
загрузить байт данных в регистр EEDR, а требуемый адрес – в регистр EEAR;
установить в 1 флаг EEMWE;
в течение 4-х машинных циклов после установки EEMWE записать 1 в разряд EEWE.
Рекомендуется запрещать все прерывания при выполнении пунктов 2…4 описанной последовательности. Длительность процесса записи составляет 4…8 мс. Процедура чтения из EEPROM гораздо проще. После загрузки требуемого адреса в регистр EEAR программа должна установить в 1 разряд EERE. Когда запрошенные данные будут находиться в регистре данных EEDR, произойдет аппаратный сброс этого разряда.
Аналоговый компаратор
Будучи включенным, компаратор позволяет сравнить значения напряжений на выводах РВ0 и РВ1. Чтобы указанные линии порта могли использоваться аналоговым компаратором, они должны быть сконфигурированы как входы. Внутренние подтягивающие резисторы, если они подключены, при разрешении работы компаратора отключаются автоматически.
Результатом сравнения является логическое значение, которое может быть прочитано из программы. По результату сравнения может быть сгенерировано прерывание. Управление работой компаратора осуществляется с помощью битов регистра ACSR (табл. 4.17–4.18). При включении напряжения питания все разряды регистра ACSR сбрасываются в 0. К неинвертирующему входу компаратора вместо вывода AIN0 микроконтроллера может быть подключен внутренний источник опорного напряжения величиной 1.22±0.05 В.
Таблица 4.17 – Разряды регистра ACSR
Разряд |
Название |
Описание |
7 |
ACD |
Выключение компаратора (1 – выключен) |
6 |
ACBG |
Подключение к неинвертирующему входу компаратора внутреннего ИОН (1 – подключен, 0 – не подключен) |
5 |
ACO |
Результат сравнения (выход компаратора) |
4 |
ACI |
Флаг прерывания от компаратора |
3 |
ACIE |
Разрешение прерывания от компаратора |
2 |
- |
Зарезервирован |
1,0 |
ACIS1:ACIS0 |
Условия возникновения прерывания от компаратора |
Таблица 4.18 – Условия генерации запроса на прерывание от компаратора
ACIS1 |
ACIS0 |
Условие |
0 |
0 |
Любое изменение состояния выхода компаратора |
0 |
1 |
Зарезервировано |
1 |
0 |
Изменение состояния выхода компаратора с 1 на 0 |
1 |
1 |
Изменение состояния выхода компаратора с 0 на 1 |