Autor Tema: Por favor Una gran ayuda (proyecto)  (Leído 1493 veces)

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

Desconectado Cockert

  • PIC10
  • *
  • Mensajes: 4
Por favor Una gran ayuda (proyecto)
« en: 20 de Octubre de 2004, 13:46:00 »
Hola soy nuevo en esto por saber no sé casi nada, me hace falta que un alma caritativa me hiciera un favor, tengo en proyecto, un aparatejo ,bueno no es difícil, para vuestro conocimiento ,pero para mí es un mundo, los programas que utilizo es el proteus microcode studio con MPLA.
El proyecto se trata de hacer un contador ò calculadora de precio de productos, con el fin se sumar hasta un total mínimo de ocho productos con diferentes precios y cada producto introducirlo las veces que haga falta , y del resultado final, se introduzca lo entregado y te dé el resultado del cambio a entrega. Esto parece tonto pues claro podríamos utilizar una calculadora normal y corriente, pero cuando se trata de vender producto a una velocidad grande y a una cantidad de personas muy elevada  no te da tiempo a calcular tan rápido y te quedas bloqueado en un momento dado.
Lo que trato de hacer no es otra cosa que las cajas registradoras de los bares el cual con una pantalla táctil elige el producto dando una rapidez mas grande, pero claro en modelo muy reducido y mas rudimentario.

En este caso el proyecto seria de un dispositivo  de ocho pulsadores mínimo el cual cada uno perteneciera a un producto, cada vez que pulsara diera la cantidad de dicho producto tantas veces pulse sumaria, por ejemplo.
Producto1> 1 €
Producto 2> 0,75 €
Producto3> 0,70 €
Producto4> 0,85 €
Producto5> 0,50 €
Producto6> 0,75 €
Producto7> 0,95
Producto8> 0,75

Si pulso tres veces producto 3 dos veces producto 1 y cuatro  veces  producto 4, me sume inmediatamente la cantidad ( 35,25 € ). Luego con un pulsador cambio  e introduzco con un teclado la cantidad entregada y otro pulsador me daría la cantidad a devolver . Pues nada eso es todo si alguien me quisiera ayudar se lo agradecería mucho
Mi correo es tapi_tapi@hotmail.com .Gracias por vuestra atención, y espero no molestar con mi inexperiencia.

Desconectado hernando2999

  • PIC12
  • **
  • Mensajes: 99
RE: Por favor Una gran ayuda (proyecto)
« Respuesta #1 en: 23 de Febrero de 2006, 00:04:00 »
AUN NECESITAS AYUDA....
;*********************************************************
;***AQUI TAL VEZ UNA FORMA DE HACERLO .....
;*** OBTENER LA SUMA EN TRES REGISTROS
;***    99 99. 99
;***  
;*********************************************************
SUMA_BAJO  EQU 0X20
SUMA_ALTO_1  EQU 0X21
SUMA_ALTO_2  EQU 0X22
;*********************************************************
;**** DECLARO LAS CONSTANTES
PRODUCTO_1 D´100´ ; PARA TENER ENCUENTA DECIMAS
PRODUCTO_2 D´75´
PRODUCTO_3 D´70´
PRODUCTO_4 D´85´
PRODUCTO_5 D´50´
PRODUCTO_6 D´75´
PRODUCTO_7 D´95´
PRODUCTO_8 D´75´
COMPARADOR D´100´
;*********************************************************
;DEFINO LOS PUERTOS
#DEFINE P_PRODUCTO_1 PORTC,0
#DEFINE P_PRODUCTO_2 PORTC,1
#DEFINE P_PRODUCTO_3 PORTC,2
#DEFINE P_PRODUCTO_4 PORTC,3
#DEFINE P_PRODUCTO_5 PORTC,4
#DEFINE P_PRODUCTO_6 PORTC,5
#DEFINE P_PRODUCTO_7 PORTC,6
#DEFINE P_PRODUCTO_8 PORTC,7
;*********************************************************
; CONFIGURO LOS PUERTOS
BSF   STATUS,RP0
BSF   P_PRODUCTO_1 ;CONFIGURO COMO ENTRADA
BSF   P_PRODUCTO_2 ;CONFIGURO COMO ENTRADA
BSF   P_PRODUCTO_3 ;CONFIGURO COMO ENTRADA
BSF   P_PRODUCTO_4 ;CONFIGURO COMO ENTRADA
BSF   P_PRODUCTO_5 ;CONFIGURO COMO ENTRADA
BSF   P_PRODUCTO_6 ;CONFIGURO COMO ENTRADA
BSF   P_PRODUCTO_7 ;CONFIGURO COMO ENTRADA
BSF   P_PRODUCTO_8 ;CONFIGURO COMO ENTRADA
BSF   STATUS,RP0

CLRF SUMA_ALTO
CLRF SUMA_BAJO

ORG 0X00
;*********************************************************
INICIO
CALL RETARDO_10MSEG   ; PARA EVITAR REBOTES
btfsc P_PRODUCTO_1 ; OPRIMIO EL PULSADOR
CALL SUMAR_PRODUCTO_1    ;HACE LA RUTINA DE SUMA

CALL RETARDO_10MSEG   ; PARA EVITAR REBOTES
btfsc P_PRODUCTO_2 ; OPRIMIO EL PULSADOR
CALL SUMAR_PRODUCTO_2    ;HACE LA RUTINA DE SUMA

CALL RETARDO_10MSEG   ; PARA EVITAR REBOTES
btfsc P_PRODUCTO_3 ; OPRIMIO EL PULSADOR
CALL SUMAR_PRODUCTO_3    ;HACE LA RUTINA DE SUMA

