Якщо термометр відповів, витримуємо паузу в 250 мкс (50 разів повторюючи цикл for) і перевіряємо, що лінія зберегла свій стан в 1 (НЕ закорочена). Це говорить про те, що датчики готові до обміну. p align="justify"> Далі передається команда 0хСС згідно стандарту шини IWare. Після чого посилається команда 0х44, запускаючи конвертування (вимірювання температури цифровим датчиком). Контролюючи змінну sec100, коли вона дорівнює 77 (тобто пройшло 750 мкс, потрібних для вимірювання температури), ми виконуємо повтор ініціалізації скиданням і контролем лінії і передаємо команду 0хb8 (вважати дані про температуру). Передавши перед цим команду 0хbe та номер конвертованого датчика. Така дія виконується 3 рази, зчитуючи температуру з трьох датчиків. Далі приймаємо 2 байти: 1 ї - байт знака температури, 2 ї - безпосередньо виміряна температура. Таким чином, отримуємо необхідні значення з температурних датчиків. І, залежно від того, чи менше встановлена ​​температура в порівнянні з виміряної, включається або вимикається тен.
Після ініціалізації програми слід основний цикл програми. При цьому здійснюється перевірка керуючих прапорів і на основі цієї перевірки викликаються відповідні процедури. p align="justify"> Процедура обробки переривань здійснює перевірку джерела переривання (таймер або клавіатура), здійснює контроль стану датчиків і встановлює відповідні прапори управління, щомиті инкрементируется поточний час, стежить за станом клавіатури
3.3 Опис використовуваних інтерфейсів
Інтерфейс IWARE
Ініціалізація проводиться в такій послідовності:
. Формується імпульс скидання не менше 480мкс
. Далі лінія відпускається і через деякий час не більше 60мкс вона закорачивается самим датчиком це як сигнал готовності до обміну. ​​
. Далі слід виконати передачу команди і адреси конкретного датчика встановленого на шині.
В
Рис.2.4 Тимчасова діаграма ініціалізації
Після того, як майстер виявив відповідь, він може передати датчику одну з команд. Передача ведеться шляхом формування майстром спеціальних тимчасових інтервалів (timeslots). Кожен часовий інтервал служить для передачі одного біта. Першим передається молодший біт. Інтервал починається імпульсом низького рівня, тривалість якого лежить в межах 1 - 15 мкс. Оскільки перехід з одиниці в нуль менш чутливий ен до ємності шини (він формується відкритим транзистором, в той час як перехід з нуля в одиницю формується підтягуючим резистором), саме цей перехід використовують 1-провідні пристрої для синхронізації з майстром. У підлеглому пристрої запускається схема тимчасової затримки, яка визначає момент зчитування дан...