The Philippine Electronics and Technology Forum
February 09, 2012, 03:48:42 AM *
Welcome, Guest. Please login or register.

Login with username, password and session length
 
   Home   Help Search Login Register  

Pages: [1] 2 3 ... 8   Go Down
  Print  
Author Topic: Nokia 3310 LCD Image Encoder (free download)  (Read 21422 times)
'yus
Technical People
Nuclear Reactor
*****

Pogi/Ganda Points: 274
Offline Offline

Gender: Male
Posts: 4170


oops, kernel panic!


WWW
« on: August 29, 2008, 10:58:37 PM »

.. nag-revisit lang ako ng Visual C#

    para sa mga gustong i-"personalize" ang kanilang 3310 LCD projects..  Grin
    not yet tested in actual hardware! (wala pa akong pambili ng LCD eh.. hehe  Cheesy )

Nokia 3310 LCD Image Encoder (v1.0)
JPG, BMP, GIF to DotMatrix (auto-resize to 84x48 pixels)

download here: 3310_Image_Encoder.exe (~20kB exe file)

sample code usage: (just insert this lines)
Code:
nokia_gotoxy(0,0);
for(i=0; i<252; i++) nokia_write_data(image1[i]);
for(i=0; i<252; i++) nokia_write_data(image2[i]);

Proteus ISIS simulation:


here's the sample main code:
Code:
#include <16F73.h>
#device adc=8
#FUSES NOWDT, HS, NOPUT, NOPROTECT, NOBROWNOUT
#use delay(clock=10M)
#byte lcdport         = 0x06   // PORTB
#byte lcdport_tris   = 0x86   // PORTB tris
#bit nok_sclk = lcdport.4    // RB5
#bit nok_sda  = lcdport.3    // RB6
#bit nok_dc   = lcdport.2    // RB7
#bit nok_cs   = lcdport.1    // RB0
#bit nok_res  = lcdport.0     // RB1

#include "3310.c"

