- •Магомедов и. А. Микропроцессорные системы. Теория и практика применения микроконтроллеров
- •Глава I. Микроконтроллеры
- •Глава III. Лабораторный практикум по микроконтроллерам семейства avr фирмы atmel
- •Предисловие
- •Введение
- •Глава I. Микроконтроллеры
- •1.1. Классификация микроконтроллеров
- •Области применения:
- •1.2. Направление развития элементной базы 8-разрядных микроконтроллеров
- •Контрольные вопросы
- •Глава II. Высокопроизводительные risc микроконтроллеры семейства avr
- •2.1. Микроконтроллер фирмы Atmel aTmega1281
- •2.2. Системное управление и сброс микроконтроллера
- •Контрольные вопросы
- •2.3. Программная модель микроконтроллера2
- •Регистр управления коэффициентом деления частоты кварцевого генератора - xtal Divide Control Register – xdiv.
- •Контрольные вопросы
- •Регистр управления коэффициентом деления частоты кварцевого генератора xdiv и его назначение. Пример использования регистра.
- •2.4 Подсистема памяти микроконтроллера
- •2.4.1 Статическое озу памяти данных
- •2.4.2 Система команд процессоров avr в семействе avr система команд у микроконтроллеров разных типов содержат от 89 до 130 команд.
- •2.4.3 Режимы адресации памяти программ и данных
- •2.4.5 Память данных на eeprom
- •2.4.6 Конфигурационные биты
- •2.4.7 Системная синхронизация и тактовые источники
- •Контрольные вопросы
- •2.5. Периферийные модули микроконтроллера aTmega128
- •2.5.1. Параллельные порты ввода-вывода
- •Порты в качестве универсального цифрового ввода-вывода. Все порты являются двунаправленными портами ввода-вывода с опциональными подтягивающими резисторами.
- •Описание регистров портов ввода-вывода.
- •Использование параллельных портов для управления жидкокристаллическим индикатором и
- •Контрольные вопросы
- •2.6. Подсистема таймера/счетчика микроконтроллера aTmega128
- •Описание регистров 8-разрядного таймера-счетчика 0.
- •Описание регистров 16-разрядных таймеров-счетчиков.
- •Контрольные вопросы
- •2.7. Подсистема ввода аналоговых сигналов мк
- •Контрольные вопросы
- •2.8. Аналоговый компаратор
- •Контрольные вопросы
- •2.9. Последовательный периферийный интерфейс – spi
- •Функционирование вывода ss.
- •2.9.1. Пример использования интерфейса spi микроконтроллера aTmega128
- •Контрольные вопросы
- •2.10. Универсальный синхронно - асинхронный последовательный приемопередатчик
- •Описание регистров усапп
- •2.10.1. Пример использования порта uart
- •Контрольные вопросы
- •2.11. Последовательный двухпроводной интерфейс twi
- •2.11.1. Формат посылки и передаваемых данных
- •2.11.2. Модуль twi микроконтроллера avr
- •Описание регистров twi.
- •2.11,3. Подключение схемы ds1307 к микроконтроллеру по интерфейсу twi
- •Глава III. Лабораторный практикум по микроконтроллерам семейства avr фирмы atmel6
- •Оформление отчета
- •Правила выполнение работы в лаборатории
- •Подготовки стенда к выполнению лабораторной работы
- •Лабораторная работа № 1. Разработка и отладка программ в среде avr Studio 4. Изучение системы команд микроконтроллеров семейства avr
- •Режимы работы отладчика
- •Индивидуальные задания к выполнению лабораторной работы №1
- •Контрольные вопросы к лабораторной работе №1
- •Лабораторная работа №2. Параллельные порты ввода/вывода микроконтроллера
- •Индивидуальные задания к выполнению лабораторной работы №2
- •Контрольные вопросы к лабораторной работе №2
- •Лабораторная работа №3 Подсистема ввода аналоговых сигналов микроконтроллера
- •Краткие теоретические сведения
- •Индивидуальные задания к выполнению лабораторной работы №3
- •Контрольные вопросы к лабораторной работе №3
- •Лабораторная работа №4.
- •Краткие теоретические сведения
- •Индивидуальные задания к выполнению лабораторной работы №4
- •Контрольные вопросы к лабораторной работе №4
- •Лабораторная работа №5 Изучение режимов работы Таймера/Счетчика
- •Краткие теоретические сведения
- •Индивидуальные задания к выполнению лабораторной работы №5
- •Контрольные вопросы к лабораторной работе № 5
- •Лабораторная работа №6 Последовательный периферийный интерфейс – spi
- •Краткие теоретические сведения
- •Индивидуальные задания к выполнению лабораторной работы №6
- •Контрольные вопросы к лабораторной работе № 6
- •Лабораторная работа №7 Подсистема памяти микроконтроллера.
- •Краткие теоретические сведения
- •Индивидуальные задания к выполнению лабораторной работе №7
- •Контрольные вопросы к лабораторной работе №7
- •Лабораторная работа №8 Последовательный двухпроводной интерфейс i2c (twi)
- •Краткие теоретические сведения
- •Индивидуальные задания к выполнению лабораторной работы №8
- •Контрольные вопросы к лабораторной работе №8
- •Список использованной литературы
- •Костин г.Ю. Микроконтроллеры фирмы Motorola. М.: ктц-мк, 1998.
- •Микроконтроллеры семейства avr
- •Приложение 2
- •Include - Вложить другой файл
- •Выражения
- •Набор инструкций
- •Приложение 3
- •Семейства avr
- •Приложение 4
2.4.6 Конфигурационные биты
ATmega128 имеет три конфигурационных байта. Табл. 2.14 – 2.16 кратко описывают функционирование и расположение всех конфигурационных бит. Обратите внимание, что если конфигурационный бит запрограммирован, то при его считывании возвращается 0.
Таблица 2.14. Расширенный конфигурационный байт
Наименование бита |
Разряд |
Описание |
Исходное значение |
- |
7-2 |
- |
1 |
M103C |
1 |
Режим совместимости с ATmega103 |
0 (запрограммированное) |
WDTON |
0 |
Активизация сторожевого таймера |
1(незапрограммированное) |
Таблица 2.15. Старший конфигурационный байт
Наименование бита |
Разряд |
Описание |
Исходное значение |
OCDEN |
7 |
Включение встроенного блока отладки |
1(незапрограммированное, функция встроенной отладки отключена) |
JTAGEN |
6 |
Включение JTAG-интерфейса |
0(запрограммированное, JTAG включен) |
SPIEN |
5 |
Разрешение последовательной загрузки программы и данных |
0(запрограммированное, программирование через SPI разрешено) |
CKOPT |
4 |
Настройка генератора |
1(незапрограммированное) |
EESAVE |
3 |
Запрет стирания EEPROM командой стирание кристалла |
1(незапрограммированное, стирание кристалла вызывает стирание EEPROM) |
BOOTSZ1 |
2 |
Выбор размера загрузочного сектора |
0(запрограммированное) |
BOOTSZ0 |
1 |
Выбор размера загрузочного сектора |
0(запрограммированное) |
BOOTRST |
0 |
Выбор вектора сброса |
1(незапрограммированное) |
Примечания.
Конфигурационный бит SPIEN недоступен в режиме последовательного программирования через SPI.
Функционирование конфигурационного бита CKOPT зависит от установок бит CKSEL.
Исходное значение бит BOOTSZ1..0 соответствует выбору максимальному размеру загрузочного сектора.
Не забудьте отключить бит OCDEN перед поставкой готового изделия заказчику, независимо от того какие установки имеют биты защиты и конфигурационный бит JTAGEN. Если бит OCDEN будет запрограммирован, то некоторые части системы синхронизации микроконтроллера останутся в работе при переводе микроконтроллера в экономичные режимы командой sleep. В этом случае микроконтроллер будет потреблять повышенную мощность.
Таблица 2.16. Младший конфигурационный байт
Наименование бит |
Разряд |
Описание |
Исходное значение |
BODLEVEL |
7 |
Порог срабатывания супервизора питания |
1(незапрограммированное) |
BODEN |
6 |
Разрешение супервизора питания |
1(незапрограммированное, супервизор отключен) |
SUT1 |
5 |
Выбор времени запуска |
1(незапрограммированное) |
SUT0 |
4 |
Выбор времени запуска |
0(запрограммированное) |
CKSEL3 |
3 |
Выбор тактового источника |
0(запрограммированное) |
CKSEL2 |
2 |
Выбор тактового источника |
0(запрограммированное) |
CKSEL1 |
1 |
Выбор тактового источника |
0(запрограммированное) |
CKSEL0 |
0 |
Выбор тактового источника |
1(незапрограммированное)(2) |
Примечания.
Исходные установки SUT1..0 соответствуют выбору максимальному времени старта.
По умолчанию все контроллеры AVR сконфигурированы так, чтобы работать от внутреннего источника тактов. За источник тактов отвечают биты CKSEL. Выставив их правильным образом можно выбрать частоту работы контроллера, а также источник тактового сигнала (табл. 2.17).
Исходные установки CKSEL3..0 соответствуют выбору внутреннего RC-генератора частотой 1 МГц.
Калибровочный байт. Внутри ATmega128 хранятся четыре различных калибровочных значений для внутреннего RC-генератора. Данные значения хранятся по адресам 0x000, 0x0001, 0x0002 и 0x0003 и соответствуют частотам генератора 1, 2, 4 и 8 МГц. В процессе сброса в регистр OSCCAL автоматически записывается значение калибровочного байта для частоты 1 МГц. Если используется другая частота, то соответствующее значение должно быть вручную записано в регистр OSCCAL
