ante todo, un saludo a todos ustedes y gracias por permitrime accesar su espacio.
Estoy recien ingresado al mundo de los pic, y eh leido que el mas comodo para principiantes es el 16f84, Utilizo el MPLAB para realizar mi programa y compilarlo y el proteus (isis) para simularlo.
Bueno, la verdad es que no me han funcionado bien ninguno de los programas que he hecho, incluso hice una sencillez encender o apagar una salida dependiendo de el estado de un bit del puerto b, y aun asi no funciono... incluso limpio el wdt en todo momento que pueda, para ver si eso es lo que me causa el problema... pero nada.
la verdad es que estoy ya desesperado ya que no genero la solucion y espero poder encontrar ayuda aqui.
ahi les va el codigo del programa:
listp = 16f84a
tmr0 equ 01h
option_reg equ 01h
estado equ 03h
porta equ 05h
trisa equ 05h
portb equ 06h
trisb equ 06h
ORG 00h
goto start
org 30h
start clrwdt
clrf porta ;limpio puerto A
clrf portb ;limpio puerto B
bsf estado,5 ;banco 1
bsf option_reg,7 ;activo resistencias de pull up puerto b
movlw b'00000000'
movwf trisa ; puerto a salida
movlw b'00000001'
movwf trisb ;bit 0 de puerto b entrada
bcf estado,5 ; banco 0
aki clrwdt
bsf porta,1 ;enciendo salida 1
ahi btfsc portb,0 ;pregunto si el bit 0 es Cero
goto aki ; si no lo es salte a "aki" ponga otra vez el bit1 porta a 1
clrwdt
bcf porta,1 ; si es CERO que me apague a porta,1
goto ahi ;vuelva a preguntar
end
bueno, basicamente lo que deberia hacer es que si tengo un cero en portb,0 entonces porta,1 deberia apagar, y si portb,0 esta en 1, entonces porta,1 deberia encender....
el compilador no me genera errores...y como ya dije el clrwdt es apra asegurarme de que el wdt no me resetee el micro.
ahora bien con el isis.... al 16f84 en isis le pongo su cristal y sus caps de 4Mhz y 22p, y le pongo el MCLR a 5V ( aunque lei que no era necesario, pero tambien intente sin eso, solo configurandolo y no funciono)... en porta,1 pongo un led con una resistencia de 220 y su tierra, si esta bien polarizado el led. y bien para la entrada en portb,0 pongo un pulsador a tierra y como las resistencias de pull up estan habilitadas no tengo que ponerlas externamente (aunque tambien las puse y no funciono)
en fin ya ven que eh tomado las precauciones necesarias en cuanto al circuito esquematico, si bien tengo un problema creo que seria por el ensamblador.. y ahi es donde entrar ustedes amigos... agredeceria CUALQUIER tipo de ayuda para este problema...
Muchas Gracias
Saludos, Miguel Angel