CALL RETARDO_10MSEG   ; PARA EVITAR REBOTES
btfsc P_PRODUCTO_4 ; OPRIMIO EL PULSADOR
CALL SUMAR_PRODUCTO_4    ;HACE LA RUTINA DE SUMA

CALL RETARDO_10MSEG   ; PARA EVITAR REBOTES
btfsc P_PRODUCTO_5 ; OPRIMIO EL PULSADOR
CALL SUMAR_PRODUCTO_5    ;HACE LA RUTINA DE SUMA

CALL RETARDO_10MSEG   ; PARA EVITAR REBOTES
btfsc P_PRODUCTO_6 ; OPRIMIO EL PULSADOR
CALL SUMAR_PRODUCTO_6    ;HACE LA RUTINA DE SUMA

CALL RETARDO_10MSEG   ; PARA EVITAR REBOTES
btfsc P_PRODUCTO_7 ; OPRIMIO EL PULSADOR
CALL SUMAR_PRODUCTO_7    ;HACE LA RUTINA DE SUMA

CALL RETARDO_10MSEG   ; PARA EVITAR REBOTES
btfsc P_PRODUCTO_8 ; OPRIMIO EL PULSADOR
CALL SUMAR_PRODUCTO_8    ;HACE LA RUTINA DE SUMA


GOTO INICIO
;*********************************************************
RETARDO_10MSEG
.
.
.
RETURN
;*********************************************************
SUMAR_PRODUCTO_1

MOVWF P_PRODUCTO_1
ADDWF SUMA_BAJO,F   ;SUMA SUMA_BAJO CON P_PRODUCTO_1 Y EL RESULTADO QUEDA EN SUMA BAJO Y W
GOTO COMPROVAR_SUMAS
;*********************************************************
SUMAR_PRODUCTO_2

MOVWF P_PRODUCTO_2
ADDWF SUMA_BAJO,F   ;SUMA SUMA_BAJO CON P_PRODUCTO_2 Y EL RESULTADO QUEDA EN SUMA BAJO Y W
GOTO COMPROVAR_SUMAS
;*********************************************************
SUMAR_PRODUCTO_3

MOVWF P_PRODUCTO_3
ADDWF SUMA_BAJO,F   ;SUMA SUMA_BAJO CON P_PRODUCTO_3 Y EL RESULTADO QUEDA EN SUMA BAJO Y W
GOTO COMPROVAR_SUMAS
;*********************************************************
SUMAR_PRODUCTO_4

MOVWF P_PRODUCTO_4
ADDWF SUMA_BAJO,F   ;SUMA SUMA_BAJO CON P_PRODUCTO_4 Y EL RESULTADO QUEDA EN SUMA BAJO Y W
GOTO COMPROVAR_SUMAS
;*********************************************************
SUMAR_PRODUCTO_5

MOVWF P_PRODUCTO_5
ADDWF SUMA_BAJO,F   ;SUMA SUMA_BAJO CON P_PRODUCTO_5 Y EL RESULTADO QUEDA EN SUMA BAJO Y W
GOTO COMPROVAR_SUMAS
;*********************************************************
SUMAR_PRODUCTO_6

MOVWF P_PRODUCTO_6
ADDWF SUMA_BAJO,F   ;SUMA SUMA_BAJO CON P_PRODUCTO_6 Y EL RESULTADO QUEDA EN SUMA BAJO Y W
GOTO COMPROVAR_SUMAS
;*********************************************************
SUMAR_PRODUCTO_7

MOVWF P_PRODUCTO_7
ADDWF SUMA_BAJO,F   ;SUMA SUMA_BAJO CON P_PRODUCTO_7 Y EL RESULTADO QUEDA EN SUMA BAJO Y W
GOTO COMPROVAR_SUMAS
;*********************************************************
SUMAR_PRODUCTO_8

MOVWF P_PRODUCTO_8
ADDWF SUMA_BAJO,F   ;SUMA SUMA_BAJO CON P_PRODUCTO_8 Y EL RESULTADO QUEDA EN SUMA BAJO Y W
GOTO COMPROVAR_SUMAS
;*********************************************************
COMPROVAR_SUMAS    ;COMPRUEBO QUE LOS REGISTROS NO SUPEREN EL VALOR DE 100
SUBWF COMPARADOR,0
BTFSC STATUS,C
RETURN
CLRF SUMA_BAJO
ADDWF SUMA_ALTO_1,F  ; EN W SE TIENE EL VALOR DE LA RESTA....Y SE LO SUMO AL REG SUMA_ALTO_1

SUBWF COMPARADOR,0
BTFSC STATUS,C
RETURN
CLRF SUMA_ALTO_1
ADDWF SUMA_ALTO_2,F  ; EN W SE TIENE EL VALOR DE LA RESTA....Y SE LO SUMO AL REG SUMA_ALTO_2

RETURN  ; FINALMENTE RETORNO CON LA SUMA
;*********************************************************
;*********************************************************
.
.
;*** BIEN FALTARIAN OTRAS RUTINAS SENCILLAS PARA LA INTERFASE GRAFICA
;*** O CAMBIOS EN EL MONTAGE DE LOS PULSADORES  PARA NO OCUPAR TANTOS
;*** PINES....
;***
;***YA ES ALGO TARDE... SI NECESITAS ALGOMAS ME DICES
;*** SALUDOS

END
;*********************************************************
;*********************************************************





 

anything