71
CHAPTER 1 INTRODUCTION EMBEDDED SYSTEMS Embedded system is a combination of hardware and software, it is also named as “Firm ware”. An embedded system is a special purpose computer system, which is completely encapsulated by the device it controls. It is a computer-controlled system An embedded system is a specialized system that is a part of a larger system or machine. As a part of a larger system it largely determines its functionality. Embedded systems are electronic devices that incorporate microprocessors with in their implementations. Embedded systems provide several major functions including monitoring of the analog environment by reading data from sensors and controlling actuators. Inputs (sensor) Outputs (actuator) Figure 1.1 a real time system interacts with environment 1 Embedded System

PC Based Temp Monitoring and Controlling

Embed Size (px)

Citation preview

Page 1: PC Based Temp Monitoring and Controlling

CHAPTER 1

INTRODUCTION

EMBEDDED SYSTEMS

Embedded system is a combination of hardware and software, it is also named as

“Firm ware”. An embedded system is a special purpose computer system, which is

completely encapsulated by the device it controls. It is a computer-controlled system

An embedded system is a specialized system that is a part of a larger system or

machine. As a part of a larger system it largely determines its functionality. Embedded

systems are electronic devices that incorporate microprocessors with in their

implementations.

Embedded systems provide several major functions including monitoring of the

analog environment by reading data from sensors and controlling actuators.

Inputs (sensor) Outputs (actuator)

Figure 1.1 a real time system interacts with environment

Embedded systems are designed to do some specific task rather than be a general-

purpose computer for multiple tasks. Some also has real time performance constraints

that must be met, for reason such as safety and usability; others may have low or no

performance requirements, allowing the system hardware to be simplified to reduce costs.

An embedded system is not always a separate block - very often it is physically

built-in to the device it is controlling.

1

EmbeddedSystem

Page 2: PC Based Temp Monitoring and Controlling

The software written for embedded systems is often called firmware, and is stored

in read-only memory or flash convector chips rather than a disk drive. It often runs with

limited computer hardware resources: small or no keyboard, screen, and little memory.

BLOCK DIAGRAM

Block diagram description:

In this section we will be discussing about complete block diagram and its

functional description of our project. And also brief description about each block of the

block diagram.

Temperature Sensor

ADC0804

Micro controller

RS232

PC

Temperature Sensor:

2

LM35TempSensor

ADC0804 89C52 MICRO

CONTROLLER

RS 232

PC

Page 3: PC Based Temp Monitoring and Controlling

The LM35 series are precision integrated-circuit temperature sensors, whose

output voltage is linearly proportional to the Celsius (Centigrade) temperature. You can

measure temperature more accurately than a using a thermistor.

ADC0804:

ADC0804 is an analog to digital converter. Analog-to-digital converters are

among the most widely used devices for data acquisition.

Microcontroller:

In this project the micro-controller is playing a major role. Micro-controllers

were originally used as components in complicated process-control systems. However,

because of their small size and low price, Micro-controllers are now also being used in

regulators for individual control loops. In several areas Micro-controllers are now out

performing their analog counterparts and are cheaper as well.

In this project 8052 microcontroller is used. Here microcontroller used is

AT89C52, which is manufactured by ATMEL laboratories. The AT89C52 provides the

following standard features: 8Kbytes of Flash, 256 bytes of RAM, 32 I/O lines, three 16-

bit timer/counters, six-vector two-level interrupt architecture, a full duplex serial port, on-

chip oscillator, and clock circuitry.

RS232:

To allow the compatibility among data communication equipment made by

various manufacturers, and interfacing standard called RS232 was set by the Electronics

industries Association. This standard is used in PCs and numerous types of equipment.

HARDWARE DESIGN

3

Page 4: PC Based Temp Monitoring and Controlling

Introduction:

In this chapter we are going to cover all parts of “PC Based Temperature

Monitoring & Controlling” in detailed manner and their functions in brief. Here we are

more interested about the Microcontroller since it is the heart of the project.

Hardware components:

1. Microcontroller

2. Power Supply

3. LM35 Temperature Sensor

4. ADC0804

5. RS232 & PC

CHAPTER 2

4

Page 5: PC Based Temp Monitoring and Controlling

MICROCONTROLLER (AT89C52)

2.1 Introduction:

In 1981, Intel Corporation introduced an 8 bit microcontroller called 8052. This

microcontroller had 128 bytes of RAM, 4K bytes of chip ROM, two timers, one serial

port, and four ports all on a single chip. At the time it was also referred as “A SYSTEM

ON A CHIP”

The 8052 is an 8-bit processor meaning that the CPU can work only on 8 bits data

at a time. Data larger than 8 bits has to be broken into 8 bits pieces to be processed by the

CPU. The 8052 has a total of four I\O ports each 8 bit wide.

There are many versions of 8052 with different speeds and amount of on-chip

ROM and they are all compatible with the original 8052. This means that if you write a

program for one it will run on any of them.

The 8052 is an original member of the 8051 family. There are two other members

in the 8052 family of microcontrollers. They are 8052 and 8031. All the three

microcontrollers will have the same internal architecture, but they differ in the following

aspects.

8031 has 128 bytes of RAM, two timers and 6 interrupts.

8051 has 4K ROM, 128 bytes of RAM, two timers and 6 interrupts.

8052 has 8K ROM, 128 bytes of RAM, three timers and 8 interrupts.

Of the three microcontrollers, 8051 is the most preferable. Microcontroller

supports both serial and parallel communication.

In the concerned project 8052 microcontroller is used. Here microcontroller used

is AT89C52, which is manufactured by ATMEL laboratories.

2.2 Features:

Compatible with MCS-51 Products

