EngineersGarage

  • Engineers Garage Main Site
  • Visit our active EE Forums
    • EDABoard.com
    • Electro-Tech-Online
  • Projects & Tutorials
    • Circuits
    • Electronic Projects
    • Tutorials
    • Components
  • Digi-Key Store
    • Cables, Wires
    • Connectors, Interconnect
    • Discrete
    • Electromechanical
    • Embedded Computers
    • Enclosures, Hardware, Office
    • Integrated Circuits (ICs)
    • Isolators
    • LED/Optoelectronics
    • Passive
    • Power, Circuit Protection
    • Programmers
    • RF, Wireless
    • Semiconductors
    • Sensors, Transducers
    • Test Products
    • Tools
  • Advertise
You are here: Home / Topics / GLCD interfacing with pic16f877a

GLCD interfacing with pic16f877a

|

Microcontroller › PIC › GLCD interfacing with pic16f877a

  • This topic has 4 replies, 4 voices, and was last updated 12 years, 6 months ago by AJISH ALFRED.
Viewing 5 posts - 1 through 5 (of 5 total)
  • Author
    Posts
  • August 23, 2012 at 5:18 am #1925
    Lucky
    Participant

    I am writeing GLCD interfacing program using mplab hi-tech compiler.when i am compileing that code it will showes one warning i.e could not find space (460 bytes) for variable _ch1.anyone please help me.my mail ide [email protected]

     

     

           Here is the my code

     

     

    /*==================GLCD interfacing with PIC16f877a==================*/
     
    #include<pic.h>
    //#include “laxman.h”
     
    void glcd_init(void);
    void glcd_data(unsigned char);
    void glcd_cmd(unsigned char);
    void glcd_clear();
    void busy_check();
    void delay();
     
    __CONFIG(0x3f72);
     
    /*=====================GLCD Connections==========*/
     
    #define RS  RC0
    #define RW RC1
    #define EN  RC2
    #define CS1 RC3
    #define CS2 RC4
    #define RST RC5
    #define data PORTB
     
    /*======================Display ADROIT SOLUTIONS on GLCD============*/
     unsigned char ch1[] = {
    0x00, 0x00, 0x00, 0x00, 0x00,// (space)
    0x00, 0x00, 0x5F, 0x00, 0x00,// !
    0x00, 0x07, 0x00, 0x07, 0x00,// “
    0x14, 0x7F, 0x14, 0x7F, 0x14,// #
    0x24, 0x2A, 0x7F, 0x2A, 0x12,// $
    0x23, 0x13, 0x08, 0x64, 0x62,// %
    0x36, 0x49, 0x55, 0x22, 0x50,// &
    0x00, 0x05, 0x03, 0x00, 0x00,// ‘
    0x00, 0x1C, 0x22, 0x41, 0x00,// (
    0x00, 0x41, 0x22, 0x1C, 0x00,// )
    0x08, 0x2A, 0x1C, 0x2A, 0x08,// *
    0x08, 0x08, 0x3E, 0x08, 0x08,// +
    0x00, 0x50, 0x30, 0x00, 0x00,// ,
    0x08, 0x08, 0x08, 0x08, 0x08,// –
    0x00, 0x30, 0x30, 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,// ;
    0x00, 0x08, 0x14, 0x22, 0x41,// <
    0x14, 0x14, 0x14, 0x14, 0x14,// =
    0x41, 0x22, 0x14, 0x08, 0x00,// >
    0x02, 0x01, 0x51, 0x09, 0x06,// ?
    0x32, 0x49, 0x79, 0x41, 0x3E,// @
    0x7E, 0x11, 0x11, 0x11, 0x7E,// 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, 0x01, 0x01,// F
    0x3E, 0x41, 0x41, 0x51, 0x32,// 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, 0x04, 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
    0x7F, 0x20, 0x18, 0x20, 0x7F,// W
    0x63, 0x14, 0x08, 0x14, 0x63,// X
    0x03, 0x04, 0x78, 0x04, 0x03,// Y
    0x61, 0x51, 0x49, 0x45, 0x43,// Z
    0x00, 0x00, 0x7F, 0x41, 0x41,// [
    0x02, 0x04, 0x08, 0x10, 0x20,// “”
    0x41, 0x41, 0x7F, 0x00, 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
    0x08, 0x14, 0x54, 0x54, 0x3C,// g
    0x7F, 0x08, 0x04, 0x04, 0x78,// h
    0x00, 0x44, 0x7D, 0x40, 0x00,// i
    0x20, 0x40, 0x44, 0x3D, 0x00,// j
    0x00, 0x7F, 0x10, 0x28, 0x44,// 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
    0x7C, 0x14, 0x14, 0x14, 0x08,// p
    0x08, 0x14, 0x14, 0x18, 0x7C,// 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
    0x0C, 0x50, 0x50, 0x50, 0x3C,// y
    0x44, 0x64, 0x54, 0x4C, 0x44,// z
    0x00, 0x08, 0x36, 0x41, 0x00,// {
    };
     
     
    /*=========================Delay function==============*/
     
    void delay()
    {
    unsigned int i;
    for(i=0;i<=30;i++);
    }
     
     
    /*===========================Main Function==============*/
     
    void main()
    {
    int i,j;
    PORTC=0xFF;
    TRISC=0xFF;
    PORTB=0x00;
    TRISB=0x00;
    glcd_init();      //GLCD initialization
    while(1)
    {
    for(j=0;j<8;j++)
    glcd_cmd(0xB8+j);
    CS1=1;
    CS2=0;
    for(i=0;i<128;i++)
    {
    if(i==64)
    {
    CS1=0;
    CS2=1;
    }
    glcd_data(ch1);
    }
     
    }
     
    }
     
    /*=======================GLCD initialization==================*/
     
    void glcd_init()
    {
    RST=0;
    delay();
    RST=1;
    delay();
    EN=0;
    CS1=0;
    CS2=0;
    RW=0;
    RS=0;
    glcd_cmd(0x3e);   // display off
    glcd_cmd(0x3f);    //display on
    glcd_cmd(0x40);   //
    glcd_cmd(0xB8);
    glcd_cmd(0xC0);
    glcd_clear();
     
    }
     
    /*======================Glcd data function=====================*/
     
    void glcd_data(unsigned char ch1)
    {
    RS=1;
    data=ch1;
    EN=1;
    EN=0;
    }
     
    /*=======================Glcd command function================*/
     
    void glcd_cmd(unsigned char x)
    {
     
    RS=0;
    CS1=1;
    CS2=1;
    data=x;
    EN=1;
    EN=0;
    }
     
    /*=======================GLCD clear function====================*/
     
    /*void glcd_clear()
    {
    int i,j;
    CS1=1;
    CS2=1;
    for(i=0xb8;i<0xc0;i++)
    {
    glcd_cmd(i);
    glcd_cmd(0x40);
    for(j=0;j<64;j++)
    glcd_data(0x00);
    }
    }*/
     
    August 23, 2012 at 6:16 pm #8501
    AJISH ALFRED
    Participant

    Hi,

    Most probably, your RAM won’t be having that much space to hold the large array. Try changing its type to const char, like

    const char ch1[]

    so that the data goes to ROM where there will be enough space.

    August 24, 2012 at 11:39 am #8504
    Amrith
    Participant

    ya ajish is right.. insufficient RAM space..

     

    May 25, 2013 at 10:43 am #9828
    baskarkkp
    Participant

    sir,

     

       i also suffer by the same problem of not enough memory in this project.Pls can u say any suggestion to clear this problem.

    May 28, 2013 at 4:42 am #9845
    AJISH ALFRED
    Participant

    Hi,

    One method is to use the ‘const’ key word, other is to increase the stack size somehow, most of the IDEs have such an option.

  • Author
    Posts
