desktop

Necesito una ayuda con mikroBasic GLCD

Muy buenas a todos Uds. moradores y colaboradores de este gran sitio, que me ha ayudado a solucionar algunas cosas referente a mi proyecto de grado.:aplauso::aplauso:

Me encuentro programando mi pic16f877A con MIKROBASIC PRO y simulando con ISIS PROTEUS, ya conecte y configure mi GLCD para realizar mi entorno visual, pero se me presenta el siguiente inconveniente, cuando ejecuta la simulación los texto no salen como yo quiero, se solapan uno con el otro y la imagen me sale distorcionada como lo podemos ver en las imagenes. Tambien me aparece unos mensajes de advertencia refente a unos Parametro <ADC1> y el <INVERT>. También me dice algo referente al [T6963C].

Aqui anexo el código fuente que estoy usando, por favor necesito ayuda, o que me explique porque sucede esto si es que conecte algo mal o el código está mal escrito.

Gracias.

Código Fuente del MikroBasic:

Código:
program TEG
'Universidad Nacional Experimental de las Fuerzas Armadas (UNEFA)
'Nucleo Naguanagua - Estado Carabobo.
'*******************************************************************************
'WILLIAN SANCHEZ. Ing. en Telecomunicaciones.
'*******************************************************************************
'Programa que controla el Teclado Matricial, a través de Interrupciones Externa
'Usando el Puerto B0/INT. Muestra y Controla el menú principal del GLCD.
'******************************************************************************
' Declarations section
 'Sección de Simbolos
 Symbol Interrupciones=PORTB.0
 Symbol A0=PORTB.1
 Symbol A1=PORTB.2
 Symbol A2=PORTB.3
 Symbol A3=PORTB.4
 Symbol A4=PORTB.5
 Symbol led_aA=PORTB.6
 Symbol led_123=PORTB.7
 Symbol led_sym=PORTC.0
 Symbol CS1_GLCD=PORTC.1
 Symbol CS2_GLCD=PORTC.2
 Symbol RS_GLCD=PORTC.3
 Symbol RW_GLCD=PORTC.4
 Symbol ENA_GLCD=PORTC.5
 Symbol DB0=PORTD.0
 Symbol DB1=PORTD.1
 Symbol DB2=PORTD.2
 Symbol DB3=PORTD.3
 Symbol DB4=PORTD.4
 Symbol DB5=PORTD.5
 Symbol DB6=PORTD.6
 Symbol DB7=PORTD.7
 Symbol CARACTER=PORTB
 Symbol useg=delay_ms(300)
 'Sección de Constante
 const MAX = 1000
 'Sección de constantes de la Imagen generada
 ' ------------------------------------------------------
' GLCD Picture name: unefa_1.bmp
' GLCD Model: KS0108 128x64
' ------------------------------------------------------

const unefa_1 as byte[1024] = (
  0,   0,   0,   0,   0,   0,   0,   0,   0,   0,  32, 224, 248,  56,  60,  58,  58, 118, 252, 248, 240,  96,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
  0, 248,  12, 196,   4, 196, 228, 228, 252, 252, 254, 111, 255, 255, 103, 255, 127, 111, 255,  79, 231, 252, 252, 228, 196, 228, 196,   4,  68, 252,   0,   0,
  0, 255,   4, 254, 156, 255, 255, 251,  79,  46,   7,   6,  35,  67, 195,   7,  15, 135,   3,   2,  35,  39,  14,  27,  27, 255, 255, 189,   5, 255,   0,   0,
  0, 255,   0, 219,  91, 255, 131, 127, 227,   6,   0,  49,  33,  33, 125,  32,   0,  12,  64,   0, 128,  92,  24, 144, 127, 255, 255,  47,   8, 255,   0,   0,
  0, 128, 135,  89, 230, 193, 103, 222, 191, 126, 240, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 112, 124, 159, 206, 167, 204, 244, 220, 135,   0,   0,
  1,   3,   7,  15,  15,  31,  63, 254, 255, 247, 238, 204, 221, 211, 251, 227, 227, 251, 153, 201, 200, 231, 231, 254, 127,  31,  31,  14,  15,   7,   3,   0,
  0,   0,   0,   0,   0,   0,   0,   0,   1,   1,   3,   3,   3,   3,  31,  63,  63,  15,   3,   3,   3,   1,   1,   0,   0,   0,   0,   0,   0,   0,   0,   0
)


 ' ------------------------------------------------------
