Ayuda con PIC 16f84a

Buenas,
estoy iniciandome en el mundo de los microcontroladores PIC y para ello he elegido el modelo 16f84a; este es la primera vez que programo uno de estos aunque ya tengo experiencia en otros tipos de programación y algo de electronica. Primeramente construí la targeta programadora y utilizo el icprog para quemarlo, y realice un simple programa en el que conecta una un led en una salida. Mi atasco viene cuando me encuentro con las patillas OSC1 y OSC2. Según e aprendido por ay aquí le tengo que conectar un oscilador externo que los hay de varios tipos. De momento me quiero apañar con los componentes que tengo en casa, así que mi pregunta es: ¿Es necesario conectarle un oscilador externo para que funcione correctamente? en caso de que sí, necesitaría alguien con experiencia en este campo que me aconseje....
Un saludo
 
De momento me quiero apañar con los componentes que tengo en casa, así que mi pregunta es: ¿Es necesario conectarle un oscilador externo para que funcione correctamente? en caso de que sí, necesitaría alguien con experiencia en este campo que me aconseje....
Un saludo

Ovbio que si mi estimado prog20, es el que determina el tiempo en que se ejecuta todo dentro del pic.

Mira, consigue el programa "PCBWizard" porque aqui adjunte la placa del PIC para que la hagas, cualquier duda acerca del 16f84, utiliza el buscador del foro o haznosla saber por aqui.

Pero tampoco seas cómodo !

Nota: el diodo puede ser de la serie 1n4xxx


Saludos de Tj
 

Adjuntos

  • PIC tiny.rar
    1.6 KB · Visitas: 41
Última edición por un moderador:
Estimado amigo:

Sí, es obligado tenerlo externo el 16F84A, si quieres uno interno que es un PIC más moderno usas el 16F88 que es su compatible de pines.

Lo mejor para aprender 16F84A es su propio libro para ello que puedes ver por aquí, y te habla muy bien sobre los osciladores que hay.

http://www.pic16f84a.org/

Un cordial saludo.
 
de acuerdo ya compre un cristal de cuarzo de 4mhz y lo instale pero tengo una duda mas, espero qe no les moleste...
¿a la hora de quemar el programa en el pic es necesario el uso del oscilador fisicamente?
es decir estoy usando el icprog para quemarlo con xp y no doi con la tela para conseguirlo. He realizado un montón de pruebas con las distintas opciones y e leido varios post pero nada. El quemador que uso es el de pablin el 1, y e observado algo, y es que no detecto cambio de nivel en los pines del puerto paralelo, es decir, si para poner el pic en modo programacion (12V) se tiene que activar el pin 5 para excitar el transistor no recibo cambio alguno de este......nose que sucede. El caso es que el montaje esta perfectamente realizado tal como se muestra en la web y no consigo hacerlo andar..
por favor ayuda
 
ya vale gracias, ya por lo menos se que el fallo no esta ay..... pero sigo sin poder programar el pic no doi con la tela y el programa icprog no me envia señales por el puerto, estoy perdio....
saludos
 
aa caabron! :S

oye man pues que programador estas usando, si lo compraste debe de funcionar perfectamente, si lo hiciste tu (como es en mi caso) vuelve a chacar todas las pistas :S

yo alguna vez tuve problemas, y era porque en la opcion de oscilador lo dejaba en "RT" y es "XT" alomejor esto te ayude y en fuente creo que es Vdd no recuerdo muy bien.
Por cierto de recomiendo "WinPic800" esta mejor

Saludos
 
buenas
de momento he probado tanto el icprog como el wincip800 y en ambos he toqueteado todo lo posible y he probado de todo, y el esquema esta perfectamente realizado puesto que lo he revisado 100 veces... he visto mucha gente que tambien le falla mucho pero no se resuelven muchas cuestiones por ahi. Lo raro que le veo es que por ejemplo le doy a programar el pic y no detecto cambio alguno en los niveles de tension de las lineas del puerto paralelo, lo he observado tanto por que no varia el led como por polímetro y no se que hacer, no me funciona de ninguna manera y no creo que el programa me este fallando puesto que hay tanta gente que lo utilice no se....
Tambien he visto algo por ahi de que el nivel de tension necesario para que el 16f84a se ponga en modo de programación tiene que ser mayor a 12VDC (aunque en los esquemas venga a 12V). Yo uso una fuente de alimentacion de 12VDC y luego una fuente de tension regulada 7805, como puedo aumentar un pelin esa tension por curarme en ese fallo???
Saludos
 
Última edición por un moderador:
buenas
de momento he probado tanto el icprog como el wincip800 y en ambos he toqueteado todo lo posible y he probado de todo, y el esquema esta perfectamente realizado puesto que lo he revisado 100 veces... he visto mucha gente que tambien le falla mucho pero no se resuelven muchas cuestiones por ahi. Lo raro que le veo es que por ejemplo le doy a programar el pic y no detecto cambio alguno en los niveles de tension de las lineas del puerto paralelo, lo he observado tanto por que no varia el led como por polímetro y no se que hacer, no me funciona de ninguna manera y no creo que el programa me este fallando puesto que hay tanta gente que lo utilice no se....
Tambien he visto algo por ahi de que el nivel de tension necesario para que el 16f84a se ponga en modo de programación tiene que ser mayor a 12VDC (aunque en los esquemas venga a 12V). Yo uso una fuente de alimentacion de 12VDC y luego una fuente de tension regulada 7805, como puedo aumentar un pelin esa tension por curarme en ese fallo???
Saludos

