ключення режиму вимірювання вологості.
клавіша виконує режим перегляду зовнішнього термометра.
клавіша виконує перегляд стану на годину назад.
клавіша виконує перегляд стану на годину вперед.
Для цього всі отримані дані зберігаються кожну годину по зведеному в обробнику таймера прапору.
За рахунок використання стандартного вбудованого інтерфейсу I 2 C не потрібно виконувати програмну реалізацію цього протоколу тому він забезпечується обладнанням контролера.
В основному тілі виконується математичне перетворення температури, тиску, вологості і запам'ятовування масиву виведення на індикатор, а також контролюється спрацьовування будильника (таймера) і виконується включення звукового індикатора.
Остання процедура це збереження кожну годину виміряних показників і їх послідовне вилучення з пам'яті, і висновок на індикатор. Для обміну з комп'ютером дозволено використовувати переривання послідовного порту. При парафії команди запиту, дані в цьому ж обробнику, відправляються віддаленого комп'ютера. p align="justify"> Висновок
При реалізації даного проекту мною більш детально вивчена архітектура контролера 52 серії. Вивчено два нових інтерфейсу: 1WARE і I 2 C. Сформована схема і написана до неї програма на мою думку повністю реалізує поставлене переді мною завдання і дозволяє виконати всі необхідні функції.
Додаток (Схема пристрою)
В
Додаток (Лістинг програми)
meteo: do;
$ include (reg812.dcl)
Time (*) byte constant (0DCh, 50h, 0DCh, 8Ch),
/* таймінги передачі команди CCh - пропуск трансляції внутрішнього коду */
Time1 (*) byte constant (0DCh, 9Ah, 0DCh, 0D6h, 0DDh, 12h, 0DDh, 20h, 0DDh, 5Ch, 0DDh, 6Ah), (*) byte constant (0DDh, 78h, 0DDh, 0B4h, DDh , 0C2h, 0DDh, 0D6h, 0DDh, 0FEh, 0DEh, 0Ch), (*) byte constant (0DEh, 48h, 0DEh, 56h, DE h, 86 h) ,
/* таймінги передачі коду 44h - на оцифровку температури */
Time 4 (*) byte constant (0DEh, 0C2H, 0DEh, 0E5h, 0DFh, 21h), (*) byte constant (0DFh, 5Dh, 0DFh, 6Bh, 0DFh, 0A7h, 0DFh, 0B5h, 0DFh, 0F1h, 0DFh, 0FFh), (*) byte constant (0E0h, 0Dh, 0E0h, 49h, 0E0h, 85h, 0E0h, 93H, 0E0h, 0CFh, 0E0h, 0DDh),
/* таймінги для передачі B8H - запит наотримання температури */
Time7 (*) byte constant (0DEh, 95h, 0DEh, 0D0h, 0DFh, 8H, 0DFh, 021h, 0DFh, 02Fh), (*) byte constant (0DFh, 66h, 0DFh, 79h, 0DFh, 0B5h, 0DFh , 0C3H, 0DFh, 0FFh, 0E0h, 03Bh), (*) byte constant (0E0h, 49h, 0E0h, 85h, 0E0h, 93h, 0E0h, 0CFh, 0E0h, 0DDh),
/* таймінги для прийому коду температури */<...