8 Kbytes of In-System Reprogrammable Flash Memory

Endurance: 1,000 Write/Erase Cycles

Fully Static Operation: 0 Hz to 24 MHz

Three-Level Program Memory Lock

5

Page 6: PC Based Temp Monitoring and Controlling

256 x 8-Bit Internal RAM

32 Programmable I/O Lines

Three 16-Bit Timer/Counters

Eight vector two level Interrupt Sources

Programmable Serial Channel

Low Power Idle and Power Down Modes

2.3 Description:

The AT89C52 provides the following standard features: 8Kbytes of Flash, 256

bytes of RAM, 32 I/O lines, three 16-bit timer/counters, six-vector two-level interrupt

architecture, a full duplex serial port, on-chip oscillator, and clock circuitry. In addition,

the AT89C52 is designed with static logic for operation down to zero frequency and

supports two software selectable power saving modes. The Idle Mode stops the CPU

while allowing the RAM, timer/counters, serial port, and interrupt system to continue

functioning. The Power down Mode saves the RAM contents but freezes the oscillator,

disabling all other chip functions until the next hardware reset.

By combining a versatile 8-bit CPU with Flash on a monolithic chip, the Atmel

AT89C52 is a powerful microcomputer which provides a highly flexible and cost

effective solution to many embedded control applications.

In addition, the AT89C52 is designed with static logic for operation down to zero

frequency and supports two software selectable power saving modes. The Idle Mode

stops the CPU while allowing the RAM, timer/counters, serial port and interrupt system

to continue functioning. The Power down Mode saves the RAM contents but freezes the

oscillator disabling all other chip functions until the next hardware reset.

2.4 Block Diagram:

6

Page 7: PC Based Temp Monitoring and Controlling

Figure 5.1 Block Diagram Of 8052

7

Page 8: PC Based Temp Monitoring and Controlling

2.5 Pin Diagram:

Figure: Pin Diagram of 89C52

Pin Description:

Vcc:

Pin 40 provides Supply voltage to the chip. The voltage source is +5v

GND:

Pin 20 is the grounded

Port 0:

Port 0 is an 8-bit open drain bidirectional I/O port from pin 32 to 39. As an output

port each pin can sink eight TTL inputs. When 1s are written to port 0 pins, the pins can

be used as high-impedance inputs. Port 0 may also be configured to be the multiplexed

low-order address/data bus during accesses to external program and data memory. In this

mode P0 has internal pull-ups.

8

Page 9: PC Based Temp Monitoring and Controlling

Port 0 also receives the code bytes during Flash programming, and outputs the

code bytes during program verification. External pull-ups are required during program

verification.

Port 1:

Port 1 is an 8-bit bidirectional I/O port with internal pull-ups from pin 1 to 8. The

Port 1 output buffers can sink/source four TTL inputs. When 1s are written to Port 1 pins

they are pulled high by the internal pull-ups and can be used as inputs. As inputs, Port 1

pins that are externally being pulled low will source current (IIL) because of the internal

pull-ups. Port 1 also receives the low-order address bytes during Flash programming and

program verification.

Port 2:

Port 2 is an 8-bit bidirectional I/O port with internal pull-ups from pin 21 to 28.

The Port 2 output buffers can sink / source four TTL inputs. When 1s are written to Port

2 pins they are pulled high by the internal pull-ups and can be used as inputs. As inputs,

Port 2 pins that are externally being pulled low will source current (IIL) because of the

internal pull-ups.

Port 2 emits the high-order address byte during fetches from external program

memory and during accesses to external data memory that uses 16-bit addresses (MOVX

@ DPTR). In this application it uses strong internal pull-ups when emitting 1s. During

accesses to external data memory that uses 8-bit addresses (MOVX @ RI), Port 2 emits

the contents of the P2 Special Function Register. Port 2 also receives the high-order

address bits and some control signals during Flash programming and verification.

Port 3:

Port 3 is an 8-bit bidirectional I/O port with internal pull-ups from pin 10 to 17.

The Port 3 output buffers can sink / source four TTL inputs. When 1s are written to Port

3 pins they are pulled high by the internal pull-ups and can be used as inputs. As inputs,

Port 3 pins that are externally being pulled low will source current (IIL) because of the

pull-ups.

9

Page 10: PC Based Temp Monitoring and Controlling

Port 3 also serves the functions of various special features of the AT89C51 as

listed below:

Table: Special Features of 89C52

Port 3 also receives some control signals for Flash programming and

programming verification.

RST:

Pin 9 is the Reset input. It is active high. Upon applying a high pulse to this pin,

the microcontroller will reset and terminate all activities. A high on this pin for two

machine cycles while the oscillator is running resets the device.

ALE/PROG:

Address Latch is an output pin and is active high. Address Latch Enable output

pulse for latching the low byte of the address during accesses to external memory. This

pin is also the program pulse input (PROG) during Flash programming. In normal

operation ALE is emitted at a constant rate of 1/6 the oscillator frequency, and may be

used for external timing or clocking purposes.

Note, however, that one ALE pulse is skipped during each access to external Data

Memory. If desired, ALE operation can be disabled by setting bit 0 of SFR location 8EH.

With the bit set, ALE is active only during a MOVX or MOVC instruction. Otherwise,

10

Page 11: PC Based Temp Monitoring and Controlling

the pin is weakly pulled high. Setting the ALE-disable bit has no effect if the

microcontroller is in external execution mode.

PSEN:

Program Store Enable is the read strobe to external program memory. When the

AT89C52 is executing code from external program memory, PSEN is activated twice

each machine cycle, except that two PSEN activations are skipped during each access to

external data memory.

EA/Vpp:

External Access Enable. EA must be strapped to GND in order to enable the

