Вибір схемотехнічного рішення.
Серед відомих технологій схемотехніки: аналогової та цифрової – перша характеризується максимальною швидкодією та малим споживанням енергії, але низькою стабільністю параметрів, цифрова ж - володіє чудовою повторюваністю параметрів, що й привело до її інтенсивного розвитку. Сьогодні швидкодія цифрових мікросхем досягає 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 !!!