// да, сбросить флаг нажатия // запретить преобразования // погасить светодиод 2
Начальная инициализация модуля АЦП в программе производится функцией ADCinitQ. В этой функции, в частности, задается тактовая частота модуля АЦП (4.5 МГц), которая генерируется путем деления частоты pclk.
Для пересчета результата преобразования из дискрет АЦП в милливольты, программа использует нормировочную константу-множитель Upit_mB, значение которой должно быть равно точному значению напряжения питания V3A в милливольтах, поскольку это напряжение используется в модуле ADC в качестве опорного. Входное измеряемое напряжение ADCres_mV'в милливольтах вычисляется в программе по формуле:
ADCres_mV= (ADCres х UpitjnV) / 1024, [мВ],
где ADCres — результат аналого-цифрового преобразования в дискретах.
При номинальном значении опорного напряжения 3.3 В и заданном в функции ADCinitQ 10-битном режиме преобразований модуля АЦП, предлагаемый вольтметр позволяет получить разрешающую способность измерений около 3 мВ.
Прерывания от модуля АЦП программа не использует.
33.6. Интерфейс обслуживания ШИМ (PWM)
Как и предыдущий проект, проект интерфейса обслуживания модуля ШИМ (PWM) микроконтроллера 1РС2ххх также может иметь самостоятельное прикладное значение. По сути, он представляет собой программируемый пользователем
генератор двухфазной импульсной последовательности, который может быть использован автономно, а также в качестве программно-аппаратного дополнения к какому-либо устройству, реализованному на микроконтроллере LPC2000.
Для работы проекта, в базовом макете целевой пользовательской системы (Рис. 33.3) не требуется делать никаких дополнительных аппаратных подключений. Выходные импульсные последовательности ШИМ снимаются с выводов P0.7/SSEL0/PWM2/EINT2 (выв. 31 U1) и P0.8/TXD1/PWM4 (выв. 33 U1).
Интерфейс обслуживания модуля ШИМ LPC2129 реализован в проекте, все файлы которого находятся в каталоге PWM. Функции обслуживания ШИМ, их заголовки и определения находятся в файлах pwm.c и pwm.h, а основная программа интерфейса модуля ШИМ — в файле main.c этого проекта.
Файл pwm.c
//------------------------------------------------------------------------
//ПО обслуживания модуля ШИМ (PWM)
//------------------------------------------------------------------------
#include "hardware.h" // подключение специальных заголовков и определений #include "pwm.h" // подключение специальных заголовков и определений
U8 г1000000=0;//-----------------------------------
U8 г100000=0; //
U8 г10000=0; U8 г1000=0; U8 г100=9^ U8 г10=0; U8 rl = 0;
// // // // II-
разряды десятичного числа
//Функция инициализации модуля PWM void PWMinit() {
//линию РО. //линию РО.
PINSELO_bit.Р0_7 = 0x02; PINSEL0_bit.P0_8 = 0x02; PWMPR = 0x0; PWMPCR_bit.SEL2 = 1 PWMPCR_bit.SEL4 = 1 PWMPCR_bit. ENA2 = 1 PWMPCR_bit.ENA4 = 1 PWMMCR = 0x0;
НА ГЛАВНУЮ | | ЧТО ТАКОЕ PIC ? | | ПРОГРАММАТОР | | ПРОЕКТЫ | | СТАТЬИ | | ССЫЛКИ | | КАРТА САЙТА |