device to fetch code from external program memory locations starting at 0000H up to

FFFFH. Note, however, that if lock bit 1 is programmed, EA will be internally latched on

reset. EA should be strapped to Vcc for internal program executions. This pin also

receives the 12-volt programming enable voltage (Vpp) during Flash programming, for

parts that require 12-volt Vpp.

XTAL1:

Input to the inverting oscillator amplifier and input to the internal clock operating

circuit.

XTAL2:

Output from the inverting oscillator amplifier.

Oscillator Characteristics:

XTAL1 and XTAL2 are the input and output, respectively, of an inverting

amplifier which can be configured for use as an on chip oscillator, as shown in Figure

5.3. Either a quartz crystal or ceramic resonator may be used. To drive the device from an

external clock source, XTAL2 should be left unconnected while XTAL1 is driven as

shown in Figure.

11

Page 12: PC Based Temp Monitoring and Controlling

Figure: crystal connections

Figure: External Clock Drive Configuration

There are no requirements on the duty cycle of the external clock signal, since the

input to the internal clocking circuitry is through a divide-by two flip-flop, but minimum

and maximum voltage high and low time specifications must be observed.

TIMERS:

Timer 0 and 1

Timer 0 and Timer 1 in the AT89C52 operate the same way as Timer 0

and Timer 1 in the AT89C51.

12

Page 13: PC Based Temp Monitoring and Controlling

Timer 2

Timer 2 is a 16-bit Timer/Counter that can operate as either a timer or an

event counter. The type of operation is selected by bit C/T2 in the SFR T2CON. Timer 2

has three operating modes: capture, auto-reload (up or down counting), and baud rate

generator. The modes are selected by bits in T2CON, as shown in Table 5.2. Timer 2

consists of two 8-bit registers, TH2 and TL2. In the Timer function, the TL2 register is

incremented every machine cycle. Since a machine cycle consists of 12 oscillator periods,

the count rate is 1/12 of the oscillator frequency.

Table: Timer 2 Operating Modes

In the Counter function, the register is incremented in response to a 1-to-0

transition at its corresponding external input pin, T2. In this function, the external input is

sampled during S5P2 of every machine cycle. When the samples show a high in one

cycle and a low in the next cycle, the count is incremented. The new count value appears

in the register during S3P1 of the cycle following the one in which the transition was

detected. Since two machine cycles (24 oscillator periods) are required to recognize a 1-

to-0 transition, the maximum count rate is 1/24 of the oscillator frequency. To ensure that

a given level is sampled at least once before it changes, the level should be held for at

least one full machine cycle.

There are no restrictions on the duty cycle of external input signal, but it should

for at least one full machine to ensure that a given level is sampled at least once before it

changes

13

Page 14: PC Based Temp Monitoring and Controlling

Interrupts:

The AT89C52 has a total of six interrupt vectors: two external interrupts (INT0

and INT1), three timer interrupts (Timers 0, 1, and 2), and the serial port interrupt. These

interrupts are all shown in Figure 5.5

Figure 5.5 Interrupts source

Each of these interrupt sources can be individually enabled or disabled by setting

or clearing a bit in Special Function Register IE. IE also contains a global disable bit, EA,

which disables all interrupts at once.

Note that Table 5.3 shows that bit position IE.6 is unimplemented. In the

AT89C51, bit position IE.5 is also unimplemented. User software should not write 1s to

these bit positions, since they may be used in future AT89 products.

14

Page 15: PC Based Temp Monitoring and Controlling

Table 5.3 Interrupts Enable Register

Timer 2 interrupt is generated by the logical OR of bits TF2 and EXF2 in register

T2CON. Neither of these flags is cleared by hardware when the service routine is

vectored to. In fact, the service routine may have to determine whether it was TF2 or

EXF2 that generated the interrupt, and that bit will have to be cleared in software.

The Timer 0 and Timer 1 flags, TF0 and TF1, are set at S5P2 of the cycle in

which the timers overflow. The values are then polled by the circuitry in the next cycle.

However, the Timer 2 flag, TF2, is set at S2P2 and is polled in the same cycle in which

the timer overflows.

Idle Mode:

In idle mode, the CPU puts itself to sleep while all the on-chip peripherals remain

active. The mode is invoked by software. The content of the on-chip RAM and all the

special functions registers remain unchanged during this mode. The idle mode can be

15

Page 16: PC Based Temp Monitoring and Controlling

terminated by any enabled interrupt or by a hardware reset. It should be noted that when

idle is terminated by a hardware reset, the device normally resumes program execution,

from where it left off, up to two machine cycles before the internal reset algorithm takes

control.

On-chip hardware inhibits access to internal RAM in this event, but access to the

port pins is not inhibited. To eliminate the possibility of an unexpected write to a port pin

when Idle is terminated by reset, the instruction following the one that invokes Idle

should not be one that writes to a port pin or to external memory.

Power down Mode:

In the power down mode the oscillator is stopped, and the instruction that invokes

power down is the last instruction executed. The on-chip RAM and Special Function

Registers retain their values until the power down mode is terminated. The only exit from

power down is a hardware reset. Reset redefines the SFRs but does not change the on-

chip RAM. The reset should not be activated before VCC is restored to its normal

operating level and must be held active long enough to allow the oscillator to restart and

stabilize.

Table 5.3 Status of External Pins During Idle and Power Down Mode

Program Memory Lock Bits

On the chip are three lock bits which can be left unprogrammed (U) or can be

programmed (P) to obtain the additional features listed in the table 5.4. When lock bit 1 is

programmed, the logic level at the EA pin is sampled and latched during reset. If the

device is powered up without a reset, the latch initializes to a random value, and holds

