![]() |
Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | |
|
; Ждём прерывания от
; CCR1
; Отключить ACLK на
; порту PI.5
#TACLR,&TACTL #36,&CCR1 |
#CCIE,&CCTL1 #LPM0,SR #CAON,&CACTL1 #CAIFG,&CACTL1 |
Пауза для установления передатчика Прерывания в режиме сравнения
Ждём прерывания от CCR1
Включить компаратор Comparator_A Очистить флаг прерывания от Comparator_A #CMO+CCISO+SCS+CAP+CCIE,&CCTL1
push &TAR bis.w #LPM0,SR clr.w &CCTL1 bic.b #BITO,&P10UT bit.b #CAIFG,&CACTL1 j z Next mov.w &CCR1,Result sub.w @SP+,Result add.w #48,Result |
Прерывание по фронту от компаратора TOS = TAR в начале измерения Ждём прерывания от CCR1 (Эхо) Запрещаем CCTL1 Выключаем светодиод Проверяем, принято ли эхо
если нет - перегрузка Result = TAR (CCR1) Result = время Компенсируем время на излучение пачки импульсов и задержку 36 циклов на установление передатчика
■ -k-k-k-k-k-k-k-k-k-k-k-k-k-k ^э "P.OTlTTTOT ТТ/ГО
call #Math calc
swpb DIGITS
Вызов подпрограммы
математических
вычислений
Сдвиг на две цифры
для эмуляции деления
на 100
Дата публикования: 2014-11-18; Прочитано: 328 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!