bulate1983
Guest
|
|
« on: August 04, 2008, 05:47:51 17:47 » |
|
guys need help, i want to interface nokia 3310 LCD using PIC16f877 any idea. please...
CCS C or Assembly code, iprefer. thanks guys.
|
|
|
Logged
|
|
|
|
|
MCan
Junior Member
Offline
Posts: 72
Thank You
-Given: 15
-Receive: 119
end of file
|
|
« Reply #2 on: August 04, 2008, 10:45:07 22:45 » |
|
//////////////////////////////////////////////////////////////////////////////// /* LPH7779-LCD(Nokia 3310) library */ ////////////////////////////////////////////////////////////////////////////////
#bit nok_sclk = lcdport.5 // RB5 #bit nok_sda = lcdport.6 // RB6 #bit nok_dc = lcdport.7 // RB7 #bit nok_cs = lcdport.0 // RB0 #bit nok_res = lcdport.1 // RB1
char CONST TABLE5 [240] = { // ASCII table for NOKIA LCD: 96 rows * 5 bytes= 480 bytes 0x00,0x00,0x00,0x00,0x00, // 20 space 0x00,0x00,0x5f,0x00,0x00, // 21 ! 0x00,0x07,0x00,0x07,0x00, // 22 " 0x14,0x7f,0x14,0x7f,0x14, // 23 # 0x24,0x2a,0x7f,0x2a,0x12, // 24 $ 0x23,0x13,0x08,0x64,0x62, // 25 % 0x36,0x49,0x55,0x22,0x50, // 26 & 0x00,0x05,0x03,0x00,0x00, // 27 ' 0x00,0x1c,0x22,0x41,0x00, // 28 ( 0x00,0x41,0x22,0x1c,0x00, // 29 ) 0x14,0x08,0x3e,0x08,0x14, // 2a * 0x08,0x08,0x3e,0x08,0x08, // 2b + 0x00,0x50,0x30,0x00,0x00, // 2c , 0x08,0x08,0x08,0x08,0x08, // 2d - 0x00,0x60,0x60,0x00,0x00, // 2e . 0x20,0x10,0x08,0x04,0x02, // 2f / 0x3e,0x51,0x49,0x45,0x3e, // 30 0 0x00,0x42,0x7f,0x40,0x00, // 31 1 0x42,0x61,0x51,0x49,0x46, // 32 2 0x21,0x41,0x45,0x4b,0x31, // 33 3 0x18,0x14,0x12,0x7f,0x10, // 34 4 0x27,0x45,0x45,0x45,0x39, // 35 5 0x3c,0x4a,0x49,0x49,0x30, // 36 6 0x01,0x71,0x09,0x05,0x03, // 37 7 0x36,0x49,0x49,0x49,0x36, // 38 8 0x06,0x49,0x49,0x29,0x1e, // 39 9 0x00,0x36,0x36,0x00,0x00, // 3a : 0x00,0x56,0x36,0x00,0x00, // 3b ; 0x08,0x14,0x22,0x41,0x00, // 3c < 0x14,0x14,0x14,0x14,0x14, // 3d = 0x00,0x41,0x22,0x14,0x08, // 3e > 0x02,0x01,0x51,0x09,0x06, // 3f ? 0x32,0x49,0x79,0x41,0x3e, // 40 @ 0x7e,0x11,0x11,0x11,0x7e, // 41 A 0x7f,0x49,0x49,0x49,0x36, // 42 B 0x3e,0x41,0x41,0x41,0x22, // 43 C 0x7f,0x41,0x41,0x22,0x1c, // 44 D 0x7f,0x49,0x49,0x49,0x41, // 45 E 0x7f,0x09,0x09,0x09,0x01, // 46 F 0x3e,0x41,0x49,0x49,0x7a, // 47 G 0x7f,0x08,0x08,0x08,0x7f, // 48 H 0x00,0x41,0x7f,0x41,0x00, // 49 I 0x20,0x40,0x41,0x3f,0x01, // 4a J 0x7f,0x08,0x14,0x22,0x41, // 4b K 0x7f,0x40,0x40,0x40,0x40, // 4c L 0x7f,0x02,0x0c,0x02,0x7f, // 4d M 0x7f,0x04,0x08,0x10,0x7f, // 4e N 0x3e,0x41,0x41,0x41,0x3e}; // 4f O
char CONST TABLE6 [240] = { 0x7f,0x09,0x09,0x09,0x06, // 50 P 0x3e,0x41,0x51,0x21,0x5e, // 51 Q 0x7f,0x09,0x19,0x29,0x46, // 52 R 0x46,0x49,0x49,0x49,0x31, // 53 S 0x01,0x01,0x7f,0x01,0x01, // 54 T 0x3f,0x40,0x40,0x40,0x3f, // 55 U 0x1f,0x20,0x40,0x20,0x1f, // 56 V 0x3f,0x40,0x38,0x40,0x3f, // 57 W 0x63,0x14,0x08,0x14,0x63, // 58 X 0x07,0x08,0x70,0x08,0x07, // 59 Y 0x61,0x51,0x49,0x45,0x43, // 5a Z 0x00,0x7f,0x41,0x41,0x00, // 5b [ 0x02,0x04,0x08,0x10,0x20, // 5c \ 0x00,0x41,0x41,0x7f,0x00, // 5d ñ 0x04,0x02,0x01,0x02,0x04, // 5e ^ 0x40,0x40,0x40,0x40,0x40, // 5f _ 0x00,0x01,0x02,0x04,0x00, // 60 ` 0x20,0x54,0x54,0x54,0x78, // 61 a 0x7f,0x48,0x44,0x44,0x38, // 62 b 0x38,0x44,0x44,0x44,0x20, // 63 c 0x38,0x44,0x44,0x48,0x7f, // 64 d 0x38,0x54,0x54,0x54,0x18, // 65 e 0x08,0x7e,0x09,0x01,0x02, // 66 f 0x0c,0x52,0x52,0x52,0x3e, // 67 g 0x7f,0x08,0x04,0x04,0x78, // 68 h 0x00,0x44,0x7d,0x40,0x00, // 69 i 0x20,0x40,0x44,0x3d,0x00, // 6a j 0x7f,0x10,0x28,0x44,0x00, // 6b k 0x00,0x41,0x7f,0x40,0x00, // 6c l 0x7c,0x04,0x18,0x04,0x78, // 6d m 0x7c,0x08,0x04,0x04,0x78, // 6e n 0x38,0x44,0x44,0x44,0x38, // 6f o 0x7c,0x14,0x14,0x14,0x08, // 70 p 0x08,0x14,0x14,0x18,0x7c, // 71 q 0x7c,0x08,0x04,0x04,0x08, // 72 r 0x48,0x54,0x54,0x54,0x20, // 73 s 0x04,0x3f,0x44,0x40,0x20, // 74 t 0x3c,0x40,0x40,0x20,0x7c, // 75 u 0x1c,0x20,0x40,0x20,0x1c, // 76 v 0x3c,0x40,0x30,0x40,0x3c, // 77 w 0x44,0x28,0x10,0x28,0x44, // 78 x 0x0c,0x50,0x50,0x50,0x3c, // 79 y 0x44,0x64,0x54,0x4c,0x44, // 7a z 0x00,0x08,0x36,0x41,0x00, // 7b { 0x00,0x00,0x7f,0x00,0x00, // 7c | 0x00,0x41,0x36,0x08,0x00, // 7d } 0x10,0x08,0x08,0x10,0x08, // 7e ~ 0x78,0x46,0x41,0x46,0x78}; // 7f ¦
// 7e,43,40,43,7e --> Ãœ // 7e,43,42,43,7e --> Ö // 1e,21,21,71,21 --> Ç // 3c,42,53,53,72 --> Ğ
//function prototypes void nokia_init(); void nokia_write_command(char bytefornokia_command); void nokia_write_data(char bytefornokia_data); void nokia_write_dorc(char bytefornokia); void nokia_gotoxy(char xnokia, char ynokia); void nokia_contrast (byte contrast); void nokia_printchar(char cvar); void nokia_clean_ddram(); void table_to_nokialcd(); void LcdPixel (char x, char y);
char char_row,charsel,charpos,chardata; int16 ddram;
void nokia_init() { nok_dc=1; // bytes are stored in the display data ram, address counter, incremented automatically nok_cs=1; // chip disabled delay_us(200);
nok_res=0; delay_ms(10); nok_res=1;
nokia_write_command(0x21); // set extins extended instruction set nokia_write_command(0xc8); // Vop v1: 0xc8 (for 3V), v2: 0xa0 (for 3V) nokia_write_command(0x13); // bias nokia_write_command(0x20); // horizontal mode from left to right, X axe are incremented automatically, // 0x22 for vertical addressing, back on normal instruction set too nokia_write_command(0x09); // all on
delay_ms(50);
nokia_clean_ddram(); // reset DDRAM, otherwise the lcd is blurred with random pixels
delay_ms(10);
nokia_write_command(0x08); // mod control blank change (all off) delay_ms(10);
nokia_write_command(0x0c); // mod control normal change }
void nokia_clean_ddram() { nokia_gotoxy(0,0); // 84*6=504 clear LCD for (ddram=504; ddram>0; ddram--) nokia_write_data(0x00); }
void nokia_write_command(char bytefornokia_command) { nok_dc=0; // byte is a command it is read with the eight SCLK pulse nok_cs=0; // chip enabled nokia_write_dorc(bytefornokia_command); nok_cs=1; // chip disabled }
void nokia_write_data(char bytefornokia_data) { nok_dc=1; nok_cs=0; // chip enabled nokia_write_dorc(bytefornokia_data); nok_cs=1; // chip disabled }
void nokia_write_dorc(char bytefornokia) { // serial write data or command subroutine char caa; for (caa=8;caa>0;caa--) { nok_sclk=0; delay_us(2); if ((bytefornokia&0x80)==0) nok_sda=0; else nok_sda=1; nok_sclk=1; delay_us(2); bytefornokia = bytefornokia << 1; } }
void nokia_gotoxy(char xnokia, char ynokia) { // Nokia LCD 3310 Position cursor nokia_write_command(0x40|(ynokia&0x07)); // Y axe initialisation: 0100 0yyy nokia_write_command(0x80|(xnokia&0x7f)); // X axe initialisation: 1xxx xxxx }
void nokia_contrast (char contrast) { nokia_write_command(0x21); // LCD Extended Commands. nokia_write_command(0x80 | contrast); // Set LCD Vop (Contrast). nokia_write_command(0x20); // LCD Standard Commands, horizontal addressing mode. }
void nokia_printchar(char cvar) { // Write 1 character to LCD charsel=cvar; table_to_nokialcd(); }
void table_to_nokialcd() { // extract ascii from tables & write to LCD if (charsel<0x20) return; if (charsel>0x7f) return;
for (char_row=0;char_row<5;char_row++) { if (charsel<0x50){charpos=(((charsel&0xff)-0x20)*5);chardata=TABLE5[(charpos+char_row)];} // use TABLE5 if (charsel>0x4f){charpos=(((charsel&0xff)-0x50)*5);chardata=TABLE6[(charpos+char_row)];} // use TABLE6
nokia_write_data(chardata); // send data to nokia } nokia_write_data(0x00); // 1 byte (always blank) }
void LcdPixel (char x, char y) { int16 offset; byte data;
if (x > 84) return; if (y > 48) return;
offset = y - ((y / 8) * 8) - 1; data = (0x01 << offset);
nokia_gotoxy(x, (y/6)); nokia_write_data(data); }
use this code (ccs) its very simple. first add this func. nokia_init(); and nokia_gotoxy(8,2); set pozition printf(nokia_printchar,"sonsivri"); send your text. i tested this driver its working good
|
|
|
Logged
|
aquila non captat muscas.
|
|
|
bulate1983
Guest
|
|
« Reply #3 on: August 05, 2008, 02:44:44 02:44 » |
|
@ kireytir, thanks alot, try the code later.... thanks.... Posted on: August 05, 2008, 02:57:00 02:57 - Automerged
@ kireytir, can you send me your compile code CCS C with message text, sorry newbie in CCS C thanks.
|
|
|
Logged
|
|
|
|
Kombinator
Junior Member
Offline
Posts: 84
Thank You
-Given: 39
-Receive: 32
|
|
« Reply #4 on: August 05, 2008, 12:04:05 12:04 » |
|
kireytir if is possibility attached sorsecode in NOTEPAD
|
|
|
Logged
|
|
|
|
j0k3r
Junior Member
Offline
Posts: 40
Thank You
-Given: 44
-Receive: 18
|
|
« Reply #5 on: August 05, 2008, 01:17:40 13:17 » |
|
Another version //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// /*
Graphic LCD Nokia 3310 (LPH7779) routines v3 CCS compiler
by Michel Bavin 2004
*/ ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
BYTE CONST TABLE5[240]= {0x00,0x00,0x00,0x00,0x00, // 20 space ASCII table for NOKIA LCD: 96 rows * 5 bytes= 480 bytes 0x00,0x00,0x5f,0x00,0x00, // 21 ! 0x00,0x07,0x00,0x07,0x00, // 22 " 0x14,0x7f,0x14,0x7f,0x14, // 23 # 0x24,0x2a,0x7f,0x2a,0x12, // 24 $ 0x23,0x13,0x08,0x64,0x62, // 25 % 0x36,0x49,0x55,0x22,0x50, // 26 & 0x00,0x05,0x03,0x00,0x00, // 27 ' 0x00,0x1c,0x22,0x41,0x00, // 28 ( 0x00,0x41,0x22,0x1c,0x00, // 29 ) 0x14,0x08,0x3e,0x08,0x14, // 2a * 0x08,0x08,0x3e,0x08,0x08, // 2b + 0x00,0x50,0x30,0x00,0x00, // 2c , 0x08,0x08,0x08,0x08,0x08, // 2d - 0x00,0x60,0x60,0x00,0x00, // 2e . 0x20,0x10,0x08,0x04,0x02, // 2f / 0x3e,0x51,0x49,0x45,0x3e, // 30 0 0x00,0x42,0x7f,0x40,0x00, // 31 1 0x42,0x61,0x51,0x49,0x46, // 32 2 0x21,0x41,0x45,0x4b,0x31, // 33 3 0x18,0x14,0x12,0x7f,0x10, // 34 4 0x27,0x45,0x45,0x45,0x39, // 35 5 0x3c,0x4a,0x49,0x49,0x30, // 36 6 0x01,0x71,0x09,0x05,0x03, // 37 7 0x36,0x49,0x49,0x49,0x36, // 38 8 0x06,0x49,0x49,0x29,0x1e, // 39 9 0x00,0x36,0x36,0x00,0x00, // 3a : 0x00,0x56,0x36,0x00,0x00, // 3b ; 0x08,0x14,0x22,0x41,0x00, // 3c < 0x14,0x14,0x14,0x14,0x14, // 3d = 0x00,0x41,0x22,0x14,0x08, // 3e > 0x02,0x01,0x51,0x09,0x06, // 3f ? 0x32,0x49,0x79,0x41,0x3e, // 40 @ 0x7e,0x11,0x11,0x11,0x7e, // 41 A 0x7f,0x49,0x49,0x49,0x36, // 42 B 0x3e,0x41,0x41,0x41,0x22, // 43 C 0x7f,0x41,0x41,0x22,0x1c, // 44 D 0x7f,0x49,0x49,0x49,0x41, // 45 E 0x7f,0x09,0x09,0x09,0x01, // 46 F 0x3e,0x41,0x49,0x49,0x7a, // 47 G 0x7f,0x08,0x08,0x08,0x7f, // 48 H 0x00,0x41,0x7f,0x41,0x00, // 49 I 0x20,0x40,0x41,0x3f,0x01, // 4a J 0x7f,0x08,0x14,0x22,0x41, // 4b K 0x7f,0x40,0x40,0x40,0x40, // 4c L 0x7f,0x02,0x0c,0x02,0x7f, // 4d M 0x7f,0x04,0x08,0x10,0x7f, // 4e N 0x3e,0x41,0x41,0x41,0x3e}; // 4f O
BYTE CONST TABLE6[240]= {0x7f,0x09,0x09,0x09,0x06, // 50 P 0x3e,0x41,0x51,0x21,0x5e, // 51 Q 0x7f,0x09,0x19,0x29,0x46, // 52 R 0x46,0x49,0x49,0x49,0x31, // 53 S 0x01,0x01,0x7f,0x01,0x01, // 54 T 0x3f,0x40,0x40,0x40,0x3f, // 55 U 0x1f,0x20,0x40,0x20,0x1f, // 56 V 0x3f,0x40,0x38,0x40,0x3f, // 57 W 0x63,0x14,0x08,0x14,0x63, // 58 X 0x07,0x08,0x70,0x08,0x07, // 59 Y 0x61,0x51,0x49,0x45,0x43, // 5a Z 0x00,0x7f,0x41,0x41,0x00, // 5b [ 0x02,0x04,0x08,0x10,0x20, // 5c 0x00,0x41,0x41,0x7f,0x00, // 5d 0x04,0x02,0x01,0x02,0x04, // 5e 0x40,0x40,0x40,0x40,0x40, // 5f 0x00,0x01,0x02,0x04,0x00, // 60 0x20,0x54,0x54,0x54,0x78, // 61 a 0x7f,0x48,0x44,0x44,0x38, // 62 b 0x38,0x44,0x44,0x44,0x20, // 63 c 0x38,0x44,0x44,0x48,0x7f, // 64 d 0x38,0x54,0x54,0x54,0x18, // 65 e 0x08,0x7e,0x09,0x01,0x02, // 66 f 0x0c,0x52,0x52,0x52,0x3e, // 67 g 0x7f,0x08,0x04,0x04,0x78, // 68 h 0x00,0x44,0x7d,0x40,0x00, // 69 i 0x20,0x40,0x44,0x3d,0x00, // 6a j 0x7f,0x10,0x28,0x44,0x00, // 6b k 0x00,0x41,0x7f,0x40,0x00, // 6c l 0x7c,0x04,0x18,0x04,0x78, // 6d m 0x7c,0x08,0x04,0x04,0x78, // 6e n 0x38,0x44,0x44,0x44,0x38, // 6f o 0x7c,0x14,0x14,0x14,0x08, // 70 p 0x08,0x14,0x14,0x18,0x7c, // 71 q 0x7c,0x08,0x04,0x04,0x08, // 72 r 0x48,0x54,0x54,0x54,0x20, // 73 s 0x04,0x3f,0x44,0x40,0x20, // 74 t 0x3c,0x40,0x40,0x20,0x7c, // 75 u 0x1c,0x20,0x40,0x20,0x1c, // 76 v 0x3c,0x40,0x30,0x40,0x3c, // 77 w 0x44,0x28,0x10,0x28,0x44, // 78 x 0x0c,0x50,0x50,0x50,0x3c, // 79 y 0x44,0x64,0x54,0x4c,0x44, // 7a z 0x00,0x08,0x36,0x41,0x00, // 7b 0x00,0x00,0x7f,0x00,0x00, // 7c 0x00,0x41,0x36,0x08,0x00, // 7d 0x10,0x08,0x08,0x10,0x08, // 7e 0x78,0x46,0x41,0x46,0x78}; // 7f
//
void nokia_init(void); void nokia_write_command(char bytefornokia_command); void nokia_write_data(char bytefornokia_data); void nokia_write_dorc(char bytefornokia); void nokia_gotoxy(byte xnokia, byte ynokia); void nokia_erase_y(byte ynokia); void nokia_erase_x(byte xnokia); void nokia_printchar(byte cvar); void nokia_clean_ddram(void); void table_to_nokialcd(void); void nokia_plot(byte xnokia,byte plot_value8); void nokia_write_data_inv(char bytefornokia_data_inv); void nokia_clear_screen(void); void nokia_clear_xy(byte xnokia, byte ynokia); void nokia_print_uparrow(void); void nokia_print_downarrow(void); void nokia_print_leftarrow(void); void nokia_print_rightarrow(void); void nokia_print_degree(void); void nokia_print_lowbatdegree(void); /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// void nokia_init(void) { tris_lcd =0x00; // oooo oooo (bits are all outputs)
delay_us(200);
nok_dc=1; // bytes are stored in the display data ram, address counter, incremented automatically nok_cs=1; // chip disabled
nok_res=0; // reset chip during 250ms delay_ms(10); // works with less..... nok_res=1;
nokia_write_command(0x21); // set extins extended instruction set nokia_write_command(0xc2); // Vop v1: 0xc8 (for 3V)// v2: 0xa0 (for 3V) // v3: 0xc2 (2v6-5v) ******************************************************************************************************************** nokia_write_command(0x13); // bias nokia_write_command(0x20); // horizontal mode from left to right, X axe are incremented automatically , 0x22 for vertical addressing ,back on normal instruction set too nokia_write_command(0x09); // all on
nokia_clean_ddram(); // reset DDRAM, otherwise the lcd is blurred with random pixels
nokia_write_command(0x08); // mod control blank change (all off)
nokia_write_command(0x0c); // mod control normal change
}
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// void nokia_clean_ddram(void) { nokia_gotoxy(0,0); // 84*6=504 clear LCD for (ddram=504;ddram>0;ddram--){nokia_write_data(0x00);}
} ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
void nokia_write_command(char bytefornokia_command) {
nok_dc=0; // byte is a command it is read with the eight SCLK pulse nok_cs=0; // chip enabled nokia_write_dorc(bytefornokia_command); nok_cs=1; // chip disabled
} ///////////////////////////////////////////////////////////////////////////////// void nokia_write_data(char bytefornokia_data) {
nok_dc=1; nok_cs=0; // chip enabled nokia_write_dorc(bytefornokia_data); nok_cs=1; // chip disabled
} ////////////////////////////////////////////////////////////////////////////////// void nokia_write_dorc(char bytefornokia) // serial write data or command subroutine { char caa; for (caa=8;caa>0;caa--) { nok_sclk=0; // delay_us(2); if ((bytefornokia&0x80)==0){nok_sda=0;} else {nok_sda=1;} nok_sclk=1; bytefornokia=bytefornokia<<1; } } ////////////////////////////////////////////////////////////////////////////////// void nokia_gotoxy(byte xnokia, byte ynokia) // Nokia LCD 3310 Position cursor { nokia_write_command(0x40|(ynokia&0x07)); // Y axe initialisation: 0100 0yyy
nokia_write_command(0x80|(xnokia&0x7f)); // X axe initialisation: 1xxx xxxx } ////////////////////////////////////////////////////////////////////////////////// void nokia_erase_y(byte ynokia) { nokia_gotoxy(0,ynokia); printf(nokia_printchar," "); } ////////////////////////////////////////////////////////////////////////////////// void nokia_erase_x(byte xnokia) { char column;
for (column=0;column!=6;column++){ nokia_gotoxy(xnokia,column); nokia_write_data(0x00); nokia_write_data(0x00); nokia_write_data(0x00); nokia_write_data(0x00); nokia_write_data(0x00); nokia_write_data(0x00);
} } //////////////////////////////////////////////////////////////////////////////////
void nokia_printchar(byte cvar) // Write 1 character to LCD { charsel=cvar; table_to_nokialcd(); } ////////////////////////////////////////////////////////////////////////////////// void table_to_nokialcd(void) // extract ascii from tables & write to LCD { if (charsel<0x20)return; if (charsel>0x7f)return;
for (char_row=0;char_row<5;char_row++) { // 5 bytes
if (charsel<0x50){charpos=(((charsel&0xff)-0x20)*5);chardata=TABLE5[(charpos+char_row)];} // use TABLE5 else if (charsel>0x4f){charpos=(((charsel&0xff)-0x50)*5);chardata=TABLE6[(charpos+char_row)];} // use TABLE6
nokia_write_data(chardata); // send data to nokia }
nokia_write_data(0x00); // 1 byte (always blank)
} ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
void nokia_plot(byte xnokia,byte plot_value8) { char i;
plot_value32=0; plot_value32|=1; // unremark this if you want dotgraph instead of bargraph
for (i=0;i!=plot_value8;i++){
//plot_value32|=1; // remark this if you want dotgraph instead of bargraph plot_value32<<=1; }
//plot_value32|=2; // bottom line is always filled
plot_llsb=(plot_value32&0xff); plot_ulsb=((plot_value32>>8)&0xff); plot_lmsb=((plot_value32>>16)&0xff); plot_umsb=((plot_value32>>24)&0xff);
nokia_gotoxy(xnokia,1); nokia_write_data_inv(plot_umsb);
nokia_gotoxy(xnokia,2); nokia_write_data_inv(plot_lmsb);
nokia_gotoxy(xnokia,3); nokia_write_data_inv(plot_ulsb);
nokia_gotoxy(xnokia,4); nokia_write_data_inv(plot_llsb);
} ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
void nokia_write_data_inv(char bytefornokia_data_inv) { char caa;
nok_dc=1; nok_cs=0; // chip enabled
for (caa=8;caa>0;caa--) { nok_sclk=0; delay_us(2); if ((bytefornokia_data_inv&0x01)==0){nok_sda=0;} else {nok_sda=1;} nok_sclk=1; bytefornokia_data_inv=bytefornokia_data_inv>>1; }
nok_cs=1; // chip disabled } ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
void nokia_clear_screen(void) { nokia_erase_y(0); nokia_erase_y(1); nokia_erase_y(2); nokia_erase_y(3); nokia_erase_y(4); nokia_erase_y(5);
}
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
void nokia_clear_xy(byte xnokia, byte ynokia) {
nokia_gotoxy(xnokia,ynokia); nokia_printchar(" ");
} //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// void nokia_print_uparrow(void) { nokia_write_data(0x04); nokia_write_data(0x02); nokia_write_data(0x7f); nokia_write_data(0x02); nokia_write_data(0x04); nokia_write_data(0x00); } // void nokia_print_downarrow(void) { nokia_write_data(0x10); nokia_write_data(0x20); nokia_write_data(0x7f); nokia_write_data(0x20); nokia_write_data(0x10); nokia_write_data(0x00); } // void nokia_print_leftarrow(void) { nokia_write_data(0x08); nokia_write_data(0x1c); nokia_write_data(0x2a); nokia_write_data(0x08); nokia_write_data(0x08); nokia_write_data(0xf8); } // void nokia_print_rightarrow(void) { nokia_write_data(0x08); nokia_write_data(0x08); nokia_write_data(0x2a); nokia_write_data(0x1c); nokia_write_data(0x08); nokia_write_data(0x00); } // void nokia_print_degree(void) { nokia_write_data(0x00); nokia_write_data(0x06); nokia_write_data(0x09); nokia_write_data(0x09); nokia_write_data(0x06); nokia_write_data(0x00);
// nokia_printchar(" "); } // void nokia_print_lowbatdegree(void) { nokia_write_data(0x00); nokia_write_data(0x06); nokia_write_data(0x0f); nokia_write_data(0x0f); nokia_write_data(0x06); nokia_write_data(0x00);
// nokia_printchar(" "); } ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
and for put something on lcd, on your main: ..... NOKIA_INIT(); NOKIA_GOTOXY(0,0); PRINTF(NOKIA_PRINTCHAR,"SOMETHING"); NOKIA_GOTOXY(0,2); PRINTF(NOKIA_PRINTCHAR," TO LCD "); printF(nokia_printchar," NOKIA");
|
|
|
Logged
|
|
|
|
bulate1983
Guest
|
|
« Reply #6 on: August 05, 2008, 01:57:23 13:57 » |
|
|
|
|
Logged
|
|
|
|
markhao
Newbie
Offline
Posts: 9
Thank You
-Given: 1
-Receive: 1
every moss and cobweb
|
|
« Reply #7 on: August 05, 2008, 02:10:19 14:10 » |
|
what pic chip did you use? hehe. . . member ka din pala dito bro..
|
|
|
Logged
|
scars of a failing heart
|
|
|
bulate1983
Guest
|
|
« Reply #8 on: August 05, 2008, 03:37:05 15:37 » |
|
uu balak ko kc interface nag nokia 3310, hehehe PIC16f877
|
|
« Last Edit: August 05, 2008, 03:42:57 15:42 by bulate1983 »
|
Logged
|
|
|
|
MCan
Junior Member
Offline
Posts: 72
Thank You
-Given: 15
-Receive: 119
end of file
|
|
« Reply #9 on: August 07, 2008, 01:13:06 01:13 » |
|
i attached sample shema and code. i hope it ll be helpful. kireytir if is possibility attached sorsecode in NOTEPAD
http://c.ir2.org/elektronik/3310.cgood works
|
|
« Last Edit: August 07, 2008, 01:18:35 01:18 by kireytir »
|
Logged
|
aquila non captat muscas.
|
|
|
remromgab15
Newbie
Offline
Posts: 22
Thank You
-Given: 2
-Receive: 6
|
|
« Reply #10 on: August 29, 2008, 07:09:07 07:09 » |
|
what pic chip did you use? hehe. . . member ka din pala dito bro.. Nagkikita rin pala tayo dito (we're seeing each other here). he he he
|
|
|
Logged
|
|
|
|
|