Устройство имитации работы светофора на микроконтроллере PIC16F84A
Устройство имитации работы светофора реализовано
на микроконтроллере PIC16F84A. Схема включения микроконтроллера (МК) стандартная,
в качестве кварцевого резонатора используется резонатор на 32768 Гц, используемый
в часах.
Светодиоды подключаются к выводам 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) зеленый включен.
Далее все аналогично.
Добавил: Павел (Admin) [email protected] |
Автор: А. Каплий, Украина, г. Скадовск. т. +380666770057 e-mail: [email protected] http://cxem.net