that value until reset is activated. It is necessary that the latched value of EA be in

16

Page 17: PC Based Temp Monitoring and Controlling

agreement with the current logic level at that pin in order for the device to function

properly.

Table 5.4 Lock Bit Protection Modes

Programming the Flash

The AT89C52 is normally shipped with the on-chip Flash memory array in the

erased state (that is, contents = FFH) and ready to be programmed. The programming

interface accepts either a high-voltage (12-volt) or a low-voltage (VCC) program enable

signal. The low voltage programming mode provides a convenient way to program the

AT89C51 inside the user’s system, while the high-voltage programming mode is

compatible with conventional third party Flash or EPROM programmers.

The AT89C52 is shipped with either the high-voltage or low voltage

programming mode enabled. The respective top-side marking and device signature codes

are listed in the following table.

17

Page 18: PC Based Temp Monitoring and Controlling

Table: Top side marking and Device Signature Codes

The AT89C52 code memory array is programmed byte-by-byte in either

programming mode. To program any non-blank byte in the on-chip Flash Memory, the

entire memory must be erased using the Chip Erase Mode.

Programming Algorithm

Before programming the AT89C52, the address, data and control signals should

be set up according to the Flash programming mode table and Figures 3 and 4. To

program the AT89C52, take the following steps.

1. Input the desired memory location on the address lines.

2. Input the appropriate data byte on the data lines.

3. Activate the correct combination of control signals.

4. Raise EA/VPP to 12 V for the high-voltage programming mode.

5. Pulse ALE/PROG once to program a byte in the Flash array or the lock bits. The byte-

write cycle is self-timed and typically takes no more than 1.5 ms. Repeat steps 1 through

5, changing the address and data for the entire array or until the end of the object file is

reached.

Data Polling

The AT89C52 features Data Polling to indicate the end of a write cycle. During a

write cycle, an attempted read of the last byte written will result in the complement of the

written datum on PO.7. Once the write cycle has been completed, true data are valid on

18

Page 19: PC Based Temp Monitoring and Controlling

all outputs, and the next cycle may begin. Data Polling may begin any time after a write

cycle has been initiated.

Ready/Busy

The progress of byte programming can also be monitored by the RDY/BSY

output signal. P3.4 is pulled low after ALE goes high during programming to indicate

BUSY. P3.4 is pulled high again when programming is done to indicate READY.

Program Verify

If lock bits LB1 and LB2 have not been programmed, the programmed code data

can be read back via the address and data lines for verification. The lock bits cannot be

verified directly. Verification of the lock bits is achieved by observing that their features

are enabled.

Chip Erase

The entire Flash array is erased electrically by using the proper combination of

control signals and by holding ALE/PROG low for 10 ms. The code array is written with

all "1"s. The chip erase operation must be executed before the code memory can be re-

programmed.

Reading the Signature Bytes

The signature bytes are read by the same procedure as a normal verification of

locations 030H, 031H, and 032H, except that P3.6 and P3.7 must be pulled to a

Logic low. The values returned are as follows.

(030H) = 1EH indicates manufactured by Atmel

(031H) = 51H indicates 89C52

(032H) = FFH indicates 12 V programming

(032H) = 05H indicates 5 V programming

19

Page 20: PC Based Temp Monitoring and Controlling

Programming Interface

Every code byte in the Flash array can be written and the entire array can be

erased by using the appropriate combination of control signals. The write operation cycle

is self-timed and once initiated, will automatically time itself to completion.

20

Page 21: PC Based Temp Monitoring and Controlling

3. REGULATED POWER SUPPLY

There are many types of power supply. Most are designed to convert high

voltage AC mains electricity to a suitable low voltage supply for electronic circuits and

other devices. A power supply can by broken down into a series of blocks, each of which

performs a particular function.

For example a 5V regulated supply can be shown as below

Fig: Block Diagram of a Regulated Power Supply System

Similarly, 12v regulated supply can also be produced by suitable selection of the

individual elements. Each of the blocks is described in detail below and the power

supplies made from these blocks are described below with a circuit diagram and a graph

of their output:

3.1 Transformer:

A transformer steps down high voltage AC mains to low voltage AC. Here we are

using a center-tap transformer whose output will be sinusoidal with 36volts peak to peak

value.

21

Page 22: PC Based Temp Monitoring and Controlling

Fig: Output Waveform of transformer

The low voltage AC output is suitable for lamps, heaters and special AC motors.

It is not suitable for electronic circuits unless they include a rectifier and a smoothing

capacitor. The transformer output is given to the rectifier circuit.

3.2 Rectifier:

A rectifier converts AC to DC, but the DC output is varying. The process of conversion

a.c to d.c is called “rectification”.

There are several types of rectifiers

Types of Rectifiers:

Half wave Rectifier

Full wave Rectifier

Bridge Rectifier

22

Page 23: PC Based Temp Monitoring and Controlling

Comparison of rectifier circuits:

Parameter Type of Rectifier

Half wave Full wave Bridge

Number of diodes 1 2 4

PIV of diodes Vm 2Vm Vm

D.C output voltage Vm/z 2Vm/π 2Vm/π

Vdc, at no-load 0.318Vm 0.636Vm 0.636Vm

Ripple factor 1.21 0.482 0.482

Ripple frequency f 2f 2f

Rectification efficiency 0.406 0.812 0.812Transformer Utilization Factor(TUF) 0.287 0.693 0.812

RMS voltage Vrms Vm/2 Vm/√2 Vm/√2

Here we use a bridge rectifier. A bridge rectifier makes use of four diodes in a

bridge arrangement to achieve full-wave rectification. This is a widely used

configuration, both with individual diodes wired as shown and with single component

