Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
CERTIFICATE
This is to certify that the mini project entitled MICROCONTROLLER
BASED AUTOMATIC ROOM LIGHT CONTROL WITH VISITOR
COUNTER FOR AUDITORIUM is a bonafide work carried out by Bhagyashri
Bhosle (11N81A04D7), D Ramakrishna Reddy (11N81A04F0), Shaik Zakeer
(11N81A04G8), in partial fulfillment for the award of Degree of BACHELOR OF
TECHNOLOGY IN ELECTRONICS AND COMMUNICATION ENGINEERING
of JAWAHARLAL NEHRU TECHNOLOGICAL UNIVERSITY, HYDERABAD
during the year 2013-2014.
P PRAVEEN RAJU
HEAD OF THE DEPARTMENT
External Examiner
PRINCIPAL
DECLARATION
We, Bhagyashri Bhosle (11N81A04D7), D.Ramakrishna
Reddy(11N81A04F0), Shaik Zakeer (11N81A04G8) hereby declare that
the work embodied in this mini project dissertation entitled
MICROCONTROLLER BASED AUTOMATIC ROOM LIGHT
CONTROL WITH VISITOR COUNTER FOR AUDITORIUM
submitted to the Sphoorthy Engineering College Affiliated to JNTU,
Hyderabad, for partial fulfillment of the degree of B.Tech in Electronics
And Communications Engineering has been carried out by us under the
supervision of INTERNAL GUIDE S.HARISH KUMAR , ASST
PROFESSOR, ECE DEPT., Sphoorthy Engineering College,
Hyderabad. To the best of my knowledge, this work has not been submitted
for any other degree in any University.
ACKNOWLEDGEMENT
The completion of this mini-project work gives me an opportunity to convey my
gratitude to all those who have helped me to reach a stage where I have the confidence to
launch my career in the competitive world in the field of ECE.
I express my sincere thanks to Prof. Dr. V. CHANDRA MOULI, Principal,
Sphoorthy Engineering College for providing all necessary facilities in completing my
mini project report.
I express my sense of gratitude to P PRAVEEN RAJU, Head of Department of
ELECTRONICS AND COMMUNICATION ENGINEERING, who encouraged me
to select the project and completion of this mini-project with providing necessary
facilities.
My honest thankfulness to S HARISH KUMAR , Asst Professor, ECE dept.,
(Internal Guide) for his kind help and for giving me the necessary guidance and valuable
suggestions in completing this mini-project work and in preparing this report
I take the opportunity to express my gratitude to the Management, Teaching and
Non-teaching Staff of Sphoorthy Engineering College for their kind co-operation during
the period of my Study.
Finally, I would like to thank my parents & friends for their continuous
encouragement and support during the entire course of this mini-project work.
CONTENTS
NAME
PAGE NO.
1.
ABSTRACT
2.
TECHNICAL SPECIFICATION
3.
LIST OF FIGURES
4.
LIST OF TABLES
5.
6.
CHAPTER1: INTRODUCTION
10
2.1 Transformer
10
2.2 Rectifier
11
2.3 Filter
11
11
12
13
3.2 Description
13
14
14
17
18
CHAPTER 5: IR SECTION
19
19
5.2 IR in Electronics
19
5.3 IR Generator
20
5.4 Rc-5
22
5.5 IR Receiver
23
5.5.1 Description
5.5.2 Features
5.5.3 Suitable Data Format
26
28
7.1 Advantages
29
7.2 Disadvantages
30
30
30
30
31
32
32
33
33
34
35
35
36
38
40
41
41
42
50
51
52
CONCLUSION
55
RESULTS
56
REFERENCES
57
ABSTRACT
In this competitive world and busy schedule human cannot spare time to perform his
daily activities manually. The most common thing that he forgets to do is switching OFF
the lights wherever they are not required. This project is a standalone automatic room
light controller with auto door opening and closing. The main aim of the project is to
control the lighting in a room depending upon lighting that is present in the room. Use of
embedded technology makes this closed loop feedback control system efficient and
reliable. Micro controller (AT89S52) allows dynamic and faster control. Liquid crystal
display (LCD) makes the system user-friendly. AT89S52 micro controller is the heart of
the circuit as it controls all the functions.
The system comprises of two IR Transmitter-Receiver pairs, one of which is located in
front of the door outside the room. The other pair is located inside the room. LDR is
placed outside the room and is used to identify whether it is day or night time. Initially
the light is switched off in the room. Whenever a person tries to enter into the room, the
receiver of first IR pair identifies the person. Then the microcontroller opens the door by
rotating the stepper motor. After the person had entered into the room completely, the
door will be closed automatically.
The light is switched off even if anyone is present inside the room during the day time.
Similarly, the light is switched off if no one is there inside the room or if it is night times.
Thus, depending on the intensity of light and the surrounding temperature, the required
action is performed by the microcontroller. LCD displays the number of persons present
inside the room.
This project uses regulated 5V, 500mA power supply. 7805 three terminal voltage
regulator is used for voltage regulation. Bridge type full wave rectifier is used to rectify
the ac out put of secondary of 230/12V step down transformer.
TECHNICAL SPECIFICATIONS
Title of the project
Domain
Software
Microcontroller
AT89S52
Power Supply
Display
LCD
LCD
LED
5mm
Crystal
11.0592MHz
Sensor
IR Sensors
LIST OF FIGURES
DESCRIPTION
PAGE NO
1.
2.
3.
POWER SUPPLY
10
4.
14
5.
24
6.
24
7.
DIP 16 PACKAGE
26
8.
27
9.
STEPPER MOTOR
28
10.
29
11.
31
12.
32
13.
32
14.
33
35
16.
35
17.
36
18.
19.
39
20.
48
21.
50
22.
52
23.
SCHEMATIC DIAGRAM
38
54
LIST OF TABLES
1.
17
2.
36
3.
45
BLOCK DIAGRAM
ENTRY
SENSOR
IR
EXIT
SENSOR
IR
AT89S52
LDR
L293D
DRIVER
CRYSTAL
RESET
CIRCUIT
STEPPE
R
MOTOR
1
STEPPER
MOTOR 2
Bridge
Rectifier
Filter
Circuit
Regulator
CHAPTER -1
PROJECT REVIEW
1.
Introduction of Project
1.1 Project Definition:
Project title is
AUTOMATIC
This Project Automatic Room Light Controller with Visitor Counter using
Microcontroller is a reliable circuit that takes over the task of controlling the room lights
as well us counting number of persons/ visitors in the room very accurately. When
somebody enters into the room then the counter is incremented by one and the light in the
room will be switched ON and when any one leaves the room then the counter is
decremented by one. The light will be only switched OFF until all the persons in the
room go out. The total number of persons inside the room is also displayed on the seven
segment displays.
The microcontroller does the above job. It receives the signals from the sensors,
and this signal is operated under the control of software which is stored in ROM.
Microcontroller AT89S52 continuously monitor the Infrared Receivers, When any object
pass through the IR Receiver's then the IR Rays falling on the receiver are obstructed ,
this obstruction is sensed by the Microcontroller
CHAPTER-2
BLOCK DIAGRAM AND ITS DESCRIPTION
LCD
ENTRY
SENSOR
IR
EXIT
SENSOR
IR
AT89S52
LDR
L293D
DRIVER
CRYSTAL
RESET
CIRCUIT
STEPPE
R
MOTOR
1
STEPPER
MOTOR 2
Bridge
Rectifier
Filter
Circuit
Regulator
1. Power Supply:Here we used +12V and +5V dc power supply. The main function
of this block is to provide the required amount of voltage to essential
circuits. +12 voltage is given. +12V is given to relay driver. To get the
+5V dc power supply we have used here IC 7805, which provides the +5V
dc regulated power supply.
2. Enter and Exit Circuits:This is one of the main parts of our project. The main intention of
this block is to sense the person. For sensing the person and light we are
using the IR Sensors and light dependent register (LDR). By using these
sensors and its related circuit diagram we can count the persons.
4. Relay Driver Circuit:This block has the potential to drive the various controlled devices.
In this block mainly we are using the transistor and the relays. One relay
driver circuit we are using to control the light. Output signal from
AT89S52 is given to the base of the transistor, which we are further
energizing the particular relay. Because of this appropriate device is
selected and it do its allotted function.
POWER SUPPLY
The input to the circuit is applied from the regulated power supply. The a.c. input i.e.,
230V from the mains supply is step down by the transformer to 12V and is fed to a
rectifier. The output obtained from the rectifier is a pulsating d.c voltage. So in order to
get a pure d.c voltage, the output voltage from the rectifier is fed to a filter to remove any
a.c components present even after rectification. Now, this voltage is given to a voltage
regulator to obtain a pure constant dc voltage.
230V AC
50Hz
D.C
Output
Step down
Bridge
transformer
Rectifier
Filter
Regulator
2.1 Transformer:
Usually, DC voltages are required to operate various electronic equipment and these
voltages are 5V, 9V or 12V. But these voltages cannot be obtained directly. Thus the a.c
input available at the mains supply i.e., 230V is to be brought down to the required
voltage level. This is done by a transformer. Thus, a step down transformer is employed
to decrease the voltage to a required level.
2.2 Rectifier:
The output from the transformer is fed to the rectifier. It converts A.C. into pulsating D.C.
The rectifier may be a half wave or a full wave rectifier. In this project, a bridge rectifier
is used because of its merits like good stability and full wave rectification.
2.3 Filter:
Capacitive filter is used in this project. It removes the ripples from the output of rectifier
and smoothens the D.C. Output
voltage and load is maintained constant. However, if either of the two is varied, D.C.
voltage received at this point changes. Therefore a regulator is applied at the output stage.
CHAPTER-3
MICROCONTROLLERS
Microprocessors and microcontrollers are widely used in embedded systems
products. Microcontroller is a programmable device. A microcontroller has a CPU in
addition to a fixed amount of RAM, ROM, I/O ports and a timer embedded all on a single
chip. The fixed amount of on-chip ROM, RAM and number of I/O ports in
microcontrollers makes them ideal for many applications in which cost and space are
critical.
The Intel 8051 is Harvard architecture, single chip microcontroller (C) which was
developed by Intel in 1980 for use in embedded systems. It was popular in the 1980s and
early 1990s, but today it has largely been superseded by a vast range of enhanced devices
with 8051-compatible processor cores that are manufactured by more than 20
independent manufacturers including Atmel, Infineon Technologies and Maxim
Integrated Products.
8051 is an 8-bit processor, meaning that the CPU can work on only 8 bits of data
at a time. Data larger than 8 bits has to be broken into 8-bit pieces to be processed by the
CPU. 8051 is available in different memory types such as UV-EPROM, Flash and NVRAM.
The microcontroller used in this project is AT89S52. Atmel Corporation introduced this
89S52 microcontroller. This microcontroller belongs to 8051 family. This microcontroller
had 128 bytes of RAM, 4K bytes of on-chip ROM, two timers, one serial port and four
ports (each 8-bits wide) all on a single chip. AT89S52 is Flash type 8051.
The present project is implemented on Keil Uvision. In order to program the device,
Proload tool has been used to burn the program onto the microcontroller.
The features, pin description of the microcontroller and the software tools used are
discussed in the following sections.
3.2Description:
The AT89S52 is a low-voltage, high-performance CMOS 8-bit microcomputer with 4K
bytes of Flash programmable memory. The device is manufactured using Atmels highdensity nonvolatile memory technology and is compatible with the industry-standard
MCS-51 instruction set. By combining a versatile 8-bit CPU with Flash on a monolithic
chip, the Atmel AT89S52 is a powerful microcomputer, which provides a highly flexible
and cost-effective solution to many embedded control applications.
In addition, the AT89S52 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.
3.3PIN DIAGRAM:
3.4PIN DESCRIPTION:
Vcc:
Pin 40 provides supply voltage to the chip. The voltage source is +5V.
GND:
Pin 20 is the ground.
The 8051 family members all come with on-chip ROM to store programs. In such cases,
the EA pin is connected to Vcc. If the code is stored on an external ROM, the EA pin
must be connected to GND to indicate that the code is stored externally.
PSEN (Program store enable):
This is an output pin.
With no external memory connection, both P1 and P2 are used as simple I/O. With
external memory connections, port 2 must be used along with P0 to provide the 16-bit
address for the external memory. Port 2 is designated as A8-A15 indicating its dual
function. While P0 provides the lower 8 bits via A0-A7, it is the job of P2 to provide bits
A8-A15 of the address.
Port 3:
Port 3 occupies a total of 8 pins, pins 10 through 17. It can be used as input or output. P3
does not need any pull-up resistors, the same as port 1 and port 2. Port 3 has an additional
function of providing some extremely important signals such as interrupts.
The CPU takes a certain number of clock cycles to execute an instruction. In the 8051
family, these clock cycles are referred to as machine cycles. The length of the machine
cycle depends on the frequency of the crystal oscillator. The crystal oscillator, along with
on-chip circuitry, provides the clock source for the 8051 CPU.
The frequency can vary from 4 MHz to 30 MHz, depending upon the chip rating and
manufacturer. But the exact frequency of 11.0592 MHz crystal oscillator is used to make
the 8051 based system compatible with the serial port of the IBM PC.
In the original version of 8051, one machine cycle lasts 12 oscillator periods. Therefore,
to calculate the machine cycle for the 8051, the calculation is made as 1/12 of the crystal
frequency and its inverse is taken.
CHAPTER-4
Software components
4.1KEIL COMPILER:
Keil compiler is software used where the machine language code is written and compiled.
After compilation, the machine source code is converted into hex code which is to be
dumped into the microcontroller for further processing. Keil compiler also supports C
language code.
4.2PROLOAD:
Proload is software which accepts only hex files. Once the machine code is converted
into hex code, that hex code has to be dumped into the microcontroller and this is done by
the Proload. Proload is a programmer which itself contains a microcontroller in it other
than the one which is to be programmed. This microcontroller has a program in it written
in such a way that it accepts the hex file from the keil compiler and dumps this hex file
into the microcontroller which is to be programmed. As the proload programmer kit
requires power supply to be operated, this power supply is given from the power supply
circuit designed above. It should be noted that this programmer kit contains a power
supply section in the board itself but in order to switch on that power supply, a source is
required. Thus this is accomplished from the power supply board with an output of
12volts.
CHAPTER-5
IR SECTION
5.1 WHAT IS INFRARED?
Infrared is a energy radiation with a frequency below our eyes sensitivity, so we cannot
see it.
Even that we can not "see" sound frequencies, we know that it exist, we can listen them.
Even that we can not see or hear infrared, we can feel it at our skin temperature sensors.
When you approach your hand to fire or warm element, you will "feel" the heat, but you
can't see it. You can see the fire because it emits other types of radiation, visible to your
eyes, but it also emits lots of infrared that you can only feel in your skin.
From now on you should think as infrared as just a "red" light. This light can means
something to the receiver, the "on or off" radiation can transmit different meanings. Lots
of things can generate infrared, anything that radiate heat do it, including out body,
lamps, stove, oven, friction your hands together, even the hot water at the faucet.
To allow a good communication using infra-red, and avoid those "fake" signals, it is
imperative to use a "key" that can tell the receiver what is the real data transmitted and
what is fake. As an analogy, looking eye naked to the night sky you can see hundreds of
stars, but you can spot easily a far away airplane just by its flashing strobe light. That
strobe light is the "key", the "coding" element that alerts us.
Similar to the airplane at the night sky, our TV room may have hundreds of tinny IR
sources, our body, and the lamps around, even the hot cup of tea. A way to avoid all
those other sources, is generating a key, like the flashing airplane. So, remote controls use
to pulsate its infrared in a certain frequency. The IR receiver module at the TV, VCR or
stereo "tunes" to this certain frequency and ignores all other IR received. The best
frequency for the job is between 30 and 60kHz, the most used is around 36kHz
5.3 IR GENERATION
To generate a 36 kHz pulsating infrared is quite easy, more difficult is to receive and
identify this frequency. This is why some companies produce infrared receives, that
contains the filters, decoding circuits and the output shaper, that delivers a square wave,
meaning the existence or not of the 36kHz incoming pulsating infrared.
It means that those 3 dollars small units, have an output pin that goes high (+5V)
when there is a pulsating 36kHz infrared in front of it, and zero volts when there is not
this radiation.
Those IR demodulators have inverted logic at its output, when a burst of IR is sensed it
drives its output to low level, meaning logic level = 1.
The TV, VCR, and Audio equipment manufacturers for long use infra-red at their remote
controls. To avoid a Philips remote control to change channels in a Panasonic TV, they
use different codification at the infrared, even that all of them use basically the same
transmitted frequency, from 36 to 50 kHz. So, all of them use a different combination of
bits or how to code the transmitted data to avoid interference.
5.4 RC-5:
Various remote control systems are used in electronic equipment today. The RC5 control
protocol is one of the most popular and is widely used to control numerous home
appliances, entertainment systems and some industrial applications including utility
consumption remote meter reading, contact-less apparatus control, telemetry data
transmission, and car security systems. Philips originally invented this protocol and
virtually all Philips remotes use this protocol. Following is a description of the RC5.
When the user pushes a button on the hand-held remote, the device is activated and sends
modulated infrared light to transmit the command. The remote separates command data
into packets. Each data packet consists of a 14-bit data word, which is repeated if the user
continues to push the remote button. The data packet structure is as follows:
2 start bits
1 control bit
5 address bits
6 command bits.
The start bits are always logic 1 and intended to calibrate the optical receiver automatic
gain control loop. Next, is the control bit. This bit is inverted each time the user releases
the remote button and is intended to differentiate situations when the user continues to
hold the same button or presses it again. The next 5 bits are the address bits and select the
destination device. A number of devices can use RC5 at the same time. To exclude
possible interference, each must use a different address. The 6 command bits describe the
actual command. As a result, a RC5 transmitter can send the 2048 unique commands. The
transmitter shifts the data word, applies Manchester encoding and passes the created onebit sequence to a control carrier frequency signal amplitude modulator. The amplitude
modulated carrier signal is sent to the optical transmitter, which radiates the infrared
light. In RC5 systems the carrier frequency has been set to 36 kHz. Figure below displays
the RC5 protocol.
The receiver performs the reverse function. The photo detector converts optical
transmission into electric signals, filters it and executes amplitude demodulation. The
receiver output bit stream can be used to decode the RC5 data word. This operation is
done by the microprocessor typically, but complete hardware implementations are present
on the market as well. Single-die optical receivers are being mass produced by a number
of companies such as Siemens, Temic, Sharp, Xiamen Hualian, Japanese Electric and
others. Please note that the receiver output is inverted (log. 1 corresponds to illumination
absence).
5.5 IR RECEIVER
5.5.1 Description:
The TSOP17... Series are miniaturized receivers for infrared remote control systems.
PIN diode and preamplifier are assembled on lead frame, the epoxy package is designed
as IR filter.
The demodulated output signal can directly be decoded by a microprocessor. TSOP17.. is
the standard IR remote control receiver series, supporting all major transmission codes.
5.5.2 Features:
kHz).
After each burst which is between 10 cycles and 70 cycles a gap time of at least
14 cycles is necessary.
For each burst which is longer than 1.8ms a corresponding gap time is necessary
at some time in the data stream. This gap time should have at least same length as the
burst.
Sharp Code, RC5 Code, RC6 Code, R2000 Code, Sony Format (SIRCS). When a
disturbance signal is applied to the TSOP17.. it can still receive the data signal. However
the sensitivity is reduced to that level that no unexpected pulses will occur. Some
examples for such disturbance signals which are suppressed by the TSOP17 are:
Signals from fluorescent lamps with electronic ballast (an example of the signal
CHAPTER-6
CHAPTER -7
STEPPER MOTOR:
A stepper motor is a widely used device that translates electrical pulses into mechanical
movement. The stepper motor is used for position control in applications such as disk
drives, dot matrix printers and robotics.
Stepper motors commonly have a permanent magnet rotor surrounded by a stator. The
most common stepper motors have four stator windings that are paired with a centertapped common. This type of stepper motor is commonly referred to as a four-phase or
unipolar stepper motor. The center tap allows a change of current direction in each of the
two coils when a winding is grounded, thereby resulting in a polarity change of the stator.
The direction of the rotation is dictated by the stator poles. The stator poles are
determined by the current sent through the wire coils. As the direction of the current is
changed, the polarity is also changed causing the reverse motion of the rotor.
It should be noted that while a conventional motor shaft runs freely, the stepper motor
shaft moves in a fixed repeatable increment, which allows one to move it to a precise
position. Thus, the stepper motor moves one step when the direction of current flow in
the field coil(s) changes, reversing the magnetic field of the stator poles. The difference
between unipolar and bipolar motors lies in the may that this reversal is achieved.
7.1 Advantages:
1. The rotation angle of the motor is proportional to the input pulse.
2. The motor has full torque at standstill (if the windings are energized)
3. Precise positioning and repeatability of movement since good stepper motors have an
accuracy of 3 5% of a step and this error is non cumulative from one step to the next.
4. Excellent response to starting/ stopping/reversing.
5. Very reliable since there are no contact brushes in the motor. Therefore the life of the
motor is simply dependant on the life of the bearing.
6. The motors response to digital input pulses provides open-loop control, making the
motor simpler and less costly to control.
7. It is possible to achieve very low speed synchronous rotation with a load that is
directly coupled to the shaft.
8. A wide range of rotational speeds can be realized as the speed is proportional to the
frequency of the input pulses.
7.2 Disadvantages:
1. Resonances can occur if not properly controlled.
2. Not easy to operate at extremely high speeds.
7.3 Open Loop Operation:
One of the most significant advantages of a stepper motor is its ability to be accurately
controlled in an open loop system. Open loop control means no feedback information
about position is needed. This type of control eliminates the need for expensive sensing
and feedback devices such as optical encoders.
7.4 Stepper Motor Types:
There are three basic stepper motor types. They are:
Variable-reluctance
Permanent-magnet
Hybrid
7.5 Variable-reluctance (VR):
This type of stepper motor has been around for a long time. It is probably the easiest to
understand from a structural point of view. This type of motor consists of a soft iron
multi-toothed rotor and a wound stator. When the stator windings are energized with DC
current, the poles become magnetized. Rotation occurs when the rotor teeth are attracted
to the energized stator poles.
opposition is minimized. In this case the motor would rotate clockwise so that its south
pole aligns with the north pole of the stator B at position 2 and its north pole aligns with
the south pole of stator B at position 6. To get the motor to rotate we can now see that we
must provide a sequence of energizing the stator windings in such a fashion that provides
a rotating magnetic flux field which the rotor follows due to magnetic attraction.
Fig14: Magnetic flux path through a two-pole stepper motor with a lag between the
rotor and stator.
is proportional to the intensity of the magnetic flux generated when the winding is
energized.
The basic relationship which defines the intensity of the magnetic flux is defined by:
H = (N * i) / l
Where
N = the number of winding turns
i = current
H = Magnetic field intensity
l = Magnetic flux path length
This relationship shows that the magnetic flux intensity and consequently the torque is
proportional to the number of winding turns and the current and inversely proportional to
the length of the magnetic flux path. Thus from this basic relationship it is concluded that
the same frame size stepper motor could have very different torque output capabilities
simply by changing the winding parameters.
7.11 Step Angle Accuracy:
The main reason that the stepper motor gained such popularity as a positioning device is
for its accuracy and repeatability. Typically stepper motors will have a step angle
accuracy of 3 5% of one step. This error is also non cumulative from step to step. The
accuracy of the stepper motor is mainly a function of the mechanical precision of its parts
and assembly.
16
2
3
4
5
6
7
8
L
N
2
0
0
3
15
14
13
12
11
10
9
Ground
STEPPER
MOTOR
Vcc
CHAPTER-8
RELAYS
A relay is an electrically controllable switch widely used in industrial controls,
automobiles and appliances.
The relay allows the isolation of two separate sections of a system with two different
voltage sources i.e., a small amount of voltage/current on one side can handle a large
amount of voltage/current on the other side but there is no chance that these two voltages
mix up.
8.1 Operation:
When a current flow through the coil, a magnetic field is created around the coil i.e., the
coil is energized. This causes the armature to be attracted to the coil. The armatures
contact acts like a switch and closes or opens the circuit. When the coil is not energized, a
spring pulls the armature to its normal state of open or closed. There are all types of
relays for all kinds of applications.
Transistors and ICs must be protected from the brief high voltage 'spike' produced when
the relay coil is switched off. The above diagram shows how a signal diode (eg 1N4148)
is connected across the relay coil to provide this protection. The diode is connected
'backwards' so that it will normally not conduct. Conduction occurs only when the relay
coil is switched off, at this moment the current tries to flow continuously through the coil
and it is safely diverted through the diode. Without the diode no current could flow and
the coil would produce a damaging high voltage 'spike' in its attempt to keep the current
flowing.
In choosing a relay, the following characteristics need to be considered:
1. The contacts can be normally open (NO) or normally closed (NC). In the NC type, the
contacts are closed when the coil is not energized. In the NO type, the contacts are closed
when the coil is energized.
2. There can be one or more contacts. i.e., different types like SPST (single pole single
throw), SPDT (single pole double throw) and DPDT (double pole double throw) relay.
3. The voltage and current required to energize the coil. The voltage can vary from a few
volts to 50 volts, while the current can be from a few milliamps to 20milliamps. The relay
has a minimum voltage, below which the coil will not be energized. This minimum
voltage is called the pull-in voltage.
4. The minimum DC/AC voltage and current that can be handled by the contacts. This is
in the range of a few volts to hundreds of volts, while the current can be from a few amps
to 40A or more, depending on the relay.
8.2 DRIVING A RELAY:
. In order to operate more than one relay, ULN2003 can be connected between An SPDT
relay consists of five pins, two for the magnetic coil, one as the common terminal and the
last pins as normally connected pin and normally closed pin. When the current flows
through this coil, the coil gets energized. Initially when the coil is not energized, there
will be a connection between the common terminal and normally closed pin. But when
the coil is energized, this connection breaks and a new connection between the common
terminal and normally open pin will be established. Thus when there is an input from the
microcontroller to the relay, the relay will be switched on. Thus when the relay is on, it
can drive the loads connected between the common terminals and normally open pin.
Therefore, the relay takes 5V from the microcontroller and drives the loads which
consume high currents. Thus the relay acts as an isolation device.
Digital systems and microcontroller pins lack sufficient current to drive the relay. While
the relays coil needs around 10milli amps to be energized, the microcontrollers pin can
provide a maximum of 1-2milli amps current. For this reason, a driver such as ULN2003
or a power transistor is placed in between the microcontroller and the relay and
microcontroller.
AT 89C51
P1.0
Gnd
16
2
3
4
5
6
7
8
L
N
2
0
0
3
15
14
13
12
11
10
9
RELAY
Vcc
LOAD
CHAPTER-9
DISPLAY COMPONENTS
9.1 LIGHT DEPENDENT RESISTOR:
LDRs or Light Dependent Resistors are very useful especially in light/dark sensor
circuits. Normally the resistance of an LDR is very high, sometimes as high as 1,000,000
ohms, but when they are illuminated with light, the resistance drops dramatically.
Thus in this project, LDR plays an important role in controlling the electrical appliances
based on the intensity of light i.e., if the intensity of light is more (during daytime) the
loads will be in off condition. And if the intensity of light is less (during nights), the loads
will be switched on.
9.2 LIQUID CRYSTAL DISPLAY:
LCD stands for Liquid Crystal Display. LCD is finding wide spread use replacing LEDs
(seven segment LEDs or other multi segment LEDs) because of the following reasons:
1.
2.
Incorporation of a refreshing controller into the LCD, thereby relieving the CPU
of the task of refreshing the LCD. In contrast, the LED must be refreshed by the CPU to
keep displaying the data.
4.
These components are specialized for being used with the microcontrollers, which
means that they cannot be activated by standard IC circuits. They are used for writing
different messages on a miniature LCD.
Function
Ground
Power supply
Contrast
Pin
Number
1
2
3
Control of
operating
Data / commands
Name
Vss
Vdd
Vee
RS
R/W
7
8
9
10
11
12
13
14
D0
D1
D2
D3
D4
D5
D6
D7
Logic
State
-
Description
0V
+5V
0 - Vdd
D0 D7 are interpreted as
0
commands
1
D0 D7 are interpreted as data
Write data (from controller to
0
LCD)
1
Read data (from LCD to
controller)
0
Access to LCD disabled
1
Normal operating
From 1 to Data/commands are transferred to
0
LCD
0/1
Bit 0 LSB
0/1
Bit 1
0/1
Bit 2
0/1
Bit 3
0/1
Bit 4
0/1
Bit 5
0/1
Bit 6
0/1
Bit 7 MSB
A model described here is for its low price and great possibilities most frequently used in
practice. It is based on the HD44780 microcontroller (Hitachi) and can display messages
in two lines with 16 characters each. It displays all the alphabets, Greek letters,
punctuation marks, mathematical symbols etc. In addition, it is possible to display
symbols that user makes up on its own. Automatic shifting message on display (shift left
and right), appearance of the pointer, backlight etc. are considered as useful
characteristics.
9.2.1 Pins Functions
There are pins along one side of the small printed board used for connection to the
microcontroller. There are total of 14 pins marked with numbers (16 in case the
background light is built in). Their function is described in the table below:
9.2.2 LCD screen:
LCD screen consists of two lines with 16 characters each. Each character consists of 5x7
dot matrix. Contrast on display depends on the power supply voltage and whether
messages are displayed in one or two lines. For that reason, variable voltage 0-Vdd is
applied on pin marked as Vee. Trimmer potentiometer is usually used for that purpose.
Some versions of displays have built in backlight (blue or green diodes). When used
during operating, a resistor for current limitation should be used (like with any LE diode).
9.2.3 LCD Basic Commands:
All data transferred to LCD through outputs D0-D7 will be interpreted as commands or
as data, which depends on logic state on pin RS:
RS = 1 - Bits D0 - D7 are addresses of characters that should be displayed. Built in
processor addresses built in map of characters and displays corresponding symbols.
Displaying position is determined by DDRAM address. This address is either previously
defined or the address of previously transferred character is automatically incremented.
RS = 0 - Bits D0 - D7 are commands which determine display mode. List of commands
which LCD recognizes are given in the table below:
Command
Clear display
Cursor home
Entry mode set
Display on/off control
Cursor/Display Shift
RS
RW
0
0
0
0
0
0
0
0
0
0
D7 D6 D5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
D4
D3
D2
D1
D0
0
0
0
0
1
0
0
0
1
D/C
0
0
1
D
R/L
0
1
I/D
U
x
1
x
S
B
x
Execution
Time
1.64mS
1.64mS
40uS
40uS
40uS
Function set
Set CGRAM address
0
0
0
0
0
0
DDRAM address
40uS
BF
DDRAM address
D7 D6 D5
D4
D3
D2
D1
D0
40uS
D7 D6 D5
D4
D3
D2
D1
D0
40uS
0
1
DL
N
F
x
CGRAM address
D 1 = Display on
0 = Display off
U 1 = Cursor on
0 = Cursor off
B 1 = Cursor blink on
0 = Cursor blink off
40uS
40uS
Depending on how many lines are used for connection to the microcontroller, there are 8bit and 4-bit LCD modes. The appropriate mode is determined at the beginning of the
process in a phase called initialization. In the first case, the data are transferred through
outputs D0-D7 as it has been already explained. In case of 4-bit LED mode, for the sake
of saving valuable I/O pins of the microcontroller, there are only 4 higher bits (D4-D7)
used for communication, while other may be left unconnected.
Consequently, each data is sent to LCD in two steps: four higher bits are sent first (that
normally would be sent through lines D4-D7), four lower bits are sent afterwards. With
the help of initialization, LCD will correctly connect and interpret each data received.
Besides, with regards to the fact that data are rarely read from LCD (data mainly are
transferred from microcontroller to LCD) one more I/O pin may be saved by simple
connecting R/W pin to the Ground. Such saving has its price. Even though message
displaying will be normally performed, it will not be possible to read from busy flag since
it is not possible to read from display.
9.2.5 LCD Initialization:
Once the power supply is turned on, LCD is automatically cleared. This process lasts for
approximately 15mS. After that, display is ready to operate. The mode of operating is set
by default. This means that:
1. Display is cleared
2. Mode
DL = 1 Communication through 8-bit interface
N = 0 Messages are displayed in one line
F = 0 Character font 5 x 8 dots
3. Display/Cursor on/off
D = 0 Display off
U = 0 Cursor off
B = 0 Cursor blink off
4. Character entry
ID = 1 Addresses on display are automatically incremented by 1
P2.0
P2.1
P2.2
4 (RS)
5 (R/W)
6(EN)
Vcc
1
2
3
LCD
Gnd
PRESET
(CONTRAST
CONTROL)
89C51
P1.0
P1.1
P1.2
P1.3
P1.4
P1.5
P1.6
P1.7
D0
D1
D2
D3
D4
D5
D6
D7
15
16
Vcc
Gnd
FOR
BACKLIGHT
PURPOSE
CHAPTER-10
P2.0
When the switch is open, the total supply i.e., Vcc appears at the port pin P2.0
P2.0 = 1
2.
When the switch is closed i.e., when it is pressed, the total supply path is
provided to ground. Thus the voltage value at the port pin P2.0 will be zero.
P2.0 = 0
By reading the pin status, the microcontroller identifies whether the switch is pressed or
not. When the switch is pressed, the corresponding related to this switch press written in
the program will be executed.
10.2 LED INTERFACING:
LED stands for Light Emitting Diode.
Microcontroller port pins cannot drive these LEDs as these require high currents to
switch on. Thus the positive terminal of LED is directly connected to Vcc, power supply
and the negative terminal is connected to port pin through a current limiting resistor.
This current limiting resistor is connected to protect the port pins from sudden flow of
high currents from the power supply.
Thus in order to glow the LED, first there should be a current flow through the LED. In
order to have a current flow, a voltage difference should exist between the LED
terminals. To ensure the voltage difference between the terminals and as the positive
terminal of LED is connected to power supply Vcc, the negative terminal has to be
connected to ground. Thus this ground value is provided by the microcontroller port pin.
This can be achieved by writing an instruction CLR P1.0. With this, the port pin P1.0 is
initialized to zero and thus now a voltage difference is established between the LED
terminals and accordingly, current flows and therefore the LED glows. LED and switches
can be connected to any one of the four port pins.
Vcc
P1.0
ADVANTAGES:
Switching is the ability to control any light, group of lights, or all lights in a
building from a single user interface device.
APPLICATIONS:
landscape lighting
fountain pumps
motorized gates
CONCLUSION
CONCLUSION
Our project is a standalone AUTOMATIC ROOM LIGHT CONTROL WITH VISITOR
COUNTING FOR POWER SAVING APPLICATIONS IN SEMINAR HALLS . Use of
embedded technology makes this closed loop feedback control system efficient and
reliable. Micro controller (AT89S52) allows dynamic and faster control. Liquid crystal
display (LCD) makes the system user-friendly. AT89S52 micro controller is the heart of
the circuit as it controls all the functions.
RESULTS
RESULT
LDR is placed outside the room and is used to identify whether it is day or night time.
Whenever a person tries to enter into the room, the receiver of first IR pair identifies the
person. Then the microcontroller opens the door by rotating the stepper motor. After the
person had entered into the room completely, the door will be closed automatically. The
light is switched off even if anyone is present inside the room during the day time. The
light is switched off even if anyone is present inside the room during the day time.
Similarly, the light is switched off if no one is there inside the room or if it is night times.
Thus, depending on the intensity of light and the surrounding temperature, the required
action is performed by the microcontroller. LCD displays the number of persons present
inside the room.
REFERENCES
REFERENCES:
1.
2.
3.
4.
APPENDIX
Features
Description
The AT89S52 is a low-power, high-performance CMOS 8-bit microcontroller with 8K
bytes of in-system programmable Flash memory. The device is manufactured using
Atmels high-density nonvolatile memory technology and is compatible with the industry-standard 80C51 instruction set and pinout. The on-chip Flash allows the program
memory to be reprogrammed in-system or by a conventional nonvolatile memory programmer. By combining a versatile 8-bit CPU with in-system programmable Flash on
a monolithic chip, the Atmel AT89S52 is a powerful microcontroller which provides a
highly-flexible and cost-effective solution to many embedded control applications.
The AT89S52 provides the following standard features: 8K bytes of Flash, 256 bytes
of RAM, 32 I/O lines, Watchdog timer, two data pointers, three 16-bit timer/counters, a
six-vector two-level interrupt architecture, a full duplex serial port, on-chip oscillator,
and clock circuitry. In addition, the AT89S52 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 interrupt
or hardware reset.
8-bit
Microcontroller
with 8K Bytes
In-System
Programmable
Flash
AT89S52
Rev. 1919A-07/01
AT89S52
Pin Configurations
Block
Diagram
PLCC
P2.0 - P2.7
P0.0 - P0.7
VCC
PORT 0 DRIVERS
GND
RAM ADDR.
REGISTER
B
REGISTER
PORT 0
LATCH
RAM
PORT 2 DRIVERS
(MOSI) P1.5
7
(MISO) P1.6
8
(SCK) P1.7 9
RST 10
PORT11
2
(RXD) P3.0
LATCH
NC
12
(TXD) P3.1 13
(INT0) P3.2 14
(INT1) P3.3 15
(T0) P3.4 16
(T1) P3.5 17
FLASH
P0.4 (AD4)
P0.5 (AD5)
P0.6 (AD6)
P0.7 (AD7)
EA/VPP
NC
ALE/PROG
PSEN
P2.7 (A15)
PROGRAM
ADDRESS
REGISTER
STACK
POINTER
ACC
39
38
37
36
35
34
33
32
31
30
29
BUFFER
TMP2
TMP1
TQFP
P1.1 (T2 EX)
P1.0 (T2)
P1.4
P1.3
P1.2
NC
ALU
VCC
44 43 42 41 40 39 38 37 36 35 34
(MOSI) P1.5
(MISO) P1.6
(SCK) P1.7
RST
(RXD) P3.0
PSEN NC
(TXD) P3.1
ALE/PROG
(INT0) P3.2
EA / V PP
(INT1) P3.3
RSTP3.4
(T0)
(T1) P3.5
1
2
3
4
5
6
7
8
9
10
11
TIMING
AND
CONTROL
PC
INCREMENTER
P0.0
P0.1
(AD0)
(AD1)
33
32
31
30
29
28
27
INSTRUCTION
REGISTER 26
25
24
23
PROGRAM
COUNTER
P0.4 (AD4)
P0.5 (AD5)
PSW
P0.6 (AD6)
P0.7 (AD7)
EA/VPP
NC
ALE/PROG
PSEN
P2.7 (A15)
P2.6 (A14)
P2.5 (A13)
WATCH
12 13 14 15 16 17 18 19
20 21 22
DOG
PORT 3
LATCH
DUAL DPTR
PORT 1
LATCH
ISP
PORT
PROGRAM
LOGIC
OSC
PORT 3 DRIVERS
P3.0 - P3.7
AT89S52
PORT 1 DRIVERS
P1.0 - P1.7
Pin Description
VCC
Supply voltage.
GND
Ground.
Port 0
Port 0 is an 8-bit open drain bidirectional I/O port. 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 highimpedance inputs.
Port 0 can also be configured to be the multiplexed loworder address/data bus during accesses to external
program and data memory. In this mode, P0 has internal
pullups.
Port 0 also receives the code bytes during Flash programming and outputs the code bytes during program verification. External pullups are required during program
verification.
Port 1
Port 1 is an 8-bit bidirectional I/O port with internal pullups.
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 pullups and can be used as inputs. As inputs,
Port 1 pins that are externally being pulled low will source
current (I IL) because of the internal pullups.
In addition, P1.0 and P1.1 can be configured to be the
timer/counter 2 external count input (P1.0/T2) and the
timer/counter 2 trigger input (P1.1/T2EX), respectively, as
shown in the following table.
Port 1 also receives the low-order address bytes during
Flash programming and verification.
Port Pin
Alternate Functions
P1.0
Port 2
Port 2 is an 8-bit bidirectional I/O port with internal pullups.
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 pullups and can be used as inputs. As inputs,
Port 2 pins that are externally being pulled low will source
current (I IL) because of the internal pullups.
Port 2 emits the high-order address byte during fetches
from external program memory and during accesses to
4
AT89S52
RST
Reset input. A high on this pin for two machine cycles while
the oscillator is running resets the device. This pin drives
High for 96 oscillator periods after the Watchdog times out.
The DISRTO bit in SFR AUXR (address 8EH) can be used
to disable this feature. In the default state of bit DISRTO,
the RESET HIGH out feature is enabled.
ALE/PROG
Address Latch Enable (ALE) is an 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, the pin is
AT89S52
weakly pulled high. Setting the ALE-disable bit has no
effect if the microcontroller is in external execution mode.
PSEN
Program Store Enable (PSEN) is the read strobe to external program memory.
When the AT89S52 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.
0FFH
B
00000000
0F7H
0E8H
0E0H
0EFH
ACC
00000000
0E7H
0D8H
0DFH
0D0H
PSW
00000000
0C8H
T2CON
00000000
0D7H
T2MOD
XXXXXX00
RCAP2L
00000000
RCAP2H
00000000
TL2
00000000
TH2
00000000
0CFH
0C0H
0C7H
0B8H
IP
XX000000
0BFH
0B0H
P3
11111111
0B7H
0A8H
IE
0X000000
0AFH
0A0H
P2
11111111
AUXR1
XXXXXXX0
WDTRST
XXXXXXXX
98H
SCON
00000000
90H
P1
11111111
88H
TCON
00000000
TMOD
00000000
TL0
00000000
TL1
00000000
TH0
00000000
TH1
00000000
80H
P0
11111111
SP
00000111
DP0L
00000000
DP0H
00000000
DP1L
00000000
DP1H
00000000
0A7H
SBUF
XXXXXXXX
9FH
97H
AUXR
XXX00XX0
8FH
PCON
0XXX0000
87H
Bit Addressable
Bit
TF2
EXF2
RCLK
TCLK
EXEN2
TR2
C/T2
CP/RL2
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
or
TCLK
= 1. = 1
EXF2
Timer 2 external flag set when either a capture or reload is caused by a negative transition on T2EX and
EXEN2Timer
= 1. 2 interrupt is enabled, EXF2 = 1 will cause the CPU to vector to the Timer 2 interrupt routine.
When
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 serial1port
Modes
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
Timer used to clock the serial port. EXEN2 = 0 causes Timer 2 to ignore events at T2EX.
2
is notif being
TR2
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).
Capture/Reload select. CP/RL2 = 1 causes captures to occur on negative transitions at T2EX if EXEN2 = 1.
CP/RL2automatic
=0
causes
reloads to occur when Timer 2 overflows or negative transitions occur at T2EX when
EXEN2RCLK
= 1. When
either
or TCLK = 1, this bit is ignored and the timer is forced to auto-reload on Timer 2 overflow.
CP/RL2
AT89S52
AT89S52
Table 3a. AUXR: Auxiliary Register
AUXR
Address = 8EH
Bit
DISALE
Disable/Enable ALE
DISRTO
WDIDLE
4
DISRTO
DISALE
Operating Mode
DISALE
0
WDIDLE
Address = A2H
Bit
DPS
DPS
1
DPS
0
Memory Organization
MCS-51 devices have a separate address space for Program and Data Memory. Up to 64K bytes each of external
Program and Data Memory can be addressed.
Program Memory
If the EA pin is connected to GND, all program fetches are
directed to external memory.
On the AT89S52, if EA is connected to V CC , program
fetches to addresses 0000H through 1FFFH are directed to
internal memory and fetches to addresses 2000H through
FFFFH are to external memory.
Data Memory
The AT89S52 implements 256 bytes of on-chip RAM. The
upper 128 bytes occupy a parallel address space to the
Special Function Registers. This means that the upper 128
bytes have the same addresses as the SFR space but are
physically separate from SFR space.
AT89S52
AT89S52
Watchdog Timer
(One-time Enabled with Reset-out)
The WDT is intended as a recovery method in situations
where the CPU may be subjected to software upsets. The
WDT consists of a 13-bit counter and the Watchdog Timer
Reset (WDTRST) SFR. The WDT is defaulted to disable
from exiting reset. To enable the WDT, a user must write
01EH and 0E1H in sequence to the WDTRST register
(SFR location 0A6H). When the WDT is enabled, it will
increment every machine cycle while the oscillator is running. The WDT timeout period is dependent on the external
clock frequency. There is no way to disable the WDT
except through reset (either hardware reset or WDT overflow reset). When WDT overflows, it will drive an output
RESET HIGH pulse at the RST pin.
UART
The UART in the AT89S52 operates the same way as the
UART in the AT89C51 and AT89C52. For further information on the UART operation, refer to the ATMEL Web site
(http://www.atmel.com). From the home page, select Products, then 8051-Architecture Flash Microcontroller, then
Product Overview.
Timer 0 and 1
Timer 0 and Timer 1 in the AT89S52 operate the same way
as Timer 0 and Timer 1 in the AT89C51 and AT89C52. For
further information on the timers operation, refer to the
ATMEL Web site (http://www.atmel.com). From the home
page, select Products, then 8051-Architecture Flash
Microcontroller, then Product Overview.
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 (shown in Table 2).
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 3.
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 3. Timer 2 Operating Modes
Capture Mode
In the capture mode, two options are selected by bit
EXEN2 in T2CON. If EXEN2 = 0, Timer 2 is a 16-bit timer
or counter which upon overflow sets bit TF2 in T2CON.
OSC
C/T2 = 0
TH2
C/T2 = 1
TR2
TL2
OVERFLOW
CONTROL
CAPTURE
T2 PIN
RCAP2H
RCAP2L
TRANSITION
DETECTOR
TIMER 2
INTERRUPT
T2EX PIN
EXF2
EXEN2
CONTROL
10
TF2
AT89S52
AT89S52
Figure 6. Timer 2 Auto Reload Mode (DCEN = 0)
12
OSC
C/T2 = 0
TH2
TL2
OVERFLOW
CONTROL
TR2
C/T2 = 1
RELOAD
T2 PIN
RCAP2H
TIMER 2
INTERRUPT
RCAP2L
TF2
TRANSITION
DETECTOR
EXF2
T2EX PIN
CONTROL
EXEN2
DCEN
6
Symbol
Function
T2OE
DCEN
11
AT89S52
AT89S52
Figure
TimerGenerator
2 Auto Reload Mode (DCEN = 1)
Baud7.Rate
TOGGLE
Timer 2 is selected as the baud rate generator by (DOWN
settingCOUNTING
increments
every state time (at
1/2 the oscillator freRELOAD VALUE)
TCLK and/or RCLK in T2CON (Table 2). Note that the 0FFHquency).
The
baud
rate
formula
is
given below.
0FFH
EXF2
baud rates for transmit and receive can be different if Timer
2 is used for the receiver or transmitter and Timer 1 is used
Modes 1 and 3
Oscillator Frequency
for the other function. Setting RCLK and/or TCLK puts
--------------------------------------- = -------------------------------------------------------------------------------------Baud Rate
32 x [65536-RCAP2H,RCAP2L)]
Timer 2 into
its
baud
rate
generator
mode,
as
shown
in
FigOSC
OVERFLOW
12
ure 8.
C/T2 = 0
The baud rate generator mode is similar to the auto-reload TH2
TL2
TF2
mode, in that a rollover in TH2 causes the Timer 2 registers
where (RCAP2H, RCAP2L) is the content of RCAP2H and
to be reloaded with the 16-bit value in registers CONTROL
RCAP2H
RCAP2L taken as a 16-bit unsigned integer.
and RCAP2L, which are preset by software. TR2
Timer 2 as a baud rate generator is shown
TIMER 2in Figure 8. This
= 1
The baud rates in Modes 1 and 3 C/T2
are determined
by Timer
INTERRUPT
figure is valid only if RCLK or TCLK
= 1 in T2CON. Note
2s overflow rate according
T2 PINto the following equation.
that a rollover in TH2 does not set TF2 and will not generate RCAP2L
an interrupt. Note too, that if EXEN2 is set, a 1-to-0
RCAP2H
transition
in T2EX will setCOUNT
EXF2 but will not cause a reload
(UP COUNTING RELOAD VALUE)
DIRECTION
Timer
2
Overflow
Rate
from (RCAP2H, RCAP2L)1=UP
to (TH2, TL2). Thus, when Timer
Modes 1 and 3 Baud Rates = -----------------------------------------------------------16
2 is in use as a baud rate0=DOWN
generator, T2EX can be used as
an extra external interrupt.
T2EX
PINrunning (TR2 = 1) as a timer in
Note that when Timer
2 is
The Timer can be configured for either timer or counter
the baud rate generator mode, TH2 or TL2 should not be
Figure 8. Timer 2 in Baud Rate Generator Mode
operation. In most applications, it is configured for timer
read from or written to. Under these conditions, the Timer is
operation (CP/T2 = 0). The timer operation is different for
incremented every state TIMER
time, and
the results of a read or
1 OVERFLOW
Timer 2 when it is used as a baud rate generator. Normally,
write may not be accurate. The RCAP2 registers may be
as a timer, it increments every machine cycle (at 1/12 the
read but should not be written to, because a write might
oscillator frequency). As a baud rate generator, however, it
overlap a reload and cause write and/or reload errors. The
timer should be turned
2 off (clear TR2) before accessing the
Timer 2 or RCAP2 registers. "0"
"1"
NOTE: OSC. FREQ. IS DIVIDED BY 2, NOT 12
OSC
SMOD1
TL2
(8-BITS)
C/T2 = 0
TH2
(8-BITS)
"1"
TH2TR2
CONTROL
TR2
C/T2 = 1
"0"
TL2
RCLK
RCAP2L
C/T2 BIT
RCAP2H
"1"
"0"
T2 PIN
P1.0
(T2)
RCAP2H
16
P1.1
(T2EX)
Tx
CLOCK
T2OE (T2MOD.1)
TRANSITION
DETECTOR
T2EX PIN
TCLK
RCAP2L 2
TRANSITION
DETECTOR
16
Rx
CLOCK
EXF2
CONTROL
EXEN2
EXF2
TIMER 2
INTERRUPT
TIMER 2
INTERRUPT
EXEN2
12
13
Clock-Out Frequency
Interrupts
The AT89S52 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 10.
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 shows that bit position IE.6 is unimplemented. In the AT89S52, 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.
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.
14
AT89S52
AT89S52
Oscillator Characteristics
XTAL1 and XTAL2 are the input and output, respectively,
of an inverting amplifier that can be configured for use as
an on-chip oscillator, as shown in Figure 11. 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 12.
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.
C1
XTAL1
Idle Mode
GND
In idle mode, the CPU puts itself to sleep while all the onchip 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 terminated by any enabled
interrupt or by a hardware reset.
Note that when idle mode 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 mode is terminated by a reset, the instruction following the one that
invokes idle mode should not write to a port pin or to external memory.
Note:
NC
XTAL2
EXTERNAL
OSCILLATOR
SIGNAL
XTAL1
Power-down Mode
GND
Program Memory
ALE
PSEN
PORT0
PORT1
PORT2
PORT3
Idle
Internal
Data
Data
Data
Data
Idle
External
Float
Data
Address
Data
Power-down
Internal
Data
Data
Data
Data
Power-down
External
Float
Data
Data
Data
15
LB2
LB3
Protection Type
16
AT89S52
AT89S52
frequency should be less than 1/16 of the crystal frequency. With a 33 MHz oscillator clock, the maximum SCK
frequency is 2 MHz.
appropriate Write instruction. The write cycle is selftimed and typically takes less than 1 ms at 5V.
4. Any memory location can be verified by using the
Read instruction which returns the content at the
selected address at serial output MISO/P1.6.
5. At the end of a programming session, RST can be
set low to commence normal device operation.
Power-off sequence (if needed):
Set XTAL1 to L (if a crystal is not used).
Set RST to L.
Turn V CC power off.
Data Polling: The Data Polling feature is also available in
the serial mode. In this mode, during a write cycle an
attempted read of the last byte written will result in the complement of the MSB of the serial output byte on MISO.
17
Notes:
VCC
1.
2.
3.
4.
5.
RST
PSEN
ALE/
PROG
P2.6
P2.7
P3.3
P3.6
P3.7
P0.7-0
Data
P2.4-0
P1.7-0
18
EA/
VPP
AT89S52
AT89S52
Flash Programming and Verification Characteristics (Parallel Mode)
TA= 20C to 30C, V
CC
= 4.5 to 5.5V
Symbol
Parameter
Min
Max
Units
VPP
11.5
12.5
IPP
10
mA
ICC
30
mA
1/tCLCL
Oscillator Frequency
33
MHz
tAVGL
48tCLCL
tGHAX
48tCLCL
tDVGL
48tCLCL
tGHDX
48tCLCL
tEHSH
48tCLCL
tSHGL
10
tGHSL
10
tGLGH
PROG Width
0.2
tAVQV
48tCLCL
tELQV
48tCLCL
tEHQZ
tGHBL
tWC
48tCLCL
1.0
50
P1.0 - P1.7
P2.0 - P2.5
P3.4
VERIFICATION
ADDRESS
tAVQV
PORT 0
DATA IN
tAVGL
tDVGL
tGHDX
DATA OUT
tGHAX
ALE/PROG
tSHGL
EA/VPP
P2.7
(ENABLE)
tGLGH
VPP
tGHSL
LOGIC 1
LOGIC 0
tEHSH
tEHQZ
tELQV
tGHBL
P3.0
(RDY/BSY)
BUSY
READY
tWC
19
AT89S52
VCC
INSTRUCTION
INPUT
P1.5/MOSI
DATA OUTPUT
P1.6/MISO
P1.7/SCK
CLOCK IN
XTAL2
3-33 MHz
XTAL1
RST
VIH
GND
20
AT89S52
AT89S52
Table 9. Serial Programming Instruction Set
Instruction
Format
Instruction
Byte 1
Byte 2
Byte 3
Byte 4
Operation
Programming Enable
1010 1100
0101 0011
xxxx xxxx
xxxx xxxx
0110 1001
(Output)
Chip Erase
1010 1100
100x xxxx
xxxx xxxx
xxxx xxxx
0010 0000
xxx 2 A11
A10
A9A8
A1
D7D6D5D4 D3D2D1D0
0100 0000
xxx 2 A11
0 A9A8
A1 A1
D7D6D5D4 D3D2D1D0
1010 1100
1110 00 B1B2
xxxx xxxx
xxxx xxxx
0010 0100
xxxx xxxx
xxxx xxxx
xxLB3LB2
1 xx
0010 1000
xxx A5A4A3A2A1A0
Signature Byte
0011 0000
xxx 2 A11
A10
A9A8
Byte 0
Byte 1...
Byte 255
0101 0000
xxx 2 A11
A10
A9A8
Byte 0
Byte 1...
Byte 255
Notes:
A1
A1
A7A6A5A4A3A2A1A0
A7A6A5A4A3A2A1A0
xxx xxxx
LB
1. The signature bytes are not readable in Lock Bit Modes 3 and 4.
2. B1 = 0, B2 = 0 ---> Mode 1, no lock protection
Each of the lock bits needs to be activated sequentially before
B1 = 0, B2 = 1 ---> Mode 2, lock bit 1 activated
Mode 4 can be executed.
B1 = 1, B2 = 0 ---> Mode 3, lock bit 2 activated
B1 = 1, B1 = 1 ---> Mode 4, lock bit 3 activated
21
22
AT89S52
MOSI
tOVSH
SCK
tSHOX
tSLSH
tSHSL
MISO
tSLIV
Table 10. Serial Programming Characteristics, T A= -40 C to 85 C, VCC = 4.0 - 5.5V (Unless otherwise noted)
Symbol
Parameter
Min
1/tCLCL
Oscillator Frequency
tCLCL
Oscillator Period
30
ns
tSHSL
2 tCLCL
ns
tSLSH
2 tCLCL
ns
tOVSH
tCLCL
ns
tSHOX
2 tCLCL
ns
tSLIV
tERASE
tSWC
10
Typ
16
Max
Units
33
MHz
32
ns
500
ms
64 tCLCL + 400
AT89S52
AC
Characteristics
Absolute
Maximum Ratings*
Under operating conditions, load capacitance for Port 0, ALE/PROG, and PSEN = 100 pF; load
*NOTICE:
Stresses beyond those listed under Absolute
Operating
Temperature..................................
-55C to +125C
capacitance
for
outputs
= 80
pF.all other
Maximum Ratings may cause permanent damage to the device. This is a stress rating only and
functional operation of the device at these or any
12 MHz Oscillator other conditions
Variable
Oscillator
Voltage on Any Pin
beyond
those indicated in the
with
Respect
to
Ground.....................................-1.0V
to
+7.0V
operational
sections
of this specification
isUnits
not
Symbol
Parameter
Min
Max
Min
Max
implied. Exposure to absolute maximum rating
1/t
Oscillator
Frequency
33 may affectMHz
Maximum
Operating
Voltage
............................................ 6.6V
CLCL
conditions for0 extended periods
device reliability.
tLHLL
ALE Pulse Width
127
2tCLCL -40
ns
DC Output Current...................................................... 15.0 mA
tAVLL
Address Valid to ALE Low
43
tCLCL -25
ns
External
Program and Data Memory
Characteristics
Storage Temperature.....................................
-65C to +150C
tLLAX Characteristics
Address Hold After ALE Low
DC
48
tCLCL -25
The
this
are valid for
tLLIVvalues shown
ALE in
Low
to table
Valid Instruction
In T =
A -40C to 85C and V
Symbol
tLLPL
Parameter
ALE
Low to PSEN Low
Condition
V
t IL
Input Low
Voltage
PSEN
Pulse
Width
V
t IL1
I
n to Valid
p
u
t In
PSEN
Low
Instruction
PLPH
PLIV
VIH
tPXIX
VIH1
tPXIZ
VOL
V
o
l
t
a
Input
High
(
E Voltage
AHold After
)
Input
Instruction
PSEN
Input High Voltage
(Ports 1,2,3)
CC
=233
4.0V to 5.5V, unless otherwise
4tCLCLnoted.
-65
tCLCLMin
-25
43
x 205 c
L
o
w
g
e
0(Except. XTAL1,
50 RST)
0.2 VCC+0.9
59
V
t OL1
Address
to Valid
Instruction
In
(Port 0, ALE,
PSEN
)
IOL = 3.2 mA
tPLAZ
tVRLRH
OH
AVIV
tWLWH
75
312
2.4
Max
)
ns
Units
ns
-0.2 V0CC-0.1.
5 ns
V
VCC-0.3
3t0.2
CLCL -60
V
ns
VCC+0.5
V
ns
+0.5
CC
tCLCL
-25
0.45
ns
ns
0.45
5tCLCL
-80
V
ns
10
ns
V
6tCLCL
0.75-100
VCC
ns
V
0.9 VCC
2.4
IOH = -300 A
0.75 VCC
IOH = -80 A
0.9 VCC
0.7 VCC
tCLCL -8
IOH = -10 A
Output High Voltage
(Port 0 in External Bus Mode)
A
3tECLCL -45
145
(XTAL1, RST)
IOL = 1.6 mA
tPXAV
(1)
ns
IIL
VIN = 0.45V
-50
ITL
-650
ILI
10
RRST
30
CIO
Pin Capacitance
10
pF
25
mA
6.5
mA
VCC = 5.5V
50
ICC
Power-down Mode
Notes:
10
1. Under steady state (non-transient) conditions, IOL must be externally limited as follows:
Maximum I OL per port pin: 10 mA
Maximum I OL per 8-bit port:
Port 0: 26 mA
Ports 1, 2, 3: 15 mA
Maximum total I OL for all output pins: 71 mA
If IOL exceeds the test condition, VOL may exceed the related specification. Pins are not guaranteed to sink current greater
than the listed test conditions.
2. Minimum VCC for Power-down is 2V.
24
AT89S52
23
AT89S52
External Program Memory Read Cycle
tLHLL
ALE
tAVLL
tLLIV
tLLPL
tPLIV
PSEN
tPXIZ
tPXIX
A0 - A7
PORT 0
tPXAV
tPLAZ
tLLAX
tPLPH
INSTR IN
A0 - A7
tAVIV
A8 - A15
PORT 2
A8 - A15
tLLDV
tLLWL
RD
tLLAX
tAVLL
PORT 0
tRLAZ
A0 - A7 FROM RI OR DPL
tRLRH
tRLDV
tRHDZ
tRHDX
DATA IN
A0 - A7 FROM PCL
INSTR IN
tAVWL
tAVDV
PORT 2
25
AT89S52
External
Data
Memory
CycleMode Test Conditions
Serial Port
Timing:
ShiftWrite
Register
The values in this table are valid for V CC = 4.0V to 5.5V and Load Capacitance = 80 pF.
12 MHz Osc
Variable Oscillator
Symbol
Parameter
Min
Max
Min
Max
tXLXL
1.0
12tCLCL
tQVXH
700
10tCLCL -133
ns
tXHQX
50
2tCLCL -80
ns
tXHDX
ns
tXHDV
700
Units
10tCLCL -133ns
tXLXL
CLOCK
tQVXH
tXHQX
WRITE TO SBUF
tXHDV
OUTPUT DATA
CLEAR RI
VALID
VALID
VALID
VALID
VALID
VALID
(1)
26
1.
Float Waveforms
VALID
V LOAD
AT89S52
(1)
V LOAD+ 0.1V
Note:
VALID
SET RI
0.45V
7
SET TI
INPUT DATA
VCC - 0.5V
tXHDX
V LOAD- 0.1V
Note:
1.
V OL - 0.1V
Timing Reference
Points
V OL + 0.1V
27
Ordering Information
Speed
(MHz)
Power
Supply
24
4.0V to 5.5V
33
4.5V to 5.5V
Ordering Code
Package
AT89S52-24AC
AT89S52-24JC
AT89S52-24PC
44A
44J
40P6
Commercial
(0 C to 70 C)
AT89S52-24AI
AT89S52-24JI
AT89S52-24PI
44A
44J
40P6
Industrial
(-40 C to 85 C)
AT89S52-33AC
AT89S52-33JC
AT89S52-33PC
44A
44J
40P6
Commercial
(0 C to 70 C)
= Preliminary Availability
Package Type
44A
44J
40P6
28
AT89S52
Operation Range
Packaging Information
44A, 44-lead, Thin (1.0 mm) Plastic Gull Wing Quad
Flat Package (TQFP)
Dimensions in Millimeters and (Inches)*
.045(1.14) X 45
12.21(0.478)
SQ
11.75(0.458)
PIN 1 ID
0.30(0.012)
0.80(0.031) BSC
.032(.813)
.026(.660)
.050(1.27) TYP
10.10(0.394)
SQ
9.90(0.386)
.630(16.0)
.590(15.0)
.695(17.7)
SQ
.685(17.4)
.500(12.7) REF SQ
.021(.533)
.013(.330)
.043(1.09)
.020(.508)
.120(3.05)
.090(2.29)
.180(4.57)
.165(4.19)
0.15(0.006)
0.05(0.002)
2.07(52.6)
2.04(51.8)
PIN
1
.566(14.4)
.530(13.5)
.090(2.29)
MAX
1.900(48.26) REF
.220(5.59)
MAX
.005(.127)
MIN
SEATING
PLANE
.065(1.65)
.015(.381)
.022(.559)
.014(.356)
.161(4.09)
.125(3.18)
.110(2.79)
.090(2.29)
.012(.305)
.008(.203)
29
.012(.305)
.008(.203)
1.20(0.047) MAX
0
7
0.20(.008)
0.09(.003)
.045(1.14) X 30 - 45
.656(16.7)
.650(16.5)
SQ
0.45(0.018)
PIN NO. 1
IDENTIFY
.065(1.65)
.041(1.04)
.630(16.0)
.590(15.0)
0 REF
15
.690(17.5)
.610(15.5)
AT89S52
Atmel Rousset
Zone Industrielle
13106 Rousset Cedex, France
TEL (33) 4-4253-6000
FAX (33) 4-4253-6001
Fax-on-Demand
North America:
1-(800) 292-8635
International:
1-(408) 441-0732
literature@atmel.com
Web Site
http://www.atmel.com
BBS
1-(408) 436-4309
Atmel Headquarters
Corporate Headquarters
Europe
Atmel Grenoble
Atmel SarL
Route des Arsenaux 41
Casa Postale 80
CH-1705 Fribourg
Switzerland
TEL (41) 26-426-5555
FAX (41) 26-426-5500
Asia
Atmel Heilbronn
Theresienstrasse 2
POB 3535
D-74025 Heilbronn, Germany
TEL (49) 71 31 67 25 94
FAX (49) 71 31 67 24 23
Atmel Nantes
La Chantrerie
BP 70602
4430
Japan