Autor Tema: LCD Nokia en PBP  (Leído 41788 veces)

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

Desconectado Axel_18

  • PIC16
  • ***
  • Mensajes: 152
Re: designacion de lcd
« Respuesta #15 en: 19 de Septiembre de 2006, 14:44:45 »
por lo visto no puedo utilizar esta libreria en un 16f84a pero puedo inicializar la LCD NOKIA con estO?

Código: [Seleccionar]
Define LCD_DREG PORTB  'bit de datos del LCD empezando
Define LCD_DBIT 0      'por B.0 ,B.1, B.2 y B.3
Define LCD_RSREG PORTB  'bit de registro del LCD conectar
Define LCD_RSBIT 5      'en el puerto B.5
Define LCD_EREG PORTB  'bit de Enable conectar en el
Define LCD_EBIT 4      'puerto B.4           
 




http://sandiding.tripod.com/lcd.html

en esta pag sale como controlar una LCD con un 16f84a pero sale en assembler :? :? y yo no veo una en assmebler :D

ayuda pliss no veo ni una!!!

saludos!
 

Desconectado LordLafebre

  • Moderador Global
  • DsPIC30
  • *****
  • Mensajes: 3529
    • Micros & micros
Re: designacion de lcd
« Respuesta #16 en: 19 de Septiembre de 2006, 15:04:55 »
Hola:

Eso no te sirve para estos displays, ese define te sirve para los LCD alphanumericos tipicos basados en el HD44780, si quieres en basic, adecua esa libreria a tus necesidades.

Desconectado Axel_18

  • PIC16
  • ***
  • Mensajes: 152
Re: designacion de lcd
« Respuesta #17 en: 19 de Septiembre de 2006, 15:57:06 »
OK

mira se que nesesito controlar los pines de la lCD que serian
*CS
*RES
*SCLK
*DC
*SDA
 haora como defino eso en BASIC eso es lo unico que no entiendo.....
despues de eso podria mandar letras y numeros con lcdout a la lcd...
saludos..

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18286
    • MicroPIC
Re: designacion de lcd
« Respuesta #18 en: 20 de Septiembre de 2006, 02:37:43 »
Dudo mucho que consigas utilizar el LCDOUT de Basic tan fácilmente, igual que tampoco funcionaba el PRINTF en C dado que son comandos orientados a un LCD compatible HD44780 y este no lo es.

Si quieres empezar a escribir una librería desde el principio, tendrás que implementar desde 0 las rutinas de inicialización del LCD, la de impresión de un pixel, y a partir de ahí desarrollar la impresión de dibujos y/o texto.

Toda la ayuda que te podemos ofrecer es la que ya te ha comunicado Lordlafebre en varias ocasiones; que utilices como referencia las librerías de Cucaracha para PIC o la mía para dsPIC pero ambas están en C. Con un poco de esfuerzo por tu parte no tendrás problemas para traducirlas a Basic.

Te dejo un link a la mía haciendo click en la foto:

Desconectado LordLafebre

  • Moderador Global
  • DsPIC30
  • *****
  • Mensajes: 3529
    • Micros & micros
Re: designacion de lcd
« Respuesta #19 en: 20 de Septiembre de 2006, 03:04:17 »
Hola:

No se que paso, estaba seguro que en la tarde postie diciendo que puedes intentar a cambiar los pines en la libreria del MKB que es esta:

