un poco de ayuda amigos programadores

Verzek

Bovino adicto
#1
sucede que esto haciendo la programacion de un monedero el cual consiste en hecharle monedas de 1 , 2 y 5 pesos y al hecharle la cantidad de 6 me de un producto , ya funciona hechandole las diferentes combinaciones mi problema es que de la feria, que digamos le hecho una de 5 y le vuelvo a hechar otra de 5 me regrese la una de 5 y la otra moneda de 5 se quede en la memoria esperando que se le heche una de a peso


aqui esta el programa no se si me puedan ayudar haciendome ver el error =S

ya se que le falta el foco de que de feria pero igua si lo pruevo con lo otro debe de funcionar en caso de que me pase


aqui anexo el codigo
 

Verzek

Bovino adicto
#2
D var word
TRISB=%00000000
TRISA=%00001111
PORTB=0
PORTA=0
D=0

INICIO:

gosub checamonedas

goto inicio

checamonedas:

if porta.0=1 then goto unpeso
if porta.1=1 then goto dospesos
if porta.2=1 then goto cincopesos

goto checamonedas:

unpeso:
d=(d+1)
pause 10
a: if porta.0=1 then a
goto camino

dospesos:
d=(d+2)
pause 10
b: if porta.1=1 then b
goto camino

cincopesos
d=(d+5)
pause 10
c: if porta.2=1 then c
goto camino

camino:
if d=1 then checamonedas
if d=2 then dos
if d=3 then tres
if d=4 then cuatro
if d=5 then cinco
if d=6 then soda

dos:
if porta.0=1 then gosub unpeso
if porta.1=1 then gosub dospesos
if porta.2=1 then gosub cincodos
goto dos
cincodos:
d=2
pause 10
goto checamonedas
tres
if porta.0=1 then gosub unpeso
if porta.1=1 then gosub dospesos
if porta.1=1 then gosub cincotres

cincotres:
d=3
pause 10
goto checamonedas

cuatro:
if porta.0 then gosub unpeso
if porta.1 then gosub dospesos
if porta.2 then gosub cincocuatro

cincocuatro:
d=4
goto checamonedas


cinco:
if porta.0 then gosub unpeso
if porta.1 then gosub doscinco
if porta.2 then gosub trescinco

doscinco:
d=5
goto checamonedas

trescinco:
d=5
goto checamonedas

soda:
high portb.0
pause 2000
low portb.0
d=0
goto inicio



end
 

infomar

Bovino adolescente
#3
Esta interesante el chafa-lenguaje que tiene la máquinita. Es difícil poder ayudarte, pero a "ojo pelón", parece que hay un ciclo infinito principal en "checamonedas".

Pero luego haces otro ciclo infinito esperando otra moneda (le llamaste a, b y c).

Creo que después de que le echas una moneda, se debe sumar la cantidad de la moneda y regresar al ciclo infinito principal y luego cuando tu contador exceda o sea igual a lo que cuesta un refresco o papas o lo que estés vendiendo, hacer un switch (si es que el chafa-lenguaje lo soporta) o muchos IFs para saber qué hacer (dar el producto y/o dar cambio).

Te recomiendo poner constantes si el chafa-lenguaje lo soporta, con el precio del producto y la cantidad en dinero que cada sensor te da.

También suena a que debe haber muchos ejemplos por internet, no re-inventes la rueda. ¿Cómo se llama el lenguaje?

Saludos

--------------------
http://chico-ch.com
 

Loera87

Bovino adolescente
#4
Esta interesante el chafa-lenguaje que tiene la máquinita. Es difícil poder ayudarte, pero a "ojo pelón", parece que hay un ciclo infinito principal en "checamonedas".

Pero luego haces otro ciclo infinito esperando otra moneda (le llamaste a, b y c).

Creo que después de que le echas una moneda, se debe sumar la cantidad de la moneda y regresar al ciclo infinito principal y luego cuando tu contador exceda o sea igual a lo que cuesta un refresco o papas o lo que estés vendiendo, hacer un switch (si es que el chafa-lenguaje lo soporta) o muchos IFs para saber qué hacer (dar el producto y/o dar cambio).

Te recomiendo poner constantes si el chafa-lenguaje lo soporta, con el precio del producto y la cantidad en dinero que cada sensor te da.

También suena a que debe haber muchos ejemplos por internet, no re-inventes la rueda. ¿Cómo se llama el lenguaje?

Saludos

--------------------
http://chico-ch.com
calmado compa no se llama "chafa-lenguaje" jajaja parece ser "basic" para microcontrolador y soporta lo mismo que cualquier lenguaje que uses tu para programar, esta progamado en pic-basic, proton IDE o algun otro compilador para microcontroladores... los ciclos infinitos que mencionas son para checar constantemente "algo" todo el tiempo esta entrando al ciclo para ver si hechaste una moneda etc etc....

Bueno ya sin hacerla mucho de tos, lo que hace falta ahi es tener una variable X que sepa que cantidad de dinero tienes metido en la maquina, y cuando la cantidad de X sea mayor o igual a 6 (que es el precio que tu pusiste) te de el producto y aparte haga un X-6=feria lo que quiere decir que si X fue 10 peso menos los 6 del producto te regresaria 4 pesos de feria... bueno eso es hablando de logica, si quieres ayuda en codigo mandame un mp y nos ponemos de acuerdo para ayudarte yo he progamado microcontroladores y eso y cuando quede al cien tu maquinita vuelves a postear el codigo bueno aqui para compartirlo :D
 

Verzek

Bovino adicto
#6
pic basic pro se llama el lenguaje anoche me havia quedado pero no se que le movi que ya no da feria solo da la soda peor feria no da!
 

infomar

Bovino adolescente
#7
calmado compa no se llama "chafa-lenguaje" jajaja parece ser "basic" para microcontrolador y soporta lo mismo que cualquier lenguaje que uses tu para programar, esta progamado en pic-basic.
No tomes personal mi mote de "chafa-lenguaje". Le dije así porque aparentemente no tiene tipos de datos, no es orientado a objetos.. es más hasta parece que no tiene ni simples loops o funciones o procedimientos. Por lo tanto no soporta lo mismo que cualquier lenguaje.

Saludos
 

Loera87

Bovino adolescente
#8
No tomes personal mi mote de "chafa-lenguaje". Le dije así porque aparentemente no tiene tipos de datos, no es orientado a objetos.. es más hasta parece que no tiene ni simples loops o funciones o procedimientos. Por lo tanto no soporta lo mismo que cualquier lenguaje.

Saludos
ok ok todo bien :) y si si tiene tipos de datos, aunque no es orientado a objetos ya que ocuparia mucho espacio y pss se llenaria muy rapido la memoria del micro, si tiene loops solo que ai no los utilizaron y pss funciones no tiene tampoco solo tiene etiquetas del tipo etiqueta: codigo aki.... .... goto etiqueta jejejeje y no problem pero si dije q loco si ni conoce este lenguaje que no lo critique jajaa pero todo bien :D ai al rato posteamos el error o el nuevo codigo
 
Arriba