Ь 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 в активный режим и выполнение программы продолжится.