Código: FreeBasic
  1. module NOKIA_LCD_18
  2.  
  3. '  Written by ANTON RIECKERT
  4. '  riecktron@tuks.co.za
  5.  
  6. '  PORTC,0   -  CS   - Chip Enable
  7. '  PORTC,1   -  RES  - Reset Input
  8. '  PORTC,4   -  SCLK - Serial Clock Input
  9. '  PORTC,5   -  DC   - Data / Command
  10. '  PORTC,6   -  SDA  - Serial Data Input
  11.  
  12.  
  13. '  6x8 Font Table
  14. const font1 as byte[460] =
  15. (0x00, 0x00, 0x00, 0x00, 0x00 ,   '  space
  16.  0x00, 0x00, 0x2f, 0x00, 0x00 ,   '  !
  17.  0x00, 0x07, 0x00, 0x07, 0x00 ,   '  "
  18.  0x14, 0x7f, 0x14, 0x7f, 0x14 ,   '  #
  19.  0x24, 0x2a, 0x7f, 0x2a, 0x12 ,   '  $
  20.  0x62, 0x64, 0x08, 0x13, 0x23 ,   '  %
  21.  0x36, 0x49, 0x55, 0x22, 0x50 ,   '  &
  22.  0x00, 0x05, 0x03, 0x00, 0x00 ,   '  '
  23.  0x00, 0x1c, 0x22, 0x41, 0x00 ,   '  (
  24.  0x00, 0x41, 0x22, 0x1c, 0x00 ,   '  )
  25.  0x14, 0x08, 0x3E, 0x08, 0x14 ,   '  *
  26.  0x08, 0x08, 0x3E, 0x08, 0x08 ,   '  +
  27.  0x00, 0x00, 0xA0, 0x60, 0x00 ,   '  ,
  28.  0x08, 0x08, 0x08, 0x08, 0x08 ,   '  -
  29.  0x00, 0x60, 0x60, 0x00, 0x00 ,   '  .
  30.  0x20, 0x10, 0x08, 0x04, 0x02 ,   '  /
  31.  0x3E, 0x51, 0x49, 0x45, 0x3E ,   '  0
  32.  0x00, 0x42, 0x7F, 0x40, 0x00 ,   '  1
  33.  0x42, 0x61, 0x51, 0x49, 0x46 ,   '  2
  34.  0x21, 0x41, 0x45, 0x4B, 0x31 ,   '  3
  35.  0x18, 0x14, 0x12, 0x7F, 0x10 ,   '  4
  36.  0x27, 0x45, 0x45, 0x45, 0x39 ,   '  5
  37.  0x3C, 0x4A, 0x49, 0x49, 0x30 ,   '  6
  38.  0x01, 0x71, 0x09, 0x05, 0x03 ,   '  7
  39.  0x36, 0x49, 0x49, 0x49, 0x36 ,   '  8
  40.  0x06, 0x49, 0x49, 0x29, 0x1E ,   '  9
  41.  0x00, 0x36, 0x36, 0x00, 0x00 ,   '  :
  42.  0x00, 0x56, 0x36, 0x00, 0x00 ,   '
  43.  0x08, 0x14, 0x22, 0x41, 0x00 ,   '  <
  44.  0x14, 0x14, 0x14, 0x14, 0x14 ,   '  =
  45.  0x00, 0x41, 0x22, 0x14, 0x08 ,   '  >
  46.  0x02, 0x01, 0x51, 0x09, 0x06 ,   '  ?
  47.  0x32, 0x49, 0x59, 0x51, 0x3E ,   '  @
  48.  0x7C, 0x12, 0x11, 0x12, 0x7C ,   '  A
  49.  0x7F, 0x49, 0x49, 0x49, 0x36 ,   '  B
  50.  0x3E, 0x41, 0x41, 0x41, 0x22 ,   '  C
  51.  0x7F, 0x41, 0x41, 0x22, 0x1C ,   '  D
  52.  0x7F, 0x49, 0x49, 0x49, 0x41 ,   '  E
  53.  0x7F, 0x09, 0x09, 0x09, 0x01 ,   '  F
  54.  0x3E, 0x41, 0x49, 0x49, 0x7A ,   '  G
  55.  0x7F, 0x08, 0x08, 0x08, 0x7F ,   '  H
  56.  0x00, 0x41, 0x7F, 0x41, 0x00 ,   '  I
  57.  0x20, 0x40, 0x41, 0x3F, 0x01 ,   '  J
  58.  0x7F, 0x08, 0x14, 0x22, 0x41 ,   '  K
  59.  0x7F, 0x40, 0x40, 0x40, 0x40 ,   '  L
  60.  0x7F, 0x02, 0x0C, 0x02, 0x7F ,   '  M
  61.  0x7F, 0x04, 0x08, 0x10, 0x7F ,   '  N
  62.  0x3E, 0x41, 0x41, 0x41, 0x3E ,   '  O
  63.  0x7F, 0x09, 0x09, 0x09, 0x06 ,   '  P
  64.  0x3E, 0x41, 0x51, 0x21, 0x5E ,   '  Q
  65.  0x7F, 0x09, 0x19, 0x29, 0x46 ,   '  R
  66.  0x46, 0x49, 0x49, 0x49, 0x31 ,   '  S
  67.  0x01, 0x01, 0x7F, 0x01, 0x01 ,   '  T
  68.  0x3F, 0x40, 0x40, 0x40, 0x3F ,   '  U
  69.  0x1F, 0x20, 0x40, 0x20, 0x1F ,   '  V
  70.  0x3F, 0x40, 0x38, 0x40, 0x3F ,   '  W
  71.  0x63, 0x14, 0x08, 0x14, 0x63 ,   '  X
  72.  0x07, 0x08, 0x70, 0x08, 0x07 ,   '  Y
  73.  0x61, 0x51, 0x49, 0x45, 0x43 ,   '  Z
  74.  0x00, 0x7F, 0x41, 0x41, 0x00 ,   '  [
  75.  0x55, 0x2A, 0x55, 0x2A, 0x55 ,   '  /
  76.  0x00, 0x41, 0x41, 0x7F, 0x00 ,   '  ]
  77.  0x04, 0x02, 0x01, 0x02, 0x04 ,   '  ^
  78.  0x40, 0x40, 0x40, 0x40, 0x40 ,   '  _
  79.  0x00, 0x01, 0x02, 0x04, 0x00 ,   '  '
  80.  0x20, 0x54, 0x54, 0x54, 0x78 ,   '  a
  81.  0x7F, 0x48, 0x44, 0x44, 0x38 ,   '  b
  82.  0x38, 0x44, 0x44, 0x44, 0x20 ,   '  c
  83.  0x38, 0x44, 0x44, 0x48, 0x7F ,   '  d
  84.  0x38, 0x54, 0x54, 0x54, 0x18 ,   '  e
  85.  0x08, 0x7E, 0x09, 0x01, 0x02 ,   '  f
  86.  0x18, 0xA4, 0xA4, 0xA4, 0x7C ,   '  g
  87.  0x7F, 0x08, 0x04, 0x04, 0x78 ,   '  h
  88.  0x00, 0x44, 0x7D, 0x40, 0x00 ,   '  i
  89.  0x40, 0x80, 0x84, 0x7D, 0x00 ,   '  j
  90.  0x7F, 0x10, 0x28, 0x44, 0x00 ,   '  k
  91.  0x00, 0x41, 0x7F, 0x40, 0x00 ,   '  l
  92.  0x7C, 0x04, 0x18, 0x04, 0x78 ,   '  m
  93.  0x7C, 0x08, 0x04, 0x04, 0x78 ,   '  n
  94.  0x38, 0x44, 0x44, 0x44, 0x38 ,   '  o
  95.  0xFC, 0x24, 0x24, 0x24, 0x18 ,   '  p
  96.  0x18, 0x24, 0x24, 0x18, 0xFC ,   '  q
  97.  0x7C, 0x08, 0x04, 0x04, 0x08 ,   '  r
  98.  0x48, 0x54, 0x54, 0x54, 0x20 ,   '  s
  99.  0x04, 0x3F, 0x44, 0x40, 0x20 ,   '  t
  100.  0x3C, 0x40, 0x40, 0x20, 0x7C ,   '  u
  101.  0x1C, 0x20, 0x40, 0x20, 0x1C ,   '  v
  102.  0x3C, 0x40, 0x30, 0x40, 0x3C ,   '  w
  103.  0x44, 0x28, 0x10, 0x28, 0x44 ,   '  x
  104.  0x1C, 0xA0, 0xA0, 0xA0, 0x7C ,   '  y
  105.  0x44, 0x64, 0x54, 0x4C, 0x44 ,   '  z
  106.  0x14, 0x14, 0x14, 0x14, 0x14)    '  horiz lines
  107.  
  108. sub procedure NOK_Write (dim data as byte, dim mode as byte)
  109. dim i as short
  110.      '  Pull DC high for DATA or low for COMMAND
  111.      If TestBit(mode,0) = 1 then
  112.        SetBit(PortC,5)
  113.      end if
  114.      If TestBit(mode,0) = 0 then
  115.        ClearBit(PortC,5)
  116.      end if
  117.  
  118.      ClearBit(PortC,0)                                    '  CS = low
  119.  
  120.      '  Clock in 8 bits of data - Highst bit first
  121.      for i = 7 to 0 step -1
  122.           ClearBit(PortC,4)                               '  SCLK = low
  123.           If TestBit(Data,i) = 0 then
  124.             ClearBit(PortC,6)                             '  SDA = low
  125.           else
  126.             SetBit(PortC,6)                               '  SDA = high
  127.           end if
  128.           SetBit(PortC,4)                                 '  SCLK = high
  129.      next i
  130.     SetBit(PortC,0)                                       '  CS = high
  131. end sub
  132.  
  133. '  Draws a character on screen at current possition
  134. sub procedure NOK_Chr(dim symlcd as byte)
  135. dim l as byte
  136. dim m as word
  137.  
  138.       NOK_Write(0x00,1)           '  Space between characters
  139.       for l = 1 to 5
  140.            m = (symlcd - 32)
  141.            m = m * 5
  142.            m = m + l
  143.            m = m - 1
  144.            NOK_Write(Font1[m],1)
  145.       next l
  146. end sub
  147.  
  148. '  Set the current position for data (0<= x <= 84,  0<= y <= 5)
  149. sub procedure NOK_GotoXY(dim x as byte, dim y as byte)
  150. dim n as byte
  151. dim o as byte
  152.  
  153.      n = x
  154.      o = y
  155.      SetBit(n,7)
  156.      SetBit(o,6)
  157.      NOK_Write (o,0)
  158.      NOK_Write (n,0)
  159. end sub
  160.  
  161. '  Inverts Display - Here is still a bug. It only inverst once and doesn't
  162. '  want to invert back again
  163. sub procedure NOK_Invert
  164.      NOK_Write(0x0D,0)
  165. end sub
  166.  
  167. '  Clear the LCD Data memory
  168. sub procedure NOK_Clear
  169. dim p as byte
  170. dim q as byte
  171. dim r as byte
  172.  
  173.      ClearBit(PortC,6)                    '  SDA = low - Data bit is low
  174.      SetBit(PortC,5)                      '  DC = high - Data mode
  175.      ClearBit(PortC,0)                    '  CS = low  - Chip Enable
  176.  
  177.      for p = 1 to 6                       '   for 6 rows
  178.           for q = 1 to 84                 '   for 84 colums
  179.                for r = 1 to 8             '   for 8 loop (8 bits)
  180.                     ClearBit(PortC,4)     '   SCLK = low  - Serial Clock Input
  181.                     SetBit(PortC,4)       '   SCLK = high - Serial Clock Input
  182.                next r
  183.           next q
  184.      next p
  185. end sub
  186.  
  187. '  Writes a string at x, y position (maks 14 char per row)  (0 <= x <= 84 , 0 <= y <= 5)
  188. sub procedure NOK_Out(dim x as byte, dim y as byte, dim byref sentance as char[14])
  189. dim v as byte
  190.      NOK_GotoXY(x,y)
  191.      for v = 0 to length(sentance)
  192.           NOK_Chr(sentance[v])
  193.      next v
  194. end sub
  195.  
  196. '  LCD Initialization
  197. sub procedure NOK_Init
  198.      '  Set initial status of LCD pins
  199.      ClearBit(PortC,4)             '     SCLK = low
  200.      ClearBit(PortC,6)             '     SDA  = low
  201.      ClearBit(PortC,5)             '     DC   = low
  202.      ClearBit(PortC,0)             '     CS   = low
  203.      ClearBit(PortC,1)             '     RES  = low
  204.  
  205.      '  Toggle LCD reset
  206.      Delay_ms(20)
  207.      ClearBit(PortC,1)        '      RES = low
  208.      Delay_ms(500)
  209.      SetBit(PortC,1)          '      RES = high
  210.  
  211.      SetBit(PortC,0)          '      CS  = high
  212.      NOK_Write(0x21,0)        '      Extended commands
  213.      NOK_Write(0xc5,0)        '      LCD Vop
  214.      NOK_Write(0x06,0)        '      Temp coef
  215.      NOK_Write(0x13,0)        '      LCD Bias 1:48
  216.      NOK_Write(0x20,0)        '      Standard commands
  217.      NOK_Write(0x0c,0)        '      Normal Mode
  218.  
  219.      '  Clear and position at top of LCD
  220.      NOK_Clear
  221.      NOK_GotoXY(0,0)
  222. end sub
  223.  
  224. end.

