TODOPIC
Microcontroladores PIC => Todo en microcontroladores PIC => Mensaje iniciado por: myx628 en 04 de Septiembre de 2007, 15:32:21
-
Hola q tal soy nuevo en esto , recien empiezo y ya tengo problemas.
Ya hice el programa para q nada mas prenda dos leds, mediante el puerto b. Usando el MPLAB , y despues con el IC-PROG lo paso al pic. Uso el programador Quark Pro 2.
Al circuito lo arme en la proto-board, como esta en el dibujo de abajo. Utilizando un pic 16f84. Pero no hace nada de nada.
Nose cual es el problema, si alguna mala configuracion de algun software o soy yo.
El IC-PROG lo graba bien, lo verifica bien y lo lee, todo bien.
Tambien he cambiado el pic por un 16f627 (modificandole las entradas degitales), pero hace lo mismo, nada.
Espero su ayuda, y gracias de antemano.
Disculpen si el tamaño de la fotos es muy grande. asi se ven mejor
Aca dejo el .asm y el .hex , tambien el dircuito.
(http://img115.imageshack.us/img115/4126/mplabasmbc3.png)
(http://img204.imageshack.us/img204/9106/16f84circuitogk4.png)
-
Pues hace mucho que no trabajo en ensamblador pero bueno, aqui van unas cosillas que vi.
yo al inicio ponia
list p=16f84a
#include<p16f84a.inc>
te falta declarar si utilizas como entradas o salidas los puertos
yo lo hacia algo asi
status equ 0x03
rp0 equ 0x05
trisa equ 0x85
trisb equ 0x86
org 0x00
bsf status,rp0
clrf trisa
clrf trisb
bcf status,rp0
Las resistencias de los leds, yo las pondria de unos 330 ohms
Pues si le veo algo mas, te digo.
Suerte :-)
-
Modifique todo lo q me dijistes, pero sigue sin hacer nada, esta igual q antes.
Igual Muchas gracias por tu ayuda.
Tambien lo q hice fue medir las patas del pic , y entregan valores de 0.5 volts las patas q tienen las resistencias con los led. y las demas patas entregan valores de 0.9 volts.
-
Mmmmm, pues mira, aca te dejo un programa de ejemplo que hise hace mucho, pero debe funcionar.
list p=16f84a
#include<p16f84a.inc>
status equ 0x03
rp0 equ 0x05
trisa equ 0x85
trisb equ 0x86
porta equ 0x05
portb equ 0x06
a1 equ 0x0c
a2 equ 0x0d
org 0x00
bsf status,rp0
clrf trisa
clrf trisb
bcf status,rp0
movlw 0x01
movwf porta
movlw 0x80
movwf portb
start
call tiempo
rlf porta
btfss porta,4
goto pb
call tiempo
movlw 0x01
movwf porta
pb rrf portb
btfss portb,0
goto tim
call tiempo
movlw 0x80
movwf portb
tim call tiempo
goto start
tiempo
movf a2,0xff
te movf a1,0xff
tr decfsz a1,1
goto tr
decfsz a2,1
goto te
return
end
El programa enciende el bit 0 del puerto A y el 7 del puerto B, y los va rotando, necesitaras llenar de leds los puertos A y B, otra cosa el pin 4, si no mal recuerdo es MCLRE, colocale una resistencia de unos 2.2K a Vcc, no la conectes directamente.
aah, y veo que en IC-prog esta habilitado WDT, no lo habilites.
Te recomiendo que utilices WinPic800, ami me agrada mucho mas :mrgreen:.
Saludos
-
Hola myx628: me parece que estás grabando mal el pic, no sé si me equivoco pero en la captura de pantalla que muestras de icprog, en la parte del programa está todo vacío y veo datos en la eeprom, como que has cargado en la eeprom y no en la memoria de programa, me explico?
Otra cosita, en tu programa deberías poner una rutina de retardo como para que puedas ver el parpadeo de los leds, ya que el micro trabaja 1 instrucción cada micro segundo, por lo tanto el ciclo se cumple tan rápido que no lo vas a poder apreciar.
Saludos y cualquier cosa sigue consultando.
-
Otra más.
El pin 4 no lo pongas directo a 5 Volts. Pónlo a través de una R de 4K7.
Y en las salidas a los led's, no pongas 1K, pónle 470 ó 330 Ohms.
Saludos
Mario
-
Hola myx628: me parece que estás grabando mal el pic, no sé si me equivoco pero en la captura de pantalla que muestras de icprog, en la parte del programa está todo vacío y veo datos en la eeprom, como que has cargado en la eeprom y no en la memoria de programa, me explico?
Otra cosita, en tu programa deberías poner una rutina de retardo como para que puedas ver el parpadeo de los leds, ya que el micro trabaja 1 instrucción cada micro segundo, por lo tanto el ciclo se cumple tan rápido que no lo vas a poder apreciar.
Saludos y cualquier cosa sigue consultando.
Mi PROBLEMA era q lo cargaba en la eeprom y no en la memoria del programa. Por que lo q yo hacia en el IC-PROG era entrar en Archivo y ponia Abrir archivos de datos.. .
Para cargarlo en la memoria de programa hay q entrar en Archivo y Abrir archivo.
Muchas gracias, por su ayuda. Ahora cuando pueda subo una foto de lo q hice mal , por si a otro le pasa lo mismo q a mi, lo pueda solucionar lo antes posible.
PD: MUCHISIMAS GRACIAS A TODOS, SE LOS AGRADESCO
Otra cosa q capaz q les sirva o no, si le dejan la pata 4 a vcc, anda igual.
Si le dejan las resistencias q van a los led de 1k, tambien anda bien (no prenden mucho, pero se ven).
:-/ :-/ :-/ :-/
-
Aca esta mi gran error , por si le pasa a otro q ponga siempre el q dice Abrir archivo..
Gracias por todo :-/ :-/
(http://img529.imageshack.us/img529/2729/errorga0.png)
-
Me alegro que lo hayas solucionado!!!!!!!!
suerte!!!!