EngineersGarage

  • Engineers Garage Main Site
  • Visit our active EE Forums
    • EDABoard.com
    • Electro-Tech-Online
  • Projects & Tutorials
    • Circuits
    • Electronic Projects
    • Tutorials
    • Components
  • Digi-Key Store
    • Cables, Wires
    • Connectors, Interconnect
    • Discrete
    • Electromechanical
    • Embedded Computers
    • Enclosures, Hardware, Office
    • Integrated Circuits (ICs)
    • Isolators
    • LED/Optoelectronics
    • Passive
    • Power, Circuit Protection
    • Programmers
    • RF, Wireless
    • Semiconductors
    • Sensors, Transducers
    • Test Products
    • Tools
  • Advertise
You are here: Home / Topics / getting error help me

getting error help me

|

Microcontroller › 8051 › getting error help me

  • This topic has 2 replies, 3 voices, and was last updated 8 years ago by Ashutosh Bhatt.
Viewing 3 posts - 1 through 3 (of 3 total)
  • Author
    Posts
  • April 23, 2013 at 7:46 am #2302
    guru
    Participant

     

    //Program to display temperature in Celsius and Farenheit scale.

    #include<reg51.h>
    #include”DELAY.h”
    #include”LCD.h”
    #include”ADC.h”
    #include”SERIAL.h”
    #include”STRING.h”
    #define port P2
    #define sec 100
    sbit rs = port^0;
    sbit rw = port^1;
    sbit e = port^2;

    int test_intermediate3=0, test_final=0,test_intermediate1[10],test_intermediate2[3]={0,0,0};

    void shape()        // Function to make the shape of degree symbol
    {
        lcd_cmd(64);
        lcd_data(2);
        lcd_data(5);
        lcd_data(2);
        lcd_data(0);
        lcd_data(0);
        lcd_data(0);
        lcd_data(0);
        lcd_data(0);
    }

           
    void convert()     // Function to convert the values of ADC into numeric value to be sent to LCD
    {
        int    s;
        lcd_cmd(0x81);      
        delay(2);
        lcd_data_string(“TEMP:”);
        test_final=(((9*test_intermediate3)/5)+32);
        s=test_final/100;
        test_final=test_final%100;
        lcd_cmd(0x88);
        if(s!=0)
        lcd_data(s+48);
        else
        lcd_cmd(0x06);
        s=test_final/10;
        test_final=test_final%10;
        lcd_data(s+48);
        lcd_data(test_final+48);
        lcd_data(0);
        lcd_data(‘F’);
        lcd_data(‘ ‘);

        test_final=test_intermediate3;
        lcd_cmd(0xc1);        //Setting  cursor to first position of first line
        delay(2);
        lcd_data_string(“TEMP:”);
        s=test_final/100;
        test_final=test_final%100;
        lcd_cmd(0xc8);
        if(s!=0)
        lcd_data(s+48);
        else
        lcd_cmd(0x06);
        s=test_final/10;
        test_final=test_final%10;
        lcd_data(s+48);
        lcd_data(test_final+48);
        lcd_data(0);
        lcd_data(‘c’);
        lcd_data(‘ ‘);
        delay(2);
    }
    unsigned char get_ack()
    {
        unsigned char header_found;
           unsigned char i;
        unsigned char recv_buffer[10],rec_char;

        unsigned char ack[7]=”nOKr”;

        header_found=0;

        while(1)
        {
         rec_char =read_scr();
             if(rec_char==’n’ && header_found==1 )
            {
                break;
            }
         if(rec_char==’n’ && header_found==0)
         {
         header_found=1    ;
         i=0;

         }
         if(header_found==1)
         {
              recv_buffer=rec_char;
            i++;
        
        }
        }
          recv_buffer
    =’’;
          // lcd_write(2,0,recv_buffer);

        if(strcmp(ack,recv_buffer)==0)
        {
          
            return(1);
        }
        else
        {
             return(0);
        }

    }

    void delete_msg( unsigned char mem_no)
    {
     unsigned char command_DEL[13]=”AT+CMGD=”;
     unsigned char carr[3]=”rn”;
     unsigned char st3[3];
     //unsigned char length;

     value_string( st3,mem_no);

     strcat(command_DEL,st3);

     strcat(command_DEL,carr);
     //length=strlen(command_DEL);
     send_serial_msg(command_DEL,11);
     
     }

    void  read_msg(unsigned char mem_no)
    {
     unsigned char command_READ[11]=”AT+CMGR=”;
     unsigned char carr[3]=”rn”;
     unsigned char st3[3];
     //unsigned char length;

     value_string( st3,mem_no);

     strcat(command_READ,st3);

     strcat(command_READ,carr);
     //length=strlen(command_DEL);
     send_serial_msg(command_READ,11);
     }

    unsigned char wait_recv_msg()
    {
          unsigned char header_found1;
           unsigned char i;
        unsigned char recv_buffer[18],rec_char;

        unsigned char ack[18]=”n+CMTI: “SM”,1r”;

        header_found1=0;

        while(1)
        {
         rec_char =read_scr();
             if(rec_char==’n’ && header_found1==1 )
            {
                break;
            }
         if(rec_char==’n’ && header_found1==0)
         {
         header_found1=1    ;
         i=0;

         }
         if(header_found1==1)
         {
              recv_buffer
    =rec_char;
            i++;
        
        }
        }
          recv_buffer
    =’’;
             

        if(strcmp(ack,recv_buffer)==0)
        {
          
            return(1);
        }
        else
        {
             return(0);
        }

    }

    void main()
    {
    // Gsm   main
       unsigned char st1[15]=”SMART ENERGY “;
       unsigned char command_AT[5]=”ATrn”;
       unsigned char command_cmgf[11]=”AT+CMGF=1rn”;
       

        unsigned char length;
        unsigned char st2[3]=”OK”;
        unsigned char st3[3]=”Err”;

       /*

        lcd_init();
        serial_init();

        lcd_write(1,0,st1);
        length=strlen(command_AT);
        send_serial_msg(command_AT,length);
        if(get_ack()!=1)
        {
            lcd_write(2,0,st3);
              while(1);
        }
        length=strlen(command_cmgf);
        send_serial_msg(command_cmgf,length);
        if(get_ack()!=1)
        {
            lcd_write(2,0,st3);
              while(1);
        }
       delete_msg(1);
         if(get_ack()!=1)
        {
            lcd_write(2,0,st3);
              while(1);
        }    */

    /*     delete_msg(2);
         if(get_ack()!=1)
        {
            lcd_write(2,0,st3);
              while(1);
        }
         delete_msg(3);
         if(get_ack()!=1)
        {
            lcd_write(2,0,st3);
              while(1);
        }*/

    //    lcd_write(2,0,st2);
        if(wait_recv_msg())
        {
        lcd_write(2,2,st2);
        }
        else
        {
        lcd_write(2,0,st3);
        }

    //    read_msg(1);

        
        while(1);

    }

    /*void main()
    {
        int i,j;
        unsigned char adc_value1;
    //    unsigned char st1[15]=”SMART ENERGY “;
    //    unsigned char st2[8]=”BALA”;
    //    unsigned char st4[3]=”Rs”;
        unsigned char st1[10]=”RECV:”;
    //    unsigned char Command_CMGF[10]=”AT+CMGF=1r”;
    //    unsigned char Command_CMGS[10]=”AT+CMGS=”;//99002
        //51068″r”;
        unsigned char CtrlZ=0x1A;
        unsigned char msg02[6]=”Hello!”;

    //    unsigned char st2[15]=”RF ID : “;
        unsigned  char adc_val;
        unsigned char st3[15];
        int len;
        

    //    adc_init();
        lcd_init();
        serial_init();
        lcd_write(1,0,st1);

        while(1)
        {
            send_serial_msg(st1,1);
            delay(100);
           
        //    len     =read_scr_msg(st3,5);
        //    st3[len]=’’;
         //    lcd_write(1,5,st3);

        }

          while(1)
         {
            adc_value1=read_adc();
            value_string(st3, adc_value1);
            lcd_write(1,5,st3);
        }
        

        // send_serial_msg(Command_AT,3);

    //     delay(100);
         //send_serial_msg(Command_CMGF,10);
            delay(100);
          send_serial_msg(msg02,6);
        send_serial_msg(&CtrlZ,1);
        //lcd_write(2,0,st2);

        
    //    lcd_write(2,11,st4);

        while(1);

        serial_init();
    //        lcd_write(1,7,st2);
            while(1)
            {
            i=0;
            while(i<12)
            {
            st3[i++]=    read_scr() ;
           
            }
            st3
    =’’;

            lcd_write(2,0,st3);

            }

            while(1);

    //    send_serial_msg(st2,7);

        while(1)
        {

        adc_val=read_adc();
        value_string(st3,adc_val);
         lcd_write(1,5,st3);
     }

       
    //    serial_init();

    while(1);
       

        while(1)
        {
            for(j=0;j<3;j++)
            {
                for(i=0;i<10;i++)
                {
                       adc_value1=  read_adc();
                    lcd_cmd(0x88);
                    test_intermediate1
    =adc_value1/10;
                    delay(1);
                    intr=1;
                }
                for(i=0;i<10;i++)
                test_intermediate2[j]=test_intermediate1
    +test_intermediate2[j];
            }

            test_intermediate2[0]=test_intermediate2[0]/3;
            test_intermediate2[1]=test_intermediate2[1]/3;
            test_intermediate2[2]=test_intermediate2[2]/3;
            test_intermediate3=test_intermediate2[0]+test_intermediate2[1]+test_intermediate2[2];
            shape();
            convert();
        }
    }*/

    January 20, 2018 at 3:40 am #14696
    Hirenn
    Participant

    Hi,

    let me know, Exactly what error did you get.

    January 21, 2018 at 12:08 pm #14697
    Ashutosh Bhatt
    Participant

    i dont think for such simple application you require such long and complicated program

    you just search for easier hardware and software program like

    temperature controller using 8051 or 

    temperature controller using AVR etc

  • Author
    Posts