Alli tienes todo lo necesario para hacer los cambios, y olvidate del LCDOUT, es solamente para LCD con controlador HD44780, ademas esa es una funcion de PBP y como te mencione antes en uno de los posts, esta es una libreria para basic, pero para Mikrobasic, pense que quedo claro eso anteriormente, no confundamos las cosas.

Revisa el codigo y mira estos pines:

'  PORTC,0   -  CS   - Chip Enable
'  PORTC,1   -  RES  - Reset Input
'  PORTC,4   -  SCLK - Serial Clock Input
'  PORTC,5   -  DC   - Data / Command
'  PORTC,6   -  SDA  - Serial Data Input

y si quieres cambiarlos mira como puedes hacerlo.

Desconectado Eyedol

  • PIC16
  • ***
  • Mensajes: 129
lcd nokia en pbp
« Respuesta #20 en: 27 de Septiembre de 2006, 15:06:31 »
saludos amigos.... esta vez quisiera poder trabajar con el display de un telefono nokia modelo 3310 muy popular en muchas paginas en internet por las ventajas que ofrece su bajo precio y es facil de coseguir. se que hay rutinas en .asm y c pero quisiera saber si existe rutinas en pic basic pro para hacer esto. sino bueno como para hacerlo funcionar.

aqui esta algo de informacion acerca del 3310:

 LCD Gráfico 84x48 pixels NOKIA 3310
   

