TODOPIC
Microcontroladores PIC => Lenguaje Basic para microcontroladores PIC => Mensaje iniciado por: Josef en 06 de Diciembre de 2006, 11:21:34
-
Hola amigos
Aprovechando sus rapidas y acertadas respuestas, .....alguien tiene alguna idea como manejar un LCD grafico ks0108b o compatible con PICBASIC?, tengo unos que me trabajan con la version demo de Mikrobasic, pero no tengo la version completa, solo tengo PICBASIC, asi que me gustaria hacer mi programa alli.
A ver si alguien me da una mano.
Saludos
El Misti es hermoso ...desde Arequipa
-
Pues PBP no soporta GLCD hasta donde se proton si y MKb si, a menos como en el caso del nokia3310 supieras como se incializa y esas cosas tratariamos de hacer una especie de libreria.
Pero veo dificil el uso de GLCD con PBP
-
Por PIC BASIC te referis al Basic del PIC SIMULATOR IDE? Si es asi, te paso el codigo.
Saludos.
-
Gracias, pero me referia al PBP.
Bueno ya consegui el PROTON, y con la ayuda de ustedes ya logre enviar una imagen a un LCD del tipo sansumg KS0108 de 128 x64, por cierto el programa TODOPIC glcd, es muy bueno, me funciona bien con las imagenes, solo he probado esa parte hasta ahora, ahora estoy en el asunto de enviar caracteres a un GLCD, pero como soy nuevo en PROTON supongo que tardare un poco, si alguien me ayuda me haria la vida mas facil.
Saludos de Arequipa Peru
-
Hola:
Mira en mi pagina en la seccion proyectos, alli esta lo que necesitas.
www.freewebs.com/glafebre
-
Hola Lordlafebre
Saludos, sabes, cuando abro tu pagina me aparece un mensaje de error de internet explorer a encontrado un error y debe cerrarse, no se si solo me sucede a mi, asi que no he podido ver tus ejemplos.
Sabes por que no me puedo posicionar mas abajo (como un segundo reglon) en el LCD GRAFICO, Se supone que Print at 20, 0 me debe posicionar mas abajo, pero se sobreescribe en el inicio, mas claro puedo mover la posicion horizontal, pero no la vertical, que estoy haciendo mal?
CLS
PRINT AT 0 , 0, " ENTRENADOR UNIVERSAL "
PRINT AT 20, 0, " PRUEBA SEGUNDO"
DELAYMS 2000
esta es solo una parte del codigo.
Gracias, esto ya me esta demorando mucho, por si aca, estoy usando Proton y las imagenes me aparecen bien.
Saludo de Arequipa PERU
-
Hola:
Mi programa para mostrar mensajes con un tipo de fuente llamada badmofo es como sigue:
Device 16F877
XTAL 4
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
Declare INTERNAL_FONT On
GLCD_EXTERNAL_PRINT=PPRINT
Print Font Bad_Mofo22
Cls
Print At 10,20, "Giovanni"
Print At 35,20, "Lafebre"
DelayMS 200
End
Include "Bad_Mofo22.fnt"
Como veras, la parte del posicionamiento del crsor es igual al tuyo, asi que no se que pueda estar pasando. :?
-
Hola Lordlafebre
Te envio todo el codigo a ver si me das una ayuda, lo que quiero hacer es, presentar un mensaje primero y luego una imagen, la verdad es que todo sale junto en un principio "mezclado" caracteres y dibujo, no se a que se debe, luego desaparece el texto y queda solo el dibujo.
Podrias enviarme tu archivo font, me gustaria ver como debe ser, trate de probar el que genera TODOPIC GLCD, pero no obtuve resultados, algo mal estoy haciendo tambien alli, ya veras que inclui la fuente que uso en mi programa por que no sabia como jalarla de otro lugar.
Disculpa las molestias.
Device = 16F877
XTAL = 20
START:
DECLARE LCD_TYPE 1
DECLARE LCD_DTPORT PORTD
DECLARE LCD_RWPIN PORTB.5
DECLARE LCD_CS1PIN PORTB.2
DECLARE LCD_CS2PIN PORTB.3
DECLARE LCD_RSPIN PORTB.4
DECLARE LCD_ENPIN PORTB.6
DECLARE GLCD_CS_INVERT off
all_digital true
DECLARE INTERNAL_FONT ON
DELAYMS 200
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'<-----POSICIONAMIENTO DE VALOR
grafico:
HIGH PORTB.7
DELAYMS 500
CLS
PRINT AT 10 , 20, " ENTRENADOR UNIVERSAL "
PRINT AT 35 , 20, " HOLA A TODOS "
delayms 2000
cls
cls
'cls
'PRINT AT 5, 20, " PRUEBA SEGUNDO"
'DELAYMS 2000
Y = 0
PUNTERO = 0
cls
Repeat
repeat
DATO = lread IMAGEN + PUNTERO
LCDwrite Y,X,[DATO]
inc X
inc PUNTERO
until X = 128
X = 0
inc Y
until Y = 8
Stop
include "IMAGEN.INC"
FONT:- CData $00,$00,$00,$00,$00,$00 'Graphic character 0
CData $FF,$FF,$FF,$FF,$FF,$FF 'Graphic character 1
CData $07,$07,$07,$00,$00,$00 'Graphic character 2
CData $00,$00,$00,$07,$07,$07 'Graphic character 3
CData $E0,$E0,$E0,$00,$00,$00 'Graphic character 4
CData $00,$00,$00,$E0,$E0,$E0 'Graphic character 5
CData $FF,$FF,$FF,$00,$00,$00 'Graphic character 6
CData $00,$00,$00,$FF,$FF,$FF 'Graphic character 7
CData $07,$07,$07,$07,$07,$07 'Graphic character 8
CData $E0,$E0,$E0,$E0,$E0,$E0 'Graphic character 9
CData $E0,$E0,$E0,$07,$07,$07 'Graphic character 10
CData $07,$07,$07,$E0,$E0,$E0 'Graphic character 11
CData $FF,$FF,$FF,$E0,$E0,$E0 'Graphic character 12
CData $E0,$E0,$E0,$FF,$FF,$FF 'Graphic character 13
CData $07,$07,$07,$FF,$FF,$FF 'Graphic character 14
CData $FF,$FF,$FF,$07,$07,$07 'Graphic character 15
CData $55,$AA,$55,$AA,$55,$AA 'Graphic character 16
CData $AA,$55,$AA,$55,$AA,$55 'Graphic character 17
CData $01,$01,$01,$01,$01,$01 'Graphic character 18
CData $80,$80,$80,$80,$80,$80 'Graphic character 19
CData $FF,$00,$00,$00,$00,$00 'Graphic character 20
CData $00,$00,$00,$00,$00,$FF 'Graphic character 21
CData $FF,$01,$01,$01,$01,$01 'Graphic character 22
CData $01,$01,$01,$01,$01,$FF 'Graphic character 23
CData $FF,$80,$80,$80,$80,$80 'Graphic character 24
CData $80,$80,$80,$80,$80,$FF 'Graphic character 25
CData $00,$00,$00,$00,$F0,$F0 'User defined character 26
CData $00,$00,$00,$00,$0F,$0F 'User defined character 27
CData $00,$00,$00,$00,$00,$00 'User defined character 28
CData $00,$00,$00,$00,$00,$00 'User defined character 29
CData $00,$00,$00,$00,$00,$00 'User defined character 30
CData $00,$00,$00,$00,$00,$00 'User defined character 31
CData $00,$00,$00,$00,$00,$00 '32 - - 20
CData $00,$00,$4F,$00,$00,$00 '33 - ! - 21
CData $00,$07,$00,$07,$00,$00 '34 - " - 22
CData $14,$7F,$14,$7F,$14,$00 '35 - # - 23
CData $24,$2A,$7F,$2A,$12,$00 '36 - $ - 24
CData $23,$13,$08,$64,$62,$00 '37 - % - 25
CData $36,$49,$55,$22,$50,$00 '38 - & - 26
CData $00,$05,$03,$00,$00,$00 '39 - ' - 27
CData $1C,$22,$41,$00,$00,$00 '40 - ( - 28
CData $00,$00,$41,$22,$1C,$00 '41 - ) - 29
CData $14,$08,$3E,$08,$14,$00 '42 - * - 2A
CData $08,$08,$3E,$08,$08,$00 '43 - + - 2B
CData $00,$50,$30,$00,$00,$00 '44 - , - 2C
CData $08,$08,$08,$08,$08,$00 '45 - - - 2D
CData $00,$60,$60,$00,$00,$00 '46 - . - 2E
CData $20,$10,$08,$04,$02,$00 '47 - / - 2F
CData $3E,$51,$49,$45,$3E,$00 '48 - 0 - 30
CData $00,$42,$7F,$40,$00,$00 '49 - 1 - 31
CData $42,$61,$51,$49,$46,$00 '50 - 2 - 32
CData $21,$41,$45,$4B,$31,$00 '51 - 3 - 33
CData $18,$14,$12,$7F,$10,$00 '52 - 4 - 34
CData $27,$45,$45,$45,$39,$00 '53 - 5 - 35
CData $3C,$4A,$49,$49,$30,$00 '54 - 6 - 36
CData $01,$71,$09,$05,$03,$00 '55 - 7 - 37
CData $36,$49,$49,$49,$36,$00 '56 - 8 - 38
CData $06,$49,$49,$49,$3E,$00 '57 - 9 - 39
CData $00,$36,$36,$00,$00,$00 '58 - : - 3A
CData $00,$56,$36,$00,$00,$00 '59 - ; - 3B
CData $08,$14,$22,$41,$00,$00 '60 - < - 3C
CData $14,$14,$14,$14,$14,$00 '61 - = - 3D
CData $00,$41,$22,$14,$08,$00 '62 - > - 3E
CData $02,$01,$51,$09,$06,$00 '63 - ? - 3F
CData $32,$49,$79,$41,$3E,$00 '64 - @ - 40
CData $7E,$11,$11,$11,$7E,$00 '65 - A - 41
CData $7F,$49,$49,$49,$36,$00 '66 - B - 42
CData $3E,$41,$41,$41,$22,$00 '67 - C - 43
CData $7F,$41,$41,$22,$1C,$00 '68 - D - 44
CData $7F,$49,$49,$49,$41,$00 '69 - E - 45
CData $7F,$09,$09,$09,$01,$00 '70 - F - 46
CData $3E,$41,$49,$49,$7A,$00 '71 - G - 47
CData $7F,$08,$08,$08,$7F,$00 '72 - H - 48
CData $00,$41,$7F,$41,$00,$00 '73 - I - 49
CData $20,$40,$41,$3F,$01,$00 '74 - J - 4A
CData $7F,$08,$14,$22,$41,$00 '75 - K - 4B
CData $7F,$40,$40,$40,$40,$00 '76 - L - 4C
CData $7F,$02,$0C,$02,$7F,$00 '77 - M - 4D
CData $7F,$04,$08,$10,$7F,$00 '78 - N - 4E
CData $3E,$41,$41,$41,$3E,$00 '79 - O - 4F
CData $7F,$09,$09,$09,$06,$00 '80 - P - 50
CData $3E,$41,$51,$21,$5E,$00 '81 - Q - 51
CData $7F,$09,$19,$29,$46,$00 '82 - R - 52
CData $46,$49,$49,$49,$31,$00 '83 - S - 53
CData $01,$01,$7F,$01,$01,$00 '84 - T - 54
CData $3F,$40,$40,$40,$3F,$00 '85 - U - 55
CData $1F,$20,$40,$20,$1F,$00 '86 - V - 56
CData $3F,$40,$38,$40,$3F,$00 '87 - W - 57
CData $63,$14,$08,$14,$63,$00 '88 - X - 58
CData $07,$08,$70,$08,$07,$00 '89 - Y - 59
CData $61,$51,$49,$45,$43,$00 '90 - Z - 5A
CData $7F,$41,$41,$00,$00,$00 '91 - [ - 5B
CData $02,$04,$08,$10,$20,$00 '92 - \ - 5C
CData $00,$00,$41,$41,$7F,$00 '93 - ] - 5D
CData $04,$02,$01,$02,$04,$00 '94 - ^ - 5E
CData $40,$40,$40,$40,$40,$00 '95 - _ - 5F
CData $00,$01,$02,$04,$00,$00 '96 - ` - 60
CData $20,$54,$54,$54,$78,$00 '97 - a - 61
CData $7F,$48,$44,$44,$38,$00 '98 - b - 62
CData $38,$44,$44,$44,$20,$00 '99 - c - 63
CData $38,$44,$44,$48,$7F,$00 '100 d - 64
CData $38,$54,$54,$54,$18,$00 '101 e - 65
CData $08,$7E,$09,$01,$02,$00 '102 f - 66
CData $0C,$52,$52,$52,$3E,$00 '103 g - 67
CData $7F,$08,$04,$04,$78,$00 '104 h - 68
CData $00,$44,$7D,$40,$00,$00 '105 i - 69
CData $00,$20,$40,$44,$3D,$00 '106 j - 6A
CData $7F,$10,$28,$44,$00,$00 '107 k - 6B
CData $00,$41,$7F,$40,$00,$00 '108 l - 6C
CData $7C,$04,$18,$04,$78,$00 '109 m - 6D
CData $7C,$08,$04,$04,$78,$00 '110 n - 6E
CData $38,$44,$44,$44,$38,$00 '111 o - 6F
CData $7C,$14,$14,$14,$08,$00 '112 p - 70
CData $08,$14,$14,$18,$7C,$00 '113 q - 71
CData $7C,$08,$04,$04,$08,$00 '114 r - 72
CData $48,$54,$54,$54,$20,$00 '115 s - 73
CData $04,$3F,$44,$40,$20,$00 '116 t - 74
CData $3C,$40,$40,$20,$7C,$00 '117 u - 75
CData $1C,$20,$40,$20,$1C,$00 '118 v - 76
CData $3C,$40,$30,$40,$3C,$00 '119 w - 77
CData $44,$28,$10,$28,$44,$00 '120 x - 78
CData $0C,$50,$50,$50,$3C,$00 '121 y - 79
CData $44,$64,$54,$4C,$44,$00 '122 z - 7A
CData $08,$36,$41,$00,$00,$00 '123 { - 7B
CData $00,$00,$7F,$00,$00,$00 '124 | - 7C
CData $00,$00,$41,$36,$08,$00 '125 } - 7D
CData $00,$08,$04,$08,$04,$00 '126 ~ - 7E
-
Hola:
Si tienes el Generador todopic de Lager lo puedes hacer, escaneas la fuente que quieras y lo incluyes en el programa, como en el ejemplo que te puse.
No parece tener errores el programa, prueba generar el codigo como te lo menciono y hazlo como en el ejemplo que puse a vere que pasa.
-
EUREKA
Lo logre, el error era el siguiente
DECLARE GLCD_CS_INVERT off
Lo cambie a
DECLARE GLCD_CS_INVERT on
y el asunto salio bien.
Pero me gustaria saber bien como jalo las fuentes de otro archivo ***.fnt, y si puedo jalar diferentes tipos de fuente en el mismo programa y algo mas, alguien habra intentado usar un LCD Grafico y uno de caracteres al mismo tiempo, al parecer no se puede.
Gracias tu ayuda me sirvio de mucho.
Por si aca, aqui los LCDs graficos estan llegando recien y estan alrededor de 30 USD
Saludos de Arequipa Peru
Posdata: En verdad me esta gustando mas PROTON que PICBASIC, y puedo programar con ambos por el puerto serial con el Microcode Loader...............excelente.
-
Hola:
Claro que puedes utilizar multiples fuentes, antes de mandar a visualizar un texto debes decir que fuente utilizaras, como en mi ejemplo de arriba, tienes que hacer algo asi:
Print Font Bad_Mofo22
print at 1,1,"hola"
Print Font Arial12
Print at 35,1,"mundo"
De esa manara hola escribiras con la fuente badmofo y mundo con la fuente mundo.
Lo otro a lo que te refieres utilizar dos tipos diferentes de lcd no habria como con la libreria print, ya que defines o el uno o el otro lcd, si quieres comandar dos lcd diferentes, tendrias que crear una libreria adicional para que lo puedas comandar.
-
Hola:
Se me escapaba en mi caso tengo invertidos esos pines por eso en mi programa esta como:
Declare GLCD_CS_INVERT On
Lastima que no pudiste entrar a mi pagina, alli comentaba que tenia ese problema, en tu caso tu no tienes invertidos esos pines, por eso cuando ponias en ON te invertia las mitades del GLCD.
-
Hola Lorladfebre
Me puedes hacer el favor de enviarme una fuente que usas, he tratado de usas las que genera GCLCD GENERADOR TODOPIC, pero obtengo basura en la pantalla, me gustaria comparar y ver donde estoy cometiendo el error.
Gracias de antemano
Jose
mi email es: jose_nery@yahoo.com
-
Hola:
Aqui te adjunto la misma fuende que en el ejemplo, para que lo pruebes.
-
Hola Lordlafebre
Mira inclui la fuente Bad_mofo22, en mi programa y me sale basura, (sin incluir esto sale bien, imagenes y texto).
Probe solo mostrar texto con tu fuente y si sale bien, hay algun problema en mezclar los tipos de fuentes o algun tipo de incompatibilidad.
Josef
Gracias por subir la fuente bad_mofo
-
Hola:
Jose, el .fnt incluyelo en el mismo lugar donde esta eu programa, osea el archivo .bas, y prueba con el ejemplo que te puse, el de mi pagina, tal cual esta, solo tendrias que invertir la linea de CS ya que eso tu tenias diferente.