const unsigned char image1[252] = {0x00, 0x00, 0x00, 0x7C, 0x83, 0x03, 0x03, 0x3F, 0x3F, 0xFC, 0xF0, 0xC0, 0x70, 0x0C, 0x03, 0x03, 0x03, 0x83, 0xFC, 0x40, 0x40, 0x40, 0x40, 0x40, 0xC0, 0xFC, 0x03, 0x03, 0x03, 0x03, 0xFC, 0xC0, 0xF0, 0x0C, 0x0C, 0x0C, 0x0C, 0xF0, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x40, 0x40, 0x80, 0x00, 0x0C, 0x30, 0x40, 0x00, 0x00, 0x00, 0x00, 0x7C, 0x00, 0x00, 0x00, 0x00, 0x40, 0x30, 0x0C, 0x00, 0x00, 0x80, 0x80, 0x40, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x38, 0xC0, 0x00, 0x00, 0x01, 0x0F, 0x0F, 0x00, 0xC0, 0xF0, 0xF0, 0xF8, 0x07, 0x01, 0x00, 0x00, 0x38, 0x38, 0x38, 0x01, 0x07, 0xFE, 0xC0, 0x00, 0x00, 0x07, 0x07, 0x07, 0xC0, 0xF0, 0xF8, 0xF8, 0xFF, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0xC6, 0x06, 0x08, 0x08, 0x30, 0x30, 0x31, 0x06, 0xC8, 0x30, 0x08, 0x08, 0x08, 0x06, 0x36, 0x06, 0x36, 0x06, 0x06, 0x06, 0x08, 0x08, 0x30, 0xC8, 0x06, 0x31, 0x31, 0x30, 0x08, 0x08, 0x06, 0xC6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x7F, 0xFC, 0xF8, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xF8, 0xFC, 0x7F, 0x7F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x87, 0x63, 0x63, 0x60, 0x60, 0x60, 0x60, 0x60, 0xE0, 0xE0, 0xE0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x60, 0x63, 0x63, 0x63, 0x63, 0x63, 0x00, 0xFC, 0x03, 0x00, 0x78, 0x80, 0x80, 0x1C, 0x63, 0x63, 0x63, 0x63, 0x1C, 0x1C, 0x80, 0x78, 0x00, 0x03, 0xFC, 0x00, 0x00, 0x63, 0x63, 0x63, 0x63, 0x60 };
const unsigned char image2[252] = {0x00, 0x00, 0x00, 0x00, 0xC0, 0xB0, 0x30, 0x33, 0x33, 0x3C, 0x3C, 0x7F, 0xFF, 0x0F, 0x0F, 0x0F, 0x3C, 0x3C, 0x8F, 0x8F, 0x8F, 0x7F, 0x7F, 0x33, 0x03, 0xC3, 0xC3, 0x0F, 0x3F, 0x3F, 0xFC, 0xF0, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFC, 0x00, 0x00, 0xFC, 0x00, 0x00, 0x00, 0xFF, 0x3F, 0x30, 0xF0, 0xC0, 0xC0, 0xC0, 0x30, 0x30, 0xF0, 0xCC, 0x0C, 0x0C, 0x0C, 0x80, 0x0F, 0x70, 0x80, 0x00, 0x0F, 0x0F, 0x3F, 0x7C, 0x7C, 0x7C, 0x7C, 0x3F, 0x3F, 0x0F, 0x00, 0x80, 0x70, 0x0F, 0x80, 0x80, 0x0C, 0x0C, 0x0C, 0x30, 0x30, 0x00, 0x00, 0x00, 0xC0, 0x37, 0x0F, 0x0E, 0xCE, 0xCE, 0xC0, 0x00, 0x00, 0xFF, 0xFE, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x01, 0x01, 0x38, 0x38, 0xF8, 0xF0, 0xF1, 0xF1, 0xF0, 0xF8, 0xF8, 0x3F, 0x0F, 0x00, 0x07, 0x0E, 0x0E, 0x0E, 0x07, 0x0E, 0x0E, 0x07, 0x0E, 0x0E, 0x0E, 0x0F, 0x30, 0xC0, 0xC7, 0x0F, 0x0F, 0x0F, 0x00, 0xC0, 0xFF, 0xFF, 0x06, 0x06, 0x06, 0x01, 0xC0, 0x30, 0x01, 0x06, 0xC6, 0xC6, 0x08, 0x08, 0xC8, 0x08, 0x08, 0xC8, 0xC8, 0x06, 0x06, 0x01, 0x30, 0xC0, 0x01, 0x01, 0x06, 0x06, 0x08, 0x30, 0x00, 0x00, 0x00, 0x00, 0x7F, 0xF8, 0xE0, 0xE0, 0xE3, 0xE3, 0xE3, 0xF8, 0x78, 0xE3, 0xE3, 0xFC, 0xFC, 0x78, 0x78, 0x7F, 0x1F, 0x78, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0x78, 0x7F, 0x1C, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x78, 0x84, 0x87, 0x83, 0xE0, 0xF8, 0xF8, 0x7F, 0x1F, 0x07, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x1C, 0x03, 0x03, 0x00, 0x00, 0x7F, 0x00, 0x00, 0x03, 0x03, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x03, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00 };

void init() {
   setup_adc_ports(NO_ANALOGS);
   setup_adc(ADC_OFF);
   setup_spi(FALSE);
   lcdport_tris = 0x00;        // lcdport all bits are outputs
   port_b_pullups(TRUE);

   nokia_init();
}

void main()
{
   char i;
   init();
   
   nokia_gotoxy(0,0);
   for(i=0; i<252; i++) nokia_write_data(image1[i]);
   for(i=0; i<252; i++) nokia_write_data(image2[i]);   
       
}

