78ATI Postat Mai 6, 2007 Partajează Postat Mai 6, 2007 Buna tuturor! A trecut o vreme de la prima programare de PIC, multumita dvs, am reusit sa fac si stergerea . Am acum o mare rugaminte: MA intereseaza driverul sau libraria LCD-ului de la Nokia 3310. Mentionez ca lucrez in MikroBasic, si pana in acest moment nu am gasit nimic.Orice ajutor in programarea afisarii diferitelor date pe un astfel de LCD este bine venit!Va multumesc! Link spre comentariu
78ATI Postat Mai 7, 2007 Autor Partajează Postat Mai 7, 2007 Buna din nou!Nu are nimeni un "driver", sau codurile de initializare/comanda a unui LCD de Nokia 3310? (LPH7779 cu PCD8544). Indiferent in ce limbaj este scris. mikroBasic, mikroC sau mikroPascal.Mi-ar fi de foarte mare folos! Astept un raspuns, si va multumesc pentru atentie si rabdare! Link spre comentariu
MiniTehnicus Postat Mai 29, 2007 Partajează Postat Mai 29, 2007 Aici gasesti ceea ce doresti: http://free-vz.htnet.hr/Ivica-Novakovic ... ar-eng.htm http://www.100acre.org/elec/nokia_lcd/ http://sandiding.tripod.com/lcd.html 1. program Nokia_JVMBOTS 2. 'LCD Nokia 3310 **************************************************************** 3. 'Este codigo muestra graficos y texto sobre una pantalla LCD de Nokia 3310 4. 'La pantalla LCD es capaz de mostrar una resolucion de 84 x 48 pixeles 5. 'permitiendo graficos y librerias compuestas de tipos de fuente de letra. 6. 'se ha testeado con la version Mikrobasic 5.0.0.0 7. ' 8. 'Verificado por: Julio Montagut 9. 'Web: http://www.jvmbots.com 10. ' 11. '-HARDWARE: 12. ' MCU: PIC 18F452 13. ' Cristal: 4 Mhz 14. ' 15. '-PINEADO (PIC-LCD): 16. ' PORTC.0 - 5 17. ' PORTC.1 - 8 18. ' PORTC.4 - 2 19. ' PORTC.5 - 4 20. ' PORTC.6 - 5 21. ' 22. '-USO: 23. ' NOK_Out(x,y,texto) "x" es el ofsset de corrdenada - "y" la linea 24. '******************************************************************************* 25. 26. include "NOKIA_LCD_18.pbas" 'Libreria del LCD 27. include "LOGO.pbas" 'imagen del logotipo 28. 29. dim l as word 30. 31. main: 32. TRISC = 0 33. PORTC = 0 34. intcon = 0 35. 36. NOK_Init 37. for l = 0 to 503 38. NOK_Write(picture1[l],1) 'Presentamos los pixels del logo 39. next l 40. Delay_ms(5000) 41. 42. NOK_Clear 43. NOK_Out(0,0,"NOKIA-3210 LCD") '14 caracteres max. 44. NOK_Out(15,2,"JVM-BOTS") 45. end. Exemplul se gaseste aici: http://www.jvmbots.com/viewtopic.php?t=79 Link spre comentariu
Zerro Postat Mai 29, 2007 Partajează Postat Mai 29, 2007 Uite aici cate exemple doresti cu LCD de 3310 care sunt pentru pic c compiler.... spor la treaba !!! http://www.techdesign.be/projects.htm PS. ... Merge si pe 5110. Link spre comentariu
Vizitator n0r1s Postat Mai 30, 2007 Partajează Postat Mai 30, 2007 in codul ala lipseste listarea pt NOKIA_LCD_18.pbas vad ca tipu ala o pastreaza doar pt el... aici e un cod pt PBP http://www.todopic.com.ar/foros/index.p ... ic=13812.0 GeSHi (freebasic): module NOKIA_LCD_18 ' Written by ANTON RIECKERT ' [email protected] ' 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 ' 6x8 Font Table const font1 as byte[460] = (0x00, 0x00, 0x00, 0x00, 0x00 , ' space 0x00, 0x00, 0x2f, 0x00, 0x00 , ' ! 0x00, 0x07, 0x00, 0x07, 0x00 , ' " 0x14, 0x7f, 0x14, 0x7f, 0x14 , ' # 0x24, 0x2a, 0x7f, 0x2a, 0x12 , ' $ 0x62, 0x64, 0x08, 0x13, 0x23 , ' % 0x36, 0x49, 0x55, 0x22, 0x50 , ' & 0x00, 0x05, 0x03, 0x00, 0x00 , ' ' 0x00, 0x1c, 0x22, 0x41, 0x00 , ' ( 0x00, 0x41, 0x22, 0x1c, 0x00 , ' ) 0x14, 0x08, 0x3E, 0x08, 0x14 , ' * 0x08, 0x08, 0x3E, 0x08, 0x08 , ' + 0x00, 0x00, 0xA0, 0x60, 0x00 , ' , 0x08, 0x08, 0x08, 0x08, 0x08 , ' - 0x00, 0x60, 0x60, 0x00, 0x00 , ' . 0x20, 0x10, 0x08, 0x04, 0x02 , ' / 0x3E, 0x51, 0x49, 0x45, 0x3E , ' 0 0x00, 0x42, 0x7F, 0x40, 0x00 , ' 1 0x42, 0x61, 0x51, 0x49, 0x46 , ' 2 0x21, 0x41, 0x45, 0x4B, 0x31 , ' 3 0x18, 0x14, 0x12, 0x7F, 0x10 , ' 4 0x27, 0x45, 0x45, 0x45, 0x39 , ' 5 0x3C, 0x4A, 0x49, 0x49, 0x30 , ' 6 0x01, 0x71, 0x09, 0x05, 0x03 , ' 7 0x36, 0x49, 0x49, 0x49, 0x36 , ' 8 0x06, 0x49, 0x49, 0x29, 0x1E , ' 9 0x00, 0x36, 0x36, 0x00, 0x00 , ' : 0x00, 0x56, 0x36, 0x00, 0x00 , ' 0x08, 0x14, 0x22, 0x41, 0x00 , ' < 0x14, 0x14, 0x14, 0x14, 0x14 , ' = 0x00, 0x41, 0x22, 0x14, 0x08 , ' > 0x02, 0x01, 0x51, 0x09, 0x06 , ' ? 0x32, 0x49, 0x59, 0x51, 0x3E , ' @ 0x7C, 0x12, 0x11, 0x12, 0x7C , ' A 0x7F, 0x49, 0x49, 0x49, 0x36 , ' B 0x3E, 0x41, 0x41, 0x41, 0x22 , ' C 0x7F, 0x41, 0x41, 0x22, 0x1C , ' D 0x7F, 0x49, 0x49, 0x49, 0x41 , ' E 0x7F, 0x09, 0x09, 0x09, 0x01 , ' F 0x3E, 0x41, 0x49, 0x49, 0x7A , ' G 0x7F, 0x08, 0x08, 0x08, 0x7F , ' H 0x00, 0x41, 0x7F, 0x41, 0x00 , ' I 0x20, 0x40, 0x41, 0x3F, 0x01 , ' J 0x7F, 0x08, 0x14, 0x22, 0x41 , ' K 0x7F, 0x40, 0x40, 0x40, 0x40 , ' L 0x7F, 0x02, 0x0C, 0x02, 0x7F , ' M 0x7F, 0x04, 0x08, 0x10, 0x7F , ' N 0x3E, 0x41, 0x41, 0x41, 0x3E , ' O 0x7F, 0x09, 0x09, 0x09, 0x06 , ' P 0x3E, 0x41, 0x51, 0x21, 0x5E , ' Q 0x7F, 0x09, 0x19, 0x29, 0x46 , ' R 0x46, 0x49, 0x49, 0x49, 0x31 , ' S 0x01, 0x01, 0x7F, 0x01, 0x01 , ' T 0x3F, 0x40, 0x40, 0x40, 0x3F , ' U 0x1F, 0x20, 0x40, 0x20, 0x1F , ' V 0x3F, 0x40, 0x38, 0x40, 0x3F , ' W 0x63, 0x14, 0x08, 0x14, 0x63 , ' X 0x07, 0x08, 0x70, 0x08, 0x07 , ' Y 0x61, 0x51, 0x49, 0x45, 0x43 , ' Z 0x00, 0x7F, 0x41, 0x41, 0x00 , ' [ 0x55, 0x2A, 0x55, 0x2A, 0x55 , ' / 0x00, 0x41, 0x41, 0x7F, 0x00 , ' ] 0x04, 0x02, 0x01, 0x02, 0x04 , ' ^ 0x40, 0x40, 0x40, 0x40, 0x40 , ' _ 0x00, 0x01, 0x02, 0x04, 0x00 , ' ' 0x20, 0x54, 0x54, 0x54, 0x78 , ' a 0x7F, 0x48, 0x44, 0x44, 0x38 , ' b 0x38, 0x44, 0x44, 0x44, 0x20 , ' c 0x38, 0x44, 0x44, 0x48, 0x7F , ' d 0x38, 0x54, 0x54, 0x54, 0x18 , ' e 0x08, 0x7E, 0x09, 0x01, 0x02 , ' f 0x18, 0xA4, 0xA4, 0xA4, 0x7C , ' g 0x7F, 0x08, 0x04, 0x04, 0x78 , ' h 0x00, 0x44, 0x7D, 0x40, 0x00 , ' i 0x40, 0x80, 0x84, 0x7D, 0x00 , ' j 0x7F, 0x10, 0x28, 0x44, 0x00 , ' k 0x00, 0x41, 0x7F, 0x40, 0x00 , ' l 0x7C, 0x04, 0x18, 0x04, 0x78 , ' m 0x7C, 0x08, 0x04, 0x04, 0x78 , ' n 0x38, 0x44, 0x44, 0x44, 0x38 , ' o 0xFC, 0x24, 0x24, 0x24, 0x18 , ' p 0x18, 0x24, 0x24, 0x18, 0xFC , ' q 0x7C, 0x08, 0x04, 0x04, 0x08 , ' r 0x48, 0x54, 0x54, 0x54, 0x20 , ' s 0x04, 0x3F, 0x44, 0x40, 0x20 , ' t 0x3C, 0x40, 0x40, 0x20, 0x7C , ' u 0x1C, 0x20, 0x40, 0x20, 0x1C , ' v 0x3C, 0x40, 0x30, 0x40, 0x3C , ' w 0x44, 0x28, 0x10, 0x28, 0x44 , ' x 0x1C, 0xA0, 0xA0, 0xA0, 0x7C , ' y 0x44, 0x64, 0x54, 0x4C, 0x44 , ' z 0x14, 0x14, 0x14, 0x14, 0x14) ' horiz lines sub procedure NOK_Write (dim data as byte, dim mode as byte) dim i as short ' Pull DC high for DATA or low for COMMAND If TestBit(mode,0) = 1 then SetBit(PortC,5) end if If TestBit(mode,0) = 0 then ClearBit(PortC,5) end if ClearBit(PortC,0) ' CS = low ' Clock in 8 bits of data - Highst bit first for i = 7 to 0 step -1 ClearBit(PortC,4) ' SCLK = low If TestBit(Data,i) = 0 then ClearBit(PortC,6) ' SDA = low else SetBit(PortC,6) ' SDA = high end if SetBit(PortC,4) ' SCLK = high next i SetBit(PortC,0) ' CS = high end sub ' Draws a character on screen at current possition sub procedure NOK_Chr(dim symlcd as byte) dim l as byte dim m as word NOK_Write(0x00,1) ' Space between characters for l = 1 to 5 m = (symlcd - 32) m = m * 5 m = m + l m = m - 1 NOK_Write(Font1[m],1) next l end sub ' Set the current position for data (0<= x <= 84, 0<= y <= 5) sub procedure NOK_GotoXY(dim x as byte, dim y as byte) dim n as byte dim o as byte n = x o = y SetBit(n,7) SetBit(o,6) NOK_Write (o,0) NOK_Write (n,0) end sub ' Inverts Display - Here is still a bug. It only inverst once and doesn't ' want to invert back again sub procedure NOK_Invert NOK_Write(0x0D,0) end sub ' Clear the LCD Data memory sub procedure NOK_Clear dim p as byte dim q as byte dim r as byte ClearBit(PortC,6) ' SDA = low - Data bit is low SetBit(PortC,5) ' DC = high - Data mode ClearBit(PortC,0) ' CS = low - Chip Enable for p = 1 to 6 ' for 6 rows for q = 1 to 84 ' for 84 colums for r = 1 to 8 ' for 8 loop (8 bits) ClearBit(PortC,4) ' SCLK = low - Serial Clock Input SetBit(PortC,4) ' SCLK = high - Serial Clock Input next r next q next p end sub ' Writes a string at x, y position (maks 14 char per row) (0 <= x <= 84 , 0 <= y <= 5) sub procedure NOK_Out(dim x as byte, dim y as byte, dim byref sentance as char[14]) dim v as byte NOK_GotoXY(x,y) for v = 0 to length(sentance) NOK_Chr(sentance[v]) next v end sub ' LCD Initialization sub procedure NOK_Init ' Set initial status of LCD pins ClearBit(PortC,4) ' SCLK = low ClearBit(PortC,6) ' SDA = low ClearBit(PortC,5) ' DC = low ClearBit(PortC,0) ' CS = low ClearBit(PortC,1) ' RES = low ' Toggle LCD reset Delay_ms(20) ClearBit(PortC,1) ' RES = low Delay_ms(500) SetBit(PortC,1) ' RES = high SetBit(PortC,0) ' CS = high NOK_Write(0x21,0) ' Extended commands NOK_Write(0xc5,0) ' LCD Vop NOK_Write(0x06,0) ' Temp coef NOK_Write(0x13,0) ' LCD Bias 1:48 NOK_Write(0x20,0) ' Standard commands NOK_Write(0x0c,0) ' Normal Mode ' Clear and position at top of LCD NOK_Clear NOK_GotoXY(0,0) end sub end. Link spre comentariu
Postări Recomandate
Creează un cont sau autentifică-te pentru a adăuga comentariu
Trebuie să fi un membru pentru a putea lăsa un comentariu.
Creează un cont
Înregistrează-te pentru un nou cont în comunitatea nostră. Este simplu!
Înregistrează un nou contAutentificare
Ai deja un cont? Autentifică-te aici.
Autentifică-te acum