LCD3310
   

Descripción: El LCD gráfico de 84x48 pixels de los teléfonos móviles NOKIA 3310, dispone de un µControlador modelo PCD8544 de la casa Philips para controlar la matriz LCD, nuestro montaje se basara en las rutinas de control y en el envío de comandos para pintar caracteres ASCII de manera simple además de abrir la puerta a cualquier otra posibilidad, tenemos que tener en cuenta que este LCD no es "inteligente" y su µControlador lo único que hace es controlar la matriz LCD entre otras cosas.. así que tendremos que hacerlo todo nosotros.

Funcionamiento: El LCD3310 dispone de un conector de 8 pines y su disposición se muestra en la siguiente tabla:

 
Pin nº    Símbolo    Descripción
1    Vdd    Positivo Alimentación 2.7 a 3.3V
2    SCLK    Serial Clock ( 0 - 4Mbits/s.)
3    SDIN    Serial Data
4    D/C    Select Register (H=Datos, L=Comandos)
5    /SCE    Chip Select (L=Enable)
6    GND    Masa
7    Vop    LCD output Voltaje
8    /RES    Reset

 

La alimentación necesaria para el LCD es de 3,3V y su interface serie de comunicaciones utiliza el bus serie SPI a niveles de 3,3V también

El pin número 7 marcado como Vout se utiliza para conectar un condensador externo con respecto a masa para generar la tensión necesaria para el LCD, el valor mínimo recomendado es de 1µF.

 