bridges where the diode bridge is wired internally.

A bridge rectifier makes use of four diodes in a bridge arrangement as shown in

fig to achieve full-wave rectification. This is a widely used configuration, both with

individual diodes wired as shown and with single component bridges where the diode

bridge is wired internally

The Bridge rectifier is a circuit, which converts an ac voltage to dc voltage using

both half cycles of the input ac voltage. The ac input voltage is applied to the diagonally

opposite ends of the bridge. The load resistance is connected between the other two ends

of the bridge.

23

Page 24: PC Based Temp Monitoring and Controlling

For the positive half cycle of the input ac voltage, diodes D1 and D3 conduct, whereas

diodes D2 and D4 remain in the OFF state. The conducting diodes will be in series with

the load resistance RL and hence the load current flows through RL.

For the negative half cycle of the input ac voltage, diodes D2 and D4 conduct whereas,

D1 and D3 remain OFF. The conducting diodes D2 and D4 will be in series with the load

resistance RL and hence the current flows through RL in the same direction as in the

previous half cycle. Thus a bi-directional wave is converted into unidirectional.

Fig: The output waveform of the rectifier is shown as below

The varying DC output is suitable for lamps, heaters and standard motors. It is not

suitable for electronic circuits unless they include a smoothing capacitor.

24

Page 25: PC Based Temp Monitoring and Controlling

3.3 Smoothing:

The smoothing block smoothes the DC from varying greatly to a small ripple. The

ripple voltage is defined as the deviation of the load voltage from its DC value.

Smoothing is also named as filtering.

Filtering is frequently effected by shunting the load with a capacitor. The action

of this system depends on the fact that the capacitor stores energy during the conduction

period and delivers this energy to the loads during the no conducting period. In this way,

the time during which the current passes through the load is prolongated, and the ripple is

considerably decreased. The action of the capacitor is shown with the help of waveform.

Fig: The waveform of the rectified output after smoothing is given below:

25

Page 26: PC Based Temp Monitoring and Controlling

3.4 Regulator:

Regulator eliminates ripple by setting DC output to a fixed voltage. Voltage

regulator ICs are available with fixed (typically 5, 12 and 15V) or variable output

voltages. Negative voltage regulators are also available

Many of the fixed voltage regulator ICs has 3 leads (input, output and high

impedance). They include a hole for attaching a heat sink if necessary. Zener diode is an

example of fixed regulator which is shown here.

REGULATOR

Transformer + Rectifier + Smoothing + Regulator:

26

Page 27: PC Based Temp Monitoring and Controlling

4. LM35 TEMPERATURE SENSOR

4.1 Introduction:

The LM35 series are precision integrated-circuit temperature sensors, whose

output voltage is linearly proportional to the Celsius (Centigrade) temperature. The LM35

thus has an advantage over linear temperature sensors calibrated in ° Kelvin, as the user is

not required to subtract a large constant voltage from its output to obtain convenient

Centigrade scaling. The LM35 does not require any external calibration or trimming to

provide typical accuracies of ±¼°C at room temperature and ±¾°C over a full -55 to

+150°C temperature range. Low cost is assured by trimming and calibration at the wafer

level. The LM35's low output impedance, linear output, and precise inherent calibration

make interfacing to readout or control circuitry especially easy. It can be used with single

power supplies, or with plus and minus supplies. As it draws only 60 µA from its supply,

it has very low self-heating, less than 0.1°C in still air. The LM35 is rated to operate over

a -55° to +150°C temperature range, while the LM35C is rated for a -40° to +110°C

range (-10° with improved accuracy). The LM35 series is available packaged in hermetic

TO-46 transistor packages, while the LM35C, LM35CA, and LM35D are also available

in the plastic TO-92 transistor package. The LM35D is also available in an 8-lead surface

mount small outline package and a plastic TO-220 package.

4.2 Features:

Calibrated directly in ° Celsius (Centigrade)

Linear + 10.0 mV/°C scale factor

0.5°C accuracy guarantee able (at +25°C)

Rated for full -55° to +150°C range

Suitable for remote applications

Low cost due to wafer-level trimming

Operates from 4 to 30 volts

Less than 60 µA current drain

Low self-heating, 0.08°C in still air

27

Page 28: PC Based Temp Monitoring and Controlling

Non-linearity only ±¼°C typical

Low impedance output, 0.1 Ohm for 1 mA load

Why to Use LM35s to Measure Temperature?

You can measure temperature more accurately than a using a

thermistor. The sensor circuitry is sealed and not subject to oxidation, etc.

The LM35 generates a higher output voltage than thermocouples and may not require

that the output voltage be amplified.

What Does An LM35 Look Like?

What Does an LM35 Do?  How does it work?

It has an output voltage that is proportional to the Celsius temperature.

The scale factor is .01V/oC

The LM35 does not require any external calibration or trimming and

maintains an accuracy of +/-0.4 oC at room temperature and +/- 0.8 oC

over a range of 0 oC to +100 oC.

28

Page 29: PC Based Temp Monitoring and Controlling

Another important characteristic of the LM35DZ is that it draws only 60

micro amps from its supply and possesses a low self-heating capability.

The sensor self-heating causes less than 0.1 oC temperature rise in still air.

The LM35 comes in many different packages, including the following.

TO-92 plastic transistor-like package,

T0-46 metal can transistor-like package

8-lead surface mount SO-8 small outline package

What Can You Expect When You Use An LM35?

You will need to use a voltmeter to sense Vout.

The output voltage is converted to temperature by a simple

conversion factor.

The sensor has a sensitivity of 10mV / oC.

Use a conversion factor that is the reciprocal that is 100V / oC.

