TODOPIC
Microcontroladores PIC => Todo en microcontroladores PIC => Mensaje iniciado por: JoseV en 12 de Octubre de 2009, 19:05:25
-
Hola. Saludos al foro.
Por favor una manita para este pequeño y enano micro que me está liando.
No entiendo como se configuran sus pines de entrada o salida (y mira que son pocos).
Hay una explicacion en C pero solo programo un poco en ASM y he tratado de interpretar lo que se dice pero nada.
El datasheet no me lo aclara tampoco mucho.
Quiero que GP0 sea entrada analógica y GP1 y GP2 salidas digitales.
Agradecido por su atención. Un saludo.
JoseV
-
Hola JoseV, para configular los pines como entradas al conversor AD debes escribir el registro ADCON0, especificamente los bits ANS1 y/o ANS0, en tu caso debes poner a 1 el bit ANS0 (Pag 30 del Datasheet).
Con las siguientes instrucciones seteas GP0 como entrada y GP1, GP2 como salidas
MOVLW 0x1
TRIS 0x6
Saludos
-
Hola.
Micro23, gracias por tu respuesta. El manejo del registro ADCON0 lo entiendo perfectamente. Es como en otros PIC que he programado.
El control del registro TRIS, tambien comprensible, pero no soy capaz de controlar el GPIO2.
Esto es lo que he hecho
INICIO
MOVLW B'01000000'
MOVWF ADCON0
MOVLW B'00000001'
TRIS 0X06
BCF GPIO,1
BSF GPIO,1
BSF GPIO,2
BCF GPIO,2
.....
GPIO,2 ni se entera. el pin permanece en gris (estoy simulando en Proteus), como si estuviera configurado de entrada.
¿Qué tiene que ver en esto el registro OPTION?. He visto que de alguna forma puede cambiar todo esto.
Me cabreo conmigo porque no acabo de verle el concepto a esta cucarachilla despues de haber hecho alguna cosilla con otros micros (f628, f876...).
¿No es este un poco rarillo?.
Saludos a todos y gracias.
JoseV
-
Hola JoseV, en la pagina 21 del datasheet estan los requicitos para hacer que los pines sean digitales. Como el GP2 puede tener otras funciones, entonces hay que cumplir lo de la tabla.
O sealos bits:
FOSC4=0
T0CS=0
Saludos
-
Gracias.
Lo entiendo ahora mejor
Saludos.
JoseV