logo
HCS12 с применением языка С - royallib

4.22.3. Пример программирования модуля atd

Для того чтобы воспользоваться модулем аналого-цифрового преобразования ATD для измерения уровня напряжения на нескольких аналоговых входах МК, необходимо выполнить следующие действия:

• Подключить источники стабилизированного напряжения ко входам опорного напряжения VRF и VRL . Необходимо помнить, что напряжение на входе высокого уровня опорного напряжения VRF не должно превышать 5,0 В, а на входе низкого уровня VRL напряжение должно быть не менее 0 В. Кроме того, разность напряжений на входах VRF и VRL , равная напряжению полной шкалы АЦП UREF = URH–URL , не должна быть менее 2,5 В;

• Подключить источники измеряемых аналоговых сигналов ко входам AN0…AN7. Напряжение измеряемых сигналов должно находиться в диапазоне 0 В = USSUIZMUDD =5,0 В;

• Осуществить внутреннюю коммутацию напряжения питания к модулю ATD. Для этого записать 1 в бит ADPU регистра управления ATDCTL2. Адрес регистра — $0062;

• Выдержать паузу в 100 мкс для завершения переходных процессов в модуле ATD. В рассматриваемом ниже программном фрагменте мы покажем, как организовать такую задержку;

• Назначить режим работы модуля ATD посредством записи необходимых слов инициализации в управляющие регистры модуля;

• Запустить измерительную последовательность посредством записи в регистр управления ATDCTL5;

• Контролировать ход преобразования, используя флаги регистра состояния модуля ATDSTAT;

• Когда измерительная последовательность будет завершена, считать данные из регистров результата ADR0H…ADR7H в память МК;

• Если экономия энергии важна для Вашего применения, следует выключить модуль ATD, установив бит ADPU регистра ATDCTL2 в 0.

Мы рассмотрим программную реализацию действий по управлению модулем аналого-цифрового преобразования на примере простейшего цифрового вольтметра.