and just in case wala pa kayo nung 3310 LCD code library:
Code:
////////////////////////////////////////////////////////////////////////////////
/*
                     LPH7779-LCD(Nokia 3310) library
*/
////////////////////////////////////////////////////////////////////////////////

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);
void show_image(void);

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) {
    char offset;
    byte  data;

    if (x > 84) return;
    if (y > 48) return;

    offset = y % 8;
    data = (0x01<<offset);
       
    nokia_gotoxy(x, (y/8));
    nokia_write_data(data);
}

enjoy!  Wink Grin
Logged

join PhilRobotics - Amateur Robotics Club of the Philippines
The Philippine Electronics and Technology Forum
« on: August 29, 2008, 10:58:37 PM »

 Logged
paranz
Technical People
Nuclear Reactor
*****

Pogi/Ganda Points: 167
Offline Offline

Gender: Male
Posts: 4511


1/4W resistor specialist


« Reply #1 on: August 29, 2008, 11:00:10 PM »

^ astig.

ang pogi2x mo, yus Cheesy
Logged
Cute_Worm_1983
Size D Battery
******

Pogi/Ganda Points: 16
Offline Offline

Gender: Male
Posts: 418



« Reply #2 on: August 29, 2008, 11:03:29 PM »

^ ayus...
Logged

I love electronicslab.ph
'yus
Technical People
Nuclear Reactor
*****

Pogi/Ganda Points: 274
Offline Offline

Gender: Male
Posts: 4170


oops, kernel panic!


WWW
« Reply #3 on: August 29, 2008, 11:03:36 PM »

thanks, sir paranz! Grin

sana may mag-test sa actual Roll Eyes wala akong "nabarat" kanina sa tipidcp eh.. hehe Cheesy
Logged

join PhilRobotics - Amateur Robotics Club of the Philippines
paranz
Technical People
Nuclear Reactor
*****

Pogi/Ganda Points: 167
Offline Offline

Gender: Male
Posts: 4511


1/4W resistor specialist


« Reply #4 on: August 29, 2008, 11:05:30 PM »

^ dahil sa mga CP lcd projects mo bro, marami talagang pinoys studes/hobbyists ang magiging master sa 3310 interfacing Cheesy
Logged
7_SeVeN_7
Technical People
Solar Power Satellite
*****

Pogi/Ganda Points: 380
Offline Offline

Posts: 5954


There is no delight in owning anything unshared.


« Reply #5 on: August 29, 2008, 11:05:42 PM »

galing... ang bilis mong napag-aralan ang C#... pogi point! Smiley
Logged

E-Gizmo Mechatronix Central: www.e-gizmo.com

Tel #: (63)(2) 536-3378
Globe +63915-973-7691
Smart +63921-779-0748

Location Map

YM: julie.egizmo  aka Born2BeWired  Grin
'yus
Technical People
Nuclear Reactor
*****

Pogi/Ganda Points: 274
Offline Offline

Gender: Male
Posts: 4170


oops, kernel panic!


WWW
« Reply #6 on: August 29, 2008, 11:07:04 PM »

^ hehe.. ni-"recycle" ko lang yung program para sa 3530 LCD ko.. hehe Cheesy
Logged

join PhilRobotics - Amateur Robotics Club of the Philippines
mArKhAo
Gas Turbine
**

Pogi/Ganda Points: 69
Offline Offline

Gender: Male
Posts: 2278


point and shoot


« Reply #7 on: August 29, 2008, 11:22:02 PM »

sa pic16c73b  lng ba po yan pwd Huh Cheesy
Logged

cut my heart out, for a souvenir....
paranz
Technical People
Nuclear Reactor
*****

Pogi/Ganda Points: 167
Offline Offline

Gender: Male
Posts: 4511


1/4W resistor specialist


« Reply #8 on: August 30, 2008, 05:28:58 AM »

^ kahit anong MCU pwede yan. Galing ni master julz/yus Cheesy
Logged
maldihtah13
Technical People
Nuclear Reactor
*****

Pogi/Ganda Points: 110
Offline Offline

