ВУЗ:
Составители:
Рубрика:
88
где U
0
= 2,5 В – половина напряжения питания. В программе необхо-
димо определить напряжение Ux выбранного канала x АЦП по коду
Nx. Для переменной Ux целесообразно выбрать тип float.
Вывод значения напряжения выбранного канала на дисплей кон-
троллера осуществляется при помощи функции printf(“U%u=%f
В”,chan,Ux), где %u – спецификатор преобразования для переменной
chan номера канала, определённой типом unsigned char; %f – специфи-
катор преобразования для переменной Ux напряжения канала, опреде-
лённой типом float. Значение переменной chan должно изменяться в
диапазоне 0…7 в соответствии с нажатием клавиш 1…8 на клавиатуре
контроллера, что обеспечивает оперативный выбор одного из каналов
АЦП. В программе на языке Си для реализации этого выбора целесо-
образно использовать оператор switch. Строка ADCON=chan; устанав-
ливает биты AADR0…AADR2 в соответствии с номером выбранного
канала. Старшие биты регистра ADCON сбрасываются. Для запуска
аналого-цифрового преобразования необходимо установить бит ADCS.
Это позволяет сделать строка ADCON=0x08|ADCON, использующая
логическую операцию ИЛИ (символ «|»). Для сброса бита ADCI после
сохранения результата преобразования можно воспользоваться стро-
кой ADCON=ADCON&0xEF;.
На плате внешних устройств лабораторного контроллера органи-
зована подача различных напряжений на все каналы АЦП. Все напря-
жения могут быть одновременно изменены при помощи регулятора,
установленного на плате. Для сигнализации выхода напряжений кана-
лов за установленные пределы следует использовать светодиоды, ус-
тановленные на плате и соответствующие номеру канала. Сигнализа-
цию необходимо настроить так, чтобы при вращении ручки регулятора
от начального положения до конечного обеспечивалась сигнализация
нижней и верхней предупредительных границ для всех каналов АЦП.
Прерывание от АЦП имеет номер 10. Определение функции об-
работки прерывания может иметь вид
void IntADC(void) interrupt 10
{
тело функции
}
При конфигурировании системы прерываний в регистре масок
прерываний необходимо кроме других используемых битов устано-
вить также и бит EAD регистра IEN0 (см. табл. 13.3 в практической
работе 13).
Страницы
- « первая
- ‹ предыдущая
- …
- 86
- 87
- 88
- 89
- 90
- …
- следующая ›
- последняя »