Description:
The serial port
of 8051 is
full duplex, i.e., it can transmit and receive simultaneously. The
register SBUF is used to hold the data. The special function register
SBUF is physically two registers. One is, write-only and is used to
hold data to be transmitted out of the 8051 via
TXD.
Microcontrollers
need to communicate with external devices such as sensors, computers
and so on to collect data for further processing. Data communication
generally done by means of two methods: Parallel and Serial mode. In
the parallel mode data bits are transferred in a fast manner using
more number of lines. UART or Serial communication in 8051
microcontroller will allow the controller to send and receive data’s
just by using two pins .Serial
Communication uses only two data lines to establish communication
between Microcontroller and external devices
Code:
#include<reg51.h>
#include<rx.h>
#include<ld.h>
void
main()
{
char
v;
ini();
display("welcome");
lcd();
while(1)
{
ini();
v=recieve();
data1(v);
}
}
/_________________________________rx.h______________________________________________/
void
transmit(char x);
void
ini();
void
delay1();
void
display();
int
recieve();
int
recieve()
{
unsigned
char value;
while(RI==0);
value=SBUF;
RI=0;
return
value;
}
void
ini()
{
TMOD=0X20;
TH1=0XFD;
SCON=0X50;
TR1=1;
}
void
transmit(char x)
{
SBUF=x;
TR1=1;
while(TI==0);
delay1();
TI=0;
TR1=0;
}
void
display(char*s)
{
while(*s!='\0')
{
transmit(*s);
s++;
}
}
void
delay1()
{
int
i,j;
for(i=0;i<100;i++)
for(j=0;j<100;j++);
}
/___________________________________ld.h____________________________________________/
sbit
rs=P1^0;
sbit
en=P1^1;
void
cmd(int);
void
data1(char );
void
lcd();
void
delay();
void
lcd()
{
cmd(0X38);
cmd(0X0E);
cmd(0X01);
cmd(0X06);
cmd(0X80);
}
void
cmd(int a)
{
P2=a;
rs=0;
en=1;
delay();
en=0;
}
void
data1(char x)
{
P2=x;
rs=1;
en=1;
delay();
en=0;
}
void
delay()
{
int
i,j;
for(i=0;i<100;i++)
for(j=0;j<100;j++);
}
Circuit
Diagram:
No comments:
Post a Comment