Вычислительная техника и сети в задачах управления качеством. Балабанов П.В - 88 стр.

UptoLike

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).