mas informacion aqui: http://www.x-robotics.com/hardware.htm#LCD%20Gr%E1fico%2084x48%20pixels%20NOKIA%203310
« Última modificación: 27 de Septiembre de 2006, 15:08:48 por Eyedol »

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18286
    • MicroPIC
Re: lcd nokia en pbp
« Respuesta #21 en: 27 de Septiembre de 2006, 15:18:27 »
Si quieres puedes aprovecharte de la librería que hice en C30 y que puedes ver al darle click a la foto, o de la que hizo Cucaracha en CCS para PIC en su web: http://webs.ono.com/usr008/cucaracha/


Desconectado Eyedol

  • PIC16
  • ***
  • Mensajes: 129
Re: lcd nokia en pbp
« Respuesta #22 en: 27 de Septiembre de 2006, 15:42:58 »
veo que es excelente tu libreria lo que pasa es que aun no se programar en c#. tu no estaras en capacidad de ayudarme o hacerlo tu mismo escribir una libreria para BASIC bueno quisiera intentarlo ley lo que hace cucaracha para inicializarlo. soy un poco novato pero si me explicas como inicializar y manejarlo pues me atreveria a construir una libreria para manejarlo en el basic y pues publicarla aqui en el foro libremente para que todos puedan usarla. y quisas tambien crear una libreria para utilizarla con PYTHON.... saludos


