fbpx

Expresate

Si además quieres enviarnos un Artículo para el Blog y redes sociales, pulsa el siguiente botón:

Avisos
Vaciar todo

Pines entrada/salida pic

2 Respuestas
2 Usuarios
0 Reactions
957 Visitas
plapu
Respuestas: 80
Topic starter
(@plapu)
Trusted Member
Registrado: hace 16 años

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

Responder
1 respuesta
ranganok
Respuestas: 3875
(@ranganok)
Ardero
Registrado: hace 19 años

Hola,

Qué es lo que te hace?

S2

Ranganok Schahzaman

Responder
Compartir: