LIST P=16F877A ; Вказуємо модель мікроконтролера
INCLUDE <P16F877A.INC> ; Підключаємо бібліотеку для PIC16F877A
__CONFIG _XT_OSC & _WDT_OFF & _PWRTE_ON & _LVP_OFF
ORG 0x00 ; Початок програми в адресі 0x00
; Ініціалізація портів
START
BANKSEL TRISB ; Вибір банку для TRISB
CLRF TRISB ; Встановлення всіх портів B як вихід
BANKSEL PORTB ; Повертаємось до банку з PORTB
CLRF PORTB ; Скидаємо PORTB
; Основний цикл
LOOP
BSF PORTB, 0 ; Встановити RB0 у високий рівень (вмикання світлодіода)
CALL DELAY ; Затримка
BCF PORTB, 0 ; Встановити RB0 у низький рівень (вимикання світлодіода)
CALL DELAY ; Затримка
GOTO LOOP ; Повернення до початку циклу
; Затримка
DELAY
MOVLW D'250' ; Налаштування затримки
MOVWF 0x21 ; Збереження значення
WAIT1
DECFSZ 0x21, F ; Зменшення значення, поки не досягне нуля
GOTO WAIT1
RETURN
END