Autor Tema: Error de programacion y no me doy cuenta por que.. Teclado y lCD. PIC16F877  (Leído 1761 veces)

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

Desconectado kaki

  • PIC18
  • ****
  • Mensajes: 260
Buenos dias a todos. Estoy haciendo un teclado con lcd y tengo un porblema. Cuando apreto el 1,2,3 (lo otros botones no los hice todabia! es para probar) puse que en el LCD me ponga un Asteritisco cuando apreto el 1, 2 asterisco cuando apreto el 2 y asi sucesivamente... Bueno el problema que tengo es que cuando apreto el 1 el asterisco en LCD dura medio segundo y se borra no quiero eso.. quiero q quedo hasta que yo lo borre o aprete otra tecla.

Este es el codigo:

Código: [Seleccionar]
program Prueva

'Variables

  dim key as byte
  dim keyt as string[2]


main:
  Keypad_Init(PORTB)
  Lcd_Config(PORTD,3,2,1,0,PORTD,4,5,6)
  Lcd_Cmd(LCD_CLEAR)
  Lcd_Cmd(LCD_CURSOR_OFF)
'Configuraciones

'Comienza a correr el programa
   lcd_out(1,1,"Tecla:")  'ver la tecla en el lcd
   while TRUE
    key = 0
    while key = 0
      'key = Keypad_Released
      key = Keypad_Read
    wend

    if key > 10 then
      key = key + 54
    else
      key = key + 47
    end if

   select case key
    case "0"
         lcd_out(2,1,"*")
         goto Scanear
    case "1"
         lcd_out(2,1,"**")
         goto Scanear
    case "2"
         lcd_out(2,1,"***")
         goto Scanear
    end select
  wend

end.

ESpero que me puedan ayudar... Saludos

Desconectado NORTEÑO

  • PIC10
  • *
  • Mensajes: 32
Re: Error de programacion y no me doy cuenta por que.. Teclado y lCD. PIC16F877
« Respuesta #1 en: 14 de Junio de 2010, 14:47:29 »
HOLA:

Donde quieres saltar con:


 goto Scanear


falta codigo.
donde esta la ETIQUETA.   Scanear

Desconectado gally

  • PIC10
  • *
  • Mensajes: 19
Re: Error de programacion y no me doy cuenta por que.. Teclado y lCD. PIC16F877
« Respuesta #2 en: 15 de Junio de 2010, 09:50:42 »
prueba esto


Código: [Seleccionar]
program Prueva

'Variables

  dim key as byte
  dim keyt as string[2]
  dim resultado as string[3]
 


main:
  Keypad_Init(PORTB)
  Lcd_Config(PORTD,3,2,1,0,PORTD,4,5,6)
  Lcd_Cmd(LCD_CLEAR)
  Lcd_Cmd(LCD_CURSOR_OFF)
'Configuraciones

'Comienza a correr el programa
   lcd_out(1,1,"Tecla:")  'ver la tecla en el lcd
   lcd_out(2,1,resultado)
   while TRUE
    key = 0
    while key = 0
      'key = Keypad_Released
      key = Keypad_Read
    wend

    if key > 10 then
      key = key + 54
    else
      key = key + 47
    end if

   select case key
    case "0"
        resultado = "*"
    case "1"
        resultado = "**"
    case "2"
         resultado = "***"
    end select
  wend

end.

lo he hecho de cabeza creo yo que ira pero no he "provado".

SaludoS.


 

anything