Mira hermano, yo hize un programador para 16f84 por el puerto serie y me funciono de maravilla :)
aqui te dejo el archivo adjunto en .rar, por el diseño de la placa lo hize en PCB Wizard.

Saludos y espero te ayude
 

Adjuntos

  • Circuito 1.rar
    40.6 KB · Visitas: 35
No, en el mensaje no.10 dice que lo tiene conectado al puerto paralelo
por eso le mande el que hize yo, es para el puerto serie

No, en el mensaje no.10 dice que lo tiene conectado al puerto paralelo
por eso le mande el que hize yo, es para el puerto serie

por cierto Saludos Sammaael creo que ya me habia topado contigo en otro tema jeje
 
Última edición:
Pues si cierto es.........estoy usando el programador de pablin 1 que se realiza por medio de puerto paralelo y si que estoy utilizando un cable de utp para evitar interferencias. Voy a realizar las ultimas pruebas con este programador por paralelo y si no me tiro a realizar el esquema de ballestool por puerto serie, que te agradezco mucho que me lo dejes, y me atrevo a hacerte una pregunta¿Puedo cambiar ambos transistores por transistores BC547 que son los que mas tengo a mano aunque uno sea NPN y otro PNP?
Aun así mientras realizo las últimas pruebas con el programador de pablín os comento unas dudas sobre este programador, y es que al programar todo, al leer datos...etc no tveo ningun cambio lógico los pines del puerto y no se consigue comunicar con el pic, nose que cojones le pasa al puerto o si soy yo o no se.....

y se por cierto.............me aparece el error 0000h como bien dices es muy famoso y al parecer a todo el mundo se le suele presentar, yo e mirado en muchos lados y e echo todo lo que dicen sin conseguirlo, tambie ay mucha gente que le sucede lo mismo.
 
Última edición:
Pues si cierto es......... Estoy usando el programador de pablin 1 que se realiza por medio de puerto paralelo y si que estoy utilizando un cable de utp para evitar interferencias. Voy a realizar las últimas pruebas con este programador por paralelo y si no me tiro a realizar el esquema de ballestool por puerto serie, que te agradezco mucho que me lo dejes, y me atrevo a hacerte una pregunta. ¿Puedo cambiar ambos transistores por transistores BC547 que son los que mas tengo a mano aunque uno sea NPN y otro PNP?
Aún así mientras realizo las últimas pruebas con el programador de pablín os comento unas dudas sobre este programador, y es que al programar todo, al leer datos...etc no tveo ningún cambio lógico los pines del puerto y no se consigue comunicar con el pic, nose que [Piiiiiii] le pasa al puerto o si soy yo o no se.....

Y se por cierto.............me aparece el error 0000h como bien dices es muy famoso y al parecer a todo el mundo se le suele presentar, yo e mirado en muchos lados y e echo todo lo que dicen sin conseguirlo, también hay mucha gente que le sucede lo mismo.

Mira este manual del famoso error 00000000.

http://electronica-pic.blogspot.com/2009/03/manual-ic-prog.html

Saludo.
 
Agradecido te estoy por la ayuda de verdad, pero empiezo a creer que el puerto paralelo de mi pc tiene serios problemas ya que se debe a ello......... voy a ver que puedo hacer y me construiré un programador por serie a vver que tal.........
 
consejo si te vas a armar un grabador que sea por usb.... mas practico, mas universal, y te olvidas de los problemas de los jdm
el puerto serie siempre es un cacho (no el moderador por cierto)
 
Muchas gracias por la información, ya conseguí armar un programador por puerto serie que funciona de maravilla, me programa el pic y me lo lee perfecto. Ahora se me presenta un problema, y es que le cargo un programa al pic y le monto un circuito super sencillo y este no quiere funcionar, no hace nada.
El programa lo único que se supone que debe de hacer es encender un led en RB1; lleva conectado un oscilador XT con un cristal de 4mHz y el MCLR conectado a 5 voltios, pues bien ste no me hace nada, tambien e probado varios pic distintos por si fueran defectuosos y nada, no quiere hacer nada. Ojala me pudierais ayudar porque me encanta el tema; aquí dejo el programa en ensamblador que le carge y si teneis cualquier diseño de un circuitiyo o lo que sea el más basico simplemente para probar su funcionamiento tambien me viene bien.

;+------------------------------------------------+
;| Ejemplo 1 (LED ON/OFF sin pausa) |
;| Al no haber pausa el efecto es que el LED esta |
;| siempre encendido |
;| |
;| LED conectado a RB1 ( PORTB: xxxx - xxLx ) |
;+-----------------------------------------------+

list P=16F84A ; indicamos el modelo de PIC que tenemos
; definición

PORTB equ 0x06
DDRB equ 0x06
STATUS equ 0x03

org 0

; Accedemos al segundo banco de RAM de Datos

bsf STATUS,5

; Configuración puertos

movlw 0
movwf DDRB ; TRISB = 0 -> puerto B de salida

; Accedemos al primer banco de RAM

bcf STATUS,5

; empieza el programa principal

inicio movlw 0x02 ; Enciendo el LED
movwf PORTB ; devuelvo el valor al puerto B
bcf PORTB,1
goto inicio ; lo dejo en bucle infinito

END


ahh otra cosa tambien le e probado con el watchdog y sin el wachdog por si fuera algo de eso pero nada.

Ale saludos!
 
Atrás
Arriba