Parpadeo LED PIC16f84

Hola a todos, soy nuevo en el foro y relativamente nuevo en el mundo de la electrónica, vengo con muchas ganas de aprender, y por ahora de comeros a preguntas ! xd

Bueno, al turron, tengo varias prácticas que hacer para clase y estoy algo atrancado con el tema del ensamblador. He dado tambien un poco de C, pero hay cuestiones en las que me encuentro algo perdido.

Por ahora debo de conseguir el parpadeo de un led cada 500 ms, pero el caso es que estoy atrancado mucho antes. Usando el Proteus como simulador he planteado el circuito para programar el pic.

El primer problema que me encuentro es que cuando fijo un puerto como salida sin nada conectado, me aparece en proteus que el estado lógico es uno, es decir, aparece el puntito rojo en el pin. Pero cuando conecto un LED y ejecuto el programa, el pin conectado al LED me aparece en gris. Sin embargo si en la configuración del modelo del LED escojo DIGITAL, si enciende. ¿Estoy haciendo algo mal?
(He puesto dos leds en la imagen para que se vea mejor, y en código he puesto a 1 esas dos salidas en el puerto B)


6366652proteus.jpg


El código que quiero usar va a usar el desbordamiento del timer 0 con el preescaler a tope 8 veces que son unos 500 ms para marcar cada conexión y desconexión.

Aun estoy trabajando en el código, pero esto es lo que he usado para llegar hasta donde fallo.

List p=16f84 ;Tipo de procesador
include "p16f84.INC" ;Definiciones de registros internos

LLL equ 0x14 ;
Reg2 equ 0x11 ;
Reg3 equ 0x12 ;
Reg4 equ 0x13 ;

org 0x00 ;Vector de Reset

goto Inicio

org 0x05 ;salva el vector de interrupción

Inicio clrf 0x01
bcf STATUS,RP0
clrf PORTB
bsf STATUS,RP0
clrf TRISB
bcf OPTION_REG,3
bsf OPTION_REG,2
bsf OPTION_REG,1
bsf OPTION_REG,0
bsf PORTB,6
bsf PORTB,2
end

Gracias y un saludo a todos !
 
Atrás
Arriba