Skusal so to na 16f877. Uz nemam napady co este je potrebne spravit.
Za kazdu radu dakujem
Kód: Vybrat vše
list p=16f877A, R=DEC
include "p16f877A.inc"
org 0x0000 ; zacatek programu
goto INIT ; skok na počáteční inicializaci
org 0x0004
retfie
;**************************************************************************
INIT movlw b'000000' ; prednastaveni PORTu A
movwf PORTA
movlw b'00000000' ; prednastaveni PORTu B
movwf PORTB
movlw b'00000000' ; přednastavení PORTu D
movwf PORTD ; !!! jen PIC16F874 a PIC16F877 !!!
movlw b'000' ; přednastavení PORTu E
movwf PORTE ; !!! jen PIC16F874 a PIC16F877 !!!
; ------------------------
bcf STATUS,RP1
bsf STATUS,RP0 ; banka registru 1
movlw b'00000110' ; A/D vstupy OFF
movwf ADCON1
MOVLW B'00010000'
MOVWF TRISC ;
;-----------------------------------------------------------------------------------------------------------------------
movlw b'11111111' ;
movwf TRISD ;
movlw b'111' ;
movwf TRISE ;
movlw 01000000
movwf SSPSTAT
CLRF PIR1
MOVLW B'00001000'
MOVWF PIE1
MOVLW B'11000000'
MOVWF INTCON ; INTERRUPTS
MOVLW B'00000001' ;
MOVWF SSPCON
BSF SSPCON, SSPEN
CLRF OPTION_REG
MOVLW B'00000001'
MOVWF T1CON
MOVLW B'00000010'
MOVWF T2CON
BCF STATUS, RP0 ;SPECIFY BANK 0
goto MAIN
;**************************************************************************
MAIN BCF STATUS, RP1 ;Specify Bank1
BSF STATUS, RP0 ;
BCF SSPSTAT,7
BCF STATUS, RP0 ;SPECIFY BANK 0
MOVFW SSPBUF
movlw .100
MOVWF SSPBUF
BCF STATUS, RP1 ;Specify Bank1
BSF STATUS, RP0 ;
LOOP BTFSS SSPSTAT, BF ;
GOTO LOOP
BCF SSPSTAT, BF
BCF STATUS, RP0
NOP
NOP
NOP
NOP
NOP
MOVFW SSPBUF
GOTO MAIN
ENDEDIT: Upraveny program