4.Разработка программного обеспечения
При разработке и отладке программы были использованы программы Proteus и AVRstudio.
list p=16F84A
#include <p16F84A.inc>
; _CONFIG _CP_OFF & _WDT_OFF & _PWRTE_ON & _XT_OSC
;***базовые значения
del EQU 0xFF ;константа длительности задержки
count EQU 0x0C ;переменная подпрограммы задержки
ORG 0x00
;***начальная инициализация
clrf PORTA ;очистить порт А
clrf PORTB ;и порт В
bsf STATUS,RP0 ;включили банк 1
movlw INIT_A
movwf PORTA ;настроили порт А
movlw INIT_B
movwf PORTB ;настроили порт В
bcf OPTION_REG,7 ;включили встроенную нагрузку
bcf STATUS,RP0 ;включили банк 0
clrw
movwf PORTB
main
movlw b01010000
movwf PORTB
call delay
;-------Вставляем сюда задержек, столько - сколько надо, или модифицируем подпрограмму на более длинную задержку
call delay
movlw b01100000
movwf PORTB
call delay
;-------Вставляем сюда задержек, столько - сколько надо, или модифицируем подпрограмму на более длинную задержку
call delay
movlw b10100000
movwf PORTB
call delay
;-------Вставляем сюда задержек, столько - сколько надо, или модифицируем подпрограмму на более длинную задержку
call delay
movlw b10010000
movwf PORTB
call delay
;-------Вставляем сюда задержек, столько - сколько надо, или модифицируем подпрограмму на более длинную задержку
goto main
;***подпрограмма формирования задержки между шагами
delay movlw del
movwf count
loop decfsz count,f
goto loop
return
END