Меню English Ukrainian російська Головна

Безкоштовна технічна бібліотека для любителів та професіоналів Безкоштовна технічна бібліотека


Простий годинник-будильник на PIC16F84. Енциклопедія радіоелектроніки та електротехніки

Безкоштовна технічна бібліотека

Енциклопедія радіоелектроніки та електротехніки / Годинники, таймери, реле, комутатори навантаження

Коментарі до статті Коментарі до статті

Нещодавно електронний годинник будували на так званих годинникових мікросхемах серії К176 і спеціалізованих мікросхемах серій К145 (К145ІК1901) і КР1016 (КР1016ВІ1). Головний їх недолік - обмежені можливості вдосконалення (будь-яка зміна вимагала апаратного доопрацювання). Вигідно відрізняється годинник, зібраний на базі мікроконтролера. Схема значно спрощується, а "апгрейд" можна проводити без змін апаратної частини. Навіть налаштування ходу годинника може бути суто програмним. Саме такий годинник описаний у статті, що публікується нижче.

Пропонований годинник-будильник з чотирирозрядним світлодіодним індикатором виконано на базі мікроконтролера (МК) і показує час у 24-годинному форматі з гасінням незначного нуля в розряді десятків годин. Передбачені режим відображення хвилин і секунд, подача короткого (тривалістю 1 с) звукового сигналу на початку кожної години (при необхідності цю функцію можна вимкнути), два будильника, що вимикаються, і програмне налаштування коефіцієнта корекції часу, від якого залежить точність ходу годинника. Значення коефіцієнта та встановлення будильників записуються в енергонезалежну пам'ять (EEPROM) МК. Стан будильників та сигналу "Кожна година" індикується світлодіодами.

Принципова схема пристрою зображено на рис. 1. Його основа – мікроконтролер PIC16F84 (DD1), робоча частота якого задається генератором із зовнішнім резонатором ZQ1 на 4 МГц. Вхід скидання МК (MCLR) безпосередньо підключений до шини живлення +5 ст.

Простий годинник-будильник на PIC16F84

П'ятирозрядний порт А, всі лінії якого налаштовані на висновок, керує світлодіодом HL1 та перемикає розряди індикатора HG1. Чотири старші розряди порту В (RB4-RB7) налаштовані на введення і приймають керуючі сигнали від кнопок SB1-SB4, які підключені до висновків без "підтягуючих" резисторів, тому що такі є в МК. Розряди RB0 і RB1 порту В використовуються для завантаження в регістр DD2 семіелементного коду, що відповідає цифрі, що відображається. Розряд RB2 - вихід сигналу 3Ч або спрацьовування будильника (залежно від версії програми), який можна підключити безпосередньо до п'єзовипромінювача (ЗП-1, ЗП-3 та подібні), до входу підсилювача 3Ч або до виконавчого пристрою, наприклад, реле, яке в момент спрацювання будильника включатиме радіо, телевізор або інший прилад.

Світлодіоди HL1 та HL2 індикують стан відповідно сигналу "Кожна година" і будильників: HL1 світиться, якщо сигнал "Кожна година" увімкнено, a HL2 - якщо увімкнено хоча б один з будильників або якщо ввімкнено обидва.

У пристрої застосований спеціалізований годинниковий світлодіодний індикатор фірми Kingbright, що містить чотири семіелементні розряди із загальним анодом і дві точки індикації секунд між середніми розрядами. Оскільки висновки елементів ag є спільними для всіх розрядів, керування індикатором можливе лише у динамічному режимі. Для даної конструкції індикатор підійшов якнайкраще: число ліній введення/виведення загального призначення у МК P1C16F84 не дозволяє реалізувати статичну індикацію, а при динамічній з іншим індикатором довелося б об'єднувати висновки однойменних елементів різних розрядів на платі.

