8051 INTERFACING WITH ADC0804 AND LM35

                                    

PROGRAM:
#include<reg51.h>
#define mydata P2
sbit rd=P3^5;
sbit wr=P3^6;
sbit intr=P3^7;
sbit rs=P3^1;
sbit en=P3^0;
void convert(unsigned char );
void delay(unsigned int  );
void lcd_cmd(unsigned char);
void lcd_msg(unsigned char );
void lcd_init(void);
void main()
{
unsigned char value;
mydata=0xff;
intr=1;
rd=1;
wr=1;
lcd_init();
P0=0x00;
while(1)
{
lcd_cmd(0x80);
    lcd_msg('t');
lcd_msg('e');
lcd_msg('m');
lcd_msg('p');
lcd_msg(':');
wr=0;
wr=1;
while(intr==1);
rd=0;
value=mydata;
convert(value);
if(value>=25)
{
P0=0x01;
}
else
{
P0=0x00;
}
rd=1;
}
}
void lcd_init(void)
{
lcd_cmd(0x38);
lcd_cmd(0x01);
lcd_cmd(0x06);
lcd_cmd(0x0e);
lcd_cmd(0x0c);
}
void delay(unsigned int ms)
{
unsigned int j;
ms=ms*14;
for(j=0;j<ms;j++);
}
void lcd_cmd(unsigned char cmd)
{
P1=cmd;
rs=0;
en=1;
en=0;
delay(10);
}
void lcd_msg(unsigned char msg)
{
P1=msg;
rs=1;
en=1;
en=0;
delay(10);
}
void convert(unsigned char val)
{
unsigned char x,d1,d2,d3;
val=val;
x=val/10;
d1=val%10;
d2=x%10;
d3=x/10;
lcd_msg(d3|0x30);
lcd_msg(d2|0x30);
lcd_msg(d1|0x30);
delay(1000);
}


Comments

Popular posts from this blog

8051 INTERFACING WITH 7 SEGMENT DISPLAY AND 3X3 MATRIX KEYPAD

7 SEGMENT INTERFACING WITH 8051