их дрібних завдань, що призводить до того, що код стає дуже складно читати і розуміти, а отже ускладнюється налагодження та доопрацювання програми, а також труднощі реалізації парадигм програмування та будь-яких інших угод . що призводить до складності спільної розробки. p align="justify"> Менша кількість доступних бібліотек, їх мала сумісність між собою. p align="justify"> Непереносимість на інші платформи (крім двійково сумісних).
Застосування:
Напряму випливає з достоїнств і недоліків. p align="justify"> Оскільки великі програми на асемблері писати вкрай незручно, їх пишуть на мовах високого рівня. На асемблері ж пишуть невеликі фрагменти або модулі, для яких критично важливі:
швидкодія (драйвери);
розмір коду (завантажувальні сектора, програмне забезпечення для мікроконтролерів і процесорів з обмеженими ресурсами, віруси, програмні захисту);
спеціальні можливості: робота безпосередньо з апаратурою або машинним кодом, тобто завантажувачі операційних систем, драйвери, віруси, системи захисту.
Код програми для прошивки мікроконтролера PIC16F84A, написаний на мові програмування assembler, представлений на сторінках .......
При включення схеми, система знаходиться в стан В«відсутність небезпекиВ». Тобто шлагбаум піднято, на світлофорі відображається дозволяючий сигнал, рух автомобілів через ж/д переїзд дозволений. При наближення поїзда з датчика D1, розташованого на відстані одного кілометра від переїзду, в мікроконтролер надходить сигнал, що сигналізує про наближення поїзда. Мікроконтролер посилає виконавчому пристрою сигнал про закриття переїзду: Спрацьовує світлова сигналізація, за допомогою фотодатчика перевіряється відсутність перешкоди (автомобіля) в зоні опускання шлагбаума, якщо перешкода відсутня, шлагбаум опускається. Переїзд закритий. p align="justify"> Після проходу останнього вагона складу, спрацьовує датчик D2 і на мікроконтролер посилається сигнал про відкриття переїзду.
Через заданий проміжок часу піднімається шлагбаум і спалахує дозволяючий сигнал світлофора. Проїзд відкритий. p align="justify"> 3.3 Опис програмного коду для PIC 16F84A
start bsf Status, 5
movlw .0 TrisB Status, 5 .7
movwf Sch
clrw
З даної ділянки коду, починається виконання програми.
Робота порту В встановлюється на вихід.
Значення змінної Sch = 7
m1 bcf PortB, 4;
bsf PortB, 3; висновок порту В3 вуст. в 1. шлагбаум піднято
bcf PortB, 0; Червоне світло не горить
bcf PortB, 1; Жовте світло не горить
bsf PortB, 2; Зелене світло горить