Резистори R3-R10 обмежують струм через світлодіоди індикатора. Зсувний регістр DD2 введений для економії висновків МК - він перетворює послідовний код паралельний під час динамічної індикації.

Конденсатор С4 фільтрує пульсації ланцюга живлення МК. Місце йому на платі не передбачено, його припаюють безпосередньо до висновків розетки МК із боку друкованих провідників.

Керуюча програма для МК написана на стандартному асемблері MPASM фірми Microchip і скомпільована серед MPLAB тієї ж фірми. З 1024 осередків пам'яті програм МК використано близько восьмисот, тому ресурси для вдосконалення є.

Відразу після включення живлення відбувається ініціалізація керуючої програми: розряди портів налаштовуються на введення та виведення, встановлюється режим роботи таймера 0, з енергонезалежної пам'яті зчитуються установки будильників та коефіцієнт корекції часу.

Основне завдання програми - формування точних часових інтервалів тривалістю 1с - вирішується за допомогою переривань від таймера 0. Його передцільник підключається до кварцового генератора МК і налаштовується на коефіцієнт розподілу 16. У регістр таймера 0 при кожній обробці переривання записується число від 00h до OFh ( є коефіцієнт корекції часу, у вихідному тексті програми він називається TIME_SET), тому таймер переповнюється за 256, а наприклад, за 250 циклів тактової частоти (при TIME_SET=5).

У такому разі при використанні кварцового резонатора на частоту 4 МГц переривання від таймера 0 відбуваються з частотою 1 Гц/000/000 = 250 Гц. Після ініціалізації програма перетворюється на цикл очікування цих переривань і підраховує їх. Коли кількість переривань становить 16, поточний час збільшується на секунду.

Переривання від таймера 0 забезпечують динамічну індикацію. Під час їх обробки МК встановлює нульовий рівень на висновках RA0-RA3 і цим гасить індикатор. Далі регістр DD2 через висновки МК RB0 і RB1 завантажується семіелементний код, відповідний символу, який потрібно відобразити. Потім на одному з висновків RAO-RA3 встановлюється високий логічний рівень, завдяки чому запалюється одне з знайомих. Все це відбувається 250 разів на секунду, і завдяки інерції зору користувач бачить увімкненими відразу всі розряди.

Старший біт завантажуваного в регістр DD2 коду служить управління секундними точками індикатора, які блимають із частотою 1 Гц. Таким чином, за допомогою переривань від таймера 0 вирішуються одразу дві задачі. Крім того, в підпрограмі обробки переривання МК перевіряє, чи не є цифра, що виводиться незначним нулем у лівому розряді, і якщо це так, то замість семіелементного коду цифри О МК завантажує в регістр двійкове число 11111111 (індикатор із загальним анодом, тому одиниця відповідає ).

Клавіатура опитується приблизно 10 разів на секунду, але після першого натискання деяких кнопок та їх комбінацій програма не реагує на повторні натискання протягом 1 с (наприклад, якщо утримувати кнопки). Це потрібно для зручності керування годинником.

Простий годинник-будильник на PIC16F84

При спрацьовуванні будильника на виведенні RB2 на 1 хв з'являється переривчастий сигнал 3Ч або, залежно від версії програми, - високий рівень (точніше імпульси з частотою повторення 1 Гц). Блимають світлодіоди HL1 та HL2. Через хвилину викликається спеціальна підпрограма, яка відновлює правильне свічення світлодіодів.

Пристроєм керують кнопками SB1-SB4, кожна з яких поєднує кілька функцій (див. мнемосхему, показану на рис. 2). Годинник працює у трьох режимах: основному (індикація поточного часу), з коефіцієнтом корекції часу та режимі встановлення будильників.

В основному режимі індикатор HG1 відображає години та хвилини, при цьому секундні точки блимають із частотою 1 Гц. Поточний час встановлюють кнопками SB1 (годинник) і SB2 (хвилини): кожне їхнє натискання збільшує показання на одиницю, а якщо це робиться при натиснутій SB4, - зменшує. При досягненні нульових значень розрядів хвилин перенесення до розряду годинника не відбувається.

