Autor Tema: Ayuda para rutina  (Leído 2192 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado Cockert

  • PIC10
  • *
  • Mensajes: 4
Ayuda para rutina
« en: 26 de Octubre de 2004, 13:31:00 »
Hola haber quien puede ayudar a este novato.
Estoy en un proyecto el cual no soy capaz de terminar y me he quedado estancado.
Este trabajo hace la siguiente rutina : mediante pulsadores me hace localizar
Con un impulso un producto su cantidad y su precio, tantas veces pulse automáticamente  me suma y me sube la cantidad de este, esta operación se puede hacer con un total de 7 producto diferente el cual  cada uno usa un puerto diferente y se suma entre ellos dando un resultado total, los puertos que utilizo para esta rutina son
Portb.0 - Portb.1-Portb.2 - Portb.4 - Portb.7 – Portc.2 - Portc.1 -.(ejemplo)


Loop:
       
IF portb.0 then
    SOUND snd,[125,3]  
  a=a+G  
  a2=a2+G2      
  CG=CG+1
     
           Lcdout $FE,1 "borra lcd
            Lcdout "Cer.grande  " ,"  " , #CG "escribe en segunda línea
              Lcdout $FE,$C0,#G,"E  TOTAL__" ,#a+(a2/100),".",#a2 dig 1,#a2 dig 0,"EUR""escribe en segunda línea
         "pause 10
           endif
 “Y así sucesivamente”

En el puerto 5 tengo anulación y puesta a cero  reset (ejemplo)

IF portb.5 then "anulación y puesta a cero
            "SOUND snd,[125,3]
           
           LCDOUT $FE,1,"Intro. Articulo" "borra y escribe en la primera línea

En el puerto 6 (portb.6) me borra lcd y me pide meter cantidad entregada.
(ejemplo)


IF portb.6 then
       Lcdout $FE,1 "borra lcd
            Lcdout "Entrega  " ,"  " , #C,"EUR."
      goto loop2
       else
        goto loop
      endif

En el portc.3- portc.4- portc.5- portc.6 introduzco la cantidad entregada  mediante cuatro pulsadores.
Mi pregunta es la siguiente ¿que tipo de rutina debería continuar para que en el puerto 7 me diera el resultado de lo que debo entregar de lo sumado en los puertos
Portb.0 - Portb.1-Portb.2 - Portb.4 - Portb.7 – Portc.2 - Portc.1 de la cantidad entregada ya introducida en los puerto portc.3- portc.4- portc.5- portc.6 ?

No se si me he explicado bien pero es que soy un novato. Gracias antemano

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18286
    • MicroPIC
RE: Ayuda para rutina
« Respuesta #1 en: 27 de Octubre de 2004, 14:59:00 »
Creo entender que estás haciendo una especie de caja registradora.
Pero sin embargo no entiendo bien el planteamiento. Me da la impresión de que no dispones de un teclado matricial, sino de interruptores que directamente "atacan" uno a uno el puerto del PIC. Creo que un teclado matricial te daría mucha más flexibilidad con muy poca complicación adicional.

También veo que tienes un LCD, porque utilizas el comando LCDOut.
Por tanto, ¿cuál es tu problema?. Dices que no sabes cómo sacar el resultado de la suma por el puerto 7 pero, ¿porqué no la muestras en la pantalla?

Desconectado Cockert

  • PIC10
  • *
  • Mensajes: 4
RE: Ayuda para rutina
« Respuesta #2 en: 28 de Octubre de 2004, 09:41:00 »
Gracias por responder.
Un teclado matricial seria lo mas parecido a una calculadora y necesito rapidez.
Si que me suma y se me muestra en el lcd, también se me muestra el resultado de lo entregado, pero no se como hacer para que me reste la cantidad total por la cantidad dada y que me salga el resultado  por un puerto con tan solo un impulso de un pulsador (cantidad a entregar), es claro que soy muy novato y lo habrás notado empece con lo de la programacion hace solo 2 semanas.Gracias

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18286
    • MicroPIC
RE: Ayuda para rutina
« Respuesta #3 en: 28 de Octubre de 2004, 11:43:00 »
A ver si te entiendo, el impulso que quieres sacar por el puerto, ¿es independiente de la cantidad entregada y sirve para abrir el cajón de las monedas?
¿O por el contrario quieres que por el puerto salga una señal codificada que algún dispositivo después pueda descodificar y traducirla por un importe?

Desconectado Cockert

  • PIC10
  • *
  • Mensajes: 4
RE: Ayuda para rutina
« Respuesta #4 en: 28 de Octubre de 2004, 12:06:00 »
Simplemente la señal que sale de ese puerto se transmite al lcd y te da el resultado del importe total menos importe entregado osea el dinero a devolver., si quieres te mando el esquema en proteus.Gracias
tapi_tapi@hotmail.com

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18286
    • MicroPIC
RE: Ayuda para rutina
« Respuesta #5 en: 28 de Octubre de 2004, 14:04:00 »
Pues venga, envíamelo

Desconectado Renato_

  • PIC10
  • *
  • Mensajes: 25
RE: Ayuda para rutina
« Respuesta #6 en: 28 de Octubre de 2004, 22:29:00 »
     Hola muchachos como estàn, en este momento no tengo idea de como hacer la resta, pero la suma si, estoy haciendo una màquina contadora de monedasm cuenta 6 tipos de monedas, cada ves que cae una moneda por si huequito se produce un pulso en la salida del receptor infrarrojo, las salidas de los receptores estàn conectadas al puerto C. Estoy usando un LCD 4x20 y hay muestro las la cantidad de las monedas y el total acumulado.

    He tenido que ver el estado anterior y el estado presente, y si habìa un pulso en el sensor se incrementaba un registro, por ejm reg10centL y si este se desbordaba se incrementa reg10centH, cada tipo de moneda puede llegar hasta 1023. Ahora para el total, cuando cae una moneda por ejm 5 soles, se incrementa su registro en 1 y se incrementa el registro total en 50, o sea:

        moneda             cantidad          total

            10cent.              +1                 +1
            20cent.              +1                 +2
            50cent.              +1                 +5
              1sol                  +1                +10
              2soles              +1                +20
              5soles              +1                +50

    Es decir no he tenido que hacer una rutina de multiplicaciòn, es màs bien una rutina de acumulaciòn.

   Luego estos registros de cantidad y acumulaciòn los he convertido en ASCII para poder llevarlos al LCD y aprovechar estos còdigos para llevarlos a la PC via USART.

  Espero que esto te pueda ayudar en algo  Cockert, un saludo desde Lima.


                                                                                             RENATO MASIAS


 

anything