Summary of Lm35 interfacing with pic 16f877 through adc0808
This article describes a digital thermometer project using an LM35 temperature sensor, an external ADC0808 for analog-to-digital conversion, and a PIC16F877 microcontroller to process data and display results on an LCD. The author chose the external ADC to simplify calculations compared to using the microcontroller's built-in ADC.
Parts used in the Digital Thermometer Project:
- LM35 Temperature Sensor
- ADC0808 Analog-to-Digital Converter IC
- PIC16F877 Microcontroller
- Liquid Crystal Display (LCD)
- Power Supply (5V VCC for LM35)
Here I discus on very good project on digital thermometer. I made this project by Lm35 interfacing with pic 16f877 through adc0808. Pic16f877 microcontroller has inbuilt ADC (Analog to Digital Converter but I use external ADC IC (adc0808) because of simplicity of project if I use inbuilt adc then I have to take consideration on lots of mathematical calculation to get desire output.
To build my project I use LM35 (Temperature sensor) to sense temperature , IC ADC0808 for converting analog value to digital and microcontroller PIC16f877 for process and display the temperature in LCD. In bellow see the block diagram of my project.
LM35 : LM35 IC is a temperature Sensor. It sense the temperature and covert it equivalent voltage label. I supply 5 volt VCC on LM35 and it convert o.o1v per 1° of voltage change. Let take an example if I have to measure 35° C temperature then it will give output 0.35v.
ADC (adc0808) : The output of ADC then directly feed to channel 0 of IC ADC0808. And this IC convert the input voltage in 8-bit binary number. For voltage 0.01v the output will be generated 00000001 in 8-bit position. So if your LM35 sense 2°C temperature then you will get 00000010 in output of adc. Keep in mind I set 2.56v +Vref in adc0808 to get output for change of every 1°C.
Pic16f877: I use this Pic16f877 for just taking the output of adc to and process it and send the display to LCD. For that I have to define PORTB as a input port to take the data form ADC. And I initialized LCD at port PORTD to display our result.
For more detail: Lm35 interfacing with pic 16f877 through adc0808
-
Why was the external ADC0808 used instead of the PIC16F877s inbuilt ADC?
The external ADC was chosen for simplicity because using the inbuilt ADC would require handling lots of mathematical calculations to get the desired output. -
How does the LM35 sensor convert temperature into voltage?
The LM35 converts temperature by producing 0.01v per degree Celsius change when supplied with 5 volts. -
What reference voltage was set for the ADC0808 in this project?
A reference voltage of 2.56v was set on the ADC0808 to ensure accurate output for every 1°C change. -
How does the ADC0808 output data for a specific temperature?
The IC converts the input voltage into an 8-bit binary number, such as 00000010 for a 2°C reading. -
Which ports are configured on the PIC16F877 for this project?
PORTB is defined as an input port to receive data from the ADC, while PORTD is initialized to drive the LCD display. -
Where is the output from the LM35 connected in the circuit?
The output from the LM35 is directly fed to channel 0 of the ADC0808 IC.

