- •А.В. Шарапов
- •Часть 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
- •Моделирование работы устройства с помощью симулятора
- •Литература
Аналого-цифровой преобразователь
В процессе работы АЦП может функционировать в двух режимах:
режим одиночного преобразования – запуск каждого преобразования инициируется пользователем;
режим непрерывного преобразования – запуск преобразований выполняется непрерывно через определенные интервалы времени.
Управление модулем АЦП и контроль его состояния осуществляется с помощью регистра ADCSR (табл. 4.19).
Таблица 4.19 – Разряды регистра ADCSR
Разряд |
Название |
Описание |
7 |
ADEN |
Разрешение АЦП (1 – включен) |
6 |
ADSC |
Запуск преобразования (1 – начать преобразование) |
5 |
ADFR |
Выбор режима работы АЦП (0 – одиночное преобразование) |
4 |
ADIF |
Флаг прерывания от АЦП |
3 |
ADIE |
Разрешение прерывания от АЦП |
2…0 |
ADPS2:ADPS0 |
Выбор частоты преобразования |
Таблица 4.20 – Задание коэффициента деления предделителя АЦП
ADRS2 |
ADRS1 |
ADRS0 |
Коэффициент деления |
0 |
0 |
0 |
1 |
0 |
0 |
1 |
2 |
0 |
1 |
0 |
4 |
0 |
1 |
1 |
8 |
1 |
0 |
0 |
16 |
1 |
0 |
1 |
32 |
1 |
1 |
0 |
64 |
1 |
1 |
1 |
128 |
Наибольшая точность преобразования достигается при тактовой частоте модуля АЦП в диапазоне 50…200 кГц. Для этого тактовая частота микроконтроллера поступает на АЦП через предделитель с программируемым коэффициентом деления. Для повышения точности преобразования (чтобы свести к минимуму помехи, наводимые ядром процессора) в микроконтроллере предусмотрен специальный спящий режим – ADC Noise Reduction. В этом режиме из всех периферийных устройств функционируют только АЦП и сторожевой таймер. Сразу же после остановки процессора начнется цикл преобразования. По завершении преобразования будет сгенерировано прерывание от АЦП, которое переведет микроконтроллер в рабочий режим и начнется выполнение подпрограммы обработки этого прерывания.
Поскольку АЦП 10-разрядный, результат преобразования размещен в двух регистрах, доступных только для чтения: ADCH и ADCL. Сначала необходимо прочитать ADCL, а затем ADCH. Если достаточно точности восьми разрядов, для получения результата достаточно прочитать содержимое регистра ADCH.
Номер активного канала (аналоговый вход, подключаемый ко входу АЦП) и источника опорного напряжения задается регистром ADMUX (табл. 4.21–4.23). Разряд ADLAR служит для управления выравниванием результата преобразования. Если этот разряд установлен в 1, результат преобразования выравнивается по левой границе 16-разрядного слова, если сброшен в 0 – по правой границе.
Таблица 4.21 – Разряды регистра ADMUX
Разряд |
Название |
Описание |
7,6 |
REFS1:REFS0 |
Выбор источника опорного напряжения |
5 |
ADLAR |
Выравнивание результата преобразования |
4,3 |
– |
Зарезервировано |
2…0 |
MUX2:MUX0 |
Выбор входного канала |
Таблица 4.22 – Выбор источника опорного напряжения
REFS1 |
REFS0 |
Источник опорного напряжения |
0 |
0 |
Напряжение питания микроконтролера |
0 |
1 |
Внешний ИОН, подключенный к выводу РВ0, внутренний ИОН отключен |
1 |
0 |
Внутренний ИОН напряжением 2,56 В, отключенный от вывода РВ0 (AREF) |
1 |
1 |
Внутренний ИОН напряжением 2,56 В, подключенный к выводу РВ0 (AREF) |
Таблица 4.23 – Номер активного канала
MUX2 |
MUX 1 |
MUX 0 |
Вход |
0 |
0 |
0 |
ADC0 (PB5) |
0 |
0 |
1 |
ADC1 (PB2) |
0 |
1 |
0 |
ADC2 (PB3) |
0 |
1 |
1 |
ADC3 (PB4) |