Урок №5. Управления яркостью светодиода с помощью АЦП.
В данном уроке мы будем регулировать яркость светодиода через подстроечный резистор:
Для настройки нашей схемы нам понадобится модуль ADCINC и модульPWM8SW.
Перенесем модуль ADCINC на экран, а модуль PWM8SW поместим в ячейку TIMER0.
Модуль АЦП настраивается следующим образом:
Настроим наш модуль АЦП на работу с порта Р0[1], для этого в настройке данной ножки выберем AnalogMUXBus:
Таймер настроим по аналогии с предыдущим уроком (ножка Port0[6]), только рабочую частоту выберем немного больше (при маленькой частоте видно мерцание светодиода).
В графе Compare Type выбираем LESS_THEN, что означает: меньше чем. В данном случаи, пока значение сигнала меньше чем опорная величина, переключение выхода таймера не происходит.
При выборе резистора необходимо учитывать, что опорное напряжение данного микроконтроллера составляет 1,3В, для нормальной работы рекомендую следующую схему (номиналы можно выбрать свои, главное, что бы рабочий ток был в рабочем диапазоне):
Переходим к написанию кода:
#include <m8c.h> // part specific constants and macros
#include «PSoCAPI.h» // PSoC API definitions for all User Modules
void main(void)
{
BYTE value;
M8C_EnableGInt ; // Uncomment this line to enable Global Interrupts