data Receiving using Bluetooth module and displaying on LCd

Discussion in 'The Projects Forum' started by Waseem Farooq, Jun 19, 2014.

  1. Waseem Farooq

    Thread Starter New Member

    Jun 19, 2014
    1
    0
    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

    Code ( (Unknown Language)):
    1.  #include <REGX51.H>
    2.  
    3. sfr ldata =0xA0;
    4. sbit rs=P3^5;
    5. sbit rw=P3^4;
    6. sbit en=P3^3;
    7. sbit rd=P3^0;
    8. sbit wr=P3^6;
    9. sbit intr=P3^7;
    10. sfr  cdata=0X90;
    11. sbit bulb=P0^5;
    12. sbit dcheater1=P0^3;
    13. sbit dcheater=P0^4;
    14. sbit over=P0^7;
    15. sbit inp=P0^0;
    16. sbit inm=P0^1;
    17. sbit halt=P0^3;
    18. sbit accheck=P3^0;
    19. sbit battery=P3^1;
    20. unsigned char val,p,val3,val4;
    21. unsigned char val1,val2,set1,set2,ss,setp,setpp,setpm,fsi,ffi;
    22. unsigned int fo,ft,fth,ff,q,b,a,c;
    23. void delay(unsigned int qq)
    24.                         {
    25.                         unsigned int i,j;
    26.                         for (i=0;i<qq;i++)
    27.                         for(j=0;j<100;j++);
    28.                         }
    29. void timer(void) interrupt 1
    30.                         {
    31.                                 a=a+1;
    32. TH0=0x4B;
    33. TL0=0xFD;
    34. if(a==20)
    35. {        
    36.  
    37. c=b;
    38.  
    39. b=0;
    40. a=0;
    41.  
    42. }        
    43.  
    44.                         }
    45. void exter(void) interrupt 0
    46.                         {
    47.                                 b=b+1;        
    48.                         }
    49. void lcdcmd(unsigned char value)
    50.                         {
    51.                         ldata= value;
    52.                         rs=0;
    53.                         rw=0;
    54.                         en=1;
    55.                         delay(1);
    56.                         en=0;
    57.                         return;
    58.                         }
    59. void lcddata(unsigned char value)
    60.                                 {
    61.                                 ldata=value;
    62.                                 rs=1;
    63.                                 rw=0;
    64.                                 en=1;
    65.                                 delay(1);
    66.                                 en=0;
    67.                                 return;
    68.                                 }
    69. void lcd()
    70.                                         {
    71.                                                
    72.                         lcdcmd(0x38);
    73.                         delay(250);
    74.                         lcdcmd(0x0E);
    75.                         delay(250);
    76.                         lcdcmd(0x01);
    77.                         delay(250);
    78.                         lcdcmd(0x06);
    79.                         delay(250);
    80.                         lcdcmd(0x80);
    81.                         delay(250);
    82.                         lcddata('T');
    83.                         delay(250);
    84.                         lcddata('E');
    85.                         delay(250);
    86.                         lcddata('M');
    87.                         delay(250);
    88.                         lcddata('P');
    89.                         delay(250);
    90.                                         }
    91. void serial()
    92.                                                         {
    93.                                                                 TMOD=0x21;
    94. TH0=0x4B;
    95. TL0=0xFD;
    96.  
    97. IT0 = 1;
    98. IE=0x83;
    99. TR0=1;
    100.  
    101.                                                                         TH1=0xFD; //9600 baud rate
    102.                                                                                 SCON=0x50;
    103.                                                                                 TR1=1; //start timer
    104.                                                         }
    105. void tra(unsigned char x)
    106.                                                         {
    107. SBUF=x; //place value in buffer
    108. while (TI==0); //wait until transmitted
    109. TI=0;
    110.                                                         }
    111. void temp()// for adc 0804
    112.                 {
    113.                 wr=0;
    114.                 wr=1;
    115.                 while(intr==1);
    116.                 rd=0;
    117.                 val=cdata;
    118.                 rd=1;
    119.                 }
    120.  
    121.  
    122. void main()
    123.                         {//17
    124.  
    125. unsigned char one,two;
    126.  
    127. lcd();
    128.                                 serial();
    129.                                
    130.  
    131. while(1)
    132.                                 {//16
    133.         temp();
    134. one=val/10;
    135. two=val%10;
    136. one=one+0x30;
    137. two=two+0x30;
    138.  
    139. lcdcmd(0x85);
    140. delay(250);
    141. lcddata(one);
    142.         tra(one);
    143. delay(250);
    144. lcddata(two);
    145. delay(250);
    146.         tra(two);
    147.         lcddata(' ');
    148. delay(250);
    149. lcddata(' ');
    150. delay(250);
    151.         tra('t');
    152.  
    153.  if(val>=50)
    154.  
    155. {
    156. lcdcmd(0x89);
    157. delay(250);
    158. lcddata('F');
    159.  
    160. delay(250);
    161. lcddata('I');
    162.  
    163.         delay(250);
    164. lcddata('R');
    165.  
    166.         delay(250);
    167. lcddata('E');
    168.  
    169.         delay(250);
    170.  
    171.        
    172. }
    173. tra(',');
    174. fo=c/1000;
    175. ft=c%1000;
    176. fth=ft/100;
    177. ff=ft%100;
    178. ffi=ff/10;
    179. fsi=ff%10;
    180. fo=fo+0x30;
    181. fth=fth+0x30;
    182. ffi=ffi+0x30;
    183. fsi=fsi+0x030;
    184. lcdcmd(0xc0);
    185. delay(250);
    186. lcddata(fo);
    187.  
    188.  
    189. delay(250);
    190. lcddata(fth);
    191.  
    192. delay(250);
    193.  
    194. lcddata(ffi);
    195.  
    196. delay(250);
    197.  
    198. lcddata(fsi);
    199.  
    200. delay(250);
    201.  
    202.  
    203.  
    204. c=8400-c;
    205. c=c/24;
    206.  
    207. if(c<=100)
    208. {
    209.         fo=c/10;
    210.         ft=c%10;
    211.         fo=fo+0x30;
    212.         ft=ft+0x30;
    213. lcdcmd(0xc6);
    214. delay(250);
    215.         lcddata('H');
    216. lcddata('=');
    217.         delay(250);
    218.         lcddata(fo);
    219. tra(fo);
    220.  
    221. delay(250);
    222. lcddata(ft);
    223. tra(ft);
    224.         tra('h');
    225. delay(250);
    226.         lcddata('%');
    227.         tra(',');
    228.  
    229. }
    230.         delay(5000);
    231. tra(0x0d);
    232.                                         }//16
    233. }//17
     
Loading...