Viewing 3 posts - 1 through 3 (of 3 total)
  • You must be logged in to reply to this topic.
Log In

RSS Recent Posts

  • Variable audio oscillator February 8, 2026
  • Do i need a buffer? February 8, 2026
  • ANOTHER OLD PROJECT REDO February 7, 2026
  • wall transformer polarity February 7, 2026
  • Supply vs performance query February 7, 2026

Stay Up To Date

Newsletter Signup
EngineersGarage

Copyright © 2026 WTWH Media LLC. All Rights Reserved. The material on this site may not be reproduced, distributed, transmitted, cached or otherwise used, except with the prior written permission of WTWH Media
Privacy Policy | Advertising | About Us

Search Engineers Garage

  • Engineers Garage Main Site
  • Visit our active EE Forums
    • EDABoard.com
    • Electro-Tech-Online
  • Projects & Tutorials
    • Circuits
    • Electronic Projects
    • Tutorials
    • Components
  • Digi-Key Store
    • Cables, Wires
    • Connectors, Interconnect
    • Discrete
    • Electromechanical
    • Embedded Computers
    • Enclosures, Hardware, Office
    • Integrated Circuits (ICs)
    • Isolators
    • LED/Optoelectronics
    • Passive
    • Power, Circuit Protection
    • Programmers
    • RF, Wireless
    • Semiconductors
    • Sensors, Transducers
    • Test Products
    • Tools
  • Advertise