Якщо утримувати кнопку SB4 протягом трьох секунд, на індикатор замість годинника та хвилин виводяться хвилини та секунди поточного часу.

Сигнал "Кожен час" включають і вимикають кнопкою SB3 при утримуваній SB4 (світлодіод HL1 відповідно загоряється або гасне).

Натисніть кнопку SB3, щоб перейти в режим встановлення будильників. На індикаторі з'являються покази першого будильника, секундні точки світяться безперервно. Годинники та хвилини встановлюють тими самими кнопками SB1 і SB2 (у цьому випадку лише збільшення показань). Натискання на кнопку SB4 призводить до вимкнення будильника, і на індикаторі залишаються лише прочерки (світяться елементи G). При наступному вмиканні будильника цією ж кнопкою на індикаторі з'являються, а регістри будильника записуються нулі (а не попередні значення). Якщо ще раз натиснути кнопку SB3, на індикаторі з'являться показання другого будильника, однак секундні точки згаснуть. Обидва будильники налаштовуються однаково.

Третій натиск на кнопку SB3 переводить годинник у режим роботи з коефіцієнтом корекції часу: на індикатор виводяться символи "ЕЕ X", де ЕЕ означає EEPROM, а X - поточне значення коефіцієнта в шістнадцятковому вигляді; секундні точки продовжують блимати. Кнопкою SB1 можна збільшувати, а кнопкою SB2 – зменшувати значення коефіцієнта в інтервалі від Oh до Fh. Встановлене число записуватиметься в таймер 0 у підпрограмі обробки переривання за його переповненням.

При четвертому натисканні на кнопку SB3 установки будильників та значення коефіцієнта записуються в EEPROM: перший будильник – за адресами 02h-05h (відповідно хвилини, десятки хвилин, години та десятки годин), другий – за адресами 06h-09h (у тому ж порядку), коефіцієнт – за адресою 01 h.

