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 / Replies /  #include#define

 #include#define

|

Microcontroller › 8051 › How to interface 4bit mode LCD to 8051 Micro controller ›  #include#define

March 5, 2013 at 11:05 pm #9255
kunal
Participant

 

#include<reg51.h>
#define port P3            //14,13,12,11 pins of lcd and 1.7,1.6,1.5,1.4 of controller
 
#define lcdport P1
sbit rs = port^0;
sbit rw = port^1;
sbit en = port^2;
 
void lcd_ini();
void dis_cmd(unsigned char);
void dis_data(unsigned char);
void lcdcmd(unsigned char);
void lcddata(unsigned char);
void Delay_ms(unsigned int msec) ;
 
void main()
{
unsigned char data0[]=”rocks”;
unsigned int i=0;
lcdport=0;
 
lcd_ini();
while(data0!=’’)
{
dis_data(data0);
Delay_ms(20);
i++;
}
}
void lcd_ini()                    
{
dis_cmd(0x02);
dis_cmd(0x28);
dis_cmd(0x0C);
dis_cmd(0x06);
dis_cmd(0x80);
}
 
void dis_cmd(unsigned char cmd_value)
{
unsigned char cmd_value1;
cmd_value1 = (cmd_value & 0xF0);
lcdcmd(cmd_value1);
cmd_value1 = ((cmd_value<<4) & 0xF0);
lcdcmd(cmd_value1);
}
 
 
void dis_data(unsigned char data_value)
{
unsigned char data_value1;
data_value1=(data_value&0xF0);
lcddata(data_value1);
data_value1=((data_value<<4)&0xF0);
lcddata(data_value1);
}
 
void lcdcmd(unsigned char cmdout)
{
lcdport=cmdout;
rs=0;
rw=0;
en=1;
Delay_ms(10);
en=0;
}
 
void lcddata(unsigned char dataout)
{
lcdport=dataout;
rs=1;
rw=0;
en=1;
Delay_ms(10);
en=0;
}
  void Delay_ms(unsigned int msec) 
{
int i,j ;
for(i=0;i<msec;i++)
  for(j=0;j<1100;j++);
  }

RSS Recent Posts

  • Voltage comparator circuit verification April 10, 2026
  • Some opamp advice please April 10, 2026
  • Help with a coffee machine circuitboard April 10, 2026
  • Bot checks April 10, 2026
  • Assistance locating a 'trail' camera gadget, please ? April 10, 2026

Stay Up To Date

Newsletter Signup
EngineersGarage

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