
- •Содержание
- •Введение
- •Лабораторная работа 1 Изучение интегрированной среды разработки mplab
- •Методика выполнения работы
- •Создание нового проекта
- •Создание файла с исходным текстом программы
- •Добавление файла к проекту
- •Компиляция исходного текста программы в машинные коды
- •Запись кода программы во внутреннюю flash память микроконтроллера
- •Отладка (выполнение) программы
- •Содержание отчета
- •Контрольные вопросы
- •Лабораторная работа 2 Изучение запоминающих устройств микроконтроллеров pic-micro
- •Порядок выполнения работы
- •Постановка задачи
- •Разработка алгоритма программы
- •Написание текста программы на языке Ассемблер
- •Трансляция исходного текста программы в машинные коды
- •Тестирование и отладка
- •Сопровождение
- •Содержание отчета
- •Контрольные вопросы
- •Лабораторная работа 3 Изучение работы параллельных портов микроконтроллеров pic-micro
- •Порядок выполнения работы
- •Содержание отчета
- •Контрольные вопросы
- •Лабораторная работа 4 Изучение работы последовательных портов микроконтроллеров pic-micro
- •Порядок выполнения работы
- •Лабораторная работа 5 Изучение работы таймеров микроконтроллеров pic-micro
- •Порядок выполнения работы
- •Содержание отчета
- •Контрольные вопросы
- •Лабораторная работа 6 Изучение работы аналого-цифрового преобразователя микроконтроллеров pic-micro
- •Порядок выполнения работы
- •Постановка задачи
- •Содержание отчета
- •Контрольные вопросы
- •Лабораторная работа 7 Изучение работы модуля захвата/сравнения/шим микроконтроллеров pic-micro
- •Порядок выполнения работы
- •Содержание отчета
- •Библиографический список
- •Приложение 1. Схема лабораторного макета
- •Приложение 2. Краткое описание набора инструкций pic16
- •Приложение 3. Список команд pic16 и их подробное описание
- •Addlw – Сложение рабочего регистра w и константы k
- •Addwf – Сложение рабочего регистра w и регистра f
- •Andlw – Побитное «и» рабочего регистра w и константы k
- •Andwf – Побитное «и» рабочего регистра w и регистра f
- •Bтfsc – Условный переход при нулевом бите b регистра f
- •Bтfss – Условный переход при единичном бите b регистра f
- •Call – Вызов подпрограммы
- •Clrf – Обнуление регистра f
- •Clrw – Обнуление рабочего регистра w
- •Clrwdt – Сброс сторожевого таймера
- •Comf – Инверсия регистра f
- •Decf – Декремент регистра f
- •Decfsz – Декремент регистра f и пропуск в случае нулевого результата
- •Goto – Переход по адресу
- •Incf – Декремент регистра f
- •Incfsz – Декремент регистра f и пропуск в случае нулевого результата
- •Iorlw – Побитное «или» w и константы k
- •Iorwf – Побитное «или» w и регистра f
- •Movf – Пересылка регистра f
- •Movlw – Пересылка константы k
- •Movwf – Пересылка из регистра w в регистр f
- •Retfie – Возврат из подпрограммы с включением прерываний
- •Retlw – Выход из подпрограммы с загрузкой в регистр w константы k
- •Return – Выход из подпрограммы
- •Sleep – Перейти в спящий режим
- •Sublw – Вычитение w из константы k
- •Subwf – Вычитание w из регистра f
- •Swapf – Обмен местами ниблов в регистре f
- •Xorlw – Побитное «Исключающее или» w и константы k
- •Xorwf – Побитное «Исключающее или» w и регистра f
- •Основы микропроцессорной техники
- •620034, Екатеринбург, ул. Колмогорова 66.
Содержание отчета
В отчете необходимо привести постановку задачи, блок-схему алгоритма и текст программы на языке Ассемблер с исправлениями, возникшими на этапе отладки.
Контрольные вопросы
Выполнением какого фрагмента программы-примера занят микроконтроллер большую часть времени?
Для чего нужен предделитель у таймеров-счетчиков?
Что такое «вектор прерывания»?
Каковы особенности работы сторожевого таймера?
Лабораторная работа 6 Изучение работы аналого-цифрового преобразователя микроконтроллеров pic-micro
Цель работы: изучение работы и программирование аналого-цифрового преобразователя микроконтроллера PIC16F873A.
Микроконтроллер PIC16F873A имеет пятиканальный 10-разрядный аналого-цифровой преобразователь (АЦП), работающий по методу последовательного приближения.
Структурная схема аналого-цифрового преобразователя приведена на рис. 6.1. Она состоит из входного мультиплексора, мультиплексора опорного сигнала и схемы АЦП.
Рис. 6.1. Структурная схема АЦП
Измеряемое напряжение подается на аналоговые входы AN0...AN4, совмещенные с выводами параллельного порта А. В каждом цикле аналого-цифрового преобразования измеряется напряжение поступающее только на один из входов. Выбор конкретного входа осуществляется входным мультиплексором, на управляющие входы которого подаются сигналы битов CHS0...CHS2 регистра ADCON0. Сигнал с выхода мультиплексора VAIN поступает на вход АЦП. В качестве положительного опорного напряжения VREF+ может использоваться напряжение положительного полюса источника питания VDD либо напряжение на входе AN3, а в качестве отрицательного VREF- – напряжение отрицательного полюса источника питания VSS либо напряжение на входе AN2. Выбор источника опорного напряжения осуществляется битами PCFG0...PCFG3 регистра ADCON1.
Аналого-цифровое преобразование начинается после установки в «1» бита GO/-DONE регистра ADCON0.
Период преобразования одного цифрового разряда TAD составляет не более 1,6 мкс, а суммарное время преобразования десяти разрядов составляет 12·TAD = 19,2 мкс. Кроме того между циклами аналого-цифрового преобразования необходимо обеспечить паузу длительностью не менее 2·TAD = 3,2 мкс, необходимую для заряда конденсатора в устройстве выборки-хранения. В качестве источника тактового сигнала может выступать тактовый генератор микроконтроллера либо внутренний RC генератор модуля АЦП. Выбор типа задающего генератора и коэффициента деления частоты следования тактовых импульсов определяется битами ADCS0 и ADCS1 регистра ADCON0.
По окончании аналого-цифрового преобразования бит GO/-DONE автоматически сбрасывается в «0», а бит ADIF в регистре PIR1 взводится в «1». Установка бита ADIF вызывает прерывание, если оно разрешено установкой в «1» битов GIE и PEIE в регистре INTCON, а так же бита ADIE в регистре PIE1.
Рис. 6.2. Выравнивание результата аналого-цифрового преобразования
10-разрядный цифровой код с выхода АЦП записывается в 16-разрядный регистр результата, отображенный в ОЗУ микроконтроллера на регистры специального назначения ADRESL и ADRESH. При этом, в зависимости от состояния бита ADFM регистра ADCON1, восемь старших разрядов результата могут сохраняться в регистре ADRESH, а оставшиеся два в регистре ADRESL (левое выравнивание), либо наоборот – восемь младших разрядов сохраняются в регистре ADRESL, а два старших в регистре ADRESH (правое выравнивание). См. рис. 6.2.
Назначение конкретных разрядов регистров ADCON0 и ADCON1 приведены на рис. 6.3. и 6.4. соответственно.
Рис. 6.3. Регистр управления АЦП ADCON0
Рекомендуемая последовательность действий при работе с АЦП следующая:
Настроить модуль АЦП:
Настроить выводы порта A как входы измеряемого либо опорного напряжения (ADCON1);
Выбрать входной канал АЦП (ADCON0);
Выбрать источник тактовых импульсов для АЦП (ADCON0);
Включить модуль АЦП (ADCON0);
Настроить прерывание от АЦП, если это необходимо:
Сбросить бит ADIF регистра PIR1 в «0»;
Установить бит ADIE регистра PIE1 в «1»;
Установить бит PEIE регистра INTCON в «1»;
Установить бит GIE регистра INTCON в «1»;
Выдержать паузу длительностью 2·TAD ≥ 3,2 мкс;
Начать аналого-цифровое преобразование установкой в «1» бита GO/-DONE регистра ADCON0;
Ожидать окончания аналого-цифрового преобразования:
Ожидать пока бит GO/-DONE регистра ADCON0 не будет сброшен в «0»;
Либо ожидать прерывание по окончанию преобразования;
Считать результат аналого-цифрового преобразования из регистров ADRESL и ADRESH;
Сбросить бит ADIF регистра PIR1 в «0», если это необходимо.
Рис. 6.4. Регистр управления АЦП ADCON1