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
You are here: Home / Replies / hello guys. Please help me

hello guys. Please help me

|

Microcontroller › 8051 › INTERFACING LCD TO 8051 BY Qurat-ul-ain › hello guys. Please help me

November 8, 2011 at 12:27 am #6810
Rogen Lee
Participant

hello guys. Please help me how to display an lcd to our project. Here is the code of our project.

 

#include<reg51.h>

sbit rs=P1^0; //register select pin

sbit rw=P1^1; //read/write pin

sbit e=P1^2; //enable pin

sbit quat=P3^0; //pin connected to quater level of tank

sbit half=P3^1; //pin connected to half level of tank

sbit quat_3=P3^2; //pin connected to three -fourth level of tank

sbit full=P3^3; //pin connected to full level of tank

sbit spkr_on=P3^4; 

sbit spkr_off=P3^5; // pin to off speaker

 

void delay(int k) //delay function

{

int i,j;

for(i=0;i<k;i++)

  for(j=0;j<1275;j++);

}

 

void write(int j) //write function

{

rs=1;  //selecting command register

rw=0;  //selecting to write

P2=j;  //putting value on the pins

e=1;  //strobe the enable pin

delay(1);

e=0;

return;

}

 

void cmd(int j)  //command function

{

P2=j;  //put the value on pins

rs=0;  //selecting command register

rw=0;  //selecting to write

e=1;  //strobe enable pin

delay(1);

e=0;

return;

}

 

void puts(char *a) //puts function to print a string

{

unsigned int p=0;

for(;a[p]!=0;p++)

write(a[p]);

}

 

void lcd_init(void) // function to initialise the LCD

{

cmd(0x38); //setting 8-bit interface, 2 lines, 5*7 Pixels

delay(1);

cmd(0x0e); //turning on underline visible cursor

delay(1);    

cmd(0x01); //clearing screen

cmd(0x80); //moving cursor to the begining of line 1 of LCD

}

 

void main()

{

quat=half=quat_3=full=spkr_off=1; //configuring as input pins

quat=half=quat_3=full=spkr_off=0; //lowering input pins

spkr_on=1;    // making speaker on pin high,as it works on negative logic

while(1)

{

  while(quat==0&&half==0&&quat_3==0&&full==0&&spkr_off==0)   //condition when tank is empty

  {

   lcd_init();        // initialising LCD

   puts(“VACANT”);       //printing VACANT on lcd

  }

  while(quat==1&&half==0&&quat_3==0&&full==0&&spkr_off==0)         //condition when tank is quater

  {

   lcd_init();

   puts(“QUATER”);      //printing QUATER on lcd

  }

  while(quat==1&&half==1&&quat_3==0&&full==0&&spkr_off==0)         //condition when tank is half

  {

   lcd_init();     

   puts(“HALF”);      //printing HALF on lcd

  }

  while(quat==1&&half==1&&quat_3==1&&full==0&&spkr_off==0)         //condition when tank is three-fourth

  {

   lcd_init();

   puts(“3/4 FULL”);     //printing 3/4 FULL on lcd

  }

  while(quat==1&&half==1&&quat_3==1&&full==1&&spkr_off==0)         //condition when tank is full

  {

   lcd_init();

   puts(“FULL;CLOSE TAP”);     //printing FULL;CLOSE TAP on lcd

   spkr_on=0;// Enabling speaker

  }

  while(quat==1&&half==1&&quat_3==1&&full==1&&spkr_on==0&&spkr_off==1)//enabling high speaker_off pin

  {

   spkr_on=1;//disabling speaker

  }

}

}

 

 

I hope you can share your ideas. So, we can pass our project successfully. This is my first time to do the project using the microcontroller. so, please help me. Thank you

 

RSS Recent Posts

  • Help identify a part August 15, 2022
  • LM3914 Loading down the reference voltage August 15, 2022
  • Prototype for a detector August 15, 2022
  • CE Transistor Amplifier August 15, 2022
  • Drill speed controller fault August 14, 2022

Stay Up To Date

Newsletter Signup
EngineersGarage

Copyright © 2022 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