 
        
        Вибір схемотехнічного рішення.
Серед відомих технологій схемотехніки: аналогової та цифрової – перша характеризується максимальною швидкодією та малим споживанням енергії, але низькою стабільністю параметрів, цифрова ж - володіє чудовою повторюваністю параметрів, що й привело до її інтенсивного розвитку. Сьогодні швидкодія цифрових мікросхем досягає 3-5 нс, а якщо всередині кристала відсутні великі ємності, то час переключення вимірюється пікосекундами.
Така швидкодія породжує й нові проблеми:
- Швидкодіючі мікросхеми споживають значний струм (ПК 286 взагалі не мали вентилятора на мікропроцесорі, а Pentium 1V має значну робочу температуру не дивлячись на потужний вентилятор). 
- Для вирішення складних задач необхідно використовувати велику кількість мікросхем, що збільшує і вартість і габарити пристрою. 
Перша задача вирішується застосуванням цифрових мікросхем, виготовлених по технології КМОП, для якої струм споживання залежить від швидкості переключення логічних елементів.
Друга задача вирішується декількома способами.
- Для задач детермінованої логіки – це розробка спеціалізованих БИС. 
- Використання логічних мікросхем, що програмуються ПЛИС – цей напрямок інтенсивно розвивається сьогодні. 
- Використання мікропроцесорів – які дозволяють одному пристрою вирішувати різноманітні задачі, змінюючи свою структуру в часі. Платою за такі унікальні можливості є гранична швидкодія. У зв’язку з цим розробники намагаються максимально збільшити швидкодію мікропроцесора, що дозволяє реалізовувати все більш складні пристрої в одному і тому ж об’ємі, а також декілька пристроїв одночасно. 
Для вирішення нашої задачі зупинимося саме на використанні мікропроцесора PIC16F628. Структура мікропроцесора у 18 вивідному корпусі, згадаємо, має вигляд:
 
Для управління світлофорами використаємо 7-12 ніжки мікропроцесора, відповідно 1-6 біти ПортаВ.
Таким чином, схема пристрою матиме вигляд:
 
Відповідна таблиця станів:
| Не викоистовується | червоний | жовтий | зелений | зелений | жовтий | червоний | Не викоистовується | 
| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | 
| 1 | 0 | 1 | 1 | 1 | 0 | 0 | 0 | 
| 1 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | 
| 1 | 1 | 1 | 0 | 0 | 0 | 1 | 0 | 
| 1 | 1 | 0 | 1 | 0 | 1 | 1 | 0 | 
Написання коду програми мікропроцесора.
Для написання коду програми скористаємося інтегрованим середовищем MPLAB-IDE.
¼ =======================
NCLUDE P16F628.INC
_ _CONFIG _INTRC_OSC_NOCLKOUT & _MCLRE_OFF
CBLOCK 0x20
l1, l2
ENDC
ORG 0
2/4 ======================
BCF STATUS, RP0
BCF STATUS, RP1
CLRF PORTB
BSF STATUS, RP0
BCF STATUS, RP1
MOVLW B'10000001'
MOVWF TRISB
3/4 =====================
BCF STATUS, RP0
L0 MOVLW B'10111000'
MOVWF PORTB
CALL wait
MOVLW B'10010100'
MOVWF PORTB
CALL wait
MOVLW B'11100010'
MOVWF PORTB
CALL wait
MOVLW B'11010110'
MOVWF PORTB
CALL wait
GOTO L0
4/4 =====================
wait MOVLW 5
MOVWF l1
w1 CALL wait2
DECFSZ l1
GOTO w1
RETURN
wait2 CLRF l2
w2 DECFSZ l2
GOTO w2
RETURN
END
Завершуємо написання програмного коду створенням файла *.HEX.
:020000040000FA
:1000000083120313850107309F0083160313FF300B
:100010008500831203138601831603138130860043
:100020008B018C018E018E158101831203138C01CB
:100030009001920183120313B83086002920943076
:1000400086002920E23086002920D630860029202B
:100050001C2800003520352035203520352035205E
:100060003520352035203520080000006E206E2018
:100070006E206E206E206E206E206E206E206E2010
:100080006E206E206E206E206E206E206E206E2000
:100090006E206E206E206E206E206E206E206E20F0
:1000A0006E206E206E206E206E206E206E206E20E0
:1000B0006E206E206E206E206E206E206E206E20D0
:1000C0006E206E206E206E206E206E206E206E20C0
:1000D0006E206E206E206E206E20080000002830FA
:1000E000A30000001930A4000000A40B74281930EC
:0E00F000A4000000A40B7928A30B71280800BF
:02400E00103F61
:00000001FF
Наладка програмного коду.
Для відладки програмного коду скористаємося програмним стимулятором. Програмні симуляторы (Simulator) - це програмні засоби, здатні імітувати роботу мікроконтролера і його пам'яті.
Програмування мікропроцесора.
Щоб запрограмувати мікропроцесор, необхідно скористатися програмним продуктом IС-Prog та власне програма тором мікропроцесора. Програматор (Programmer) - це пристрій, що дозволяють програмувати м/с пам'яті, мікроконтролери та логічні інтегральні схеми.
Апробація пристрою на діючому макеті.
Запрограмований мікропроцесор використовуємо у схемі та спостерігаємо роботу пристрою. Безпомилково виготовлений пристрій повинен відтворювати стани індикаторів світлофора.
Proteus !!!
	 
		
		
