х;
rs = 1, rw = 1 - читання даних;
Функція зняття даних з датчиків datchik (i).
Дана функція дані з датчиків і повертає їх показники в числовому вигляді (rez word). Параметром даної функції є змінна i типу word, яка відповідає номеру лінії порту P0. Спочатку Обнуляємо значення регістрів таймера першого каналу Th1 і Tl1. Потім дивимося з якого датчика знімаємо дані. Оскільки виклик процедури може не співпасти з початком імпульсу, то спочатку очікуємо, поки високий рівень сигналу на виході датчика не зміна низьким, потім знову очікуємо високий рівень. Як тільки прийшов високий рівень, відразу починаємо засікати його тривалість (запускаємо 1-й таймер). По закінченні вимикаємо 1-й таймер і знімаємо з нього дані. У регістрах Th1, Tl1 буде тривалість напівперіоду в мікро секундах. Наступним кроком є ​​перетворення регістрів Th1 і Tl1 у формат слова. Це досягається за допомогою функцій мови PLM Double і SHL. p align="justify"> За допомогою команди double розширюємо значення регістра Th1 до розмірів слова і поміщаємо в змінну t, потім за допомогою команди зсуваємо вміст молодшої частини t в старшу частину, після чого додаємо до t значення регістра Tl1. Тепер в t ми отримали тривалість напівперіоду вихідного сигналу датчика, після множення отриманого значення на 2, ми отримуємо тривалість періоду вихідного сигналу датчика (у тіках ). Тепер множимо отримане значення на заздалегідь підготовлений коефіцієнт koef (i) (який дорівнює величині вимірюваного параметра що припадає на один тик). І повертаємо отримане значення.
Тіло основної програми
На початку тіла основної програми викликається процедура ініціалізації. Потім програма входить в нескінченний цикл. p align="justify"> На екран виводиться запит про початок роботи ( Почати? ). Потім якщо натиснута клавіша SET (key = 2), то програма входить в режим установки параметрів, в іншому випадку, якщо натиснута клавіша OK (key = 5), починаємо роботу з параметрами встановленими за замовчуванням при ініціалізації. При цьому клавіші + і - не активні.
У режимі установки параметрів програма знаходиться доти, поки не натиснута клавіша OK (що означає згоду з введеними параметрами ). У даному режимі активні тільки клавіші OK , SET < span align = "justify"> і ^ . Пр...