data Receiving using Bluetooth module and displaying on LCd

Thread Starter

Waseem Farooq

Joined Jun 19, 2014
1
hi
Im working on a project of detecting temperature and humidity. microcontroller used is AT89C51 and i'm using bluetooth module HT6628 to send reading on computer with bluetooth receiver using hyper terminal software.it works properly. now i want to receive data on another node rather than computer and want to display it on lcd 16X2. My Questions are
(1) can i use any other microcontroller on receiving side
(2) How i interface bluetooth module to receive data and display on Lcd
(3) What modifications are needed to receive data on LCD 16X2
code im using to detect temp and humidity and sending on computer is

Rich (BB code):
 #include <REGX51.H>

sfr ldata =0xA0;
sbit rs=P3^5;
sbit rw=P3^4;
sbit en=P3^3;
sbit rd=P3^0;
sbit wr=P3^6;
sbit intr=P3^7;
sfr  cdata=0X90;
sbit bulb=P0^5; 
sbit dcheater1=P0^3;
sbit dcheater=P0^4;
sbit over=P0^7;
sbit inp=P0^0;
sbit inm=P0^1; 
sbit halt=P0^3;
sbit accheck=P3^0;
sbit battery=P3^1;
unsigned char val,p,val3,val4;
unsigned char val1,val2,set1,set2,ss,setp,setpp,setpm,fsi,ffi;
unsigned int fo,ft,fth,ff,q,b,a,c;
void delay(unsigned int qq)
                        {
                        unsigned int i,j;
                        for (i=0;i<qq;i++)
                        for(j=0;j<100;j++);
                        }
void timer(void) interrupt 1 
                        {
                                a=a+1;
TH0=0x4B;
TL0=0xFD;
if(a==20)
{        

c=b;

b=0;
a=0;

}        

                        }
void exter(void) interrupt 0 
                        {
                                b=b+1;        
                        }
void lcdcmd(unsigned char value)
                        {
                        ldata= value;
                        rs=0;
                        rw=0;
                        en=1;
                        delay(1);
                        en=0;
                        return;
                        }
void lcddata(unsigned char value)
                                {
                                ldata=value;
                                rs=1;
                                rw=0;
                                en=1;
                                delay(1);
                                en=0;
                                return;
                                }
void lcd()
                                        {
                                                
                        lcdcmd(0x38);
                        delay(250);
                        lcdcmd(0x0E);
                        delay(250);
                        lcdcmd(0x01);
                        delay(250);
                        lcdcmd(0x06);
                        delay(250);
                        lcdcmd(0x80);
                        delay(250);
                        lcddata('T');
                        delay(250);
                        lcddata('E');
                        delay(250);
                        lcddata('M');
                        delay(250);
                        lcddata('P');
                        delay(250);
                                        }
void serial()
                                                        {
                                                                TMOD=0x21;
TH0=0x4B;
TL0=0xFD;

IT0 = 1;
IE=0x83;
TR0=1; 

                                                                        TH1=0xFD; //9600 baud rate
                                                                                SCON=0x50;
                                                                                TR1=1; //start timer
                                                        }
void tra(unsigned char x)
                                                        {
SBUF=x; //place value in buffer
while (TI==0); //wait until transmitted
TI=0;
                                                        }
void temp()// for adc 0804 
                {
                wr=0;
                wr=1;
                while(intr==1);
                rd=0;
                val=cdata;
                rd=1;
                }


void main()
                        {//17

unsigned char one,two;

lcd();
                                serial();
                                

while(1)
                                {//16
        temp();
one=val/10;
two=val%10;
one=one+0x30;
two=two+0x30;

lcdcmd(0x85);
delay(250);
lcddata(one);
        tra(one);
delay(250);
lcddata(two);
delay(250);
        tra(two);
        lcddata(' ');
delay(250);
lcddata(' ');
delay(250);
        tra('t');

 if(val>=50)

{
lcdcmd(0x89);
delay(250);
lcddata('F');

delay(250);
lcddata('I');

        delay(250);
lcddata('R');

        delay(250);
lcddata('E');

        delay(250);

        
}
tra(',');
fo=c/1000;
ft=c%1000;
fth=ft/100;
ff=ft%100;
ffi=ff/10;
fsi=ff%10;
fo=fo+0x30;
fth=fth+0x30;
ffi=ffi+0x30;
fsi=fsi+0x030;
lcdcmd(0xc0);
delay(250);
lcddata(fo);


delay(250);
lcddata(fth);

delay(250);

lcddata(ffi);

delay(250);

lcddata(fsi);

delay(250);



c=8400-c;
c=c/24;

if(c<=100)
{
        fo=c/10;
        ft=c%10;
        fo=fo+0x30;
        ft=ft+0x30;
lcdcmd(0xc6);
delay(250);
        lcddata('H');
lcddata('=');
        delay(250);
        lcddata(fo);
tra(fo);

delay(250);
lcddata(ft);
tra(ft);
        tra('h');
delay(250);
        lcddata('%');
        tra(',');

}
        delay(5000);
tra(0x0d);
                                        }//16
}//17
 
Top