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 / Replies / //Program to make a digital

//Program to make a digital

|

Microcontroller › 8051 › 8051 project › //Program to make a digital

September 12, 2014 at 4:03 pm #12163
Keith Formosa
Participant

//Program to make a digital thermometer with display in centigrade scale

 

#include<reg51.h>

#define port P3

#define adc_input P1

#define dataport P0

#define sec 100

sbit rs = port^0;

sbit rw = port^1;

sbit e = port^2;

 

sbit wr= port^3;

sbit rd= port^4;

sbit intr= port^5;

 

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

 

void delay(unsigned int msec )

{

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;

e=1;

delay(1);

e=0;

return;

}

 

void lcd_data(unsigned char item) //Function to send data to LCD

{

dataport = item;

rs= 1;

rw=0;

e=1;

delay(1);

e=0;

//delay(100);

return;

}

 

void lcd_data_string(unsigned char *str)  // Function to send string to LCD

{

int i=0;

while(str!=’’)

{

  lcd_data(str);

  i++;

  delay(10);

}

return;

}

 

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 values of ADC into numeric value to be sent to LCD

{

int s;

test_final=test_intermediate3;

lcd_cmd(0xc1);

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);

}

 

void main()

{

int i,j;

adc_input=0xff;

lcd_cmd(0x38);

lcd_cmd(0x0c);  //Display On, Cursor  Blinking

delay(2);

lcd_cmd(0x01);  // Clear Screen

delay(2);

 

while(1)

{

  for(j=0;j<3;j++)

  {

   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[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();

}

}

RSS Recent Posts

  • Is AI making embedded software developers more productive? June 22, 2025
  • Can I make two inputs from one?? June 21, 2025
  • Behlke swich June 21, 2025
  • Beats Solo 4 June 21, 2025
  • Simple LED Analog Clock Idea June 21, 2025

Stay Up To Date

Newsletter Signup
EngineersGarage

Copyright © 2025 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