' GLCD Picture name: mikro_logo.bmp
' GLCD Model: KS0108 128x64
' ------------------------------------------------------

const mikro_logo as byte[1024] = (
  0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0, 192, 224, 112, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176,  96, 224, 128,   0,   0,   0,   0,
  0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0, 255, 255,   0, 255, 255, 255,   3,  35,  49,  49,  49,  49,  49,  49,  49,  51,   3, 199, 255, 127,  31,  31,  15,   7,   7,   3,   3,   3,   1,   1,   1,   1,   1,   1,   1,   1,   1,   3,   3,   3,   7,   7,  15,  15,  31, 127, 255, 255, 255, 255, 255, 255,   0, 255, 255,   0,   0,   0,   0,
  0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0, 255, 255,   0, 255, 255, 255,   7,   6,   6,  14,  30,  30,  30,  30,  30, 254, 255, 255,   1,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0, 252, 255, 255, 255, 254,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   7, 255, 255, 255, 255,   0, 255, 255,   0,   0,   0,   0,
  0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0, 255, 255,   0, 255, 255, 255,  17,  51,   3,   3,  15,   7,   3,   3,  17, 255, 255, 255,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0, 129, 129, 129, 129, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 255, 255, 255, 255,   0, 255, 255,   0,   0,   0,   0,
  0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0, 255, 255,   0, 255, 255, 255,  98, 127, 111,  99,  99,  99,  99,  99,  99, 255, 255, 255,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0, 255, 255, 255, 255, 255, 255,   3,   3,   3,   3,   3,   3,   3,   3,   3,   3,   3,   3, 255, 255, 255, 255,   0, 255, 255,   0,   0,   0,   0,
  0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0, 255, 255,   0, 255, 255, 255,   8, 140, 140, 140, 140, 140, 140, 140, 140, 141, 159, 255, 240, 192,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   7,  31,  63,  31,  31,   7,   0,   0,   0,   0,   0,   0,   0,   0,   0, 128, 192, 248, 255, 255, 255, 255,   0, 255, 255,   0,   0,   0,   0,
  0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0, 127, 255, 128, 127, 127, 127, 112, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 115, 119, 126, 124, 124, 120, 120, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 120, 120, 124, 126, 127, 127, 127, 127, 127, 127, 127,  63, 192, 255, 127,   0,   0,   0,   0,
  0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   1,   1,   3,   3,   3,   3,   3,   3,   3,   3,   3,   3,   3,   3,   3,   3,   3,   3,   3,   3,   3,   3,   3,   3,   3,   3,   3,   3,   3,   3,   3,   3,   3,   3,   3,   3,   3,   3,   3,   3,   3,   3,   3,   3,   3,   3,   3,   3,   3,   3,   3,   1,   0,   0,   0,   0,   0,   0
)
 ' ------------------------------------------------------
' GLCD Picture name: unefa_mono1.bmp
' GLCD Model: KS0108 128x64
' ------------------------------------------------------

 '***************************************************
 dim character as longword
 dim mayus as byte
 dim num as byte
 dim symb as byte
 dim interr_exter as byte
 dim a,i,s,n as byte
 dim text as string[25]
 'Declaraón de Variabls relacionada con la GLCD
 dim GLCD_DataPort as byte at PORTD

dim GLCD_CS1 as sbit at RC4_bit
    GLCD_CS2 as sbit at RC5_bit
    GLCD_RS  as sbit at RC3_bit
    GLCD_RW  as sbit at RC2_bit
    GLCD_EN  as sbit at RC1_bit
    GLCD_RST as sbit at RE0_bit