Gender: Female
Posts: 4446


Everyday is a learning process so try to learn ;D


« Reply #9 on: August 30, 2008, 08:48:43 AM »

Yus favor naman pwede mo ko bigyan ng code para matest ko lang ung circuit ko.
Pakisend n lang ng hex file kc di pa me marunong ng C.

device = 16f877
xtal = 4Mhz
LCD connection
Lcd_CLK  = PORTC.4
Lcd_SDA = PORTC.3
Lcd_DC   = PORTC.2
Lcd_CS   = PORTC.1
Lcd_RST = PORTC.0

Kahit simple lang makita ko lang kung working sya. Nagloloko ksi pagdating sa actual. Sa simulation nman ok.

Salamat ng marami.
Logged
'yus
Technical People
Nuclear Reactor
*****

Pogi/Ganda Points: 274
Offline Offline

Gender: Male
Posts: 4170


oops, kernel panic!


WWW
« Reply #10 on: August 30, 2008, 09:47:01 AM »

heto, sir nomad:
Code:
:1000000000308A009C2A00000A108A100A110B3E58
:1000100003188A0A820000340034E034F034F034EB
:10002000F034E034F034F034F034F034F034F034C0
:10003000F034F034F034F034F034F034F034F034A0
:10004000E034E03400340034003400340034003450
:100050000034003400340034003400340034003400
:1000600000340034003400340034003400340034F0
:1000700000340034003400340034003400340034E0
:1000800000340034003400340034003400340034D0
:1000900000340034003400340034003400340034C0
:1000A00000340034003400340034003400340034B0
:1000B00000340034003400340034003400340034A0
:1000C0000034FF34FF34FF34FF34FF34FF340F3487
:1000D0000734073407340734073407340734073448
:1000E000073407340F340F340F340734003400342E
:1000F0000034003400340034003400340034003460
:10010000003400340034003400340034003400344F
:1001100000340034003400348034003400340034BF
:10012000003400340034003400340034003400342F
:10013000003400340034003400340034003400341F
:10014000003400340034003400340034003400340F
:1001500000348034803400340034003400340034FF
:1001600000340034003400340034FF34FF34FF34F2
:10017000FF34FF34FF34E034E034E034E034E03482
:10018000E034E034F034F034F034F034F034F0346F
:10019000C0340034FF34FF34FE3400340034003403
:1001A00000340034003400340034003480348034AF
:1001B000C034C034C0348034803400340034FF3460
:1001C000FF348034C034C034C034803480340034D0
:1001D000003400340034003400340034003400347F
:1001E00000340034FE34FF34FF34073407340F3456
:1001F0009E34FC34F83400340034FF34FF34FF34D0
:100200008034C034C034C0348034003400340A1424
:100210008A100A110E3E03188A0A82000034003444
:10022000FF34FF34FF34FF34FF340F340F340F3406
:100230000F340734073407340734073407340734DE
:1002400007340734073401340034FF34FF347F347B
:100250000034003400340034003400340034FC3402
:10026000FF34FF34073403340134FF34FF34FF34E8
:1002700000340034FF34FF340734033401340334D2
:100280008734FF34FF343034003400340034003419
:1002900000340034003400340034FF34FF34FF34C1
:1002A0000E340E340F340F3407340134003400346C
:1002B000FF34FF34FF34073403340134FF34FF3498
:1002C000FF34003400340034FF34FF34FF34FF3493
:1002D000FF34C034803480348034803480348034BF
:1002E0008034803480348034C034803480340034AE
:1002F00000340F340F340E340E340E340E340F34F9
:100300000734073400340134073407340F340E3413
:100310000F34073407340F34063400340F340F34ED
:100320000F340E340E340F340734033401340034E8
:100330000034003404340E340E340C3400340034F1
:1003400000340F340F3407340034003400340034E8
:1003500000340034003402340734073403340034EA
:100360000034003403340F340F34003400340034CC
:10037000033407340F341F341F341F341F341F3429
:100380001F341F341F341F341F341F341F341F34D5
:100390001F341F341F34063400340034003400345A
:1003A00000340034003400340034003400340034AD
:1003B000003400340034003400340034003400349D
:1003C000003400340034003400340034003400348D
:1003D000003400340034003400340034003400347D
:1003E000003400340034003400340034003400346D
:1003F000003400340034003400340034003400345D
:10040000003400340034003400340034003400344C
:1004100000340034273084008313000803191E2A97
:100420000130F800F701F70B132AF80B122A4A30B3
:10043000F700F70B192A1C2A800B102A0034083009
:10044000AC00AC080319332A0712262A2B0880397E
:10045000031D2C2A87112D2A871507162F2A031012
:10046000AB0DAC03212A0034071187102A08AB001A
:100470001F2287140034280807394038A900AA0031
:10048000342227087F398038A900AA00342200349A
:10049000071587102808AB001F2287140034831625
:1004A0001F149F141F159F1183121F109401831690
:1004B000870181138312071587144230F700F70B69
:1004C0005F2A000007100A30A7000A220714213013
:1004D000AA003422C830AA0034221330AA003422E1
:1004E0002030AA0034220930AA0034223230A7007A
:1004F0000A22A701A8013B220130A500F830A40080
:10050000A408031D862AA50803198D2AA8014822DC
:1005100024080319A503A403802A0A30A7000A228D
:100520000830AA0034220A30A7000A220C30AA00A0
:1005300034228A110A12A72A840183131F308305EB
:1005400083161F149F141F159F1183124F2AA70192
:10055000A8013B22A6012608FB3C031CB62A26085C
:100560000420A700A8004822A60AAB2AA601260854
:10057000FB3C031CC22A26080721A700A80048222A
:06058000A60AB72A630081
:02400E003A3F37
:00000001FF
;PIC16F877



