Autor Tema: Contador LCD MKB  (Leído 3567 veces)

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

Desconectado Moyin

  • PIC16
  • ***
  • Mensajes: 102
Contador LCD MKB
« en: 01 de Marzo de 2007, 23:46:19 »
Hola foristas, despues de recibir de ustedes mucho contribuyo con algo en este foro, basandome en algunos ejemplos y empleando algo de logica me atrevo a subir un ejemplo de un contador en LCD con el PIC16F84 empleando el MKB, no es la gran cosa pero sera de ayuda a los que como yo en un principio tomaban las referencias de este foro para dar sus primeros pasos, gracias a Navasimo, Jovani, Paola y todods aquellos que nos han ayudado a los que vamos atras.
 Bueno menos rollo y mas accion, aqui les dejo el programa:


program Cont999LCD
 'PIC16F84
' El siguiente programa realiza un conteo del 0 al 999 en el LCD
' Controlado por el puertoB
' RB1 = RS (Register Select)
' RB2 = RW
' RB3 = E (Enable)
' RB4 = D4 (Data Line Number 4)
' RB5 = D5 (Data Line Number 5)
' RB6 = D6 (Data Line Number 6)
' RB7 = D7 (Data Line Number 7)
' LCD configurado a 4 bits


dim Conteo as char[3]       ' Esta variable contendrá el valor
                            ' del conteo actual pero en la forma de caracteres
dim Conta as byte

main:
'******************************************************************************
' INICIALIZACIÓN DE PUERTOS Y PERIFÉRICOS
'******************************************************************************

     TRISB = 0     'Configura PORTB todo como salida
     TRISA = 3     'RA0 Y RA1 COMO ENTRADAS

     Lcd_Config(PORTB,7,6,5,4,PORTB,1,2,3)'Configura PORTB para LCD
     Lcd_Out(1,1,"Num     Vueltas")       ' Escribe mensaje en fila 1 columna 1
     Lcd_Out(2,1,"Contador 0_999")       ' Escribe mensaje fila 2 columna7
     Lcd_Cmd(Lcd_Cursor_Off)              ' Apaga el cursor



     conta=0              'Inicio Cuenta a cero
checo:
  if PORTA.1=0 then       'Si el boton esta presionado=0
      delay_ms(100)       'Espera 100 ms para estabilizar
      Conta=0              'Resetea entonces el contador
  else
      if PORTA.0=1 then   'Mira boton libre
         delay_ms(100)    'Espera 100ms para evitar rebote mecanico
        if PORTA.0=0 then 'Presiona boton, activo en flanco de bajada
           Conta=conta+1  'Incrementa cuenta en "1"
        if Conta=999 then 'SI conta es 999 vuelve a empezar
           Conta=0        'Conta vale 0 inicio de conteo
        end if
        end if
     end if
  end if



'******************************************************************************
' Esta parte transforma el dato "conta" a cadena de caracteres
'******************************************************************************


        ByteToStr(conta,CONTEO) 'Transforma conta en "conteo" a cadena de caracteres
        Lcd_Out(1,5,CONTEO)     ' Escribe el valor en forma de texto de la
                                ' variable CONTEO
        Delay_ms(100)        ' Espera un momento para continuar con el
                                ' conteo
        goto checo              'Vuelvo a mirar estado de botones

     end.


Un saludo a todos :-/
Sonrie Cristo te ama

Desconectado navaismo

  • Jubilado Todopic
  • PIC24H
  • ****
  • Mensajes: 1973
Re: Contador LCD MKB
« Respuesta #1 en: 02 de Marzo de 2007, 15:09:31 »
Gracias Moyin por compartir con nosotros el fruto de tu esfuerzo sigue asi.

Saludos
"Mi tercer deseo, que otra cosa podría ser, poner un final a todo el sufrimiento, que sólo con mi propia extinción el planeta podrá ser aliviado. Pobre de mí, Si tuviera tres deseos hoy, la elección no sería dificil para mí, Sólo tres deseos serían suficientes, No tendría uso para más."

"He sido un hombre que busca y aun lo sigo siendo, pero ya no busco en las estrellas y en los libros, sino en las enseñanzas de mi sangre."

Desconectado Moyin

  • PIC16
  • ***
  • Mensajes: 102
Re: Contador LCD MKB
« Respuesta #2 en: 03 de Marzo de 2007, 03:31:30 »
Gracias Max, y con lo que me orientaron les incluyo tambien la simulacion en proteus:


                                     
« Última modificación: 03 de Marzo de 2007, 03:33:16 por Moyin »
Sonrie Cristo te ama


 

anything