dim GLCD_CS1_Direction as sbit at TRISC4_bit
    GLCD_CS2_Direction as sbit at TRISC5_bit
    GLCD_RS_Direction  as sbit at TRISC3_bit
    GLCD_RW_Direction  as sbit at TRISC2_bit
    GLCD_EN_Direction  as sbit at TRISC1_bit
    GLCD_RST_Direction as sbit at TRISE0_bit
' End Glcd module connections
' ********************************************
 'Sección de Structure
 
 'Seccón de Procedimiento
 '******* Procedimiento de Interrupciones Globales
 Sub procedure interrupt
 
 End Sub
 '******* Procedimiento de Inicio
 Sub procedure Entorno_visual()
 'Mostramos la Bienvenida del Sistema
  'ANSEL  = 0                                     ' Configure AN pins as digital I/O
  'ANSELH = 0

  'Glcd_Select_Side(1)
  Glcd_Fill(0)
  Glcd_Set_Page(0)
  Glcd_Set_Side(2)
  Glcd_Set_X(25)
'  Glcd_Set_Font(@Character8x7, 4, 3, 32)    ' Choose font "Character8x7"
  Glcd_Write_Text("Bienvenido", 1, 6, 1)                  ' Write string
  Glcd_Write_Text("Sistema de Posicionamiento Global",2,1,1)
  Glcd_Write_Text("UNEFA - Nucleo Naguanagua",0,3,1)
  delay_ms(2500)
  Glcd_Image(@unefa_1)
 End Sub

 Sub procedure Inicio()
 'Iniciamos con un pequeño contador, esto con la finalidad de darle varios
 'parpadeos a los led. Iniciando Sistema
'Inicio del Ciclo
 led_aA=0
 led_123=0
 led_sym=0
 for i=0 to 4
     led_aA=1
     delay_ms(300)
     led_aA=0
     led_123=1
     delay_ms(300)
     led_123=0
     led_sym=1
     delay_ms(300)
     led_sym=0
 next i
 led_aA=1
 led_123=1
 led_sym=1
 delay_ms(300)
 led_aA=0
 led_123=0
 led_sym=0
 'Vamos a cargar el Entorno Visual
 End Sub
 'Sección de Funciones
 
main:
'   Main program
'Se establece quien de los puertos va a ser Entrada y Salidas
 'Puerto B
TRISB=%00111111
'Puerto C
TRISC=%10000000
'Puerto D
TRISD=1
'Puerto E
TRISE=0
Glcd_Init()                                    ' Initialize Glcd
Inicio()
Entorno_visual()
end.
 

Adjuntos

  • 04-05-2012 02-06-03 p.m..png
    04-05-2012 02-06-03 p.m..png
    165.6 KB · Visitas: 17
  • 04-05-2012 02-11-02 p.m..png
    04-05-2012 02-11-02 p.m..png
    156 KB · Visitas: 17
  • 04-05-2012 02-23-16 p.m..png
    04-05-2012 02-23-16 p.m..png
    115.2 KB · Visitas: 9
Hola amigo xtudioxcreativo, pareciera ser un problema de tiempo de ejecución en el bus de la LCD, según logro ver, lo mejor seria si colocas la simulación y así poder ver mejor cual es la alarmar o error que te arroja el isis y así poder ayudarte.
 
Gracias por responder reyvilla, aqui esta la simulación. Tambien agregue el código del Mikrobasic, para que revises lo del GLCD a ver que opinion me das. Muchas gracias...
 

Adjuntos

  • TEG.rar
    454.5 KB · Visitas: 30
Última edición:
Gracias por responder reyvilla, aqui esta la simulación. Tambien agregue el código del Mikrobasic, para que revises lo del GLCD a ver que opinion me das. Muchas gracias...

Mira lo único que veo es que tienes mal configurados los pines de control, RW, RS, GLCD_EN...En el programa los configuraste diferentes, aparte de eso, el error que aparece al final de ms, lo puedes quitar colocando una resistencia de 10k entre el pin RST y VCC. Ahora no manejo mucho el mikrobasic, pero creo que seria mejor especificar el microcontrolador que usas, la frecuencia de trabajo y los fuses, lo digo para evitar tener algun tipo de problema luego por obviar eso...saludoss:apreton:
 
Atrás
Arriba