TODOPIC
Otros Microcontroladores / Dispositivos programables => ** PROYECTOS ** => Mensaje iniciado por: brnaer en 23 de Junio de 2009, 15:40:21
-
Hola de nuevo amigos, los molesto preguntando una duda mas que ha surgido con otro proyecto, la idea es tener un GLCD de 128 x64 de ks0108, controlada con pic16f877a.
No he tenido ningun problema ya para imprimir texto sin embargo quiero imprimir una imagen y utilizo proton, como saben proton tiene su generador de codigo para imagenes sin embargo ya no se que hacer con esta tabla ya que la pego al final de mi codigo pero no se como decirle al programa que imprima la imagen, este es mi codigo:
Device 16F877A
XTAL 20
Declare INTERNAL_FONT 1
Declare LCD_TYPE 1
LCD_DTPORT = PORTD
LCD_RSPIN = PORTB.2
LCD_ENPIN = PORTB.5
LCD_RWPIN = PORTB.4
LCD_CS1PIN = PORTB.0
LCD_CS2PIN = PORTB.1
'Declare GLCD_CS_INVERT On
GLCD_EXTERNAL_PRINT=PPRINT
ini:
Cls
DelayMS 500
PRINT ??????
D2:
CData 8,128,_
000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,_
000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,_
000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,_
000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,_
000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,_
000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,_
000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,_
000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,_
000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,_
000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,_
000,000,000,000,000,000,000,000,128,192,064,224,160,208,080,056,_
008,008,012,012,004,004,004,004,004,006,006,006,006,006,006,006,_
006,006,004,012,008,012,012,020,024,024,056,048,048,112,224,192,_
064,128,000,000,000,000,000,000,000,000,000,000,000,000,000,000,_
000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,_
000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,_
000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,_
000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,_
000,000,000,000,128,248,030,227,249,030,007,001,001,000,000,000,_
000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,_
000,000,128,224,112,184,094,006,002,000,000,000,000,000,000,000,_
001,002,005,013,018,076,016,096,128,000,000,000,000,000,000,000,_
000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,_
000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,_
000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,_
000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,_
000,000,000,064,064,079,028,115,207,120,192,000,064,064,064,064,_
064,064,064,064,064,064,064,064,064,064,064,064,000,064,160,248,_
246,125,090,079,067,065,064,064,064,064,064,064,064,064,064,064,_
064,064,064,064,064,064,065,092,195,252,000,064,064,000,000,000,_
000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,_
000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,_
000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,_
000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,_
000,000,000,000,000,000,000,000,001,003,006,047,060,056,008,000,_
000,000,000,000,000,000,000,000,128,032,216,244,251,255,063,015,_
003,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,_
000,000,000,000,000,192,248,127,031,001,000,000,000,000,000,000,_
000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,_
000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,_
000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,_
000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,_
000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,_
000,000,000,000,032,240,120,206,255,255,255,255,255,001,000,000,_
000,000,000,000,000,000,000,000,000,000,000,000,128,128,192,096,_
048,024,004,014,007,003,000,000,000,000,000,000,000,000,000,000,_
000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,_
000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,_
000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,_
000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,_
000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,_
000,000,000,056,015,001,007,013,011,031,031,023,023,023,022,022,_
020,028,024,008,008,012,004,004,006,002,003,001,001,000,000,000,_
000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,_
000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,_
000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,_
000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,_
000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,_
000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,_
000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,_
000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,_
000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,_
000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,_
000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000
como veran solo necesito la instruccion para que imprima los datos pero no tengo ni idea de como se haga, por lo cual pido su ayuda.
espero puedan resolver esta duda, muchas gracias por su tiempo.
-
Hola
No he simulado tu ejemplo, pero lo que tienes que hacer es convertir la imagen que deseas a formato BMP monocromático y luego lo ingresas al generador de protón, comentame si has hecho eso.-
saludos
-
Hola doppel, gracias por tu respuesta, te comento que efectivamente comverti la imagen a monocromatico y la meti al convertidor de proton y me genero la tabla que se observa al final del codigo, sin embargo ya no se como decirle a proton que me imprima dicha tabla.
-
Hola
ayer no pude probar tu ejemplo, hoy tenia un poco de tiempo y lo armé en proteus para probar, aparentemente te faltan unas definiciones arriba y además estuve mirando que me tira desborde de memoria, lo que habria que hacer en teoria es copiar la tabla en la eprom y desde ahi leerla para que la muestre en el GLCD, todabia no lo he probado pero espero hacerlo pronto y te pego el codigo resultante, mientras tanto sigue probando tu y nos comentas
saludos
Hernán
-
Hola de nuevo, encontre una funcion para imprimir dichas tablas sin embargo me satura la acpacidad del pic y practicamente ya no tengo espacio para nada, sin embargo no encontre ninguna informacion sobre como subir los datos a la eeprom, este es el codigo como quedo, gracias.
Device 16F877A
XTAL 20
Declare INTERNAL_FONT 1
Declare LCD_TYPE 1
LCD_DTPORT = PORTD
LCD_RSPIN = PORTB.2
LCD_ENPIN = PORTB.5
LCD_RWPIN = PORTB.4
LCD_CS1PIN = PORTB.0
LCD_CS2PIN = PORTB.1
'Declare GLCD_CS_INVERT On
GLCD_EXTERNAL_PRINT=PPRINT
Dim temp As Byte
Dim X As Byte '<----------POSICION X DE 0 A 128
Dim Y As Byte'<-----------POSICION Y DE 1 A 8
Dim DATO As Byte'<--------VALOR A ESCRIBIR EN POSICION X,Y
Dim PUNTERO As Word
ini:
Repeat
Repeat
DATO = LRead logo9 + PUNTERO
LCDWrite Y,X,[DATO]
Inc X
Inc PUNTERO
Until X = 128
X = 0
Inc Y
Until Y = 8
DelayMS 800
Cls
Print At 5,20,"Ready"
Print At 40,40,"to FLY"
DelayMS 3000
D2:
CData 8,128,_
000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,_
000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,_
000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,_
000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,_
000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,_
000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,_
000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,_
000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,_
000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,_
000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,_
000,000,000,000,000,000,000,000,128,192,064,224,160,208,080,056,_
008,008,012,012,004,004,004,004,004,006,006,006,006,006,006,006,_
006,006,004,012,008,012,012,020,024,024,056,048,048,112,224,192,_
064,128,000,000,000,000,000,000,000,000,000,000,000,000,000,000,_
000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,_
000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,_
000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,_
000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,_
000,000,000,000,128,248,030,227,249,030,007,001,001,000,000,000,_
000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,_
000,000,128,224,112,184,094,006,002,000,000,000,000,000,000,000,_
001,002,005,013,018,076,016,096,128,000,000,000,000,000,000,000,_
000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,_
000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,_
000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,_
000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,_
000,000,000,064,064,079,028,115,207,120,192,000,064,064,064,064,_
064,064,064,064,064,064,064,064,064,064,064,064,000,064,160,248,_
246,125,090,079,067,065,064,064,064,064,064,064,064,064,064,064,_
064,064,064,064,064,064,065,092,195,252,000,064,064,000,000,000,_
000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,_
000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,_
000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,_
000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,_
000,000,000,000,000,000,000,000,001,003,006,047,060,056,008,000,_
000,000,000,000,000,000,000,000,128,032,216,244,251,255,063,015,_
003,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,_
000,000,000,000,000,192,248,127,031,001,000,000,000,000,000,000,_
000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,_
000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,_
000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,_
000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,_
000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,_
000,000,000,000,032,240,120,206,255,255,255,255,255,001,000,000,_
000,000,000,000,000,000,000,000,000,000,000,000,128,128,192,096,_
048,024,004,014,007,003,000,000,000,000,000,000,000,000,000,000,_
000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,_
000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,_
000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,_
000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,_
000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,_
000,000,000,056,015,001,007,013,011,031,031,023,023,023,022,022,_
020,028,024,008,008,012,004,004,006,002,003,001,001,000,000,000,_
000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,_
000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,_
000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,_
000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,_
000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,_
000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,_
000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,_
000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,_
000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,_
000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,_
000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000