The general equation used to convert output voltage to temperature is:

Temperature ( oC) = Vout * (100 oC/V)

So if Vout  is  1V , then, Temperature = 100 oC

The output voltage varies linearly with temperature.

How Do You Use An LM35?  (Electrical Connections)

Here is a commonly used circuit.  For connections refer to the picture above. In

this circuit, parameter values commonly used are:

Vc = 4 to 30v

5v or 12 v are typical values used.

Ra = Vc /10-6

29

Page 30: PC Based Temp Monitoring and Controlling

Actually, it can range from 80 KW to 600 KW , but most

just use 8 KW

Here is a LM 35 wired on a circuit board.

The white wire in to the power supply.

Both the resistor and the black wire go to ground.

The output voltage is measured from the middle pin to ground 1

.

30

Page 31: PC Based Temp Monitoring and Controlling

5. ADC DEVICE (0804)

5.1 Introduction:

Analog-to-digital converters are among the most widely used devices for data

acquisition. Digital Computers use binary (discrete) values, but in the physical world

everything is analog (continuous). Temperature, pressure, humidity, and velocity are a

few examples of physical quantities that we deal with every day. Physical quantity is

converted to electrical (voltage, current) signals using a device called a transducer.

Transducers are also referred to as sensors. Although there are sensors for temperature,

velocity, pressure, light, and many other natural quantities, they produce an output that is

voltage (or current). Therefore, we need an analog-to-digital converter to translate the

analog signals to digital numbers so that the micro controller can read them.

5.2 Features:

Compatible with 8080 μP derivatives—no interfacing logic needed - access time -

135 ns

Easy interface to all microprocessors, or operates “stand alone”

Differential analog voltage inputs

Logic inputs and outputs meet both MOS and TTL

Voltage level specifications

Works with 2.5V (LM336) voltage reference

On-chip clock generator

0V to 5V analog input voltage range with single 5V supply

No zero adjust required

0.3 standard width 20-pin DIP package

20-pin molded chip carrier or small outline package

31

Page 32: PC Based Temp Monitoring and Controlling

5.3 Functional Description:

The ADC0804 IC is an analog-to-digital converter in the family of the ADC800

series from National Semiconductors. It works with 5V and as a resolution of 8 bits in

addition to resolution; conversion time is another major factor in judging an ADC.

Conversion time is defined as the time it takes the ADC to convert the analog input to a

digital (binary) number. In the ADC 0804, the conversion time varies depending on the

clocking signals apply to the CLK R and CLK IN pins, but it cannot be faster than 110

micro seconds.

5.4 Pin Diagram:

32

Page 33: PC Based Temp Monitoring and Controlling

Pin Description:

CS:

Chip select is an active low input used to activate the ADC 0804 chip. To

accesses the ADC 0804, this pin must be low.

RD:

This is an input signal and is active low. The ADC converts the analog

input to its binary equivalent and holds it in an internal register. RD is used to get the

converted data out of the ADC 0804 chip. When CS=0, if a high to low pulse is applied

to RD pin, the 8 bit digital output shows up at the D0-D7 data pins. The RD pin is also

referred to as output enable.

WR:

This is an active low input used to inform the ADC 0804 to start the

conversion process. If CS=0 when WR makes a low to high transition, the ADC 0804

starts converting the analog input value of Van to an 8 bit digital number the amount of

time it takes to convert it varies depending on the CLK IN and CLK R values. When the

data conversion is complete, the ADC 0804 forces the INTR pin low.

CLK IN and CLK R:

CLK IN is an input pin connected to an external clock source when an

external clock is used for timing. However the 0804 have an internal clock generator. To

use the internal clock generator of the ADC 0804, the CLK IN and CLK R pins are

connected to a capacitor and resistor, in that case the clock frequency is determined by

the equation

F= 1/1.1 R

INTR:

This is an output pin and is active low. It is a normally high pin and when

the conversion is finished, it goes low to signal the CPU that the converted data is ready t

be picked up. After INTR goes low, we make CS=0 and send a high to low pulse to the

RD pin t get the data out of the ADC 0804 chip.

33

Page 34: PC Based Temp Monitoring and Controlling

Vin(+) and Vin(-):

This are the differential analog inputs where Vin= Vin(+) - Vin(-). Often

the Vin(–) connected to ground and the Vin(+) pin used as the analog input to the

converted to digital.

Vcc:

This is the +5V power supply. It is also used as a reference voltage when

the Vref/2 Vcc: input is open (not connected).

D0-D7:

D0-D7 (whereD7is the MSB, D0 the LSB) is the digital data output pins.

These are tri state buffered and the converted data is accessed only CS=0 and RD is

forced low. To calculate the output voltage, use the following formula.

Dout =Vin/step size

ANALOG AND DIGITAL GROUND:

These are the input pins providing the ground for both analog signal and

digital signal and the digital signal. Analog ground is connected to the ground and of the

analog Vin while digital ground is connected to the ground of Vcc pin. The reason that

we have two ground pins is to isolate the analog vin signal from transient voltages caused

by digital switching of the digital data output. D0-D7. Such isolation contributes to the

accuracy of digital data output

1. Make CS=0 and send a low to high pulse to pin WR to start the conversion.

2. Keep monitoring the INTR pin. If INTR is low, low, the conversion is finished

and we can go the next step. If INTR is high, keep polling until goes low.

3. After the INTR has become low, we make CS=0 and send a high to low pulse to

the RD pin to get the data out of the ADC 0804 IC chip.

34

Page 35: PC Based Temp Monitoring and Controlling

6. Serial communication between PC and microcontroller

When a processor communicates with the outside world, it provides data

in byte sized chunks. Computers transfer data in two ways: parallel and serial. In parallel