Пристрій монтують на друкованій платі, виготовленій за кресленням, показаним на рис. 3 (штриховими лініями зображені дротяні перемички, що з'єднують друковані провідники на протилежному боці плати).

Простий годинник-будильник на PIC16F84

Без будь-яких змін у схемі та програмі МК можна застосувати PIC16C84 - одноразово програмований аналог PIC16F84. Вказаний на схемі індикатор замінимо будь-яким іншим чотирирозрядним із загальним анодом (бажано, щоб висновки однойменних елементів розрядів були з'єднані всередині індикатора). Допустимо використання чотирьох однорозрядних індикаторів, в цьому випадку як секундні точки можна застосувати два окремі світлодіоди, підключені катодами до правого (за схемою) висновку резистора R10 (якщо необхідно - через ключ на транзисторі). Резистори, конденсатори, світлодіоди, кнопки – будь-які малогабаритні.

Для годинника розроблено три версії керуючої програми. Версія 1.10 - основна (її НЕХ-файл наведено у таблиці). При спрацюванні будильників на виводі RB2 з'являється сигнал частотою 1 Гц. Його можна використовувати для управління різними виконавчими механізмами та генераторами сигналів 3Ч: від найпростіших на двох-трьох логічних елементах до складних систем цифрового синтезу звуку [1, 2]. Динамічна індикація у цій версії працює постійно.

Простий годинник-будильник на PIC16F84
(Натисніть для збільшення)

У версії 1.11 індикація теж працює безперервно, але при спрацьовуванні будильників і в момент генерації сигналу "Кожний час" на виведенні RB2 з'являються пачки імпульсів з частотою повторення 1 Гц (частота коливань, що заповнюють пачки, відповідає частоті переривань від таймера 0 - 250). Цей сигнал можна подати безпосередньо на випромінювач або вхід підсилювача 3Ч.

Версія 1.20 відрізняється від 1.11 тільки тим, що за умовчанням динамічна індикація в ній вимкнена (при цьому всі інші функції годинника працюють у звичайному режимі). Вона починає працювати, якщо натиснути на кнопку SB4 і автоматично вимикається через 10 с. При натисканні кнопок та спрацюванні будильника відлік цього інтервалу починається заново. Якщо будильник спрацював при вимкненій індикації, вона не вмикається: потрібно двічі натиснути кнопку SB4, щоб вимкнути будильник та увімкнути індикацію. Цю програму доцільно використовувати, якщо для живлення годинника використовується батарея, складена з гальванічних елементів або акумуляторів: вимкнення індикації економить енергію батареї.

При програмуванні МК у слові конфігурації вказують тип генератора – XT, Power-up таймер – увімкнений, сторожовий таймер та захист коду – вимкнені. Крім того, в комірку 01 h енергонезалежної пам'яті даних потрібно занести число від Oh до Fh (коефіцієнт корекції часу), а на адреси 02h-09h - установки будильників.

Якщо програмне налаштування точності ходу годинника виявиться грубим (що цілком можливо), слід встановити зображений на схемі штриховими лініями підстроювальний конденсатор C3 (на друкованій платі місце для нього передбачено).

НЕХ-файли програми версій 1.11 та 1.20, а також вихідні тексти всіх версій

література

  1. Долгий А. Як записати в ПЗУ аудіодані з wav-файлу та "програти" їх. – Радіо, 2001, № 4, с. 25-27; №5, с. 23, 24.
  2. Партії А. Звуковий модуль на одній мікросхемі. – Радіо, 2002, № 11, с. 40, 41.
  3. Прожирко Ю. Електронні годинник-будильник з радіоприймачем. – Радіо, 2001, № 7, с. 16, 17; №8, с. 17, 18.

Автор: О.Вакуленко, м.Тюмень

Дивіться інші статті розділу Годинники, таймери, реле, комутатори навантаження.

Читайте та пишіть корисні коментарі до цієї статті.

<< Назад

Останні новини науки та техніки, новинки електроніки:

Пастка для комах 01.05.2024

Сільське господарство - одна з ключових галузей економіки, і боротьба зі шкідниками є невід'ємною частиною цього процесу. Команда вчених з Індійської ради сільськогосподарських досліджень – Центрального науково-дослідного інституту картоплі (ICAR-CPRI) у Шимлі представила інноваційне вирішення цієї проблеми – повітряну пастку для комах, яка працює від вітру. Цей пристрій адресує недоліки традиційних методів боротьби зі шкідниками, надаючи дані про популяцію комах у реальному часі. Пастка повністю працює за рахунок енергії вітру, що робить її екологічно чистим рішенням, яке не вимагає електроживлення. Її унікальна конструкція дозволяє відстежувати як шкідливі, так і корисні комахи, забезпечуючи повний огляд популяції в будь-якій сільськогосподарській зоні. "Оцінюючи цільових шкідників у потрібний час, ми можемо вживати необхідних заходів для контролю як комах-шкідників, так і хвороб", - зазначає Капіл. ...>>

Загроза космічного сміття для магнітного поля Землі 01.05.2024

Все частіше ми чуємо про збільшення кількості космічного сміття, що оточує нашу планету. Однак не тільки активні супутники та космічні апарати сприяють цій проблемі, а й уламки старих місій. Зростання кількості супутників, які запускає компанії, як SpaceX, створює не тільки можливості для розвитку інтернету, але й серйозні загрози для космічної безпеки. Експерти тепер звертають увагу на потенційні наслідки для магнітного поля Землі. Доктор Джонатан Макдауелл з Гарвард-Смітсонівського центру астрофізики підкреслює, що компанії стрімко розвертають супутникові констеляції, і кількість супутників може зрости до 100 000 наступного десятиліття. Швидкий розвиток цих космічних армад супутників може призвести до забруднення плазмового середовища Землі небезпечними уламками та загрози стійкості магнітосфери. Металеві уламки від використаних ракет можуть порушити іоносферу та магнітосферу. Обидві ці системи відіграють ключову роль у захисті атмосфери і підтримують ...>>

Застигання сипких речовин 30.04.2024

У світі науки існує досить загадок, і однією з них є дивна поведінка сипких матеріалів. Вони можуть поводитися як тверде тіло, але раптово перетворюватися на текучу рідину. Цей феномен став об'єктом уваги багатьох дослідників, і, можливо, нарешті ми наближаємося до розгадки цієї загадки. Уявіть собі пісок у пісочному годиннику. Зазвичай він тече вільно, але в деяких випадках його частинки починають застрягати, перетворюючись з рідкого стану на тверде. Цей перехід має важливе значення для багатьох областей, починаючи від виробництва ліків та закінчуючи будівництвом. Дослідники зі США спробували описати цей феномен і наблизитися до його розуміння. У ході дослідження вчені провели моделювання в лабораторії, використовуючи дані про пакети полістиролових кульок. Вони виявили, що вібрації усередині цих комплектів мають певні частоти, що означає, що через матеріал можуть поширюватись лише певні типи вібрацій. Отримані ...>>

Випадкова новина з Архіву

Всюдихід DJI зі стабілізованою камерою 27.12.2019

Провідний виробник безпілотних літальних апаратів DJI, зважаючи на все, працює над новим продуктом, який суттєво відрізняється від його нинішніх пристроїв. Компанія запатентувала невеликий усюдихід, оснащений камерою зі стабілізацією.

Згідно з документом, "наземний дрон" є платформою з колесами, шинами з протекторами і підвіскою з активними і пасивними елементами, що амортизують. Все це забезпечує механічну стабілізацію камери при їзді нерівною поверхнею. Зображення нижче – це не просто схематичний малюнок, які зазвичай зустрічаються у патентних заявках. Він схожий на детально опрацьоване креслення реального пристрою.

Поки що не зрозуміло, навіщо призначений такий ровер, але припущень кілька. Він може використовуватися для виконання рятувальних, військових, дослідних чи виробничих завдань, а також для надання послуг з доставки товарів. Основна його перевага порівняно із звичайними безпілотниками – це автономність.

Якби DJI задумалася про розширення арсеналу своєї продукції, такий дрон на колесах був би дуже доречним. До речі, компанія вже має один робот на колісній платформі під назвою Robomaster S1. У патенті може бути описано пристрій цієї серії.

Інші цікаві новини:

▪ Мініатюрне окислювально-відновне проточне джерело живлення

▪ Повільне життя рятує від смертельних мутацій

▪ Ректальний джойстик

▪ Оптимізація офісного часу

▪ Створено найточніші ваги у світі

Стрічка новин науки та техніки, новинок електроніки

 

Цікаві матеріали Безкоштовної технічної бібліотеки:

▪ Розділ сайту Цікаві факти. Добірка статей

▪ стаття Повнота, детальність та точність карт. Основи безпечної життєдіяльності

▪ стаття У якій мові немає концепцій ліво і право? Детальна відповідь

▪ стаття Стрихнос отруйний. Легенди, вирощування, способи застосування

▪ стаття Вимикач-дублер із звичайного. Енциклопедія радіоелектроніки та електротехніки

▪ стаття Транзистори польові КП701 – КП730. Енциклопедія радіоелектроніки та електротехніки

Залишіть свій коментар до цієї статті:

ім'я:


E-mail (не обов'язково):


коментар:





All languages ​​of this page

Головна сторінка | Бібліотека | Статті | Карта сайту | Відгуки про сайт

www.diagram.com.ua

www.diagram.com.ua
2000-2024