Viewing 5 posts - 1 through 5 (of 5 total)
  • You must be logged in to reply to this topic.
Log In

RSS Recent Posts

  • mechanism to shutdown feeding when sensor temperature rises December 13, 2025
  • Oshonsoft MSSP simulation question December 13, 2025
  • Droplet1 December 13, 2025
  • What is involved to convert a small town to fiber optic? December 13, 2025
  • Measuring controller current output with a meter December 13, 2025

Stay Up To Date

Newsletter Signup
EngineersGarage

Copyright © 2025 WTWH Media LLC. All Rights Reserved. The material on this site may not be reproduced, distributed, transmitted, cached or otherwise used, except with the prior written permission of WTWH Media
Privacy Policy | Advertising | About Us

Search Engineers Garage

  • Engineers Garage Main Site
  • Visit our active EE Forums
    • EDABoard.com
    • Electro-Tech-Online
  • Projects & Tutorials
    • Circuits
    • Electronic Projects
    • Tutorials
    • Components
  • Digi-Key Store
    • Cables, Wires
    • Connectors, Interconnect
    • Discrete
    • Electromechanical
    • Embedded Computers
    • Enclosures, Hardware, Office
    • Integrated Circuits (ICs)
    • Isolators
    • LED/Optoelectronics
    • Passive
    • Power, Circuit Protection
    • Programmers
    • RF, Wireless
    • Semiconductors
    • Sensors, Transducers
    • Test Products
    • Tools
  • Advertise