Теми рефератів
> Реферати > Курсові роботи > Звіти з практики > Курсові проекти > Питання та відповіді > Ессе > Доклади > Учбові матеріали > Контрольні роботи > Методички > Лекції > Твори > Підручники > Статті Контакти
Реферати, твори, дипломи, практика » Курсовые проекты » Пристрій ультразвукового вимірювання дальності

Реферат Пристрій ультразвукового вимірювання дальності





ий)-виконуємо перевірку

якщо прапор дорівнює 1 (Лічильник переповнений) -

; ---------------------------------------------- ------- затримка сигналу

bcf PORTA, 0; встановлюємо в 0 лінію RA0 порту А

movlw d'251 '; поміщаємо значення "251" для таймера в акумулятор

movwf TMR0; поміщаємо значення з акумулятора в таймер

bcf INTCON, TOIF; встановлюємо в 0 прапор переривання по переповнення таймера

tran3 btfss INTCON, TOIF; перевіряємо прапор переривання по переповнення таймера

goto tran3; якщо прапор дорівнює 0 (лічильник не переповнений)-виконуємо перевірку

якщо прапор дорівнює 1 (Лічильник переповнений) -

; ---------------------------------------------- ------- вважаємо імпульси

decfsz NUMIMP, 1; зменшуємо зачение NUMIMP на "1" якщо NUMIMP НЕ дорівнює "0" (передано <5імпульсов) -

goto tran1; переходимо в початок підпрограми на tran1 якщо NUMIMP дорівнює "0"

; ---------------------------------------------- ------- (передано 5 імпульсів) -

movlw d'3 '; поміщаємо значення "3" для NUMIMP в акумулятор

movwf NUMIMP; поміщаємо значення з акумулятора в NUMIMP

return; віз врат з підпрограми

; ============================================== ================

waiting; підпрограма очікування відбитого сигналу

; ---------------------------------------------- ------- затримка початку прийому сигналу

movlw d'151 '; поміщаємо значення "151" для таймера в акумулятор

movwf TMR0; поміщаємо значення з акумулятора в таймер

bcf INTCON, TOIF; встановлюємо в +0 прапор переривання по переповнення таймера

wait1 btfss INTCON, TOIF; перевіряємо прапор переривання по переповнення таймера

goto wait1 якщо прапор дорівнює 0 (лічильник не переповнений)-виконуємо перевірку

якщо прапор дорівнює 1 (Лічильник переповнений) -

; ---------------------------------------------- ------- починаємо рахунок часу

очікування прийому (По 100 мкс)

wait3 movlw d'161 '; поміщаємо значення "161" для таймера в акумулятор

movwf TMR0; поміщаємо значення з акумулятора в таймер

bcf INTCON, TOIF; встановлюємо в 0 прапор переривання по переповнення таймера

wait2 btfsc PORTA, 1; перевіряємо наявність сигналу на лінії RA1 порту А

goto wait4; якщо сигнал є-переходимо на мітку wait4

якщо сигналу ні-продовжуємо рахунок часу

btfss INTCON, TOIF; перевіряємо прапор переривання по переповнення таймера

goto wait2 якщо прапор дорівнює 0 (лічильник не

; ---------------------------------------------- ------- переповнений)-виконуємо перевірку

decfsz TIMER1, 1; якщо прапор дорівнює 1 (лічильник переповнений)-зменшуємо TIMER1 на 1

goto wait3; якщо TIMER1 НЕ дорівнює "0"

; ---------------------------------------------- ------- продовжуємо очікування якщо TIMER1 дорівнює "0" -

movlw d'100 '; поміщаємо значення "100" для TIMER1 в акумулятор

movwf TIMER1; поміщаємо значення з акумулятора в TIMER1

decfsz TIMER2, 1; зменшуємо значення TIMER2 на 1

goto wait3; якщо TIMER2 НЕ дорівнює "0"

; ---------------------------------------------- ------- продовжуємо очікування

якщо TIMER2 дорівнює "0" (сигнал вже не повернеться)-заповнюємо; значення DIGIT1 .. 3

movlw d'9 '; поміщаємо значення "9" для змінної DIGIT1 в акумулятор

movwf DIGIT1; поміщаємо значення з акумулятора в DIGIT1

movlw d'9 '; поміщаємо значення "9" для змінної DIGIT2 в акумулятор

movwf DIGIT2; поміщаємо значення з акумулятора в DIGIT2

movlw d'9 '; поміщаємо значення "9" для змінної; DIGIT3 в акумулятор

movwf DIGIT3; поміщаємо значення з акумулятора в DIGIT3

goto main1; повернення з підпрограми (сигналу немає)

wait4 goto main4; повернення з підпрограми (сигнал є)

; ============================================== ================

reception; підпрограма прийому відбитого сигналу

очікування закінчення сигналу

recp1 btfsс PORTA, 1; перевіряємо наявність сигналу на лінії RA1 порту А

goto recp1; якщо сигналу є-продовжуємо очікування

; ---------------------------------------------- ------- якщо сигналу ні-починаємо перевірку

recp6 movlw d'251 '; поміщаємо значення "251" для таймера в акумулятор

movwf TMR0; поміщаємо значення з акумулятора в таймер

bcf INTCON, TOIF; встановлюємо в 0 прапор переривання по переповнення таймера

recp1 btfss INTCON, TOIF; перевіряємо прапор переповнення таймера

якщо таймер НЕ переповнений-

btfsc PORTA, 1; перевіряємо відсутність сигналу на лінііRA1 порту А

якщо таймер переповнений або є

goto recp2; сигнал-йдемо на мітку recp2

; якщо таймер НЕ перепо...


Назад | сторінка 12 з 14 | Наступна сторінка





Схожі реферати:

  • Реферат на тему: Збутова діяльність ВАТ &Прапор індустріалізації&
  • Реферат на тему: Державний прапор Російської імперії (проблема співвідношення кольорів в рос ...
  • Реферат на тему: Бухгалтерська (фінансова) звітність на прикладі ГУП ОПХ "Прапор Жовтня ...
  • Реферат на тему: Прогноз банкрутства та основні напрямки поліпшення фінансового стану СПК &q ...
  • Реферат на тему: Бойовий Прапор військової частини - символ військової частини, доблесті і с ...