здійснюється через тривалість імпульсу напруги, в даній підпрограмі здійснюється перетворення тривалості імпульсу напруги в числовий код. Для вимірювання тривалості прямокутного імпульсу необхідно відстежити момент, коли на вході RА0 PORTА з'явиться логічна В«1В», тобто передній фронт імпульсу. Після цього запускається таймер TMR1, який буде рахувати кількість відліків з постійною частотою тактирования f = 1 МГц . Далі необхідно постійно відстежувати появу логічного В«0В» на вході RА0, тобто прихід заднього фронту імпульсу. При появі логічного В«0В» на вході RА0, таймер зупиняється.
Блок-схема алгоритму обчислення числового еквівалента
Так як числовий еквівалент виміряної тривалості імпульсу знаходиться в межах 200 ... 40000, а вимірювана висота в межах 0,1 ... 20 км, то для спрощення індикації, обчислення числового еквівалента виміряної висоти здійснюється діленням виміряної тривалості імпульсу на 200.
Блок-схема алгоритму перекладу в 2-10 код
У даній підпрограмі здійснюється перетворення двійкового числового еквівалента виміряної висоти в три розряди двійковій-десяткового коду - В«сотніВ», В«десяткиВ» і В«одиниціВ». Перетворення проводимо, використовуючи операції віднімання чисел 100, а потім 10 з підрахунком кількості позитивних вирахувань. p align="justify"> Блок-схема алгоритму видачі результатів на індикацію
У цій підпрограмі необхідно вміст регістрів Nsot, Ndes і Ned , отримане в підпрограмі десяткового корекції, відправити спочатку в регістр w, далі підпрограмою визначається код символу . p>
Потім, вміст регістра w , передається в PORTB МК, а потім відбувається обмін даними між МК і РКІ.
Блок-схема алгоритму визначення коду символу
У даній підпрограмі вміст регістра w складається з вмістом регістра PCL , і при виході з підпрограми код індикації записується в w.
Висновок
В результаті виконання курсової роботи був розроблений мікропроцесорний вимірювач висоти з виведенням результатів на РК індикатор, що задовольняє заданим технічним характеристикам.
Список літератури
1. # "justify"> Додаток
Лістинг
org 0x0000
goto main
TL equ 0x24