data transfers, often more lines are used to transfer data to a device and 8 bit data path is

expensive. The serial communication transfer uses only a single data line instead of the 8

bit data line of parallel communication which makes the data transfer not only cheaper

but also makes it possible for two computers located in two different cities to

communicate over telephone.

Serial data communication uses two methods, asynchronous and

synchronous. The synchronous method transfers data at a time while the asynchronous

transfers a single byte at a time. There are some special IC chips made by many

manufacturers for data communications. These chips are commonly referred to as UART

(universal asynchronous receiver-transmitter) and USART (universal synchronous

asynchronous receiver transmitter). The AT89C51 chip has a built in UART.

In asynchronous method, each character is placed between start and stop

bits. This is called framing. In data framing of asynchronous communications, the data,

such as ASCII characters, are packed in between a start and stop bit. We have a total of

10 bits for a character: 8 bits for the ASCII code and 1 bit each for the start and stop bits.

The rate of serial data transfer communication is stated in bps or it can be called as baud

rate.

To allow the compatibility among data communication equipment made

by various manufacturers, and interfacing standard called RS232 was set by the

Electronics industries Association in 1960. Today RS232 is the most widely used I/O

interfacing standard. This standard is used in PCs and numerous types of equipment.

However, since the standard was set long before the advent of the TTL logic family, its

input and output voltage levels are not TTL compatible. In RS232, a 1 bit is represented

by -3 to -25V, while a 0 bit is represented +3 to +25 V, making -3 to +3 undefined. For

this reason, to connect any RS232 to a microcontroller system we must use voltage

converters such as MAX232 to connect the TTL logic levels to RS232 voltage levels and

vice versa. MAX232 ICs are commonly referred to as line drivers.

35

Page 36: PC Based Temp Monitoring and Controlling

The RS232 cables are generally referred to as DB-9 connector. In labeling,

DB-9P refers to the plug connector (male) and DB-9S is for the socket connector

(female). The simplest connection between a PC and microcontroller requires a minimum

of three pin, TXD, RXD, and ground. Many of the pins of the RS232 connector are used

for handshaking signals. They are bypassed since they are not supported by the 8051

UART chip.

IBM PC/ compatible computers based on x86(8086, 80286, 386, 486 and

Pentium) microprocessors normally have two COM ports. Both COM ports have RS232

type connectors. Many PCs use one each of the DB-25 and DB-9 RS232 connectors. The

COM ports are designated as COM1 and COM2. We can connect the serial port to the

COM 2 port of a PC for serial communication experiments. We use a DB9 connector in

our arrangement.

36

Page 37: PC Based Temp Monitoring and Controlling

The AT89C52 has two pins that are used specifically for transferring and

receiving data serially. These two pins are called TXD and RXD and are part of the port3

(P3.0 and P3.1). These pins are TTL compatible; therefore they require a line driver to

make them RS232 compatible. One such line driver is the MAX232 chip. One advantage

of MAX232 chip is that it uses a +5v power source which is the same as the source

voltage for the at89c51. The MAX232 has two sets of line drivers for receiving and

transferring data. The line drivers for TXD are called T1 and T2 while the line drivers for

RXD are designated as R1 and R2. T1 and R1 are used for TXD and RXD of the 89c51

and the second set is left unused. In MAX232 that the TI line driver has a designation of

T1 in and T1 out on pin numbers 11 and 14, respectively. The T1 in pin is the TTL side

and is connected to TXD of the microcontroller, while TI out is the RS232 side that is

connected to the RXD pin of the DB9 connector.

To allow data transfer between PC and the microcontroller system without

any error, we must make sure that the baud rate of the 8051 system matches the baud rate

of the PC’s COM port.

37

Page 38: PC Based Temp Monitoring and Controlling

7. SOFTWARE

7.1 SOFTWARE COMPONENTS:

Software used is:

*Keil software for C programming

*Express PCB for lay out design

*Express SCH for schematic design

KEIL µVision3

What's New in µVision3?

µVision3 adds many new features to the Editor like Text Templates, Quick

Function Navigation, and Syntax Coloring with brace high lighting Configuration Wizard

for dialog based startup and debugger setup. µVision3 is fully compatible to µVision2

and can be used in parallel with µVision2.

What is µVision3?

µVision3 is an IDE (Integrated Development Environment) that helps you write,

compile, and debug embedded programs. It encapsulates the following components:

A project manager.

A make facility.

Tool configuration.

Editor.

A powerful debugger.

Express PCB

Express PCB is a Circuit Design Software and PCB manufacturing service. One

can learn almost everything you need to know about Express PCB from the help topics

included with the programs given.

Details:

Express PCB, Version 5.6.0

38

Page 39: PC Based Temp Monitoring and Controlling

Express SCH

The Express SCH schematic design program is very easy to use. This software

enables the user to draw the Schematics with drag and drop options.

A Quick Start Guide is provided by which the user can learn how to use it.

Details:

Express SCH, Version 5.6.0

EMBEDDED C:

The programming Language used here in this project is an Embedded C

Language. This Embedded C Language is different from the generic C language in few

things like

a) Data types

b) Access over the architecture addresses.

The Embedded C Programming Language forms the user friendly language with

access over Port addresses, SFR Register addresses etc.

Embedded C Data types:

Data Types Size in Bits Data Range/Usage

unsigned char 8-bit 0-255

signed char 8-bit -128 to +127

unsigned int 16-bit 0 to 65535

signed int 16-bit -32,768 to +32,767

sbit 1-bit SFR bit addressable only

bit 1-bit RAM bit addressable only

sfr 8-bit RAM addresses 80-FFH only

Signed char:

o Used to represent the – or + values.

o As a result, we have only 7 bits for the magnitude of the signed number, giving us

values from -128 to +127.

39

Page 40: PC Based Temp Monitoring and Controlling

Demo:1. Click on the Keil µVision Icon on Desktop

2. The following fig will appear

3. Click on the Project menu from the title bar

4. Then Click on New Project

5. Save the Project by typing suitable project name with no extension in u r own folder sited in either C:\ or D:\

40

Page 41: PC Based Temp Monitoring and Controlling

6. Then Click on save button above.

7. Select the component for u r project. i.e. Atmel……

8. Click on the + Symbol beside of Atmel

9. Select AT89C51 as shown below

41

Page 42: PC Based Temp Monitoring and Controlling

10. Then Click on “OK”

11. The Following fig will appear

12. Then Click either YES or NO………mostly “NO”

13. Now your project is ready to USE

14. Now double click on the Target1, you would get another option “Source

group 1” as shown in next page.

42

Page 43: PC Based Temp Monitoring and Controlling

15. Click on the file option from menu bar and select “new”

16. The next screen will be as shown in next page, and just maximize it by double

clicking on its blue boarder.

43

Page 44: PC Based Temp Monitoring and Controlling

17. Now start writing program in either in “C” or “ASM”

18. For a program written in Assembly, then save it with extension “. asm” and

for “C” based program save it with extension “ .C”

19. Now right click on Source group 1 and click on “Add files to Group Source”

44

Page 45: PC Based Temp Monitoring and Controlling

20. Now you will get another window, on which by default “C” files will appear.

21. Now select as per your file extension given while saving the file

22. Click only one time on option “ADD”

23. Now Press function key F7 to compile. Any error will appear if so happen.

45

Page 46: PC Based Temp Monitoring and Controlling

24. If the file contains no error, then press Control+F5 simultaneously.

25. The new window is as follows

26. Then Click “OK”

27. Now Click on the Peripherals from menu bar, and check your required port as

shown in fig below

28.

46

Page 47: PC Based Temp Monitoring and Controlling

29. Drag the port a side and click in the program file.

30. Now keep Pressing function key “F11” slowly and observe.

31. You are running your program successfully

47

Page 48: PC Based Temp Monitoring and Controlling

7.2 Source Code:

#include<reg51.h>

sbit READ=P2^5; //READ sbit WRITE=P2^6;//WRITE sbit INTI=P2^7; //INTE

delay(unsigned int);

main() { float r1; int r2,r3,d1,d2,d3,p,a,b,c,d,s,r; unsigned char temp[]="THE TEMPERATURE IS="; / INTI=1; READ=1; WRITE=1;

TMOD=0X20; TH1=0XFD; SCON=0X50; TR1=1;

while(1) {

WRITE=0;WRITE=1;if(INTI==0)READ=0;r1=P0;r1=r1*(0.01953);r2=r1*1000;r3=r2;if(RI==1){ if(SBUF==0X0D) {

SBUF='\n';while(TI==0);TI=0;SBUF='\n';

48

Page 49: PC Based Temp Monitoring and Controlling

while(TI==0);TI=0;for(s=0;s<20;s++){ SBUF=temp[s]; while(TI==0); TI=0; }

d3=r2/100; //d3=r2/10;// a=d3;a=d3%10;a=a+48;r=a;//1 st digit=aSBUF=a;while(TI==0);TI=0;d=r2%10;d=d+48;s=d; //2nd digit=bSBUF=d;while(TI==0);TI=0;SBUF='.';while(TI==0);TI=0;d2=p%100;b=d2%10;b=b+48; //3rd digitSBUF=b;while(TI==0);TI=0;p=r3/10;d1=p/10;c=d1/10; //4th digitc=c+48;SBUF=c;while(TI==0);TI=0;READ=1;// P0=0X00;// r1=0;// r2=0;//delay(100);

49

Page 50: PC Based Temp Monitoring and Controlling

SBUF='\n';while(TI==0);TI=0;

} //SBUFRI=0;

} //RI } //WHILE

} //MAINdelay(unsigned int time){ unsigned int i,j; for(i=0;i<time;i++) for(j=0;j<1275;j++); }

50

Page 51: PC Based Temp Monitoring and Controlling

7.3 Flow Chart

51

START

INITIALISING RD, WR, INTR PINS

INITIALISING SERIAL PORTS

DISPLAY TEMPERATURE ON PC

IF TEMPERATURE >>

END

LED1 = 1LED2 = 1

Page 52: PC Based Temp Monitoring and Controlling

CONCLUSION

The project “PC BASED TEMPERATURE MONITORING” has been

successfully designed and tested. Integrating features of all the hardware components

used have developed it. Presence of every module has been reasoned out and placed

carefully thus contributing to the best working of the unit. Secondly, using highly

advanced IC’s and with the help of growing technology the project has been successfully

implemented.

FUTURE SCOPE

The only drawback of this project is, the temperature sensor used in this one will

detect temperature only in a few centimeters range. But LM35 is the most accurate

temperature sensor we have inspite of its drawbacks.

Let us hope for a long distance temperature sensor in future which is more

accurate than the present LM35

52

Page 53: PC Based Temp Monitoring and Controlling

BIBLIOGRAPHY

NAME OF THE SITES:

1. WWW.MITEL.DATABOOK.COM

2. WWW.ATMEL.DATABOOK.COM

3. WWW.FRANKLIN.COM

4. WWW.KEIL.COM

REFERENCES

1. 8051-MICROCONTROLLER AND EMBEDDED SYSTEM.

Mohd. Mazidi.

2. EMBEDDED SOFTWARE PRIMER.

David .E. Simon.

53