Ah y te felicito es excelente tu libreria..... 8)
« Última modificación: 27 de Septiembre de 2006, 15:45:37 por Eyedol »

Desconectado navaismo

  • Jubilado Todopic
  • PIC24H
  • ****
  • Mensajes: 1973
Re: lcd nokia en pbp
« Respuesta #23 en: 27 de Septiembre de 2006, 17:29:36 »
pues yo te apoyo Eyedol vamos a ver si podemos hacer una libreria en PBP pra ese lcd, si los de ASM y los de C tienen la suya porque nosotros no?.

Dejame ver en que te puedo ayudar
"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 LordLafebre

  • Moderador Global
  • DsPIC30
  • *****
  • Mensajes: 3529
    • Micros & micros
Re: lcd nokia en pbp
« Respuesta #24 en: 27 de Septiembre de 2006, 17:59:48 »
Hola:

Este tema se esta haciendo muy redundante, yo creo que mas facil es hacer una libreria para el LCD migrando desde un basic, en el foro esta la libreria para ese LCD en Mikrobasic, por que no parten de alli? me parece que seria un poco mas sencillo...

http://www.todopic.com.ar/foros/index.php?topic=13812.0

Desconectado navaismo

  • Jubilado Todopic
  • PIC24H
  • ****
  • Mensajes: 1973
Re: lcd nokia en pbp
« Respuesta #25 en: 27 de Septiembre de 2006, 18:11:00 »
si no vi ese post porque no los mueves a uno solo porfa.
"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 LordLafebre

  • Moderador Global
  • DsPIC30
  • *****
  • Mensajes: 3529
    • Micros & micros
Re: lcd nokia en pbp
« Respuesta #26 en: 27 de Septiembre de 2006, 18:39:31 »
Hola:

A servicio del consumidor  :D :D, ya lo hice y lo deje con el tema de lcd nokia en pbp, que es lo que la mayoria quiere.

