justify"> Малюнок 2
Підтримка ОС
В§ У Linux <# "justify"> Виробничі технологи
I ВІ C є основою ACCESS.bus <# "justify"> У багатьох конструкціях корисно знати поточний час, але не завжди є можливість, та і якщо контролер буде сильно завантажений, то годинник будуть постійно відставати або поспішати, що не дуже добре . Виходом може стати зовнішній готовий джерело часу - годинник реального часу - DS1307. p> <# "283" src = "doc_zip4.jpg"/>
Малюнок 4 - Типова схема включення
Лінії SCL і SDA - це I2C. На лінії SQW - знаходитися тактовий імпульс з частотою від 1 Гц до 32,768 Кгц, зазвичай вона не використовується. <В
Малюнок 5 - Висновки мікросхеми
У годинника є пара особливостей:
. що б вони працювали, в них повинна бути батарейка або на крайній випадок резистор на 4-10кОм, інакше вони не будуть працювати і відповідати всяким сміттям.
. навколо доріжок кварцу повинен побут замкнутий контур землі і корпус кварц теж краще підключити до землі
Хронометр має фіксований адресу 68h, в 7 бітовому адресі + 1 біт вказує на дію - читання/запис.
Для запису використовується наступний алгоритм:
Перший байт - адреса годин 68h + 0 біт вказує на запис, разом D0h. Після отримання підтвердження передається адреса регістра. Це встановить регістровий покажчик. Потім починається передача байтів даних, щоб зупинити його - генерується умова закінчення. p> Для читання:
Перший байт - адреса годин 68h + 1 біт вказує на запис, разом D1h. Після декодування адреси та видачі підтвердження пристрій починає передавати дані із зазначеної адреси (зберігатися в регістрі покажчика). Якщо перед початком читання покажчик регістру не записаний, то перший читається адреса - це адреса, який був збережений в ньому останнім. DS1307 має прийняти В«непідтвердженняВ» для закінчення читання. <В
Малюнок 6 - Регістри хронометра DS1307
Для включення годин слід встановити біт CH в нуль, це слід зробити примусово, тому що годинник після включення за замовчуванням вимкнені.
Годинники зберігають інформацію в двійковій-десятковому вигляді - для отримання даних достатньо прочитати відповідний їм регістр.может працювати як в 24, так і в 12 годинному режимі - за це відповідає біт 12/24 (02h 6 біт). При 24 годинному режимі 5 і 4 біти регістра 02h відповідають поточному десятку години, при 12 годинному режимі 4 біт зберігає десяток, а 5 ознака до полудня/після полудня. p> регістр відповідає за вихідний тактовий генератор годин, SQW висновок. Біт OUT інвертує вихідний сигнал, біт SQWE включає тактовий генеретор, а біти RS0 і RS1 встановлюють частоту тактового імпульсу. <В
Практика
Був виготовлений невеликий модуль годин реального часу. На макетке були зібрані годинник з використанням мікроконтролера PIC16F628A, знакогенерірующего дисплея 2 Г— 16, однієї кнопки для завдання часу, модуля годин реал...