Autor Tema: Contar pulsos  (Leído 1402 veces)

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

Desconectado Rufus

  • PIC10
  • *
  • Mensajes: 14
Contar pulsos
« en: 03 de Mayo de 2021, 01:09:38 »
Buenas noches amigos del foro. necesito de su ayuda. acabo de elaborar una tarjeta para el control de monedas de un despachador el detalle es que no logro hacer que la moneda ingresada se imprima directamente en la pantalla sino se imprime de manera ascendente

while (true){

 if(input(pin_b3)==0)       
         {
    pulso_monedero=1;
         }
 
 if(input(pin_b3)==1 && pulso_monedero==1)           //¿ha entrado 1 moneda?     
 {
         pulso_monedero=0;
         pesos++;            //incremento contador
         delay_ms(10);      //SI -> retardo para evitar los rebotes
       
      lcd_putc("\f");
      lcd_gotoxy(1,1);
      lcd_putc("Cant. Ingresada");
      lcd_gotoxy(2,2);
      printf(lcd_putc,"$:%u",pesos);          // el problema es que la variable incrementa en la pantalla y lo que requiero es q solo muestre
                                                                el valor de moneda ejemplo si ingresa $10 pesos imprima directamente $10 y no se
                                                              muestre 1,2,3,4,5,6,7,8,9,10  asta llegar al valor. y he notado que mientra hace el conteo su
                                                              sumen un boton de producto se corta el conteo y no registra el valor ingresado.
 }

if (input(PIN_B7)==0 && pesos>=precio1) {
     delay_ms(120);
     entregar_producto1();
     }
 
     if (input(PIN_B6)==0 && pesos>=precio2) {
     delay_ms(120);
     entregar_producto2(); 
     }
}

espero me puedan orientar. gracias.

Desconectado Robert76

  • PIC24F
  • *****
  • Mensajes: 577
Re:Contar pulsos
« Respuesta #1 en: 03 de Mayo de 2021, 09:23:27 »
Hola, al parecer tú no has hecho el código, pero en fin.
Si el importe siempre será el mismo, entonces modifica ésta línea:

 printf(lcd_putc,"$:%u",pesos); 

Por ésta línea.

 printf(lcd_putc,"$:10");

Lo que no veo es en que parte se borra el monto ingresado. Quizás en otra parte del código... 
« Última modificación: 03 de Mayo de 2021, 09:25:48 por Robert76 »