Desconectado navaismo

  • Jubilado Todopic
  • PIC24H
  • ****
  • Mensajes: 1973
Re: lcd nokia en pbp
« Respuesta #27 en: 27 de Septiembre de 2006, 18:43:18 »
Va!! Gracias amigo, estuve viendo la libreria que hicieron en MKB y me gustaria saber tu opinion.¿crees que se pueda pasar o hacer algo parecido con PBP? o ¿sera muy dificil?.

La verdad no tengo un lcd de esos y aun no pienso usarlo o comprar uno pero veo que muchos lo usan seria bueno intentarlo no crees.
"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 LordLafebre

  • Moderador Global
  • DsPIC30
  • *****
  • Mensajes: 3529
    • Micros & micros
Re: lcd nokia en pbp
« Respuesta #28 en: 27 de Septiembre de 2006, 18:52:15 »
Hola:

De pronto voy a pecar de optimismo, pero parece muuuy realizable, solo seria de ver como se puede hacer para suprimir los parametros en las funciones que tiene en la libreria del MKB, por lo demas no creo que sea complicado.

Desconectado Eyedol

  • PIC16
  • ***
  • Mensajes: 129
Re: lcd nokia en pbp
« Respuesta #29 en: 27 de Septiembre de 2006, 19:02:18 »
navaismo yo vi la ya lo que hisieron con mikrobasic. aun no me meto con ese prog. lo estoy bajando pero bueno eso no viene al caso.

yo pienso que deberiamos enpesar por hacer un codigo fuente para hacer la inicializacion que describe cucaracha pero en PIC BASIC PRO aqui te copio la descripcion(algoritmo) hagamoslo:


odo el mundo conoce los nokia 3310 y similares. Pues bien, el LCD que estos traen son fácilmente reutilizables para proyectos propio. Un LCD gráfico de muy bajo coste, sobre todo si es reciclado (coste cero).

     Este tipo de LCD lleva integrado el controlador PCD8544. Vamos a explicar un poco como va la cosa. A ver como sale...

     Tenemos las siguientes señales en el LCD, pines vamos:

*sclk (señal de reloj, sincronismo)
*sda (datos)
*dc (para seleccionar Dato o Comando)
*cs (Chip Select)
*res (Reset)

Mirad el data para más detalles

La cosa sería así:

1) Para enviar un comando:

dc a 0
cs a 0

y ahora envío en serie del comando.

sclk a 0 (ésta es la señal de reloj) Se pone a cero y envío de un bit

a)si el bit es 0 sda a 0
b)si el bit es 1 sda a 1

sclk a 1

Esto se repite 8 veces, una por bit del byte que compone el comando. El envío se hace empezando por el bit MSB

2) Para enviar un dato:

dc a 1

El resto igual, CS a 0... pero claro, lo que se envía ahora es un dato, algo que será mostrado (los 1 serán puntos negros, los 0 blancos)
Los comandos para direccionar en la pantalla son:

X-> 1xxx xxxx (donde las x son el número en binario para el eje X. Columna que va de 0 a 83)
Y-> 0100 0yyy (lo mismo, para el eje Y. Filas. De 0 a 5)

Para inicializar el LCD:

todas la señales a 0.
esperas 200us
dc a 1
cs a 1
esperas 10 ms
res a 0
esperas 250ms
res a 1
envías el comando 0x21
envías el comando 0x90
envías el comando 0x13
envías el comando 0x20
envías el comando 0x09
esperas 50ms
te posicionas en (0,0)
limpias la pantalla, osea escribes 0 en todas las posiciones. Recuerda que el puntero se incrementa sólo.
esperas 10ms
envías el comando 0x0c
...y listo. Uffff


ADELANTE....... 8) 8) 8) 8) 8)
« Última modificación: 27 de Septiembre de 2006, 20:06:28 por LordLafebre »