Si además quieres enviarnos un Artículo para el Blog y redes sociales, pulsa el siguiente botón:
Hola a todos, la cosa que me parecia mas sencilla del mundo a la hora de programar mi pic, es la que mas me esta costando....Quiero configurar un puerto como entrada para que cuando detecte 5 voltios se active otro puerto...He leido en esta web la siguiente configuracion "hardware" , es decir connectar una resistencia de 10 Kohmios entre la pata del pic y tierra:
http://www.neoteo.com/tutorial-programacion-de-microcontroladores-2423.neo " onclick="window.open(this.href);return false;
Ajunto el codigo a ver si alguien sabe si el problema lo tengo en el codigo o en el hardware!
#include <P16F690.inc> ; processor specific variable definitions
__CONFIG (_INTRC_OSC_NOCLKOUT & _WDT_OFF & _PWRTE_OFF & _CP_OFF & _BOR_OFF & _IESO_OFF & _FCMEN_OFF)
W_TEMP EQU 0X20
STATUS_TEMP EQU 0X21
ORG 00H
GOTO inicio
ORG 04H
ORG 05H
GOTO interrupcion
interrupcion:
;guardamos estado de w y status
MOVWF W_TEMP
SWAPF W_TEMP, 1
MOVFW STATUS
CLRF STATUS
MOVWF STATUS_TEMP
;comprobamos si se trata de la interrupcion del timer1
BCF STATUS,RP1
BCF STATUS,RP0
BTFSS PIR1,TMR1IF
GOTO vuelve
BCF PIR1,TMR1IF
BTFSC PORTA,0
BSF PORTC,2
BTFSS PORTA,0
BSF PORTC,0
MOVLW b'00001101' ;Valores iniciales timer
MOVWF TMR1H
MOVLW b'11010000'
MOVWF TMR1L
vuelve:
;cargamos estado de w y status
MOVFW STATUS_TEMP
MOVWF STATUS
MOVFW W_TEMP
RETFIE
inicio:
BCF STATUS,RP1
BCF STATUS,RP0 ;Bank0
CLRF PORTC
CLRF PORTA
BSF STATUS,RP0
BCF STATUS,RP1 ;Bank1
MOVLW b'00000000'
MOVWF TRISC
MOVLW b'000001'
MOVWF TRISA
MOVLW b'00110111' ;Oscilador interno
MOVWF OSCCON ;( 000 -> 31KHz)
BCF STATUS,RP0 ;Bank0
MOVLW b'00001101' ;Valores iniciales timer
MOVWF TMR1H
MOVLW b'11010000'
MOVWF TMR1L
MOVLW b'10000000' ;Configuracion timer
MOVWF T1CON
BSF STATUS,RP0 ;Bank1
;Mascaras
BSF PIE1,TMR1IE
BSF INTCON,PEIE
BSF INTCON,GIE
BCF STATUS,RP0 ;Bank0
BSF T1CON,TMR1ON ;Timer ON
programa:
BSF PORTC,1
GOTO programa
END
El programa mantiene el led de PORTC1 encendido todo el rato y cada segundo comprueba si el PORTA0 esta activado o no y en funcion de su valor enciendo el PORTC0 o el PORTC2
Hola,
Qué es lo que te hace?
S2
Ranganok Schahzaman