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

indrajeet Tmabe

  • Profile
  • Topics Started
  • Replies Created
  • Engagements

Forum Replies Created

Viewing 4 posts - 1 through 4 (of 4 total)
  • Author
    Posts
  • April 4, 2017 at 10:12 am in reply to: LCD based digital alarm clock with digital thermometer using 8051 microcontroller (AT89C51) #14554
    indrajeet Tmabe
    Participant

    please provide me a solution….

    April 3, 2017 at 10:40 am in reply to: LCD based digital alarm clock with digital thermometer using 8051 microcontroller (AT89C51) #14553
    indrajeet Tmabe
    Participant

    then after we set time it comes out to the bellow diagram

     

    OUR CODE IS

    // Program to make a digital clock with integrated Alarm and digital thermometer
     
    #include<reg51.h>
     
    #define port P1
     
    #define adc_input P0
     
    #define cont_port P3
     
    #define dataport P2
     
    #define m_sec 10
     
    sbit rs = cont_port^0;
     
    sbit rw = cont_port^1;
     
    sbit en = cont_port^6;
     
    sbit dig_hr1=port^0;
     
    sbit dig_min1=port^1;
     
    sbit start=port^2;
     
    sbit am_pm=port^3;
     
    sbit alarm_set=port^4;
     
    sbit alarm=port^7;
     
    sbit wr= P3^2;
     
    sbit rd= P3^3;
     
    sbit intr= P3^4;
     
     
     
     
    int hr ,hr1=0,alarm_hr=0;
     
    int min,min1=0,alarm_min=0;
     
    int sec,sec1=0,dig_am_pm=0,alarm_am_pm=0;
     
    int test_final=0,test_intermediate1[10],test_intermediate2[3]={0,0,0};
     
     
     
     
    void delay(unsigned int msec) // Time dealy function
     
    {
     
    int i,j ;
     
    for(i=0;i<msec;i++)
     
      for(j=0;j<1275;j++);
     
    }
     
     
     
     
    void lcd_cmd(unsigned char item)  //Function to send command to LCD           
     
    {
     
    dataport = item;
     
    rs= 0;
     
    rw=0;
     
    en=1;
     
    delay(1);
     
    en=0;
     
    return;
     
    }
     
     
     
     
    void lcd_data(unsigned char item) // Function to send data to LCD
     
    {
     
    dataport = item;
     
    rs= 1;
     
    rw=0;
     
    en=1;
     
    delay(1);
     
    en=0;
     
    return;
     
    }
     
     
     
     
    void lcd_data_string(unsigned char *str) // Function to send string to LCD
     
    {
     
    int i=0;
     
    while(str!='')
     
    {
     
      lcd_data(str);
     
      i++;
     
      delay(1);
     
    }
     
    return;
     
    }
     
     
     
     
    lcd_data_int(int time_val)  // Function to send number to LCD
     
    {
     
    int int_amt;
     
    int_amt=time_val/10;
     
    lcd_data(int_amt+48);
     
    int_amt=time_val%10; 
     
    lcd_data(int_amt+48);
     
    }
     
     
     
     
    void lcd(unsigned char str1[10])
     
    {
     
    lcd_cmd(0x38); 
     
    lcd_cmd(0x0e); 
     
    delay(1);
     
    lcd_data_string(str1);
     
    }
     
     
     
     
    void shape()  // Function to create the shape of degree
     
    {
     
    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 data of ADC
     
    {
     
    int s;
     
    s=test_final/100;
     
    test_final=test_final%100;
     
    lcd_cmd(0xc9);
     
    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);
     
    }
     
     
     
     
    void set_hr1()  // Function to set set hours digit of clock
     
    {
     
    hr1++;
     
    if(hr1>11)
     
    hr1=0;
     
    lcd_cmd(0xc3);
     
    lcd_data_int(hr1);
     
    lcd_data(':');
     
    }
     
     
     
     
    void set_min1()  // Function to set set minutes digit of clock
     
    {
     
    min1++;
     
    if(min1>59)
     
    min1=0;
     
    lcd_cmd(0xc6);
     
    lcd_data_int(min1);
     
    }
     
     
     
     
    void set_alarm_hr1() // Function to set set hours digit of alarm
     
    {
     
    alarm_hr++;
     
    if(alarm_hr>11)
     
    alarm_hr=0;
     
    lcd_cmd(0xc3);
     
    lcd_data_int(alarm_hr);
     
    lcd_data(':');
     
    }
     
     
     
     
    void set_alarm_min1() // Function to set set minutes digit of clock
     
    {
     
    alarm_min++;
     
    if(alarm_min>59)
     
    alarm_min=0;
     
    lcd_cmd(0xc6);
     
    lcd_data_int(alarm_min);
     
    }
     
     
     
     
    void alarm_check()  // Function to check alarm
     
    {
     
    if(hr==alarm_hr)
     
    {
     
      if(min==alarm_min)
     
      {
     
       if(dig_am_pm==alarm_am_pm)
     
       {
     
        alarm=1;
     
        lcd_cmd(0x8b);
     
        lcd("ALARM");
     
       }
     
      }
     
    } 
     
    }
     
     
     
     
    void temp() // Function to calculate temperature
     
    {
     
    int i;
     
    for(i=0;i<10;i++)
     
    {
     
      delay(1);
     
      rd=1;
     
      wr=0;
     
      delay(1);
     
      wr=1;
     
      while(intr==1);
     
      rd=0;
     
      lcd_cmd(0x88);
     
      test_intermediate1=adc_input/10;
     
      delay(1);
     
      intr=1;
     
    }
     
    for(i=0;i<10;i++)
     
    test_intermediate2[0]=test_intermediate1+test_intermediate2[0];
     
     
     
     
    for(i=0;i<10;i++)
     
    {
     
      delay(1);
     
      rd=1;
     
      wr=0;
     
      delay(1);
     
      wr=1;
     
      while(intr==1);
     
      rd=0;
     
      lcd_cmd(0x88);
     
      test_intermediate1=adc_input/10;
     
      delay(1);
     
      intr=1;
     
    }
     
    for(i=0;i<10;i++)
     
    test_intermediate2[1]=test_intermediate1+test_intermediate2[1];
     
     
     
     
    for(i=0;i<10;i++)
     
    {
     
      delay(1);
     
      rd=1;
     
      wr=0;
     
      delay(1);
     
      wr=1;
     
      while(intr==1);
     
      rd=0;
     
      lcd_cmd(0x88);
     
      test_intermediate1=adc_input/10;
     
      delay(1);
     
      intr=1;
     
    }
     
    for(i=0;i<10;i++)
     
    test_intermediate2[2]=test_intermediate1+test_intermediate2[2];
     
     
     
     
    test_intermediate2[0]=test_intermediate2[0]/3;
     
    test_intermediate2[1]=test_intermediate2[1]/3;
     
    test_intermediate2[2]=test_intermediate2[2]/3;
     
    test_final=test_intermediate2[0]+test_intermediate2[1]+test_intermediate2[2];
     
    shape();
     
    convert();
     
    }
     
     
     
     
    void main()
     
    {
     
    int k;
     
    start=1;
     
    dig_hr1=1;
     
    dig_min1=1;
     
    alarm_set=1;
     
    alarm=0;
     
    lcd_cmd(0x83);
     
    lcd("SET ALARM");
     
    lcd_cmd(0xc3);
     
    lcd_data_int(hr1);
     
    lcd_data(':');
     
    lcd_data_int(min1);
     
    while(alarm_set==0)
     
    {
     
      delay(10);
     
      if(dig_hr1==0)
     
      set_alarm_hr1();
     
      if(dig_min1==0)
     
      set_alarm_min1();
     
    }
     
     
     
     
    if(am_pm==0)
     
    {
     
      lcd_cmd(0xc8);
     
      lcd_data_string("am");
     
      alarm_am_pm=0;
     
    }
     
     
     
     
    if(am_pm==1)
     
    {
     
      lcd_cmd(0xc8);
     
      lcd_data_string("pm");
     
      alarm_am_pm=1;
     
    }
     
    delay(200);
     
    lcd_cmd(0x01);
     
    lcd_cmd(0x83);
     
    lcd("SET TIMING");
     
    lcd_cmd(0xc3);
     
    lcd_data_int(hr1);
     
    lcd_data(':');
     
    lcd_data_int(min1);
     
    while(start==0)
     
    {
     
      delay(10);
     
      if(dig_hr1==0)
     
      set_hr1();
     
      if(dig_min1==0)
     
      set_min1(); 
     
    }
     
     
     
     
    if(am_pm==0)
     
    {
     
      lcd_cmd(0xc8);
     
      lcd_data_string("am");
     
      dig_am_pm=0;
     
    }
     
     
     
     
    if(am_pm==1)
     
    {
     
      lcd_cmd(0xc8);
     
      lcd_data_string("pm");
     
      dig_am_pm=1;
     
    }
     
    delay(200);
     
    lcd_cmd(0x01);
     
    while(1)
     
    {
     
      for(k=0;k<2;k++)
     
      {
     
       for(hr=hr1;hr<12;hr++)
     
       {
     
        for(min=min1;min<60;min++)
     
        {
     
         for(sec=0;sec<60;sec++)
     
         {
     
          lcd_cmd(0x81);
     
          delay(1);
     
          lcd_data_int(hr);
     
          lcd_data(':');
     
          lcd_data_int(min);
     
          lcd_data(':');
     
          lcd_data_int(sec);
     
          if(dig_am_pm==0)
     
          {
     
           lcd("am");
     
          }
     
          else
     
          {
     
           lcd("pm");
     
          }
     
          alarm_check();
     
          lcd_cmd(0xc3); 
     
          delay(2);
     
          lcd_data_string("TEMP:");
     
          temp();
     
          lcd_data_string("    ");
     
         }
     
        }
     
       min1=0;
     
       }
     
      if(dig_am_pm==0)
     
      dig_am_pm=1;
     
      else
     
      dig_am_pm=0;
     
      hr1=0;
     
      }
     
    }
     
     
    }

     

    April 3, 2017 at 9:27 am in reply to: LCD based digital alarm clock with digital thermometer using 8051 microcontroller (AT89C51) #14550
    indrajeet Tmabe
    Participant

    hello,

    I have constructed your circuit in proteus 8 and also constructed on the bread board output on both are same
    1st it says set time we are able to set time
    then it displays the time that we have set and seconds digits are stuck to 00 they dont procedue
    cant set alarm it also do not display the temperature
    provide me with ur direct contact details

    March 3, 2017 at 9:23 am in reply to: Project not working #14500
    indrajeet Tmabe
    Participant

    this is circuit and code used from ur website

    code copied to keil and then burned as a hex file still not working tell me what is the probleme

  • Author
    Posts
Viewing 4 posts - 1 through 4 (of 4 total)

RSS Recent Posts

  • EasyEda program has a major bug April 13, 2026
  • understanding transmission line properties from TDR plot April 13, 2026
  • Search term needed for remote control hobby. April 13, 2026
  • Decoupling Cap placement. April 12, 2026
  • isolating S-params in of PCB board without connectors April 12, 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