Напишем программу на ассемблере, с помощью которой будем мигать 4-мя светодиодами расположенным на выходах RC0, RC1, RC2, RC3 (15,16,17,18 ножка на микросхеме)(movlw b’00001111′) для микросхемы PIC16F877A.
Скачать HEX и ASM файлы мигания светодиодами на микросхеме PIC16F877A можно – здесь:
Скачать HEX и ASM в архиве tar.gz.
Код программы на ассемблере:
[php] INCLUDE <P16F877A.INC>ERRORLEVEL -302
__CONFIG _HS_OSC & _WDT_OFF & _PWRTE_OFF & _CP_OFF & _BODEN_ON & _LVP_OFF & _CPD_OFF
Reg_1 EQU 22
Reg_2 EQU 23
Reg_3 EQU 24
org 0
Start
BCF STATUS,RP0 ; select bank 0
CLRF PORTA ; porta=0
movlw b’11111111′
movwf CMCON
BSF STATUS,RP0 ; select bank 1
movlw b’00001000′
movwf TRISA
CLRF TRISC ; make PORTC pins all output
BCF STATUS,RP0 ; select bank 0
movlw b’00000000′
movwf PORTC ; set portc pins equal to 0
loop
movlw b’00001111′
movwf PORTC
call Pause
movlw b’00000000′
movwf PORTC
call Pause
goto loop
Pause
movlw 0x173
movwf Reg_1
movlw 0x19
movwf Reg_2
movlw 0x6
movwf Reg_3
wr
decfsz Reg_1, 1
goto wr
decfsz Reg_2, 1
goto wr
decfsz Reg_3, 1
goto wr
nop
return
end
[/php]Схема соединения:
Резисторы – 2 шт по 12 кОм.
Конденсаторы кремневые по 40пФ.
Резонатор на 4-6 МГц.
4 светодиода.
Питание на 5 В можно с USB компа.


