TODOPIC

Microcontroladores PIC => Lenguaje Basic para microcontroladores PIC => Mensaje iniciado por: Axel_18 en 10 de Septiembre de 2006, 12:56:13

Título: LCD Nokia en PBP
Publicado por: Axel_18 en 10 de Septiembre de 2006, 12:56:13
hola a toods

tengo una pantalla lcd NOKIA 5190 y quiero empezar a controlarla.
 encontre una pag donde te explican como manejar una lcd de este tipo y  hay  te dan esto..


                    +--------------------------+
                     |     1 2 3 4 5 6 7 8 9                          |
                     |            # # # # # # # # #                |            1 .. VDD
                     |  ===#=#=#=#=#=#=#=#=#==   |                2 .. SCLK
                     +--======================--+             3 .. SI
                     |                                                                      4 .. D/C
                     |                          |                                           5 .. /CS
                     |        rear view         |                                      6 .. Osc
                     |   connector is visible   |                                    7 .. GND
                     |                          |                                           8 .. Vout
                     |         LPH7366          |                                      9 .. /RES
                     |                          |
                     +--------------------------+
 
pero por ejemplo los pines2,3,4,5,8 y 9 nose que son y solo tengo como guia la lcd de 16x2 de proteus y no se cuales corresponden a d1,d2,d3,d4,d5,d6,d7.... y los otros pines


en resumen....

como estaria organizados los pines de la lcd de nokia con respecto a la lcd de proteus?

cual es cual??'


saludos!!
 
Título: Re: designacion de lcd
Publicado por: samshiel_pic en 10 de Septiembre de 2006, 13:49:48
hola compañero no estoy seguro pero no van a corresponder con las LCD de PROTEUS. A mi me parece que por ahi ahi librerias que manejan LCDs de nokias 3310 pero asi no me suena que fuera asi, es mas no se alimentan de la misma manera que las LCDs 2X16, van a 3,3v.

Suerte con las LCDs :-)
Título: Re: designacion de lcd
Publicado por: samshiel_pic en 10 de Septiembre de 2006, 13:54:55
Aqui tienes un enlace a la pagina de un compañero del foro, donde vas a encontrar unos cuantos ejemplos y usos de las pantallas de nokia.

