Пристрій імітації роботи світлофора на мікроконтролері PIC16F84A
Пристрій імітації роботи світлофора реалізовано на мікроконтролері PIC16F84A. Схема включення мікроконтролера (МК) стандартна, в якості кварцевого резонатора використовується резонатор на 32768 Гц, який використовується в годинах.
Datasheet мікроконтролера PIC16F84A
Світлодіоди підключаються до виводів RB1..RB6 через токозніжувальні резистори 500 - 200 Ом: Замість світлодіодів можна використовувати будь-які інші лампи, але для цього потрібно на виходи мікроконтролера поставити транзисторні ключі або інші узгоджуючі пристрої (оптрон, оптропередавачі тощо).
1 світлофор
RB1 – червоний (К1)
RB2 – жовтий (Ж1)
RB3 – зелений (З1)
2 світлофор
RB4 – червоний (К2)
RB5 – жовтий (Ж2)
RB6 – зелений (З2)
Приклад складання програми для імітації роботи світлофора: Для складання програми необхідно скласти блок-схему роботи.
- К1 = 1 , З2 = 1
увімкнути червоний на першому світлофорі, зелений на другому, інші вимкнені - К1 = 1, З2 = 0,1,0,1,0,1,0,1,0,1
червоний на першому світлофорі продовжує горіти, зелений на другому миготить 5 разів, інші вимкнені - К1 = 1, Ж1 = 1, Ж2 = 1
червоний на першому продовжує горіти, увімкнено жовтий на першому і другому світлофорах, інші вимкнені - К2 = 1, З1 = 1
увімкнути червоний на другому та зелений на першому світлофорах, інші вимкнені - К2 = 1, З1=0,1,0,1,0,1,0,1,0,1
червоний на другому світлофорі продовжує горіти, зелений на першому миготить 5 разів, інші вимкнені - К2 = 1, Ж2 = 1, Ж1 = 1
червоний на другому продовжує горіти, увімкнено жовтий на другому і першому світлофорах, інші вимкнені
Текст програми з коментарями на асемблері та HEX-файл (коментарі не повторюються) ви можете завантажити нижче
Трохи про програму:
- Увімкнення червоного на першому та зеленого на другому здійснюється за допомогою копіювання в PortB константи 01000010.
Підпрограма Pause_1 слугує для затримки на час приблизно 10 сек стану виводів PortB. - Для «миготіння» зеленого використовується підпрограма Z_1, що включає в себе дві підпрограми затримки з використанням біт-орієнтованих команд (bcf PortB,6, bsf PortB,6): 1) зелений вимкнений 2) зелений увімкнений.
Далі все аналогічно.
- svetofor.rar (2 Кб)