Automatic Temperature Controller
Automatic Temperature Controller
CONTROLLER
INTRODUCTION:
AIM:
To measure and display the temperature of the most temperature sensitive regions, such as a
running DC motor. If the motor runs excessively the temperature raises to a level enough to
damage the coil of the motor. At that time if the circuit is placed over the surface of the motor
the system displays the temperature and if necessary it can also if the temperature is crossing a
danger level by displaying a “high” programmed in the microcontroller. Similarly, a “low” can
also be displayed.
TECHNOLOGY USED:
This automatic temperature controller using serial communication is based on embedded system
in which we operate our hardware through the software by using programming in assembly
language. This is burn in to microcontroller 89C51.
Components used
1. IC’s used:-
• IC1- 7805 Voltage Regulator
• IC2- AT89c52 microcontroller
• IC3- DS1621 temperature sensor
• IC4- MAX 232
2. Resistors:-
• R1 1 kilo-ohm
• R2 47 kilo-ohm
• R3 10 kilo-ohm
• R4,R5 4.7 kilo-ohm
• Vr1 1 kilo-ohm
3. Capacitors:-
• Permanent Marker
• Etching Reagent
• Drilling machine
• Cutter
• Solder iron
AT89C52 Description:-
AT89C52
Symbol Function
TF2 Timer 2 overflow flag set by a Timer 2 overflow and must be cleared by software. TF2 will not
be set when either RCLK = 1 or TCLK = 1.
EXF2 Timer 2 external flag set when either a capture or reload is caused by a negative transition on
T2EX and EXEN2 = 1. When Timer 2 interrupt is enabled, EXF2 = 1 will cause the CPU to
vector to the Timer 2 interrupt routine. EXF2 must be cleared by software. EXF2 does not
cause an interrupt in up/down counter mode (DCEN = 1).
RCLK Receive clock enable. When set, causes the serial port to use Timer 2 overflow pulses for its
receive clock in serial port Modes 1 and 3. RCLK = 0 causes Timer 1 overflow to be used for
the receive clock.
TCLK Transmit clock enable. When set, causes the serial port to use Timer 2 overflow pulses for its
transmit clock in serial port Modes 1 and 3. TCLK = 0 causes Timer 1 overflows to be used for
the transmit clock.
EXEN2 Timer 2 external enable. When set, allows a capture or reload to occur as a result of a
negative transition on T2EX if Timer 2 is not being used to clock the serial port. EXEN2 = 0
causes Timer 2 to ignore events at T2EX.
TR2 Start/Stop control for Timer 2. TR2 = 1 starts the timer.
C/T2 Timer or counter select for Timer 2. C/T2 = 0 for timer function. C/T2 = 1 for external event
counter (falling edge triggered).
CP/RL2 Capture/Reload select. CP/RL2 = 1 causes captures to occur on negative transitions at T2EX
if EXEN2 = 1. CP/RL2 = 0 causes automatic reloads to occur when Timer 2 overflows or
negative transitions occur at T2EX when EXEN2 = 1. When either RCLK or TCLK = 1, this bit
is ignored and the timer is forced to auto-reload on Timer 2 overflow.
Data Memory
The AT89C52 implements 256 bytes of on-chip RAM. The upper 128 bytes occupy a parallel address
space to the Special Function Registers. That means the upper 128 bytes have the same addresses as
the SFR space but are physically separate from SFR space.
When an instruction accesses an internal location above address 7FH, the address mode used in the
instruction specifies whether the CPU accesses the upper 128 bytes of RAM or the SFR space.
Instructions that use direct addressing access SFR space.
For example, the following direct addressing instruction accesses the SFR at location 0A0H (which is P2).
MOV 0A0H, #data
transfer)
DS1621S 8-PIN SO (150mil)
§ Wide power supply range (2.7V to 5.5V) DS1621V 8-PIN SO (208mil) § Converts temperature to digital
word in less than 1 second § Thermostatic settings are user definable and SDA
1 8
DD
nonvolatile
27
0
1
interface (open drain I/O lines) T § Applications
OUT
The temperature reading is provided in a 9-bit, two’s complement reading by issuing the
READ TEMPERATURE command. Table 2 describes the exact relationship of output
data to measured temperature. The data is transmitted through the 2-wire serial interface,
MSB first. The DS1621 can measure temperature over the range of -55°C to +125°C in
0.5°C increments.
Since data is transmitted over the 2-wire bus MSB first, temperature data may be
written to/read from the DS1621 as either a single byte (with temperature
resolution of 1°C) or as two bytes. The second byte would contain the value of the least
significant (0.5°C) bit of the temperature reading as shown in Table
1. Note that the remaining 7 bits of this byte are set to all "0"s.
Temperature is represented in the DS1621 in terms of a ½°C LSB, yielding the following
9-bit format:
MSB LSB
T = -25°C
Major applications:
• In industry purpose
• Production field
• Research centre
• To measure temperature of volcano