Использование STM8S-DISCOVERY для отображение изменяющегося напряжения с помощью светодиодов.
Введение
Этот appnote содержит краткое описание того, как использовать АЦП, таймер и GPIO.
После подключения STM8S105C6T6 через USB-кабель к ПК. Таймер запускает АЦП в соответствии с заданным пользователем интервалом. Для регулировки входного напряжения используется переменный резистор RV1. Результирующее измеренное среднее напряжения отображается с помощью светодиодов.
Несмотря на то, что STM8S-DISCOVERY построен на базе STM8S105C6T6, он позволяет оценить основные характеристики всех микроконтроллеров STM8S.
Ссылочные документы
· STM8S-DISCOVERY руководство пользователя (UM0817).
· Разработка и отладка программ руководство пользователя STM8S-DISCOVERY (UM0834).
Содержание
1. Описание приложения
1.1 Требование к оборудованию
1.2 Схема приложения
1.3 Принцип работы
2. Описание программного обеспечения
2.1 Блок-схема программного обеспечения
2.1.1 Блок-схема основного цикла
2.1.2 Программа обработки прерывания ADC1
2.1.3 Прерывание захвата / сравнения TIM1
3. История изменений
Таблицы
Таблица 1 Соответствие напряжения и светодиодов
Таблица 2 История изменений документа
Перечень изображений
Изображение 1 Схема приложения
Изображение 2 Принцип опроса ADC1
Изображение 3 Блок-схема основного цикла
Изображение 4 Блок-схема прерывания EOC ADC1
Изображение 5 Блок-схема захвата / сравнения TIM1
1. Описание приложения
1.1 Требование к оборудованию
Ресурсы отладочной платы не используются.
Необходимые компоненты:
● 4 Светодиода: LD2, LD3, LD4, LD5
● 1 x10 KΩ переменный: RV1
● 4 x1 KΩ резисторы: R1, R2, R3, R4
● 1 x 100 nF конденсатор: C1
1.2 Схема приложения
Конденсатор C1 предназначен для сглаживания скачков напряжения на PE6. Сопротивления R1, R2, R3 и R4 ограничивают ток через светодиоды LD2, LD3, LD4 и LD5.
Изображение 1 Схема приложения
1.1 Принцип работы
Это приложение использует периферийные устройства ADC1, TIM1 и GPIO.
Входное напряжение с помощью переменного резистора RV1 подстраивается по уровню и фильтруется и подается на канал 9 ADC1 (PE6). Преобразование запускается с помощью таймера TIM1.
Среднее значение напряжения отображается с помощью светодиодов (LD2-5).
Таблица 1 Соответствие напряжения и светодиодов
2. Описание программного обеспечения
Это приложение не использует ни стандартную библиотеку STM8S, ни библиотеку сенсорного управления STM8.
В этом приложении используются следующие периферийные устройства:
ADC1: Измерение напряжения. Настройки:
– Режим одиночного замера
– По внешнему триггеру от TIM1 TRGO
– Частота ADC1_clock = Fmaster/8
– Выравнивание результата слева (в противном случае требуется изменение программы для вычисления среднего)
– Отключение триггера Шмитта на входе 9 ADC1
TIM1: Таймер TIM1 предназначен для двух целей:
– Разбудить ADC перед началом преобразования, когда таймер достигнет значения
CCR1 (Захват/сравнение прерывания). Это действие полезно для стабилизации АЦП перед преобразованием.
– Активировать триггер преобразования, для запуска измерения у АЦП, когда значение счетчика достигнет TIM1_ARR.
С этими двумя события можно легко управлять пробуждением АЦП и временем преобразования.
Что это использовать таймер TIM1 должен быть настроен:
– Сравнение-OC1REF выход триггера
– PWM1 режим на PC1 (отрицательная полярность): для целей тестирования (для измерения времени необходимого для стабилизации)
GPIO: Настраиваем как входы PB0, PB1, PB2 and PB3 в режиме push/pull для управления светодиодами LD2, LD3, LD4 and LD5.
Изображение 2 Иллюстрирует принцип опроса ADC1
1. Таймер TIM1 настроен для счета вверх.
2. Когда активируется прерывание сравнения / захвата, ADC1 будиться для преобразования (выжидаем время стабилизации ADC1 до момента измерения АЦП).
3. При достижении таймером TIM1 TRGO ADC1 начинает преобразование.
4. Когда преобразование завершено, результат сохраняется в ОЗУ, и ADC1 засыпает до следующего прерывания сравнения/захвата.
5. После получения 8 результатов измерения в основном цикле вычисляет среднее
этих результатов и отображает их на светодиодах.
Примечание: Вывод сигнал OC1REF настроен на выходной контакт CC1 (PC1) в целях тестирования.
Изображение 2 Принцип опроса ADC1
2. Описание программного обеспечения
2.1 Блок-схема программного обеспечения
2.1.1 Блок-схема основного цикла
Изображение 3 Блок-схема основного цикла
2.1.1 Программа обработки прерывания ADC1
Это прерывание происходит, когда АЦП 1 завершает преобразование. Результат преобразования сохраняется в таблице под названием AD. Когда эта таблица заполнена, переменной ADSampRdy (готовность образцов) присвоено значение 1, и таблица AD обрабатывается основным циклом вычисляется среднее значение. По концу преобразования АЦП выключается.
Изображение 4 Блок-схема прерывания EOC ADC1 (прерывание по концу преобразования)
2.1.3 Прерывание захвата / сравнения TIM1
Это прерывание происходит каждый раз, когда значение счетчика TIM1 достигает значения сохраненного в регистре сравнения CCR1. В прерывании запускается преобразование установкой бита ADON регистра CR1.
Изображение 5 Блок-схема захвата / сравнения TIM1
2. История изменений
Таблица 2 История изменений документа
Перевод оригинального Appnote с сайта STMicroelectronics.