Help is required in 4 x 20 lcd programming
Hi all
i am using 4 x20 lcd in my projects, i require the help in following two ways
1:- I want to use my lcd and keypad at one port using latch 74LS/HC 375 .theoritcal it is possible but i need get some important information regard to experince user.????
2- i require its lcd & keypad codes help . the lcd is repsonsble to display the events messages and keypad is used to selection purpose like password entry, adc value of voltages and currents ect.......
if some reqire more information than i can broadcast regard to my project8052 based..
Help with ADC 0804 program
I am doing a project on blood glucose monitor. I am using ADC 0804 with 89c51. I need to display the peak voltage value received at the ADC input. Can somebody give me the code in C?
rfid reader module
Which rfid reader module have you used in the photograph of circuit 'access control using 8051'
plz rply as soon as possible & give details about from where we can purchase rfid reader module....
problem in code .........of led interfacing
[code]#include<reg51.h>
void lcd_command(unsigned char comm);
void lcd_data(unsigned char disp);
lcd_dataa(unsigned char *disp);
sbit sensor1=P1^0;
sbit sensor2=P1^1;
sbit sensor3=P1^2;
sbit sensor4=P1^3;
sbit sensor5=P1^4;
sfr lcd_data_pin=0xA0; // data port P2
sbit rs=P3^0; // Register select pin
sbit rw=P3^1; // Read write pin
sbit en=P3^6; // Enable pin
void delay(unsigned int msec) //delay function
{
int i,j;
for(i=0;i<msec;i++)
for(j=0;j<1275;j++);
}
void lcd_command(unsigned char comm) // function to send command to LCD
{
lcd_data_pin=comm;
en=1;
rs=0;
rw=0;
delay(1);
en=0;
}
void lcd_data(unsigned char disp) // function to send data on LCD
{
lcd_data_pin=disp;
en=1;
rs=1;
rw=0;
delay(1);
en=0;
}
lcd_dataa(unsigned char *disp) // function to send string to LCD
{
int x;
for(x=0;disp[x]!=0;x++)
{
lcd_data(disp[x]);
}
}
void lcd_ini() //Function to inisialize the LCD
{
lcd_command(0x38);
delay(5);
lcd_command(0x0F);
delay(5);
lcd_command(0x80);
delay(5);
}
void main()
{
P3=0x00;
while(1)
{
if(sensor5==0x01)
{
void lcd_command(unsigned char comm);
void lcd_data(unsigned char disp);
lcd_dataa(unsigned char *disp);
lcd_ini();
lcd_dataa("ECE Rocks");
}
else if(sensor1==0x01)
{
void lcd_command(unsigned char comm);
void lcd_data(unsigned char disp);
lcd_dataa(unsigned char *disp);
lcd_ini();
lcd_dataa("move b");
}
else if(sensor2==0x01)
{
void lcd_command(unsigned char comm);
void lcd_data(unsigned char disp);
lcd_dataa(unsigned char *disp);
lcd_ini();
lcd_dataa("move f");
}
else if(sensor3==0x01)
{
void lcd_command(unsigned char comm);
void lcd_data(unsigned char disp);
lcd_dataa(unsigned char *disp);
lcd_ini();
lcd_dataa(" move l");
}
else if(sensor4==0x01)
{
void lcd_command(unsigned char comm);
void lcd_data(unsigned char disp);
lcd_dataa(unsigned char *disp);
lcd_ini();
lcd_dataa("move r");
}
}
}
[/code]
Interfacing AT89S51 with ultrasonic sensor and LCD
I want to make a project to measure distance the use of ultrasonic sensor HC-S04 and liquid crystal display to display the gap in cm. i exploit AT89S51, the cause pin for ultrasonic sensor is P3.5 and the echo pin is P3.2. The echo pin is attached to P3.2 because i use interrupt so that whenever there may be a excessive it's going to activate timer zero and the length of high condition (in microsecond) can be transformed to cm (divided by fifty nine). I already ensure that the ultrasonic sensor works properly. The hassle is the liquid crystal display usually display output the equal variety forty five. It isn't varying even though the space among item and ultrasonic sensor trade. Can anybody assist me to solve this trouble?
[code]#include<REGX51.h>
#include<intrins.h>// for using _nop_() function
#define port P2
#define dataport P0
sfr16 DPTR =0x82;
sbit trig=P3^5;
sbit rs=port^0;
sbit rw=port^1;
sbit e=port^2;
void delay(unsigned int msec)
{
int i,j;
for(i=0;i<msec;i++)
for(j=0;j<1275;j++);
}
void lcd_cmd(unsigned char item) // Function to send command to LCD
{
dataport = item;
rs= 0;
rw=0;
e=1;
delay(1);
e=0;
return;
}
void lcd_data(unsigned char item) // Function to send data to LCD
{
dataport = item;
rs= 1;
rw=0;
e=1;
delay(1);
e=0;
return;
}
void lcd_data_string(unsigned char *str) // Function to send string to LCD
{
int i=0;
while(str[i]!='\0')
{
lcd_data(str[i]);
i++;
delay(1);
}
return;
}
void send_pulse(void) //to generate 10 microseconds delay
{
TH0=0x00;TL0=0x00;
trig=1;
_nop_();_nop_();_nop_();_nop_();_nop_();
_nop_();_nop_();_nop_();_nop_();_nop_();
trig=0;
}
unsigned int get_range(void)
{
int range=0;
int s;
send_pulse();
while(!INT0);// in sake of these lines you can generate a delay of 40 Milli seconds=40000 micro
while (INT0);// seconds
DPH=TH0;DPL=TL0;
TH0=0xFF;TL0=0xFF;
lcd_cmd(0x81);
delay(2);
lcd_data_string("output:");
lcd_cmd(0x8a);
if(DPTR<35000)
{//actually you need to use 38000 but the sensor may not work at higher levels
range=DPTR/59;
s=range/100;
range=range%100;
if(s!=0)
{
lcd_data(s+48);
}
else
{
lcd_cmd(0x06);
s=range/10;
range=range%10;
lcd_data(s+48);
lcd_data(range+48);
lcd_data(' ');
}
}
else
{
range=0; // indicates that there is no obstacle in front of the sensor
lcd_cmd(0x06);
lcd_data(0);
}
return range;
}
void main()
{
lcd_cmd(0x38);
lcd_cmd(0x0c);
delay(2);
lcd_cmd(0x01);
delay(2);
lcd_cmd(0x81);
delay(2);
lcd_data_string("start");
delay(20);
TMOD=0x09;//timer0 in 16 bit mode with gate enable
TR0=1;//timer run enabled
TH0=0x00;TL0=0x00;
P3=0x04;//setting pin P3.2
while(1)
{ get_range();
delay(2);
}
}[/code]
C Program to Interface Keypad Using 8051
I wanna make a program in c which will scan the keypad and send the result to first serial port.
P1.0 to P1.3 stands for columns and P2.0 to P2.3 stands for rows. Serial port should have a band 56k, 8 bit and 1 stop bit.
Help me do + understand it.. Thanx
A beginner is here..
lcd and 8051 in proteus??
how do i simulate lcd and 8051 to display simply "Hello World!" in Proteus 6 by assembler. plz upload the design file (DSN) and assembler (asm) for that purpost.
thank you