Cucaweb (http://webs.ono.com/usr008/cucaracha/lcdnokia.htm)

y la pagina de mi paisano NOCTURNO tambien maneja una LCD de nokia con DSPIC.

EL REBUJITO (http://www.elrebujito.es/modules.php?name=News&file=article&sid=60)
Título: Re: designacion de lcd
Publicado por: Axel_18 en 10 de Septiembre de 2006, 15:32:42
si habia visto antes esas pags pero no aparece lo que busco....

que pines  corresponderia al otro...

saludos! 
Título: Re: designacion de lcd
Publicado por: Veguepic en 10 de Septiembre de 2006, 15:59:16
No hay correspondencia, los sistemas son diferentes.

Los LCD 16x2 son alfanumericas, las otras son LCD graficas.

Saludos
Título: Re: designacion de lcd
Publicado por: Axel_18 en 10 de Septiembre de 2006, 16:20:16
ups!

pense que eran correlativas :shock:.....


en ese caso habra algun forero que sepa manejar este tipo de lcd de un NOKIA9150 o similar??

el controlador que utiliza la lcd es el lph7366

un saludo!
Título: Re: designacion de lcd
Publicado por: LordLafebre en 10 de Septiembre de 2006, 22:46:21
Hola:

me parece que primero deberias ver el data del controlador para que te puedas crear un protocolo para utilizarlo, la pagina de cucaracha y de nocturno explican como hacer una libreria para LCD nokia 3310, ese te puede servir de ayuda, quiero comentarte que borre tu otro post, ya que aqui estas tratando lo mismo.
Título: Re: designacion de lcd
Publicado por: Veguepic en 11 de Septiembre de 2006, 00:47:22
Hola Axel_18, vayamos por partes:

Que es lo que deseas hacer, conectar el LCD a un Pic o usar el LCD no importando donde lo conectes?

He visto tu otro post:

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

en el pones un link donde hay un programa en asembler para manejarlo pero no entiendo tu comentario, no entiendes el programa (asembler) o no entiendes que hace el programa.

Si lo que deseas es solo usar el LCD mira este link

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

En el algunos estamos tambien tratando de conectar un LCD al puerto paralelo, el tuyo es similar, si es esto lo que quieres hacer te invito a que postees tus dudas en este link donde te ayudaremos en lo que podamos. (Recien esta semana termino el PCB)

Tambien revisa estos links:

http://serdisplib.sourceforge.net/ser/pcd8544.html

http://serdisplib.sourceforge.net/index.html

Tiene diagramas de como conectarlo y un programa para manejarlo, pero tendras que aprender a manejar el programa.


Veo tambien que has sido llamado al orden, no lo tomes a mal, varios hemos pasado por lo mismo, se hace con el fin de que este sea un foro lo mas ordenado posible y tambien por cuestiones de espacio. Por eso entenderas que este tema no pertenece a este foro por lo cual debera ser borrado, pero creo conveniente no antes de tu respuesta sobre que es lo que necesitas hacer con tu LCD.

Un saludo.
Título: Re: designacion de lcd
Publicado por: Axel_18 en 12 de Septiembre de 2006, 16:04:58
ok entiendo veguepic no hay problema....


mi intencion es manejar la LCD atravez del pic por el momento, yo programo en BASIC y no se como definir las variables para enpezar a utilizar la LCD y la dispocciocion de los pines para conectarlos y como conectar la LCD al pic...
porfavor si alguien me pudiera dar un ejemplo se llo agradeceria mucho : :-)


un saludo!
Título: Re: designacion de lcd
Publicado por: LordLafebre en 12 de Septiembre de 2006, 17:41:17
Hola:

con el protocolo no te puedo ayudar, pero como digo, puedes basarte en las librerias de Nocturno y Cucaracha, con respecto a como conectarlo al pic, mira aqui:

http://serdisplib.sourceforge.net/ser/pcd8544.html
Título: Re: designacion de lcd
Publicado por: Axel_18 en 14 de Septiembre de 2006, 15:36:30
busco y busco pero no puedo encontrar en BASIC algun programa guia puro assembler o C cosa que no entiendo ninguno de los 2`s :( :(

ayudenme pliss!!!
Título: Re: designacion de lcd
Publicado por: LordLafebre en 14 de Septiembre de 2006, 16:35:00
Hola:

Bueno, de mi parte creo que esta es la ultima ayuda que puedo darte, tampoco me voy a poner a hacer el codig yo, aqui hay un ejemplo en basic para un lcd nokia, esta hecho con mikrobasic, espero te sirva:

http://www.jvmbots.com/viewtopic.php?t=79
Título: Re: designacion de lcd
Publicado por: Axel_18 en 14 de Septiembre de 2006, 17:28:19
eso era todo lo k nesesitaba


grax por la ayuda!! :)
Título: Re: designacion de lcd
Publicado por: LordLafebre en 14 de Septiembre de 2006, 17:39:00
hola:

uuffffffffff, hasta que le dimos  :D :D :D,  suerte con eso  :mrgreen:
Título: Re: designacion de lcd
Publicado por: Axel_18 en 14 de Septiembre de 2006, 18:38:09
mas adeleante comento los resultado

un abrazo y grax!
Título: Re: designacion de lcd
Publicado por: Axel_18 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!
 
Título: Re: designacion de lcd
Publicado por: LordLafebre 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.
Título: Re: designacion de lcd
Publicado por: Axel_18 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..
Título: Re: designacion de lcd
Publicado por: Nocturno 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:
(http://elrebujito.es/images/nokia%201-intro.jpg) (http://elrebujito.es/modules.php?name=News&file=article&sid=60&mode=&order=0&thold=0)
Título: Re: designacion de lcd
Publicado por: LordLafebre 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.
Título: lcd nokia en pbp
Publicado por: Eyedol 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
Título: Re: lcd nokia en pbp
Publicado por: Nocturno 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/

(http://www.elrebujito.es/images/nokia%201-intro.jpg) (http://www.elrebujito.es/modules.php?name=News&file=article&sid=60&mode=&order=0&thold=0)
Título: Re: lcd nokia en pbp
Publicado por: Eyedol 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)
Título: Re: lcd nokia en pbp
Publicado por: navaismo 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
Título: Re: lcd nokia en pbp
Publicado por: LordLafebre 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
Título: Re: lcd nokia en pbp
Publicado por: navaismo en 27 de Septiembre de 2006, 18:11:00
si no vi ese post porque no los mueves a uno solo porfa.
Título: Re: lcd nokia en pbp
Publicado por: LordLafebre 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.
Título: Re: lcd nokia en pbp
Publicado por: navaismo 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.
Título: Re: lcd nokia en pbp
Publicado por: LordLafebre 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.
Título: Re: lcd nokia en pbp
Publicado por: Eyedol 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)
Título: Re: lcd nokia en pbp
Publicado por: navaismo en 29 de Septiembre de 2006, 00:30:37
Hola amigos basandome en lo que pone Eyedol de la pagina de cucaracha hice esta rutina que creo sirve para inicializar un LCD de nokia, pero porque no le dan una revisada ya que tengo dudas con respecto a la posicion del cursor y el limpiado del lcd.

Con referencia a la libreria de MKB aun no se como definir los letras no es tan sencillo como en MKB (jajajaja ahora si verdad uno se da cuenta de las ventajas de regresar valores a una funcion jajajajaja) y eso seria otra cosa u otra libreria lo que hice esta para un 16F877 por lo del PORTC.

Bueno chequenlo y me dicen no apenas estoy con esto.

Código: XML
  1. '****************************************************************
  2. '*  Name    : Libreria LCD nokia3310                            *
  3. '*  Author  : Max E. Reyes Vera Juarez                          *
  4. '*  Notice  : Copyright (c) 2006 Protegido por leyes de Autor   *
  5. '*          : All Rights Reserved                               *
  6. '*  Date    : 28/09/2006                                        *
  7. '*  Version : 0.1a                                              *
  8. '*  Notes   : Basado en la libreria de ANTON RIECKERT           *
  9. '*          : para MKB. Y en la pagina web de cucaracha         *
  10. '*          :    http://webs.ono.com/usr008/cucaracha/                *
  11. '****************************************************************
  12.  
  13. '  PORTC.0   -  CS   - Habilitar Chip
  14. '  PORTC.1   -  RES  - Reset
  15. '  PORTC.4   -  SCLK - Entrada de Reloj Serie
  16. '  PORTC.5   -  DC   - Dato / Comando
  17. '  PORTC.6   -  SDA  - Entrada Dato Serie
  18.  
  19. TRISC = 0
  20.  
  21.  
  22. CS   VAR PORTC.0
  23. DC   VAR PORTC.5
  24. RES  VAR PORTC.1
  25. SDA  VAR PORTC.6
  26. SCLK VAR PORTC.4
  27.  
  28. CMD VAR BYTE
  29. B   VAR BYTE
  30. I   VAR BYTE
  31. x   VAR BYTE
  32. y   VAR BYTE
  33.  
  34. COLUMNA VAR BYTE
  35. FILA    VAR BYTE
  36.  
  37. LCD_INIT:
  38.  CS = 0
  39.  DC = 0
  40.  RES = 0
  41.  SDA = 0
  42.  SCLK = 0
  43.  PAUSEUS 250
  44.  DC = 1
  45.  CS = 1
  46.  PAUSE 15
  47.  RES = 0
  48.  PAUSE 300
  49.  RES = 1
  50.  PAUSE 100
  51. GOTO ENVIO_CMD_0x21:
  52.  
  53. ENVIO_CMD_0x21:
  54.  CMD = $21
  55.  dc = 0
  56.  cs = 0
  57.   FOR I = 7 TO 0 STEP -1
  58.    SCLK = 0
  59.      IF CMD[i] = 0 THEN
  60.       SDA = 0
  61.      ELSE
  62.       SDA = 1
  63.      ENDIF  
  64.    SCLK = 1
  65.   NEXT I
  66. GOTO ENVIO_CMD_0x90:  
  67.  
  68. ENVIO_CMD_0x90:
  69.  CMD = $90
  70.  dc = 0
  71.  cs = 0
  72.   FOR I = 7 TO 0 STEP -1
  73.    SCLK = 0
  74.      IF CMD[i] = 0 THEN
  75.       SDA = 0
  76.      ELSE
  77.       SDA = 1
  78.      ENDIF  
  79.    SCLK = 1
  80.   NEXT I
  81. GOTO ENVIO_CMD_0x13:
  82.  
  83. ENVIO_CMD_0x13:
  84.  CMD = $13
  85.  dc = 0
  86.  cs = 0
  87.   FOR I = 7 TO 0 STEP -1
  88.    SCLK = 0
  89.      IF CMD[i] = 0 THEN
  90.       SDA = 0
  91.      ELSE
  92.       SDA = 1
  93.      ENDIF  
  94.    SCLK = 1
  95.   NEXT I
  96. GOTO ENVIO_CMD_0x20:
  97.  
  98. ENVIO_CMD_0x20:
  99.  CMD = $20
  100.  dc = 0
  101.  cs = 0
  102.   FOR I = 7 TO 0 STEP -1
  103.    SCLK = 0
  104.      IF CMD[i] = 0 THEN
  105.       SDA = 0
  106.      ELSE
  107.       SDA = 1
  108.      ENDIF  
  109.    SCLK = 1
  110.   NEXT I
  111. GOTO ENVIO_CMD_0x09:
  112.  
  113. ENVIO_CMD_0x09:
  114.  CMD = $09
  115.  dc = 0
  116.  cs = 0
  117.   FOR I = 7 TO 0 STEP -1
  118.    SCLK = 0
  119.      IF CMD[i] = 0 THEN
  120.       SDA = 0
  121.      ELSE
  122.       SDA = 1
  123.      ENDIF  
  124.    SCLK = 1
  125.   NEXT I
  126. PAUSE 60
  127. GOTO IR_x0y0
  128.  
  129. IR_x0y0:
  130.   Y = %01000000
  131.   x = %10000000
  132.  dc = 0
  133.  cs = 0
  134.   FOR I = 7 TO 0 STEP -1
  135.    SCLK = 0
  136.      IF X[i] = 0 THEN
  137.       SDA = 0
  138.      ELSE
  139.       SDA = 1
  140.      ENDIF  
  141.    SCLK = 1
  142.   NEXT I
  143.  
  144.   FOR I = 7 TO 0 STEP -1
  145.    SCLK = 0
  146.      IF Y[i] = 0 THEN
  147.       SDA = 0
  148.      ELSE
  149.       SDA = 1
  150.      ENDIF  
  151.    SCLK = 1
  152.   NEXT I
  153. GOTO LCD_CLEAR
  154.  
  155. LCD_CLEAR:
  156.  
  157.  SDA = 0
  158.  DC  = 1
  159.  CS  = 0
  160.  
  161.  for FILA = 1 to 6              
  162.   for COLUMNA = 1 to 84  
  163.    for B = 1 to 8    
  164.       LOW SCLK
  165.       TOGGLE SCLK      
  166.    next B
  167.   next COLUMNA
  168.  next FILA
  169. PAUSE 20
  170. GOTO ENVIO_CMD_0x0C
  171.  
  172. ENVIO_CMD_0x0C:
  173. CMD = $0C
  174.  dc = 0
  175.  cs = 0
  176.   FOR I = 7 TO 0 STEP -1
  177.    SCLK = 0
  178.      IF CMD[i] = 0 THEN
  179.       SDA = 0
  180.      ELSE
  181.       SDA = 1
  182.      ENDIF  
  183.    SCLK = 1
  184.   NEXT I
  185. '.....................

ah y si nos les gusta pues ayudenme a modificarlo y a optimizarlo, esque derepente me hice bolas. :shock:
Título: Re: lcd nokia en pbp
Publicado por: AABHGA en 29 de Septiembre de 2006, 01:14:35
Aunque no soy muy ducho en esto, veo que cada proceso de CMD 0xXX es para enviar un valor que hace parte de los caracteres cierto?

si es así, no sería mas facil almacenar los data de los caracteres en la eeprom del micro de manera ordenada, ya que veo que cada caracter son 5 datos, entonces por decir almacenamos en la eeprom desde la posición 10 a la 14 el caracter "A", de la 15 a la 20 el caracter "B" y así sucesivamente, y luego cuando se quiera mostrar algo, se puede hacer una cadena por ejemplo, queremos mostrar la frase "Hola" entonces haríamos un ciclo, y que cada vez lea el valor ASCII de cada letra y se dirija a la rutina específica, para hacerme entender en esto se diría:

Código: [Seleccionar]
FRASE = "Hola"
FOR C = 1 to n step 1 (donde n sería la cantidad de caracteres que tiene lo que queremos mostrar)
    CHAR(C) = al primer caracter (no se me viene a la mente el código)
    GOSUB MOSTRAR
NEXT C

MOSTRAR:
con una formula determinamos en donde está almacenado en la eeprom el caracter, la cual sería
ASCII = valor ascii de CHAR(C)
BASEMEM = (ASCII - 64) * 5
FOR DAT = 0 TO 4 STEP 1 (DE 0 A 4 porque cada caracter esta ocupando 5 posiciones de la eeprom)
    BASEMEM = BASEMEM + DAT (Empezamos a sumar para ir recorriendo cada una de las posiciones en la eeprom)
    READ BASEMEM,MEM (Lea en la posición que indica BASEMEM y asignela a MEM)
-------------------------------
Aquí pondríamos el ciclo de envio del dato en MEM que se repetiría 5 veces por cada caracter
-------------------------------
NEXT DAT
RETURN

Supongo que así podrás simplificar los procesos y solo te preocuparías por hacer la base de datos de cada caracter, si me equivoco o meto las patas por favor corrijanme que como dije al principio no soy muy ducho en esto y estoy recurriendo a mis antiguas bases de programación en PC usando Basic, no se hasta donde llegará la compatibilidad. xD
Título: Re: lcd nokia en pbp
Publicado por: AABHGA en 29 de Septiembre de 2006, 01:22:32
Miercoles se me olvidaba y no me dejó modificar, en esta parte del código:

Código: [Seleccionar]
ASCII = valor ascii de CHAR(C)
BASEMEM = (ASCII - 64) * 5

Faltó poner un condicional, ya que las mayúsculas van del 65 al 90, y las minúsculas van del 97 al 122, entonces sería algo así:

Código: [Seleccionar]
ASCII = valor ascii de CHAR(C)
IF ASCII => 65 AND ASCII <= 90 THEN
    BASEMEM = (ASCII - 64) * 5
ENDIF
IF ASCII => 97 AND ASCII <= 122 THEN
    BASEMEM = (ASCII - 96) * 5
ENDIF

Ten en cuenta que la almacenamiento en la eeprom debe comenzar en la posición 10 en adelante sin dejar espacios, y corrijo arriba la secuencia, sería de 10 a 14 la primera de 15 a 19 la segunda y así sucesivamente, para los números debes aplicar otra condiciona, y para los caracteres especiales como " # \ * / , " . ; : ' ", ahí ya te tocaría cuadrar las condicionales.

PD: Disculpen el doble post pero no me dejó corregir el anterior.
Título: Re: lcd nokia en pbp
Publicado por: navaismo en 29 de Septiembre de 2006, 01:24:53
Este mmmm no mira los cmd que mando segun lei en la web de cucaracha son necesarios para inicializar, aun no me meto con los caracteres ya que para escribir un espacio por ejemplo debe ser 0x00, 0x00, 0x00, 0x00 entonces aun no se como definir eso, y concuerdo contigo con usar la eeprom o una externa para las letras.

Pero primero ver si esta bien inicializado  con ese codigo.

Apelo o apelamos a los masters del PBP!!!!! ¿Donde estan? no nos abandonen :D
Título: Re: lcd nokia en pbp
Publicado por: AABHGA en 29 de Septiembre de 2006, 01:30:30
Por cierto, ese Mikrobasic tiene mas pinta de ser C que Basic, vaya cantidad de definiciones para hacer cualquier cosa, (lo mismo pienso del C) que para ser un lenguaje de "Alto Nivel" hay que definirle demasiadas pendejadas, de aprender algo así, aprendo Asembler y salgo ganando.
Título: Re: lcd nokia en pbp
Publicado por: navaismo en 29 de Septiembre de 2006, 13:01:11
Pues pense en medio minimizar el codigo anterior y me quedo asi, jajaja no fue mucho pero si se redujo.

Ahora alguien de los que ya haya usado las librerias de MKB o la del Amigo Nocturno podria darme una explicada rapida sobre los caracteres, ¿porque son varias lineas para definir un solo caracter? Por ejemplo el espacio es 0x00, 0x00, 0x00, 0x00 porque todo eso es el espacio. Con esa ayuda podre ir pensando mas o menos como hacer los caracteres en PBP y donde guardarlos.

Insisto algun valiente que verifique si funciona la inicializacion del LCD con este o con el codigo anterior???
Código: QBasic/QuickBASIC
  1. '****************************************************************
  2. '*  Name    : Libreria LCD nokia3310                            *
  3. '*  Author  : Max E. Reyes Vera Juarez                          *
  4. '*  Notice  : Copyright (c) 2006 Protegido por leyes de Autor   *
  5. '*          : All Rights Reserved                               *
  6. '*  Date    : 28/09/2006                                        *
  7. '*  Version : 0.1a                                              *
  8. '*  Notes   : Basado en la libreria de ANTON RIECKERT           *
  9. '*          : para MKB. Y en la pagina web de cucaracha         *
  10. '*          : http://webs.ono.com/usr008/cucaracha/             *
  11. '****************************************************************
  12.  
  13. '  PORTC.0   -  CS   - Habilitar Chip
  14. '  PORTC.1   -  RES  - Reset
  15. '  PORTC.4   -  SCLK - Entrada de Reloj Serie
  16. '  PORTC.5   -  DC   - Dato / Comando
  17. '  PORTC.6   -  SDA  - Entrada Dato Serie
  18.  
  19. TRISC = 0
  20.  
  21.  
  22. CS   VAR PORTC.0
  23. DC   VAR PORTC.5
  24. RES  VAR PORTC.1
  25. SDA  VAR PORTC.6
  26. SCLK VAR PORTC.4
  27.  
  28. CMD VAR BYTE
  29. B   VAR BYTE
  30. I   VAR BYTE
  31. x   VAR BYTE
  32. y   VAR BYTE
  33.  
  34. COLUMNA VAR BYTE
  35. FILA    VAR BYTE
  36.  
  37. LCD_INIT:
  38.  CS = 0
  39.  DC = 0
  40.  RES = 0
  41.  SDA = 0
  42.  SCLK = 0
  43.  PAUSEUS 250
  44.  DC = 1
  45.  CS = 1
  46.  PAUSE 15
  47.  RES = 0
  48.  PAUSE 300
  49.  RES = 1
  50.  PAUSE 100
  51. GOTO ENVIO_CMDs:
  52.  
  53.  
  54. ENVIO_CMDs:
  55.  FOR B = 0 TO 4
  56.     SELECT CASE B
  57.       CASE 0
  58.        CMD = $21
  59.        GOSUB ENVIO_CMD
  60.       CASE 1
  61.        CMD = $90
  62.        GOSUB ENVIO_CMD
  63.       CASE 2
  64.        CMD = $13
  65.        GOSUB ENVIO_CMD
  66.       CASE 3
  67.        CMD = $20
  68.        GOSUB ENVIO_CMD
  69.      CASE 4
  70.        CMD = $09
  71.        GOSUB ENVIO_CMD  
  72.     END SELECT
  73.  NEXT B  
  74. GOTO IR_x0y0
  75.  
  76. IR_x0y0:
  77.   Y = %01000000
  78.   x = %10000000
  79.  dc = 0
  80.  cs = 0
  81.   FOR I = 7 TO 0 STEP -1
  82.    SCLK = 0
  83.      IF X[i] = 0 THEN
  84.       SDA = 0
  85.      ELSE
  86.       SDA = 1
  87.      ENDIF  
  88.    SCLK = 1
  89.   NEXT I
  90.  
  91.   FOR I = 7 TO 0 STEP -1
  92.    SCLK = 0
  93.      IF Y[i] = 0 THEN
  94.       SDA = 0
  95.      ELSE
  96.       SDA = 1
  97.      ENDIF  
  98.    SCLK = 1
  99.   NEXT I
  100. GOTO LCD_CLEAR
  101.  
  102. LCD_CLEAR:
  103.  SDA = 0
  104.  DC  = 1
  105.  CS  = 0
  106.  FOR FILA = 1 TO 6              
  107.   FOR COLUMNA = 1 TO 84  
  108.    FOR B = 1 TO 8    
  109.       LOW SCLK
  110.       TOGGLE SCLK      
  111.    NEXT B
  112.   NEXT COLUMNA
  113.  NEXT FILA
  114. PAUSE 20
  115. CMD = $0C
  116. GOSUB ENVIO_CMD
  117. GOTO CONTINUE
  118.  
  119. ENVIO_CMD:
  120.  dc = 0
  121.  cs = 0
  122.   FOR I = 7 TO 0 STEP -1
  123.    SCLK = 0
  124.      IF CMD[i] = 0 THEN
  125.       SDA = 0
  126.      ELSE
  127.       SDA = 1
  128.      ENDIF  
  129.    SCLK = 1
  130.   NEXT I
  131. RETURN  
  132.  
  133. CONTINUE:
  134. '.............. HABER QUE MAS, FALTAN LAS LETRAS Y COMO ESCRIBIR EN LCD
  135.  
Título: Re: lcd nokia en pbp
Publicado por: Nocturno en 29 de Septiembre de 2006, 13:17:11
Intentaré explicarte lo de los caracteres. En este display los bytes se envían verticalmente uno tras otro, de manera que el primer byte que envíes representa la primera columna de la matriz de puntos, el segundo la segunda columna y así sucesivamente.

Pues bien, supongamos ahora que queremos componer la letra "K" en una matriz de 5 puntos de ancho por 7 de alto.
Código: [Seleccionar]
X   X
X  X
X X
XX
X X
X  X
X   X

Si vamos mirando columna a columna y las rotamos a la posición horizontal, nos queda algo así:
Código: [Seleccionar]
XXXXXXX
   X   
  X X 
 X   X
X     X

Ahora vamos a poner un 1 donde hay marca y un 0 donde no la hay
Código: [Seleccionar]
1111111
0001000
0010100
0100010
1000001

Por último, pasamos eso mismo a hexadecimal:
Código: [Seleccionar]
0111 1111 ... 0x7F
0000 1000 ... 0x80
0001 0100 ... 0x14
0010 0010 ... 0x22
0100 0001 ... 0x41

Y ya está, hemos llegado a la conclusión de que la K se dibuja con estos bytes: 0x7F,0x80,0x14,0x22 y 0x41. Si te fijas en la librería Fuente_5_7 esos son los que hay en la letra K.
Título: Re: lcd nokia en pbp
Publicado por: LordLafebre en 29 de Septiembre de 2006, 13:22:46
Hola:

Esta mas claro que el agua Manolo  :mrgreen:
Título: Re: lcd nokia en pbp
Publicado por: navaismo en 29 de Septiembre de 2006, 13:25:24
Gracias por la explicacion maestro Nocturno, ¿entonces es necesario rotar la letra para sacar su valor? pero bueno como bien dice ahi se ve que coincide salvo por un error tipografico jeje pero muy buena la explicacion. Creo que con PBP va ser medio complicado pero lo intentare.
Título: Re: lcd nokia en pbp
Publicado por: navaismo en 29 de Septiembre de 2006, 13:51:43
Bueno, ya dandome una idea de  como  es que se usa, estaba viendo lo de empezar a crear las letras pero me surgen preguntas, dado que en PBP no he visto vectores tan grandes ¿tendria que hacer un vector para cada variable? y ¿como definir de un golpe dicho vector ? ya busque en la ayuda y no dice mucho o nada.

por ejemplo para el caracter de exclamacion ! se usa $00,$00,$2F,$00,$00 y solo he atinado a definirlo asi.

Código: [Seleccionar]
exclama VAR byte[4]  '  !
exclama[0]=$00
exclama[1]=$00
exclama[2]=$2F
exclama[3]=$00
exclama[4]=$00

y tendria que hacer eso con cada letra no? Bueno con eso veo que tendremos que usar u otro pic como de la familia 18 o una memoria externa para guardar el alfabeto.

Se podria usar la funcion lookup para imprimir las letras???

Y por ultimo insistiendo, algun valiente que tenga a mano el lcd y que me pueda decir si se inicializa correctamente con el codigo que he puesto
Título: Re: Libreria lcd nokia 3310 solucionado!!!! ( no por mi, snif snif)
Publicado por: navaismo en 29 de Septiembre de 2006, 17:22:50
 :cry: :8}

Bueno eso me pasa por querer hacer algo que ya esta hecho....Si ya esta hecho :-/ me meti a buscar mas informacion sobre esto de PBP y el lcd 3310 de nokia y cai en el foro de melabs y encontre esta rutina. Que al parecer funciona muy bien la hizo un amigo de grecia -creo- llamado Alexandros Zahariadis y le doy las gracias.

aqui les dejo el codigo

Código: QBasic/QuickBASIC
  1. ;=------------------------------=
  2. ;- coder: Alexandros Zahariadis -
  3. ;-        Thessaloniki- Greece  -
  4. ;- email: bitmaniac@yahoo.COM   -
  5. ;=------------------------------=
  6. ;PIC61F648A (20Mhz crystal) - 4Mhz IS ok,too
  7. 'NOKIA 3310 LCD MODULE PINOUT
  8. 'as viewed from the back (left -> right)
  9. '1 vcc  
  10. '2 sclk  portb.7
  11. '3 sda   portb.6
  12. '4 d/!c  portb.5
  13. '5 !cs   portb.4
  14. '6 gnd
  15. '7 Vout  
  16. '8 !rst  portb.3
  17. INCLUDE "modedefs.bas"
  18.  
  19. defINE OSC 20  
  20. CMCON = %00000111 ' Make PortA digital
  21. TRISA = %00000000
  22. TRISB = %00000000
  23.  
  24. Lcd_DC      var Portb.5
  25. Lcd_CS      var Portb.4
  26. Lcd_SDA     var Portb.6
  27. Lcd_RST     var Portb.3
  28. Lcd_CLK     var Portb.7
  29.  
  30. i           var Byte
  31. j           var Word
  32. k           var Byte
  33. b0          var byte
  34. PosX        var Byte
  35. PosY        var Byte
  36. FontCache   var Byte [6]
  37. LcdStr      var Byte [26]
  38. Lcd_Data    var Byte
  39.  
  40. Low Lcd_CS 'Chip selected
  41.  
  42. GOSUB Lcd_INIT
  43. GOSUB Lcd_Clear
  44.  
  45. 'set contrast
  46. Low Lcd_DC
  47. SHiftOUT Lcd_SDA , Lcd_CLK , MSBFIRST, [ $21,$a7,$20 ]
  48.  
  49. start:
  50. PosX=0:PosY=0:GOSUB Lcd_GotoXY
  51. FOR i=0 TO 13
  52. lookup i,["NOKIA LCD TEST"],j
  53. lcdstr(i)=j
  54. NEXT i
  55. GOSUB Lcd_SentString
  56. PosX=0:PosY=1:GOSUB Lcd_GotoXY
  57. FOR i=0 TO 13
  58. lookup i,["{} {} {} {} {}"],j
  59. lcdstr(i)=j
  60. NEXT i
  61. GOSUB Lcd_SentString
  62. PosX=0:PosY=2:GOSUB Lcd_GotoXY
  63. FOR i=0 TO 13
  64. lookup i,["{} GRAPHICS {}"],j
  65. lcdstr(i)=j
  66. NEXT i
  67. GOSUB Lcd_SentString
  68. PosX=0:PosY=3:GOSUB Lcd_GotoXY
  69. FOR i=0 TO 13
  70. lookup i,["{} {} {} {} {}"],j 'cars icons!
  71. lcdstr(i)=j
  72. NEXT i
  73. GOSUB Lcd_SentString
  74. PosX=0:PosY=4:GOSUB Lcd_GotoXY
  75. FOR i=0 TO 13
  76. lookup i,["84 X 48 PIXELS"],j
  77. lcdstr(i)=j
  78. NEXT i
  79. GOSUB Lcd_SentString
  80. PosX=0:PosY=5:GOSUB Lcd_GotoXY
  81. FOR i=0 TO 13
  82. lookup i,["ALEX BITMANIAC"],j
  83. lcdstr(i)=j
  84. NEXT i
  85. GOSUB Lcd_SentString
  86.  
  87. PAUSE 1000
  88.  
  89. start2:
  90. 'invert screen mode
  91. Low Lcd_DC
  92. Lcd_Data= %00001101:GOSUB Lcd_SentByte  ;invert
  93. ;Lcd_Data= %00001000:GOSUB Lcd_SentByte    ;blank
  94. pause 500
  95.  
  96. 'normal screen mode
  97. Low Lcd_DC
  98. Lcd_Data= %00001100:GOSUB Lcd_SentByte
  99. pause 3000
  100. ;GOSUB lcd_clear
  101. GOTO start2
  102.  
  103.  
  104. 'LCD ROUTINE
  105. Lcd_Init:
  106. 'RESET LCD
  107. Low Lcd_RST
  108. pause 20
  109. High Lcd_RST
  110.  
  111.   Low Lcd_CS : Low Lcd_DC
  112.   Lcd_Data= $21: GOSUB Lcd_SentByte             'LCD EXTENDED COMMANDS
  113.   Lcd_Data= $c8: GOSUB Lcd_SentByte             'SET LCD Vop (CONTRAST)
  114.   Lcd_Data= $06: GOSUB Lcd_SentByte             'SET TEMP COEFFICENT
  115.   Lcd_Data= $10: GOSUB Lcd_SentByte             'LCD BIAS MODE 1:48
  116.   Lcd_Data= $20: GOSUB Lcd_SentByte             'LCD STANDARD COMMANDS
  117.   Lcd_Data= $0c: GOSUB Lcd_SentByte             'LCD IN NORMAL MODE
  118. RETURN
  119.  
  120. Lcd_SentByte:
  121. SHiftOUT Lcd_SDA , Lcd_CLK , MSBFIRST, [ Lcd_Data ]
  122. RETURN
  123.  
  124. Lcd_SentChar:
  125. SELECT CASE lcd_data
  126.   CASE 48     '0
  127.     j = 156  
  128.   CASE 49     '1
  129.     j = 162
  130.   CASE 50     '2
  131.     j = 168
  132.   CASE 51     '3
  133.     j = 174
  134.   CASE 52     '4
  135.     j = 180
  136.   CASE 53     '5
  137.     j = 186
  138.   CASE 54     '6
  139.     j = 192
  140.   CASE 55     '7
  141.     j = 198    
  142.   CASE 56     '8
  143.     j = 204
  144.   CASE 57     '9
  145.     j = 210
  146.   CASE 32     'space
  147.     j = 216
  148.   CASE 43     '+
  149.     j = 222
  150.   CASE 45     '-
  151.     j = 228
  152.   CASE 46     '.
  153.     j = 234
  154.   CASE 42     '*
  155.     j = 240
  156.   CASE 58     ':
  157.     j = 246
  158.   CASE 124    'character '|' -> graphic!
  159. FOR i=0 TO 5
  160. LOOKUP2 i,[$7e,$95,$a1,$a1,$95,$7e],b0
  161. fontcache(i)=b0:NEXT i:GOTO jump
  162.   CASE 123   'character '{' -> car half left
  163. FOR i=0 TO 5
  164. LOOKUP2 i,[$18,$5c,$ac,$5e,$1d,$1d],b0
  165. fontcache(i)=b0:NEXT i:GOTO jump
  166.   CASE 125
  167. FOR i=0 TO 5 'character '}' -> car half right
  168. LOOKUP2 i,[$1d,$1d,$5f,$ac,$5c,$18],b0
  169. fontcache(i)=b0:NEXT i:GOTO jump
  170.  
  171. CASE ELSE    'letters A-Z -capitals
  172. j=(Lcd_Data-65) * 6
  173. END SELECT
  174. FOR i=0 TO 5
  175. READ j+i,fontcache(i)
  176. NEXT i
  177. jump:
  178. High Lcd_DC
  179. SHiftOUT Lcd_SDA , Lcd_CLK , MSBFIRST, [ FontCache(0),FontCache(1),FontCache(2),FontCache(3),FontCache(4),FontCache(5) ]
  180. RETURN
  181.  
  182. Lcd_SentString:
  183. FOR k=0 TO 13     ' step -1
  184. Lcd_Data=LcdStr(k)
  185. ;IF Lcd_Data=0 THEN RETURN
  186. pause 80
  187. GOSUB Lcd_SentChar
  188. NEXT k
  189. RETURN
  190.  
  191. Lcd_Contrast:
  192. Low Lcd_DC
  193. Lcd_Data=$C8:GOSUB Lcd_SentByte 'write data
  194. RETURN
  195.  
  196. Lcd_Clear:
  197. GOSUB Lcd_Home
  198. High Lcd_DC
  199. FOR i=1 TO 252
  200. Lcd_Data=0:GOSUB Lcd_SentByte   'write data
  201. Lcd_Data=0:GOSUB Lcd_SentByte   'write data
  202. NEXT i
  203. RETURN
  204.  
  205. Lcd_Home:
  206. PosX=0:PosY=0:GOSUB Lcd_GotoXY
  207. RETURN
  208.  
  209. Lcd_GotoXY:
  210. Low Lcd_DC
  211. Lcd_Data=%01000000 | PosY :GOSUB Lcd_SentByte   'Y
  212. Lcd_Data=%10000000 | PosX :GOSUB Lcd_SentByte   'X
  213. RETURN
  214.  
  215. ' Font DATA table
  216.  
  217. DATA $7E,$11,$11,$11,$7E,$00            '65 - A - 41
  218. DATA $7F,$49,$49,$49,$36,$00            '66 - B - 42
  219. DATA $3E,$41,$41,$41,$22,$00            '67 - C - 43
  220. DATA $7F,$41,$41,$22,$1C,$00            '68 - D - 44
  221. DATA $7F,$49,$49,$49,$41,$00            '69 - E - 45
  222. DATA $7F,$09,$09,$09,$01,$00            '70 - F - 46
  223. DATA $3E,$41,$49,$49,$7A,$00            '71 - G - 47
  224. DATA $7F,$08,$08,$08,$7F,$00            '72 - H - 48
  225. DATA $00,$41,$7F,$41,$00,$00            '73 - I - 49
  226. DATA $20,$40,$41,$3F,$01,$00            '74 - J - 4A
  227. DATA $7F,$08,$14,$22,$41,$00            '75 - K - 4B
  228. DATA $7F,$40,$40,$40,$40,$00            '76 - L - 4C
  229. DATA $7F,$02,$0C,$02,$7F,$00            '77 - M - 4D
  230. DATA $7F,$04,$08,$10,$7F,$00            '78 - N - 4E
  231. DATA $3E,$41,$41,$41,$3E,$00            '79 - O - 4F
  232. DATA $7F,$09,$09,$09,$06,$00            '80 - P - 50
  233. DATA $3E,$41,$51,$21,$5E,$00            '81 - Q - 51
  234. DATA $7F,$09,$19,$29,$46,$00            '82 - R - 52
  235. DATA $46,$49,$49,$49,$31,$00            '83 - S - 53
  236. DATA $01,$01,$7F,$01,$01,$00            '84 - T - 54
  237. DATA $3F,$40,$40,$40,$3F,$00            '85 - U - 55
  238. DATA $1F,$20,$40,$20,$1F,$00            '86 - V - 56
  239. DATA $3F,$40,$38,$40,$3F,$00            '87 - W - 57
  240. DATA $63,$14,$08,$14,$63,$00            '88 - X - 58
  241. DATA $07,$08,$70,$08,$07,$00            '89 - Y - 59
  242. DATA $61,$51,$49,$45,$43,$00            '90 - Z - 5A
  243. DATA $3E,$51,$49,$45,$3E,$00            '48 - 0 - 30
  244. DATA $00,$42,$7F,$40,$00,$00            '49 - 1 - 31
  245. DATA $42,$61,$51,$49,$46,$00            '50 - 2 - 32
  246. DATA $21,$41,$45,$4B,$31,$00            '51 - 3 - 33
  247. DATA $18,$14,$12,$7F,$10,$00            '52 - 4 - 34
  248. DATA $27,$45,$45,$45,$39,$00            '53 - 5 - 35
  249. DATA $3C,$4A,$49,$49,$30,$00            '54 - 6 - 36
  250. DATA $01,$71,$09,$05,$03,$00            '55 - 7 - 37
  251. DATA $36,$49,$49,$49,$36,$00            '56 - 8 - 38
  252. DATA $06,$49,$49,$49,$3E,$00            '57 - 9 - 39
  253. DATA $00,$00,$00,$00,$00,$00            '32 -   - 20
  254. DATA $08,$08,$3E,$08,$08,$00            '43 - + - 2B
  255. DATA $08,$08,$08,$08,$08,$00            '45 - - - 2D
  256. DATA $00,$60,$60,$00,$00,$00            '46 - . - 2E
  257. DATA $14,$08,$3E,$08,$14,$00            '42 - * - 2A
  258. DATA $00,$36,$36,$00,$00,$00            '58 - : - 3A

y el link que el nos regalo muy amablemente con fotos, como conectar el LCD y un programa en VB para conversion. Excelente trabajo

Matrix.zip (http://www.picbasic.co.uk/forum/attachment.php?attachmentid=104&d=1095544194), creo que al menos Yo estaba muy lejos de hacer eso, mmm solo queda ver si en si es una libreria como la de nocturna o cucaracha o la de MKB o solo se usa asi, voy a ver para que sirve el programa

ahora tengo que conseguir un lcd 3310 para ver si funciona conmigo. saludosssssss

       
Ahora si regresa mi volatil amor por PBP..... jajajaja toma eso MKB
Título: Re: Libreria lcd nokia 3310 solucionado!!!! ( no por mi, snif snif)
Publicado por: AABHGA en 29 de Septiembre de 2006, 18:18:56
:cry: :8}
ahora tengo que conseguir un lcd 3310 para ver si funciona conmigo. saludosssssss

Ahora si regresa mi volatil amor por PBP..... jajajaja toma eso MKB

Lol, ojalá no sea muy costosa y ¿eso que vuelve el amor? vamos que Basic es el mejor lenguaje de programación de alto nivel y PBP es el mejor editor de este lenguaje (en lo que se refiere a los pics).
Título: Re: lcd nokia en pbp
Publicado por: LordLafebre en 29 de Septiembre de 2006, 19:59:14
Hola:

Que bien por la libreria  :-/, gracias por tu tiempo Max, oye, si no seria mucha molestia, podrias poner el link de donde la sacaste? Para ver que mas comentan sobre ella.

Gracias, muy buen aporte.

PD1: a ver si Sanpic la puede probar con su LCD  :mrgreen:  :D

PD2: a la espera de que funcione.
Título: Re: lcd nokia en pbp
Publicado por: LordLafebre en 29 de Septiembre de 2006, 20:02:35
Hola:

je je otra cosa que me olvide :twisted: , con la libreria en PBP es mas facil migrarla a Proton +  :P , a ver si me tomo ese trabajo cuando me consiga un LCD de esos.  :mrgreen:
Título: Re: lcd nokia en pbp
Publicado por: navaismo en 29 de Septiembre de 2006, 20:17:07
Hola Gio, si mira el Link es este  Foro Melabs..NOKIA LCD (http://www.picbasic.co.uk/forum/showthread.php?t=327&highlight=nokia+3310) y tambien ahi esta una libreria en Proton que es esta (http://www.picbasic.co.uk/forum/showpost.php?p=1164&postcount=4).

Y si espero que alguien la pruebe, porque no veo por donde uno pueda escribir lo que uno quiera

 :-/ :-/
Título: Re: lcd nokia en pbp
Publicado por: LordLafebre en 01 de Octubre de 2006, 03:21:57
Hola:

Bueno, me ahorre el trabajo  :D , gracias Max, ahora lo mirare.
Título: Re: lcd nokia en pbp
Publicado por: Veguepic en 12 de Octubre de 2006, 23:02:22
Pues tambien te doy las gracias Max, al fin pude hacer andar hoy mi IPOD  :D :D

(http://img209.imageshack.us/img209/7928/16f628zh5.th.jpg) (http://img209.imageshack.us/my.php?image=16f628zh5.jpg)

Lo que pasa es que el tipo que me vendio el LCD me lo dio sin la carcasa metalica ni el plastico de soporte, como no queria soldarle nada en los contactos decidi hacerle el soporte con varias fundas de CDs pegadas, fue un poco laborioso pero al fin lo termine, solo falta hacerle los agujeros bien alineaditos y sus respetivos tornillos.

Le faltan algunas letras pues tuve que reducir de tamaño el programa porque no tengo un 16F648 asi que lo meti a martillazos a un 16F628  :mrgreen: :mrgreen:

Mas adelante espero poder pasarlo a asembler.

Un abrazo.
Título: Re: lcd nokia en pbp
Publicado por: navaismo en 12 de Octubre de 2006, 23:14:40
No hombres a mi no hay que agradecer si lo hicieron otros Picmaniacos, yo solo le encontre y que bueno que les sirva a todos.
Título: Re: lcd nokia en pbp
Publicado por: LordLafebre en 13 de Octubre de 2006, 01:26:09
Le faltan algunas letras pues tuve que reducir de tamaño el programa porque no tengo un 16F648 asi que lo meti a martillazos a un 16F628  :mrgreen: :mrgreen:

Hola:

Eso quiere decir que la libreria funciona  :-/ :-/ :-/

Tuviste algun tipo de problemas al momento de probarlo o te funciono bien a la primera?

Si no es mucha molestia me gustaría ver el diseño circuito utilizaste.

Felicidades...!!!  :-/
Título: Re: lcd nokia en pbp
Publicado por: Veguepic en 13 de Octubre de 2006, 17:09:59
Ayer trate de constestar pero hubo problemas en el foro, felizmente coincidimos con Gio por el MSN.

He de comentar que la libreria funciona muy bien y al primer intento, me dejo sorprendido la facilidad con que pude hacerlo andar.

Para hacer el PCB use el esquema de x-robotics

(http://www.x-robotics.com/images/X-LCD3310/X-LCD3310%20SCH.jpg)

Solo un detalle que no me gusto es que el voltaje no baja a 3.3v sino a 3.4v, segun la hoja tecnica dice que el voltaje de entrada pueden ser de 2.7 a 3.3v como maximo por lo cual sugiero le cambien las resistencias para obtener menos de 3.3v .

Para conectar el LCD al PIC y el programa estan en el archivo que subio Max

Matrix.zip (http://www.picbasic.co.uk/forum/attachment.php?attachmentid=104&d=1095544194)

Adjunto el PCB que hice en Ares, Proteus espero sea util.  :wink:

Suerte
Título: Re: lcd nokia en pbp
Publicado por: LordLafebre en 14 de Octubre de 2006, 00:35:40
Hola:

Gracias por el dato veguepic, este fin de semana quiero ver si me consigo un bus de datos fino para probar la libreria.  :-/
Título: Re: lcd nokia en pbp
Publicado por: Veguepic en 16 de Octubre de 2006, 03:15:10
Como decia un amigo, "Tienes razon y te cabe derecho" Gio, sin darme cuenta conecte mi LCD 6120 a 5 voltios y no paso nada. :shock:

Sera que estos si soportan 5 voltios, pues en los 3310 y derivados dice claramente 3.3 voltios.

Bueno no se, de momento la seguire usando a ver que pasa, pues esta LCD solo le funciona la mitad de la pantalla, es de mi antiguo Nokia 6120 que se me cayo de piso y medio, unos cuatro metros y solo se daño eso, realmente indestructible.

Al final cambie de Pic por un 12F683 y entro todo el programa sin ningun problema, costo configurar este bicho en PBP, pero realmente es una maravilla, funciona perfectamente.

Saludos

P.D. Ahora que lo analizo un poco la bateria del celular no da mas de 3.6 voltios, veremos.
Título: Re: lcd nokia en pbp
Publicado por: LordLafebre en 16 de Octubre de 2006, 03:23:36
Hola:

Que bien, yo sigo sin poder encontrar ese bus de datos como cinta  :8} , a ver si mañana me consigo un floppy viejo y lo saco  :P
Título: Re: lcd nokia en pbp
Publicado por: Veguepic en 18 de Octubre de 2006, 20:11:45
Gio, yo probe con varios cables y ninguno tenia la separacion adecuada. Por lo que me acabo de hacer este PCB. Ese es mi LCD de mi NOKIA 6120 que solo funciona la mitad.  :(

(http://img237.imageshack.us/img237/6767/pic0005fr5.th.jpg) (http://img237.imageshack.us/my.php?image=pic0005fr5.jpg)

Fue laborioso el cortar exactamente el contorno y las muescas, pero calzo y funciono a la primera.  :-)  claro luego de malograr como 20 hojas probando, tenia que entrar si o si  :mrgreen:, pero cometi el error de usar un PCB de mucho espesor asi que tuve que abrir mas los agarradores metalicos del LCD, esas trabitas para que no se caiga.

Lo hice en Proteus, creo que quedo bien, incluso tiene el dibujo del contorno que hay que cortarle al PCB, las muescas y los huecos, si lo necesitas me avisas, pues lo tengo en la otra computadora.  :(

Un saludo
Título: Re: lcd nokia en pbp
Publicado por: LordLafebre en 18 de Octubre de 2006, 20:35:42
Hola:

Hugo, te quedo de pelicula, sería mucha molestia que pongas unas fotitos de la placa sin el lcd para ver como es? y abazando de tu confianza, seria genial y me ahorraria mucho tiempo si nos pudieras proporcionar el pcb para montarlo  :P. gracias amigo por tu tiempo.  :-/
Título: Re: lcd nokia en pbp
Publicado por: Veguepic en 18 de Octubre de 2006, 21:34:49
Claro, no es ninguna molestia, mas bien espero te sea util, solo tiene los contactos donde se apoya la esponjita del LCD, la estoy conectando directamente a 5 voltios.

(http://img179.imageshack.us/img179/1636/2pp4.th.jpg) (http://img179.imageshack.us/my.php?image=2pp4.jpg)

Los circulos amarillos son los huecos que valen, pues me equivoque al poner la serigrafia, como la imagen es simetrica y los hice en el sitio contrario.  :D

El circulo rojo es la trabilla la cual tuve que mover para que acepte el PCB que es de mayor espesor al original.

(http://img180.imageshack.us/img180/1026/3ry4.th.jpg) (http://img180.imageshack.us/my.php?image=3ry4.jpg)

Aqui esta la foto por la espalda, donde esta el conector y los nombres de cada contacto, que dificil escribir con el indeleble aunque tambien soy un negado para la caligrafia, la siguiente vez mejor plancho tambien la serigrafia.  :D

Al costado esta la hoja patron, donde indica por donde cortar el PCB, las muescas y los huecos, es la misma que plancho.

El archivo, para variar lo tengo en la otra computadora, dentro de unas 3 horas tengo que ir, ahi te lo paso, esta como un componente de Ares. Ya me despedi de mi querido KBAN.  :(

Saludos

Título: Re: lcd nokia en pbp
Publicado por: LordLafebre en 19 de Octubre de 2006, 01:28:44
Hola:

Te lo agradezco muchisimo Hugo, de verdad, y espero entonces el archivo para ver si me puedo montar esa placa el fin de semana y probar mi lcd  :-/
Título: Re: lcd nokia en pbp
Publicado por: frape en 08 de Noviembre de 2006, 19:59:35
Hola, hace mucho tiempo que no visitaba el foro, de hecho he tenido que registrame con otro nick ya que no me identificaba con el nick anterior.
Veo que este proyecto del LCD nokia interesa aun a algunos miembros por lo que mañana pondre el codigo que hizo un amigo en PBP que creo que les vendra muy bien a los que como yo no somos tan expertos en programar, todo el codigo esta perfectamente estructurado y sobre todo comentado, vamos que lo entiendo hasta yo.
Título: Re: lcd nokia en pbp
Publicado por: frape en 09 de Noviembre de 2006, 14:40:06
Aqui lo prometido, espero que les sirva.
Saludos.
Título: Re: lcd nokia en pbp
Publicado por: navaismo en 10 de Noviembre de 2006, 03:58:27
Gracias Frape,  ahora haber si Veguepic se da un tiempillo y la prueba para que nos comente los resultados de ambas librerias.
Título: Re: lcd nokia en pbp
Publicado por: Veguepic en 10 de Noviembre de 2006, 21:41:15
Ufffff, esta semana si que ha sido brava, cada vez tengo menos tiempo.

Espero mañana poder probarla y les comento.

Saludos
Título: Re: lcd nokia en pbp
Publicado por: RALF2 en 28 de Octubre de 2007, 21:32:08
Que tal amigos!
Recien lei los post que colocaron referente a la elaboracion de una libreria para el manejo de una lcd nokia y deberas que lo menos que puedo hacer es felicitarlos por la manera en que todos llegaron al fin anhelado.   :-/

No me equivoco cuando digo que este foro es lo maximo!

En la union esta la fuerza!!   :mrgreen:
Título: Re: lcd nokia en pbp
Publicado por: Infausto en 29 de Octubre de 2007, 01:54:28
e estado leyendo el datasheet del chip controlador de lcd PCD8544 que se encuentra en varias pantallas de nokia (en mi caso el 5120) y voy a hacer una librería para este tipo de display. Se que deben haber varias por ahi, pero prefiero programarla para adiestrarme en el desarrollo de aplicaciones para PIC. Además lo voy a hacer en C... mi lenguaje favorito (mentira, el C++ es mi favorito, pero en fin).

Primero voy a crear un dll (usando la otra dll que hice que manipula el puerto serial :P) para utilizarlo en aplicaciones windows y luego me adentro con el mundo PIC.

eso pues, si a alguien más le sirve mi trabajo ps no dude en contactarme...

saludos.

PD: le tengo ganas a las lcd de los gameboy!!. Pero parece que no son muy documentados...
Título: Re: lcd nokia en pbp
Publicado por: RALF2 en 29 de Octubre de 2007, 22:04:22
Que tal amigos!
Alguien me podria indicar alguna tienda en U.S.A donde vendan la lcd del nokia 3310?
Título: Re: lcd nokia en pbp
Publicado por: Papalote en 30 de Abril de 2009, 01:01:45
No facilitarias algo asi como un resuemn de todo, un rar con el plano el programa la libreria y lo ke haga falta para ahcer eso?

Led dejo este link mas que interesante, este tipo controla un lcd nokia con un 12f629 y una placa del tamaño de la pantalla, tiene un sensor de temp y grafica los datos sensados, muy bueno.
Esta el circuito, el pcb, y los hex

http://www.ivica-novakovic.from.hr/Nokia%20Lcd%20Termometar.htm

Título: Re: LCD Nokia en PBP
Publicado por: IAO en 11 de Septiembre de 2009, 11:21:15
Holaaa:

Te dejo 3 ejemplos en Proteus para PicAxe 08M, 18X y LCD Nokia 3310.
Los tres me funcionan bien en Proteus 7.4 SP3.
Un miniosciloscopio lcd y 2 lcd con texto TodoPic

En esta página web también puedes obtener la library y models para proteus del LCD Nokia 3310.
http://www.tanu-sha.narod.ru/photoalbum.html


En una horas lo paso a Box.net y quito el adjunto.
Simulacion en Proteus con fuente (http://www.box.net/shared/65nl1alrxj)

Saludos.....