нициализирует процес вимірювання). Друга лінія зв'язку - OUT-> P0.1, яка призначена для прийому вимірювальних імпульсів від групи датчиків мікроконтролером. Тоді, за один переданий старт імпульс на вхід Р0.1 МК «приходить» 5 прямокутних інформаційних сигналу від датчиків і врешті слід старт-імпульс, завершальний одиничний процес вимірювання.
Вимірювання значення Tx на кожному з датчиків організовано на основі таймерів-лічильників мікроконтролера (див. розділ 2). Т/С0 і Т/С1 працюють в 16-ти розрядному режимі і вважають тривалість високого і низького рівня кожного з прямокутних сигналів.
Процес вимірювання тривалостей Th і Tl реалізований так, що за час поки, T/C1 вважає тривалість Th поточного сигналу, проводиться збереження в пам'ять даних інформації про тривалість Tl, який був відрахував перед початком роботи Т/С1 . І навпаки, поки працює Т/С0 - зберігаються дані про Th.
Після вимірювання Th і Tl одного з 5-ти імпульсів відбувається виклик П / П обчислення значення температури Тх. Результат виконання даної П / П - число, які зберігатися в пам'яті даних за адресою 0х40 і 0x41 (0x40-адреса комірки де зберігатиметься інформація про цілому значенні Tx, 0x41 - адреса комірки де зберігатися десятковий залишок значення Tx). У підсумку форма подання значення температури на N-нном датчику така:. Y,
де XXX - тризначне ціле числа Tx, а Y - десятковий залишок числа Tx.
Після виконання П / П обчислення Tx, здійснюється виклик П / П порівняння числа Tx з верхньої та нижньої уставками. Згідно ТЗ для кожного з каналів вимірювання повинна бути верхня і нижня уставка вимірюваної величини (Тх). Тоді, згідно роботі основного модуля ПО, відбувається виpов П / П порівняння Tx c уставками на кожному з вимірювальних каналів. Це організовано в підциклі, де здійснюється вимірювання поточного сигналу.
Після обчислення та порівняння 5-ти значний Тх для кожного з датчиків, відбувається перевірка прапора натискання кнопки запиту для виведення Tx N-го датчика на дисплей. Згідно з алгоритмом роботи П / П обробки переривання, якщо натискається кнопка «ТЕМР», а потім натискається одна з кнопок 1,2,3,4 або 5, то певної змінної F присвоюється значення 1.5 натиснутою кнопки. Тоді при перевірці прапора F, значення F буде від 1 до 5 якщо кнопка була натиснута. Значення F буде нуль якщо кнопка для запиту виводу температури не натискайте. У результаті буде зроблений виклик П / П виведення значення температури Tx для N-го датчика на дисплей, якщо значення F не дорівнюватиме нулю. Так реалізована робота СЦКТ на програмному рівні.
На програмному рівні проектування присутня можливість зменшення похибки вимірювання. Для цього необхідно лругой способом використовувати систему переривань МК від зовнішніх джерел іншим. Необхідно реалізувати процес вимірювання так, щоб запуск і зупинка Т/С0 і Т/С1 управлялися станом на виведенні / INT0 і / INT1 відповідно. Тоді запуск процесу вимірювання здійснюється програмно, а робота Т/С0 і Т/С1 відбувається на апаратному рівні. У такому варіанті роботи пристрою відсутня? т - адитивна складова похибки рахунку (див. розділ 4).
6.2 Лістинг ПО
У даному розділі представлений лістинг розробленої програми. Програма написана на мові асемблер.
...