Codigo SPI Prueba

Descargar como txt, pdf o txt
Descargar como txt, pdf o txt
Está en la página 1de 3

Comunicación SPI microcontrolador PIC16F887

PROCESSOR P16F887
INCLUDE <P16F887.INC>

__CONFIG _CONFIG1, (_INTRC_OSC_NOCLKOUT & _WDT_OFF & _PWRTE_OFF & _MCLRE_OFF &
_CP_OFF & _CPD_OFF & _BOR_OFF & _IESO_OFF & _FCMEN_OFF & _LVP_OFF & _DEBUG_OFF)
__CONFIG _CONFIG2, (_WRT_OFF & _BOR40V)

CONTA EQU 0x20 ;ETIQUETAR RPG


VA EQU 0x21
VB EQU 0x22
VC EQU 0x23

ORG 0x00 ;VECTOR RESTAURACION

BANKSEL ANSEL ;CAMBIO BANCO 3


CLRF ANSEL
CLRF ANSELH

BANKSEL TRISA ;CAMBIO BANCO 1


MOVLW 0xFF
MOVWF TRISA
CLRF TRISB
CLRF TRISC
CLRF TRISD
CLRF TRISE

BANKSEL PORTA ;CAMBIO BANCO 0


CLRF PORTB
CLRF CONTA

;METODO 1
;C_P MOVLW 0x01 ;CICLO PRINCIPAL
; MOVWF PORTB
; CALL RET
; MOVLW 0x02
; MOVWF PORTB
; CALL RET
; MOVLW 0x04
; MOVWF PORTB
; CALL RET
; MOVLW 0x08
; MOVWF PORTB
; CALL RET
; MOVLW 0x10
; MOVWF PORTB
; CALL RET
; MOVLW 0x20
; MOVWF PORTB
; CALL RET
; MOVLW 0x40
; MOVWF PORTB
; CALL RET
; MOVLW 0x80
; MOVWF PORTB
; CALL RET
; MOVLW 0x40
; MOVWF PORTB
; CALL RET
; MOVLW 0x20
; MOVWF PORTB
; CALL RET
; MOVLW 0x10
; MOVWF PORTB
; CALL RET
; MOVLW 0x08
; MOVWF PORTB
; CALL RET
; MOVLW 0x04
; MOVWF PORTB
; CALL RET
; MOVLW 0x02
; MOVWF PORTB
; CALL RET
; GOTO C_P

;METODO 2
;C_P MOVLW 0x01 ;CICLO PRINCIPAL
; MOVWF PORTB
; RLF PORTB,F
; CALL RET
; RLF PORTB,F
; CALL RET
; RLF PORTB,F
; CALL RET
; RLF PORTB,F
; CALL RET
; RLF PORTB,F
; CALL RET
; RLF PORTB,F
; CALL RET
; RLF PORTB,F
; CALL RET
; RRF PORTB,F
; CALL RET
; RRF PORTB,F
; CALL RET
; RRF PORTB,F
; CALL RET
; RRF PORTB,F
; CALL RET
; RRF PORTB,F
; CALL RET
; RRF PORTB,F
; CALL RET
; RRF PORTB,F
; CALL RET
;
; GOTO C_P

;METODO 3
MOVLW 0x01 ;CICLO PRINCIPAL
MOVWF PORTB
CALL RET
C_1 BCF STATUS,C
RLF PORTB,F
CALL RET
MOVF CONTA,W
INCF CONTA,F
MOVLW 0x07
SUBWF CONTA,W
BTFSS STATUS,Z
GOTO C_1
CLRF CONTA
C_2 BCF STATUS,C
RRF PORTB,F
CALL RET

MOVF CONTA,W
INCF CONTA,F
MOVLW 0x07
SUBWF CONTA,W
BTFSS STATUS,Z
GOTO C_2
CLRF CONTA
GOTO C_1

RET MOVLW 0x01


MOVWF VC
C_VC MOVLW 0xFA
MOVWF VB
C_VB MOVLW 0xF9
MOVWF VA
C_VA NOP
DECFSZ VA,F
GOTO C_VA
DECFSZ VB,F
GOTO C_VB
DECFSZ VC,F
GOTO C_VC
RETURN

END ;FIN

También podría gustarte