You Are Here: Home » AVR ATmega Projects » DigiThermo 0-100.0 °C using AT89C4051

DigiThermo 0-100.0 °C using AT89C4051


The DigiThermo is a device designed for measuring time and temperature used in chemistry laboratory. The circuit of Digithermo employs a 89C4051, 20-pin CMOS Microcontroller with built-in 4kB code memory. Temperature was measured by LM35D, National Semiconductor Temperature sensor producing 10mV/°C. The CA3162, 3-digit DVM converts dc output provided by LM35D and sends BCD output to port1 (P1.0-P1.3). The program resided in code memory of 89C4051 was written in ‘C’ language, thermo.c. The program read BCD output from the A/D converter, performs digital filtering,10-point moving average, and sends the output reading to a 16×1 line LCD display. A 10ms cputick was used as a timebase producing 1 s for time counting. The LCD displays time in 1 s and temperature in 0.1°C resolutions.

digital Thermo
Circuit Description

Figure 1 depicts circuit diagram of the DigiThermo. The MCU is ATMEL 89C4051 CMOS Microcontroller having 4kB code memory, 128 bytes On-chip RAM and 8-bit Port1 and Port3. The A/D chip is HARRIS CA3162, 3-digit DVM. The A/D converter employs dual-slope integrator providing 10Hz sampling rate. Digital output sent to MCU is multiplex four bit BCD started from MSD, LSD and NSD respectively. The MSD signal was tied to P3.7 indicating first digit ready to be read. Integrating capacitor is a 330nF Polyester type. The 10k POT connected to pin13 is a gain adjustment and 50k POT to pin 8 and 9 is for zero adjustment. The input of the converter is true differential pin 11 for HI and pin 10 LO signal. Temperature was measured by a precision solid-state sensor from National Semiconductor, LM35D. The output signal is 10mV/°C. Since the A/D converter is capable of providing 0-1000mV reading with 1mV resolution, thus the converter can resolve 0.1°C (not absolute accuracy). A 100k and 0.02uF forms a first order low-pass filter used to be front-end hardware filtering. The 16×1 line LCD is connected in 4-bit interfacing to P1.4-P1.7 with control signal RS and E to P3.4 and P3.5 respectively. The +5V power supply uses a 78L05 TO92 case with external +9V adapter.


For more detail: DigiThermo 0-100.0 °C using AT89C4051

Leave a Comment

You must be logged in to post a comment.

Read previous post:
iSticky Server
iSticky Server is listening to your Arduino project

We had been hunting for the right tool for a while and iSticky was exactly what we needed! It‘s a...

Scroll to top