ito yung C code (di ko na na-verify yung mga fuses):
Code:
#include <16F877.h>
#device adc=8
#FUSES NOWDT, HS, NOPUT, NOPROTECT, NOBROWNOUT
#use delay(clock=4M)
#byte lcdport         = 0x07   // PORTC
#byte lcdport_tris   = 0x87   // PORTC tris
#bit nok_sclk = lcdport.4    // RC4
#bit nok_sda  = lcdport.3    // RC3
#bit nok_dc   = lcdport.2    // RC2
#bit nok_cs   = lcdport.1    // RC1
#bit nok_res  = lcdport.0    // RC0

#include "3310.c"

const unsigned char image1[252] = {0x00, 0x00, 0xE0, 0xF0, 0xF0, 0xF0, 0xE0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xE0, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x0F, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x0F, 0x0F, 0x0F, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xC0, 0x00, 0xFF, 0xFF, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0xC0, 0xC0, 0xC0, 0x80, 0x80, 0x00, 0x00, 0xFF, 0xFF, 0x80, 0xC0, 0xC0, 0xC0, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFE, 0xFF, 0xFF, 0x07, 0x07, 0x0F, 0x9E, 0xFC, 0xF8, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x80, 0xC0, 0xC0, 0xC0, 0x80, 0x00, 0x00 };
const unsigned char image2[252] = {0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x0F, 0x0F, 0x0F, 0x0F, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x01, 0x00, 0xFF, 0xFF, 0x7F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFC, 0xFF, 0xFF, 0x07, 0x03, 0x01, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x07, 0x03, 0x01, 0x03, 0x87, 0xFF, 0xFF, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x0E, 0x0E, 0x0F, 0x0F, 0x07, 0x01, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x07, 0x03, 0x01, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC0, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0xC0, 0x80, 0x80, 0x00, 0x00, 0x0F, 0x0F, 0x0E, 0x0E, 0x0E, 0x0E, 0x0F, 0x07, 0x07, 0x00, 0x01, 0x07, 0x07, 0x0F, 0x0E, 0x0F, 0x07, 0x07, 0x0F, 0x06, 0x00, 0x0F, 0x0F, 0x0F, 0x0E, 0x0E, 0x0F, 0x07, 0x03, 0x01, 0x00, 0x00, 0x00, 0x04, 0x0E, 0x0E, 0x0C, 0x00, 0x00, 0x00, 0x0F, 0x0F, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x07, 0x07, 0x03, 0x00, 0x00, 0x00, 0x03, 0x0F, 0x0F, 0x00, 0x00, 0x00, 0x03, 0x07, 0x0F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };

void init() {
   setup_adc_ports(NO_ANALOGS);
   setup_adc(ADC_OFF);
   setup_spi(FALSE);
   lcdport_tris = 0x00;        // lcdport all bits are outputs
   port_b_pullups(TRUE);

   nokia_init();
}

void main()
{
   char i;
   init();
   
   nokia_gotoxy(0,0);
   for(i=0; i<252; i++) nokia_write_data(image1[i]);
   for(i=0; i<252; i++) nokia_write_data(image2[i]);
         
}
Logged

join PhilRobotics - Amateur Robotics Club of the Philippines
maldihtah13
Technical People
Nuclear Reactor
*****

Pogi/Ganda Points: 110
Offline Offline

Gender: Female
Posts: 4446


Everyday is a learning process so try to learn ;D


« Reply #11 on: August 30, 2008, 09:53:26 AM »

naku salamat ng marami boss. Try ko muna.
Logged
'yus
Technical People
Nuclear Reactor
*****

Pogi/Ganda Points: 274
Offline Offline

Gender: Male
Posts: 4170


oops, kernel panic!


WWW
« Reply #12 on: August 30, 2008, 09:59:30 AM »

question para sa mga CP techs:
ano pang ibang units ang gumagamit ng same LCD ng sa nokia 3310/3315 ? Huh
(like 3210? or 5110? )
Logged

join PhilRobotics - Amateur Robotics Club of the Philippines
maldihtah13
Technical People
Nuclear Reactor
*****

Pogi/Ganda Points: 110
Offline Offline

Gender: Female
Posts: 4446


Everyday is a learning process so try to learn ;D


« Reply #13 on: August 30, 2008, 10:09:58 AM »

Sir confirmed hindi nga software problema ko kundi ung hardware.



Anu kya possible problem ko?

Anu ba current requirement nung LCD? ksi nilagyan ko ng voltage devider sa supply pra maging around 3.3V lang ang supply ng LCD. I use 1K at 2K ohm resistor. So around 1.6mA lang pala, baka nga kulang. Ok lang ba ikabit ko supply ng lcd directly sa 5V?
Logged
RaffT
Technical People
Hydroelectric
*****

Pogi/Ganda Points: 95
Offline Offline

Gender: Male
Posts: 3208


more on R-n-D


WWW
« Reply #14 on: August 30, 2008, 10:13:35 AM »

yus,

 nice one Smiley

 lalo ka pa pogi Smiley
Logged

Learning is CooL! BEAM robotics/DIY UCD180/PSP/AC wtmtr/digiESRmtr/PICkit™2 clone/SGTC/SSTC/DR-SSTC
maldihtah13
Technical People
Nuclear Reactor
*****

Pogi/Ganda Points: 110
Offline Offline

Gender: Female
Posts: 4446


Everyday is a learning process so try to learn ;D


« Reply #15 on: August 30, 2008, 10:16:10 AM »

question para sa mga CP techs:
ano pang ibang units ang gumagamit ng same LCD ng sa nokia 3310/3315 ? Huh
(like 3210? or 5110? )


eto pin layout ng 3310 at 5110

Logged
Cute_Worm_1983
Size D Battery
******

Pogi/Ganda Points: 16
Offline Offline

Gender: Male
Posts: 418



« Reply #16 on: August 30, 2008, 10:21:36 AM »

