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

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





s 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; повернення з підпрограми (сигнал є)

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

В 

Рис. 12. Блок-схема підпрограми waiting. br/>

У початковій частині підпрограми виробляється невелика затримка початку відліку часу очікування для того, щоб відбулося затухання перешкод викликаних випромінюванням сигналу в попередній підпрограмі. Потім запускається таймер на 100 мкс. Т.к. ми будемо вважати проміжки часу по 100 мкс. Блок-схема підпрограми представлена ​​на рис. 12. Таким чином максимальний період очікування складе 100 * 100 * 100 = 1000000 мкс, що складає 1с. Приймаючи швидкість поширення звуку рівної 331,4 м/с - це більш ніж достатньо, тому що за умовою завдання максимальна вимірювана дальність пристрою складе 99,9 метра.


Підпрограма прийому reception


Даний блок відповідає наведеній нижче частини програми.


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

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 якщо таймер не був переповнений і немає

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

; ---------------------------------------------- ------- перевіряємо прапор переповнення таймера

recp2 btfss INTCON, TOIF; якщо таймер не був переповнений-

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

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

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

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

recp4 btfss INTCON, TOIF; перевіряємо прапор переповнення таймера якщо таймер не був переповнений-

btfss PORTA, 1; перевіряємо наявність сигналу на лінії RA1 порту А якщо таймер переповнений чи ні

goto recp5; сигналу-йдемо на мітку recp5 якщо таймер не був переповнений і є

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

; ---------------------------------------------- ------- перевіряємо прапор переповнення таймера

recp5 btfss INTCON, TOIF; якщо таймер не був переповнений-

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

p> decfsz NUMIMP, 1; зменшуємо значення NUMIMP на "1"

goto recp6; якщо NUMIMP НЕ дорівнює "0"-продовжуємо перевірку

goto main5; якщо NUMIMP дорівнює "0"-повернення з підпрограми

recp3 goto main3; продовження очікування сигналу

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


Блок-схема даної підпрограми представлена ​​на рис. 13. Т.к. перехід в підпрограму здійснюється за наявності сигналу на лінії RA1 порту А мікроконтролера, то спочатку...


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





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

  • Реферат на тему: Якщо ремонт виявився модернізацією
  • Реферат на тему: Якщо лікарняний невірно розрахований
  • Реферат на тему: Якщо ви викликаєте швидку допомогу
  • Реферат на тему: Якщо ваш працівник затриманий чи засуджений
  • Реферат на тему: Якщо імпортний товар на митному складі