Библиотека Компэла 299


Ь IV. Примеры конкретных применений

дом регистра CCR1 в режим сравнения с числом 36. Во время этой паузы, процессор MSP430 пребывает в режиме низкого потребления LPM0.

Теперь прибор готов к приёму отражённого сигнала УЗ-приёмником. Ком­паратор Comparator_A сконфигурирован на ожидание сигнала эха, после по­лучения которого формируется прерывание для «захвата» значения таймера Timer_A в регистре захвата-сравнения CCR1. Это значение соответствует из­меренному времени, в течение которого ультразвуковые волны преодолевали расстояние от излучателя до объекта и обратно. К полученному значению при­бавляется 48 для компенсации времени формирования 12 импульсов «пачки» и 36 тактов ожидания установления передатчика. Скорректированное значение в регистре CCR1 представляет собой точный временной интервал между началом «пачки» и временем принятия эха. Далее вызывается подпрограмма матема­тической обработки, вычисляющая значение расстояния в дюймах и возвра­щающая соответствующий результат. В случае перегрузки (объект вне зоны действия) эхо не будет получено и компаратор Comparator_A не сформирует сигнал прерывания. MSP430 останется в режиме пониженного энергопотреб­ления LPM0 до следующего прерывания базового таймера. В этом случае про­веряется бит CAIFG в регистре CCTL1 для установления того факта, что эхо не было получено. Чтобы отобразить данное состояние, в буфер DIGITS записыва­ется значение ОхВЕ , что приведёт к индикации буквы Е на экране ЖКИ. Далее программа возвращается к началу основного цикла Mainloop, обновляет инди­кацию на ЖКИ и переходит в режим пониженного потребления LPM3. Следую­щее прерывание базового таймера Basic Timeri возвратит MSP430 в активный режим и выполнение программы продолжится.