Haz una pregunta
  Foros de Electrónica » Diseño digital » Microcontroladores y sistemas embebidos
Foros Registrarse ¿Olvidaste tu contraseña?
15/03/2011 #1


PIC18f2525 problema con RA7
hola, soy novato en esto de los PIC, en el ISIS no se activa RA7, he supuesto que es porque esta configurada para el reloj, pero en el archivo de bits de configuración lo tengo puesto como I/O

adjunto foto del archivo con la condiguracion de Bits

Muchas gracias.




;************************************************* ********
;EQUATES SECTION

LIST P=18F2525 ;directive to define processor
#include <P18F2525.INC>; ;processor specific variable

COUNT EQU 0CH ;COUNT is file 0C, a register to count events.
CONTA_1 EQU 0x20
CONTA_2 EQU 0x21
PDel1 EQU 0x22
PDel0 EQU 0x23
WORD_A EQU 0x30
WORD_B EQU 0x31



;************************************************* ********




;************************************************* *****************

;CONFIGURATION SECTION



MOVLW B'00000000' ; CONFIGURA LAS I/O
MOVWF TRISA
MOVLW B'00000000'
MOVWF TRISB
MOVLW B'00000000'
MOVWF TRISC

MOVLW B'00000000' ; PONE A 0 EL PUERTO `C`
MOVWF PORTC

MOVLW .8 ; RESETEA EL CONTADOR DE 8 DESPLAZAMIENTOS
MOVWF CONTA_2
MOVLW .8 ; RESETEA EL CONTADOR DE 64 DESPLAZAMIENTOS
MOVWF CONTA_1
;************************************************* ********
;Program starts now.






START

MOVLW B'00000001' ;
MOVWF WORD_A
MOVLW B'00000001' ;
MOVWF WORD_B
CALL OUT_PORT

MOVLW B'00000011' ;
MOVWF WORD_A
MOVLW B'00000011' ;
MOVWF WORD_B
CALL OUT_PORT

MOVLW B'00000111' ;
MOVWF WORD_A
MOVLW B'00000111' ;
MOVWF WORD_B
CALL OUT_PORT

MOVLW B'00001111' ;
MOVWF WORD_A
MOVLW B'00001111' ;
MOVWF WORD_B
CALL OUT_PORT

MOVLW B'00011111' ;
MOVWF WORD_A
MOVLW B'00011111' ;
MOVWF WORD_B
CALL OUT_PORT

MOVLW B'00111111' ;
MOVWF WORD_A
MOVLW B'00111111' ;
MOVWF WORD_B
CALL OUT_PORT

MOVLW B'01111111' ;
MOVWF WORD_A
MOVLW B'01111111' ;
MOVWF WORD_B
CALL OUT_PORT

MOVLW B'11111111' ;
MOVWF WORD_A
MOVLW B'11111111' ;
MOVWF WORD_B
CALL OUT_PORT

GOTO START

;************** RUTINAS *****************************************

OUT_PORT

MOVFF WORD_A,PORTB ; 2ª PALABRA DE 8bits
MOVFF WORD_B,PORTC ; 4ª PALABRA DE 8bits


CALL DESPLAZA1
RETURN


DESPLAZA1
BSF PORTC,0 ; Flanco de SUBIDA? para el registro
; CALL DEMORA
BCF PORTC,0
; CALL DEMORA

RRNCF PORTA
; CALL DEMORA
RRNCF PORTB
; CALL DEMORA
DECFSZ CONTA_2,F
GOTO DESPLAZA1

MOVLW .8 ;RESETEA EL CONTADOR DE 8 DESPLAZAMIENTOS (LED)
MOVWF CONTA_2
DECFSZ CONTA_1,F
RETURN
CALL LED_ON_OFF
RETURN


LED_ON_OFF
MOVLW .8 ;RESETEA EL CONTADOR DE 64 DESPLAZAMIENTOS = Nº REG_DESP / 2
MOVWF CONTA_1
BUCLE
BSF PORTC,3 ; ENCIENDE LOS LEDs
; CALL DEMORA_LED
GOTO BUCLE
; CALL DEMORA_LED
BCF PORTC,3 ; APAGA LOS LEDs

RETURN


DEMORA ;DELAY DE 1ms PARA 4Mh
DEMORA movlw .1 ; 1 set numero de repeticion .248
movwf PDel0 ; 1 |
PLoop0 clrwdt ; 1 clear watchdog
decfsz PDel0, 1 ; 1 + (1) es el tiempo 0 ?
goto PLoop0 ; 2 no, loop
PDelL1 goto PDelL2 ; 2 ciclos delay
PDelL2 clrwdt ; 1 ciclo delay
return ; 2+2 Fin.


DEMORA_LED ;DELAY DE 2ms PARA 4Mh
movlw .1 ; 1 set numero de repeticion .249
movwf PDel0 ; 1 |
L_PLoop0 clrwdt ; 1 clear watchdog
L_PDelL1 goto L_PDelL2 ; 2 ciclos delay
L_PDelL2 goto L_PDelL3 ; 2 ciclos delay
L_PDelL3
decfsz PDel0, 1 ; 1 + (1) es el tiempo 0 ?
goto PLoop0 ; 2 no, loop
L_PDelL4 goto L_PDelL5 ; 2 ciclos delay
L_PDelL5 clrwdt ; 1 ciclo delay
return ; 2+2 Fin.


END
Respuesta
¿Tienes una mejor respuesta a este tema? ¿Quieres hacerle una pregunta a nuestra comunidad y sus expertos? Registrate

Foros de Electrónica » Diseño digital » Microcontroladores y sistemas embebidos

Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO ©2011, Crawlability, Inc.