En ISIS ares si me funciona pero en el proto NO¡¡¡¡

#1
Ps tengo un porblema, y es que cree un programa que enciende y apaga un led mediante botones y lo hice en mikrobasic pro, y lo corri y nada sin error, luego lo lleve a ISIS ares igual jalo bien... pero ahora en el protoboar no me funca..por queee ayuda porfavorr :cry:

El pic que utilizo es: pic16f84a
 
#2
Lo primero que debes hacer es mostrarnos el esquema y el código, ya que si no no se me ocurre cómo podemos intentar solucionarlo.
Un saludo
 
#4
ok.. aqui tienen el programa y el cto en ares. Estoy empezando a aprender sobre pics y creo el mas censillo es basic asi que es el lenguaje que utilizo por ahora, y el programa que utilizo para programar es mikroBasic Pro.

Imagen del cto http://www.subirimagenes.com/imagen-pic16f84a-6515905.html

Y este es programa:

Código:
program control_de_velocidad
main:

TRISA = %11100 'Pines de salida: 18 y 17, las demas son entradas…
TRISB = %00001111 'PuertoB tiene 4 pines como entradas y 4 como salidas
'PORTB = 0 'Apago los LEDs conectados al puertoB
'PORTA = 0     'Apago los LEDs conectados al puertoA

WHILE TRUE ' Comienzo un bucle infinito, Pulsador 5

IF PORTA.3 = 1 THEN PORTA.0 = 1          ' -VEL 5-

PORTB.7 = 0
PORTB.6 = 0
PORTB.5 = 0
PORTB.4 = 0
porta.4 = 0
portb.1 = 0
portb.2 = 0
portb.3 = 0
END IF

IF PORTA.4 = 1 THEN PORTB.7 = 1          ' -VEL 4-

Y este es la imagen del pickit2 clone:
http://www.subirimagenes.com/imagen-pickit2c-6515953.html
 
Última edición:
#5
Creo que te falta el cristal, el 16f84a no tiene oscilador interno... y probablemente el pullup al mcrl con resistencia de 4k7 y quizas no estas definiendo bien los fuses
 
#7
ps no, por que ps no ocupo el oscilador, es decir si quiesiera que se prendieran en cierto tiempo los leds ps ahi si necesito un oscilador.... En ares si lo simula, sin el oscilador.
 
#8
En ares si lo simula, sin el oscilador.
en el ares no creo que lo este simulando... es un programa para hacer PCB...

en el ISIS si lo creo... pero si le das click en propiedades del micro te fijas que dice algo como oscilador 1MHz, ahi lo esta simulando con un cristal de 1MHz aunque no lo pongas....

debes poner un cristal, generalmente es de 4MHz y dos capacitores ceramicos de 22pf... y como te comento pon una resistencia de 4k7 con una patita al positivo y otra al pin 4 MCLR....

Aaaaaahhh y busco en el internet que significa "ps" y me pone "partido socialista"

a que te refieres con eso????
 
Última edición:
#9
ps = pos = pues ??? jeje

A lo mejor puede ser lo del cristal, tambien puede ser que no hayas puesto alimentacion al pic en el protoboard, recuerda que el proteus obvia el tema de la alimentacion, pero fisicamente es necesario ponerla.

Saludos
 
#10
UN oscilador es obligatorio ponerlo, el pic realizar las instrucciones e x cantidad de ciclos de reloj si no tiene la base de tiempo no va a hacer nada. Hay algunos pic que tienen oscilador interno y debes configurarlo, pero este no es el caso.
 
#11
hola el 16f84 funciona rango de 3.3 vol a mm no me acuerdo ..
yo siempre le ponía a 5vol...

y si usualmente trabaja con cristal de 4MGhz es indispensable para su funcionamiento , ya que no tiene oscilador interno..

otra configurado como entrada se comporta como un TTL..osea lo toma como (1)al aire... aunque el isis también toma en cuenta eso... fíjate si eso influye,
MCLR...poner resistencia 4.7k a VDD
 
#13
que tal, pues le compre un cristal y le puse los capacitores 22p y puse el MCLR a + y no enciende nada....changoss¡¡¡ mañana vuelvo a checar si hay algo mal conectadoo
 
#17
Ok... si ya pusiste el cristal y el mclr esta hacia los 5v lo siguiente que yo creo esta mal es el codigo...

no he usado microbasic pero imagino que es igual o muy similar a todos lo basic...

Código:
program control_de_velocidad
main:

TRISA = %11100 'Pines de salida: 18 y 17, las demas son entradas…
TRISB = %00001111 'PuertoB tiene 4 pines como entradas y 4 como salidas
'PORTB = 0 'Apago los LEDs conectados al puertoB
'PORTA = 0     'Apago los LEDs conectados al puertoA

WHILE TRUE ' Comienzo un bucle infinito, Pulsador 5  ...[B] aqui empiezas el while pero nunca pones un EndWhile o similar...[/B]

IF PORTA.3 = 1 THEN PORTA.0 = 1          ' -VEL 5-

PORTB.7 = 0
PORTB.6 = 0
PORTB.5 = 0
PORTB.4 = 0
porta.4 = 0
portb.1 = 0
portb.2 = 0
portb.3 = 0
END IF

IF PORTA.4 = 1 THEN PORTB.7 = 1          ' -VEL 4-

[B]aqui nunca mandas al label main: para que se repita el programa infinitamente...[/B]
si corrijes eso y sigue sin funcionar reviza los fuses o configuracion a la hora de grabar el micro... que sotware del grabador usas???
 
#18
Duda, ¿el MCLR no deberia llevar una red R-C para el 1er reset? o ¿por lo menos un pulsador para hacerlo manualmente?.

Subi un esquematico, ademas del proto, asi se ve mejor lo que hiciste.
 
#19
¿el MCLR no deberia llevar una red R-C para el 1er reset? o ¿por lo menos un pulsador para hacerlo manualmente?.
mmm.. si...si lo desea resetear... pero debería encender sin el pulsador... si no lo pone hacia los 5v creo que se esta autoreseteando infinitamente y nunca entra... por decirlo asi...

asi que para echarlo a andar con la resistencia de 4k7 a 5v esta bien...
 
#20
El tema es que si no tiene el 1er reset, ¿de donde empieza a leer el codigo? de cualquier direccion, siempre deberias tener un reset al principio que ponga en orden todos los registros.
 
Arriba