Puwede rin kaya ang 3210 na LCD? imbes na 3310 nagamitin ko...
Logged

I love electronicslab.ph
RaffT
Technical People
Hydroelectric
*****

Pogi/Ganda Points: 95
Offline Offline

Gender: Male
Posts: 3208


more on R-n-D


WWW
« Reply #17 on: August 30, 2008, 10:27:32 AM »

yus,

 ilan bites kain pag graphics lang??

 pwede na ito pang "startup" image show Grin
Logged

Learning is CooL! BEAM robotics/DIY UCD180/PSP/AC wtmtr/digiESRmtr/PICkit™2 clone/SGTC/SSTC/DR-SSTC
RaffT
Technical People
Hydroelectric
*****

Pogi/Ganda Points: 95
Offline Offline

Gender: Male
Posts: 3208


more on R-n-D


WWW
« Reply #18 on: August 30, 2008, 10:34:53 AM »

Puwede rin kaya ang 3210 na LCD? imbes na 3310 nagamitin ko...

sa tingin ko iba cguro.... 5110 and 3310 both use 3.6V Li-Ion batt...
Logged

Learning is CooL! BEAM robotics/DIY UCD180/PSP/AC wtmtr/digiESRmtr/PICkit™2 clone/SGTC/SSTC/DR-SSTC
'yus
Technical People
Nuclear Reactor
*****

Pogi/Ganda Points: 274
Offline Offline

Gender: Male
Posts: 4170


oops, kernel panic!


WWW
« Reply #19 on: August 30, 2008, 10:40:06 AM »

.. ksi nilagyan ko ng voltage devider sa supply pra maging around 3.3V lang ang supply ng LCD. I use 1K at 2K ohm resistor. So around 1.6mA lang pala, baka nga kulang. Ok lang ba ikabit ko supply ng lcd directly sa 5V?

baka nga may problema yung  voltage divider sa LCD supply..
na-try mo na ang ganitong configuration:

http://www.kmitl.ac.th/~kswichit%20/8051sbc/8051SBC1/8051sbc1.html
5V din yung controller (supply and ports)
Logged

join PhilRobotics - Amateur Robotics Club of the Philippines
The Philippine Electronics and Technology Forum
   

 Logged
Pages: [1] 2 3 ... 8   Go Up
  Print  
 
Jump to:  


Related Topics
Subject Started by Replies Views Last post
Nokia 3310 LCD LPH7779
Microcontroller/Microprocessor Unit Projects and Programming
toasted siopao 0 2091 Last post February 13, 2008, 11:00:04 PM
by toasted siopao
nokia 3310 lcd temp project
Microcontroller/Microprocessor Unit Projects and Programming
duldog 3 1596 Last post April 06, 2008, 03:25:10 PM
by 'yus
Nokia 3310 LCD and Zilog Z8F0423 « 1 2 »
Zilog Microcontrollers
'yus 29 5814 Last post August 20, 2010, 12:21:27 PM
by 'yus
Free Download mobile phone themes Nokia, Sony Ericsson etc.
Cellular Phones and Accessories
tbb_edp 6 9636 Last post July 21, 2010, 01:26:18 AM
by joejoel7777
nokia 3310
Cellphone Repair (Cellphone Technicians Forum)
charlie 0 424 Last post February 20, 2010, 11:12:53 AM
by charlie
LCD 3310. text good image fuddle. Voltage Divider?
Microcontroller/Microprocessor Unit Projects and Programming
Positron E+ 17 1299 Last post March 22, 2010, 04:51:39 PM
by Positron E+
Uart sending Image on 3310 LCD -tapos narin,very challenging (picture and video) « 1 2 »
Microcontroller/Microprocessor Unit Projects and Programming
Positron E+ 27 1761 Last post April 15, 2010, 12:51:04 PM
by Positron E+
Powered by MySQL Powered by PHP Powered by SMF 1.1.15 | SMF © 2011, Simple Machines Valid XHTML 1.0! Valid CSS!