7/31/2019 Wk 214mod Doc
1/90
AUTOMATIC INTELLIGENT ROOM
LIGHT CONTROLLER USING 89S52
MICROCONTROLLER WITH AUTO
DOOR OPENING/CLOSING
1
7/31/2019 Wk 214mod Doc
2/90
CONTENTS
DESCRIPTION PAGE NO.
1. CERTIFICATE
2. BONAFIDE
3. ACKNOWLEDGEMENT
4. ORGANISATION PROFILE
5. ABSTRACT 5
6. TECHNICAL SPECIFICATIONS 6
7. LIST OF FIGURES 7
8. LIST OF TABLES 7
9. BLOCK DIAGRAM OF 89S52 8
10. BLOCK DIAGRAM OF POWER SUPPLY 8
CHAPTER1: INTRODUCTION 9
CHAPTER2: POWER SUPPLY 10
2.1 Transformer 10
2.2 Rectifier 11
2.3 Filter 11
2.4 Voltage Regulator 11
CHAPTER 3: MICRO CONTROLLER 12
3.1 Features Of AT89S52 13
3.2 Discription 13
3.3 Pin Diagram 14
3.4 Pin Discription 14
3.5 Machine Cycle For 8051 17
CHAPTER 4: IR SECTION 24
4.1 What is Infrared 19
4.2 IR in Electronics 19
4.3 IR Generator 20
2
7/31/2019 Wk 214mod Doc
3/90
4.4 Rc-5 22
4.5 IR Receiver 23
4.5.1 Description
4.5.2 Features
4.5.3 Suitable Data Format
CHAPTER 5: ULN 2003 CURRENT DRIVER 26
CHAPER 7: STEPPER MOTOR 28
5.1 Advantages 29
5.2 Disadvatages 30
5.3 Open Loop Operation 30
5.4 Stepper Motor Types 30
5.5 Variable Reluctance(Vr) 30
5.6 Parmanent Magnet 31
5.7 Hybrid(Hb) 32
5.8 When To Use Stepper Motor 32
5.9 Rotating Magnetic Field 33
5.10 Torque Generation 33
5.11 Step Angle Accuracy 34
5.12 Torque Versus Speed Characterstics 35
5.13 Single Step Response And Resonance 35
5.14 Few Definitions Of Stepper Motor 36
5.15 Stepper Motor Interfacing With Microcontroller 37
CHAPTER 6: RELAYS
6.1 Operation 38
6.2 Driving a Relay 40
6.3 Relay Interfacing With Microcontroller 41
3
7/31/2019 Wk 214mod Doc
4/90
CHAPTER 9 DISPLAY COMPONENTS
6.4 Light Dependent Resistor 41
6.5 Liquid Crystal Device 42
6.5.1 Pin Function
6.5.2 Lcd Screen
6.5.3 Lcd Basic Commands
6.5.4 Lcd Connections
6.5.5 Lcd Intialization
6.5.6 Lcd Interfacing With Microcontroller
CHAPTER 10: SWITCH & LED INTERFACING WITH
MICROCONTROLLER
6.6switch Interfacing 50
6.7 Lcd Interfacing 51
CHAPTER 11: WORKING PROCEDURE OF PROJECT 52
CONCLUSION 55
RESULTS 56
REFERENCES 57
4
7/31/2019 Wk 214mod Doc
5/90
ABSTRACT
5
7/31/2019 Wk 214mod Doc
6/90
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 crystaldisplay (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.
6
7/31/2019 Wk 214mod Doc
7/90
TECHNICAL SPECIFICATIONS
7
7/31/2019 Wk 214mod Doc
8/90
TECHNICAL SPECIFICATIONS
Title of the project : Automatic Intelligent Room Light Controller using
89S52 MCU with auto door opening/closing
Domain : Embedded Systems Design
Software : Embedded C, Keil, Proload
Microcontroller : AT89S52
Power Supply : +5V, 500mA Regulated Power SupplyDisplay : LCD
LCD : HD44780 16-character, 2-line (16X2)
LED : 5mm
Crystal : 11.0592MHz
Sensor : IR Sensors
8
7/31/2019 Wk 214mod Doc
9/90
LIST OF FIGURES
DESCRIPTION PAGE NO
1. BLOCK DIAGRAM OF 89S52 8
2. BLOCK DIAGRAM OF POWER SUPPLY 8
3. POWER SUPPLY 10
4. PIN DIAGRAM OF 8051 14
5. BLOCK DIAGRAM OF IR RECEIVER 24
6. APPLICATION CIRCUIT FOR IR receiver 24
7. DIP 16 PACKAGE 26
8. PIN CONNECTION OF ULN2003 27
9. STEPPER MOTOR 28
10. STEPPER MOTOR OPERATION 29
11. CROSS SECTION OF VARIABLE RELUCTANCE MOTOR 31
12. PM STEPPER MOTOR PRINCIPLE 32
13. CROSS SCETION OF HYBRID STEPPER MOTOR 32
14. MAGNETIC FLUX PATH TO A 2POLE STEPPER MOTOR WITH LAG 33
BETWEEN ROTOR &STATOR
15. POSITIONAL ACCURACY OF STEPPER MOTOR 35
16. TORQUE VS SPEED CHARACTERISTICS 35
17. SINGLE STEP RESPONSE VS TIME 36
18. CIRCUIT SYMBOL OF A RELAY 38
19. RELAY OPERATION &USE OF PROTECTION DIODES 39
20. PROCEDURE ON 8BIT INITIALIZATION 48
21. INTERFACING SWITCH WITH MICROCONTROLLER 50
22. LED INTERFACING WITH MICRO CONTROLLER 52
23. SCHEMATIC DIAGRAM 54
LIST OF TABLES
9
7/31/2019 Wk 214mod Doc
10/90
1. PORT3 ALTERNATE FUNCTION 17
2. STEPPER MOTOR STEP ANGLE 36
3. LIST COMMANDS WHICH LCD RECOGNISES 45
BLOCK DIAGRAM
10
7/31/2019 Wk 214mod Doc
11/90
BLOCK DIAGRAM OF 89S52
Fig1: Block Diagram Of Automatic room light control
BLOCK DIAGRAM OF POWER SUPPLY:
11
EXIT
SENSOR
IR
89S52
STEPPE
RMOTOR
1
ULN
2003
CRYSTAL
RESET
CIRCUITSTEPPER
MOTOR 2
ENTRYSENSOR
IR
LDR
LCD
7/31/2019 Wk 214mod Doc
12/90
Fig2: Block Diagram Of Power Supply
CHAPTER -1
12
Stepdown
T/F
Bridge
Rectifier
FilterCircuit Regulator
Power supply to all section
7/31/2019 Wk 214mod Doc
13/90
INTRODUCTION
An embedded system is a combination of software and hardware to perform a dedicatedtask.
Some of the main devices used in embedded products are Microprocessors and
Microcontrollers.
Microprocessors are commonly referred to as general purpose processors as they simply
accept the inputs, process it and give the output.
In contrast, a microcontroller not only accepts the data as inputs but also manipulates it,
interfaces the data with various devices, controls the data and thus finally gives the result.
As everyone in this competitive world prefer to make the things easy and simple to handle,
this project sets an example to some extent.
In this busy and competitive world, human cannot spare time to do the things
manually. He tries to atomize the things around him up to a maximum extent. There are
many techniques to automize the things around at the best level. One of the efficient
techniques to automize the things in an easy way is through this project.
13
7/31/2019 Wk 214mod Doc
14/90
CHAPTER-2
14
7/31/2019 Wk 214mod Doc
15/90
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.
Fig3:Power Supply
2.1Transformer:
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
15
RegulatorFilter
Bridge
Rectifier
Step down
transformer
D.C
Output
230V AC
50Hz
7/31/2019 Wk 214mod Doc
16/90
voltage level. This is done by a transformer. Thus, a step down transformer is employed to
decrease the voltage to a required level.
2.2Rectifier:
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.3Filter:
Capacitive filter is used in this project. It removes the ripples from the output of
rectifier and smoothens the D.C. Output received from this filter is constant until the
mains 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.
2.4Voltage regulator:
As the name itself implies, it regulates the input applied to it. A voltage
regulator is an electrical regulator designed to automatically maintain a constant voltage
level. In this project, power supply of 5V and 12V are required. In order to obtain these
voltage levels, 7805 and 7812 voltage regulators are to be used. The first number 78
represents positive supply and the numbers 05, 12 represent the required output voltage
levels.
16
7/31/2019 Wk 214mod Doc
17/90
CHAPTER-3
17
7/31/2019 Wk 214mod Doc
18/90
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 a 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 ofdata 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 NV-
RAM.
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.
18
7/31/2019 Wk 214mod Doc
19/90
The features, pin description of the microcontroller and the software tools used are
discussed in the following sections.
3.1FEATURES OF AT89S52:
4K Bytes of Re-programmable Flash Memory.
RAM is 128 bytes.
2.7V to 6V Operating Range.
Fully Static Operation: 0 Hz to 24 MHz.
Two-level Program Memory Lock.
128 x 8-bit Internal RAM.
32 Programmable I/O Lines.
Two 16-bit Timer/Counters.
Six Interrupt Sources.
Programmable Serial UART Channel.
Low-power Idle and Power-down Modes.
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 high-
density 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
19
7/31/2019 Wk 214mod Doc
20/90
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:
Fig4: Pin diagram of 8051
3.4PIN DESCRIPTION:
Vcc:
Pin 40 provides supply voltage to the chip. The voltage source is +5V.
GND:
20
7/31/2019 Wk 214mod Doc
21/90
Pin 20 is the ground.
XTAL1 and XTAL2:
The 8051 has an on-chip oscillator but requires an external clock to run it. Usually,
a quartz crystal oscillator is connected to inputs XTAL1 (pin19) and XTAL2 (pin18).
There are various speeds of 8051 family. Speed refers to the maximum oscillator
frequency connected to XTAL. When the 8051 is connected to a crystal oscillator and is
powered up, the frequency can be observed on the XTAL2 pin using the oscilloscope.
RESET:
Pin9 is the reset pin. It is an input and is active high. Upon applying a high pulse to
this pin, the microcontroller will reset and terminate all the activities. This is often referred
to as a power-on reset.
EA (External access):
Pin 31 is EA. It is an active low signal. It is an input pin and must be connected to
either Vcc or GND but it cannot be left unconnected.
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 pinmust be connected to GND to indicate that the code is stored externally.
PSEN (Program store enable):
This is an output pin.
21
7/31/2019 Wk 214mod Doc
22/90
ALE (Address latch enable):
This is an output pin and is active high.
Ports 0, 1, 2 and 3:
The four ports P0, P1, P2 and P3 each use 8 pins, making them 8-bit ports. All the
ports upon RESET are configured as input, since P0-P3 have value FFH on them.
Port 0(P0):
Port 0 is also designated as AD0-AD7, allowing it to be used for both address and
data. ALE indicates if P0 has address or data. When ALE=0, it provides data D0-D7, but
when ALE=1, it has address A0-A7. Therefore, ALE is used for demultiplexing address
and data with the help of an internal latch.
When there is no external memory connection, the pins of P0 must be connected to
a 10K-ohm pull-up resistor. This is due to the fact that P0 is an open drain. With external
pull-up resistors connected to P0, it can be used as a simple I/O, just like P1 and P2. But
the ports P1, P2 and P3 do not need any pull-up resistors since they already have pull-up
resistors internally. Upon reset, ports P1, P2 and P3 are configured as input ports.
Port 1 and Port 2:
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.
22
7/31/2019 Wk 214mod Doc
23/90
Port 3:
Port 3 occupies a total of 8 pins, pins 10 through 17. It can be used as input oroutput. 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.
Table1: Port 3 Alternate Functions
3.5Machine cycle for the 8051:
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 ratingand 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.
23
7/31/2019 Wk 214mod Doc
24/90
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
24
7/31/2019 Wk 214mod Doc
25/90
IR SECTION
4.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.
4.2 INFRARED IN ELECTRONICS
Infra-Red is interesting, because it is easily generated and doesn't suffer
electromagnetic interference, so it is nicely used to communication and control, but it is not
perfect, some other light emissions could contains infrared as well, and that can interfere in
this communication. The sun is an example, since it emits a wide spectrum or radiation.
The adventure of using lots of infra-red in TV/VCR remote controls and other
applications, brought infra-red diodes (emitter and receivers) at very low cost at the market.
25
7/31/2019 Wk 214mod Doc
26/90
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
4.3 IR GENERATION
To generate a 36kHz 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.
26
7/31/2019 Wk 214mod Doc
27/90
on and off this frequency at the transmitter, your receiver's output will indicate when the
transmitter is on or off.
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 50kHz. So, all of them use a different combination of
bits or how to code the transmitted data to avoid interference.
4.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.
27
7/31/2019 Wk 214mod Doc
28/90
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 one-bit 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).
4.5 IR RECEIVER
4.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.
4.5.2 Features:
Photo detector and preamplifier in one package
28
7/31/2019 Wk 214mod Doc
29/90
Internal filter for PCM frequency
Improved shielding against electrical field disturbance
TTL and CMOS compatibility
Output active low
Low power consumption
High immunity against ambient light
Continuous data transmission possible (up to 2400 bps)
Suitable burst length .10 cycles/burst
Fig5: Block Diagram For IR Receiver
Fig6: Application Circuit For IR Receiver
29
7/31/2019 Wk 214mod Doc
30/90
4.5.3 Suitable Data Format
The circuit of the TSOP17 is designed in that way that unexpected output pulses
due to noise or disturbance signals are avoided. A bandpassfilter, an integrator stage and an
automatic gain control are used to suppress such disturbances. The distinguishing mark
between data signal and disturbance signal are carrier frequency, burst length and duty
cycle. The data signal should fulfill the following condition:
Carrier frequency should be close to center frequency of the bandpass (e.g. 38kHz).
Burst length should be 10 cycles/burst or longer.
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.
Up to 1400 short bursts per second can be received continuously.
Some examples for suitable data format are: NEC Code, Toshiba Micom Format,
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:
DC light (e.g. from tungsten bulb or sunlight)
Continuous signal at 38 kHz or at any other frequency
Signals from fluorescent lamps with electronic ballast (an example of the
signal modulation is in the figure below).
30
7/31/2019 Wk 214mod Doc
31/90
Fig7: DIP 16 Package
31
7/31/2019 Wk 214mod Doc
32/90
CHAPTER-5
32
7/31/2019 Wk 214mod Doc
33/90
ULN2003 CURRENT DRIVER
The ULN2003 current driver is a high voltage, high current Darlington arrays each
containing seven open collector Darlington pairs with common emitters. Each channel is
rated at 500mA and can withstand peak currents of 600mA. Suppression diodes are
included for inductive load driving and the inputs are pinned opposite the outputs to
simplify board layout.
These versatile devices are useful for driving a wide range of loads including
solenoids, relays DC motors, LED displays filament lamps, thermal print heads and high
power buffers. This chip is supplied in 16 pin plastic DIP packages with a copper lead
frame to reduce thermal resistance.
33
7/31/2019 Wk 214mod Doc
34/90
Fig8: Pin Connection of ULN 2003
This ULN2003 driver can drive seven relays at a time. The pins 8 and 9 provide
ground and Vcc respectively.
The working of ULN driver is as follows:
It can accept seven inputs at a time and produces seven corresponding outputs. If
the input to any one of the seven input pins is high, then the value at its correspondingoutput pin will be low, for example if the input at pin 6 is high, then the value at the
corresponding output i.e., output at pin 11 will be low. Similarly if the input at a particular
pin is low, then the corresponding output will be high.
34
7/31/2019 Wk 214mod Doc
35/90
STEPPER MOTOR
Fig9: 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 rotorsurrounded by astator.
The most common stepper motors have four stator windings that are paired with a center-
tapped 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.
35
7/31/2019 Wk 214mod Doc
36/90
Fig10: Stepper motor operation
5.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.
36
7/31/2019 Wk 214mod Doc
37/90
5.2 Disadvantages:
1. Resonances can occur if not properly controlled.
2. Not easy to operate at extremely high speeds.
5.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.
5.4 Stepper Motor Types:
There are three basic stepper motor types. They are:
Variable-reluctance
Permanent-magnet
Hybrid
5.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.
37
7/31/2019 Wk 214mod Doc
38/90
Fig 11: Cross-section of a variable reluctance (VR) motor.
5.6 Permanent Magnet (PM)
The permanent magnet step motor is a low cost and low resolution type motor with
typical step angles of 7.5 to 15. (48 24 steps/revolution) PM motors as the name
implies have permanent magnets added to the motor structure. In this type of motor, the
rotor does not have teeth . Instead the rotor is magnetized with alternating north and south
poles situated in a straight line parallel to the rotor shaft. These magnetized rotor poles
provide an increased magnetic flux intensity and because of this the PM motor exhibits
improved torque characteristics when compared with the VR type.
Fig12: PM stepper motor principle Fig13: Cross section of a hybrid stepper motor
5.7 Hybrid (HB):The hybrid stepper motor is more expensive than the PM stepper motor but
provides better performance with respect to step resolution, torque and speed. Typical step
angles for the HB stepper motor range from 3.6 to 0.9 (100 400 steps per revolution).
The hybrid stepper motor combines the best features of both the PM and VR type
stepper motors. The rotor is multi-toothed like the VR motor and contains an axially
38
7/31/2019 Wk 214mod Doc
39/90
magnetized concentric magnet around its shaft. The teeth on the rotor provide an even
better path which helps guide the magnetic flux to preferred locations in the air gap. This
further increases the detent, holding and dynamic torque characteristics of the motor when
compared with both the VR and PM types. This motor type has some advantages such as
very low inertia and a optimized magnetic flow path with no coupling between the two
stator windings. These qualities are essential in some applications.
5.8 When to Use a Stepper Motor:
A stepper motor can be a good choice whenever controlled movement is required.
They can be used to advantage in applications where you need to control rotation angle,
speed, position and synchronism. Because of the inherent advantages listed previously,
stepper motors have found their place in many different applications.
5.9 The Rotating Magnetic Field:
When a phase winding of a stepper motor is energized with current a magnetic flux
is developed in the stator. The direction of this flux is determined by the Right Hand
Rule which states:
If the coil is grasped in the right hand with the fingers pointing in the direction of
the current in the winding (the thumb is extended at a 90 angle to the fingers), then the
thumb will point in the direction of the magnetic field.
The below figure shows the magnetic flux path developed when phase B is
energized with winding current in the direction shown. The rotor then aligns itself so that
the flux 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.
39
7/31/2019 Wk 214mod Doc
40/90
Fig14: Magnetic flux path through a two-pole stepper motor with a lag between the
rotor and stator.
5.10 Torque Generation:
The torque produced by a stepper motor depends on several factors.
The step rate
The drive current in the windings
The drive design or type
In a stepper motor, a torque will be developed when the magnetic fluxes of the rotor
and stator are displaced from each other. The stator is made up of a high permeability
magnetic material. The presence of this high permeability material causes the magnetic flux
to be confined for the most part to the paths defined by the stator structure. This serves to
concentrate the flux at the stator poles. The torque output produced by the motor 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
40
7/31/2019 Wk 214mod Doc
41/90
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.
5.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.
Fig15: Positional accuracy of a stepper motor
5.12 Torque versus Speed Characteristics:
The torque versus speed characteristics are the key to selecting the right motor and
drive method for a specific application. These characteristics are dependent upon (change
with)the motor, excitation mode and type of driver or drive method.
41
7/31/2019 Wk 214mod Doc
42/90
Fig16: Torque versus speed characteristics
5.13 Single Step Response and Resonances:
Stepper motors can often exhibit a phenomena referred to as resonance at certain
step rates. This can be seen as a sudden loss or drop in torque at certain speeds which can
result in missed steps or loss of synchronism. It occurs when the input step pulse rate
coincides with the natural oscillation frequency of the rotor. Often there is a resonance area
around the 100 200 pps region and also one in the high step pulse rate region. The
resonance phenomena of a stepper motor comes from its basic construction and therefore it
is not possible to eliminate it completely. It is also dependent upon the load conditions. It
can be reduced by driving the motor in half or micro stepping modes.
Fig17: Single step response versus time
5.14 Definitions related to stepper motor:
1. Step angle:
42
7/31/2019 Wk 214mod Doc
43/90
Step angle is associated with the internal construction of the motor, in particular the
number of teeth on the stator and the rotor.
The step angle is the minimum degree of rotation associated with a single step.
Step angle Steps per Revolution
0.72 500
1.8 200
2.0 180
2.5 144
5.0 72
7.5 48
15 24
Table 2: Stepper motor step angles
2. Steps per second and rpm relation:
The relation between rpm (revolutions per minute), steps per revolution and steps
per second is as follows:
Steps per second = (rpm*steps per revolution)/60
3. Motor speed:
The motor speed, measured in steps per second (steps/sec) is a function of the
switching rate.
4. Holding torque:
The amount of torque, from an external source, required to break away the shaft from its
holding position with the motor shaft standstill or zero rpm condition.
5.15 STEPPER MOTOR INTERFACING WITH MICROCONTROLLER:
BLOCK DIAGRAM:
43
7/31/2019 Wk 214mod Doc
44/90
44
1 U 16
2 L 15
3 N 14
4 2 13
5 0 126 0 11
7 3 10
8 9
STEPPER
MOTOR
Ground Vcc
AT 89C51
P1.0
P1.1P1.2
P1.3
7/31/2019 Wk 214mod Doc
45/90
CHAPTER-6
45
7/31/2019 Wk 214mod Doc
46/90
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.
Fig18: Circuit symbol of a relay
6.1 Operation:
When current flows 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.
46
7/31/2019 Wk 214mod Doc
47/90
Fig19: Relay Operation and use of protection diodes
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) relays.
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
47
7/31/2019 Wk 214mod Doc
48/90
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.
6.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 terminal 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 relayrelay
and microcontroller.
48
7/31/2019 Wk 214mod Doc
49/90
6.3RELAY INTERFACING WITH THE MICROCONTROLLER:
BLOCK DIAGRAM:
49
1 U 16
2 L 15
3 N 144 2 13
5 0 126 0 117 3 10
8 9
RELAY
LOAD
Gnd Vcc
AT 89C51
P1.0
7/31/2019 Wk 214mod Doc
50/90
DISPLAY COMPONENTS
6.4 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.
6.5 LIQUID CRYSTAL DISPLAY:
LCD stands forLiquid Crystal Display. LCD is finding wide spread use replacing
LEDs (seven segment LEDs or other multi segment LEDs) because of the following
reasons:
1. The declining prices of LCDs.
2. The ability to display numbers, characters and graphics. This is in contrast to LEDs,
which are limited to numbers and a few characters.
3. 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. Ease of programming for characters and graphics.
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.
50
7/31/2019 Wk 214mod Doc
51/90
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
51
FunctionPin
NumberName
Logic
StateDescription
Ground 1 Vss - 0V
Power supply 2 Vdd - +5V
Contrast 3 Vee - 0 Vdd
Control of
operating
4 RS01
D0 D7 are interpreted ascommands
D0 D7 are interpreted as data
5 R/W01
Write data (from controller to
LCD)Read data (from LCD to
controller)
6 E
0
1From 1 to
0
Access to LCD disabled
Normal operatingData/commands are transferred to
LCD
Data / commands
7 D0 0/1 Bit 0 LSB
8 D1 0/1 Bit 1
9 D2 0/1 Bit 2
10 D3 0/1 Bit 3
11 D4 0/1 Bit 4
12 D5 0/1 Bit 5
13 D6 0/1 Bit 6
14 D7 0/1 Bit 7 MSB
7/31/2019 Wk 214mod Doc
52/90
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.
6.5.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:
6.5.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).
6.5.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:
52
7/31/2019 Wk 214mod Doc
53/90
Command RS RW D7 D6 D5 D4 D3 D2 D1 D0Execution
Time
Clear display 0 0 0 0 0 0 0 0 0 1 1.64mS
Cursor home 0 0 0 0 0 0 0 0 1 x 1.64mS
Entry mode set 0 0 0 0 0 0 0 1 I/D S 40uS
Display on/off control 0 0 0 0 0 0 1 D U B 40uS
Cursor/Display Shift 0 0 0 0 0 1 D/C R/L x x 40uS
Function set 0 0 0 0 1 DL N F x x 40uS
Set CGRAM address 0 0 0 1 CGRAM address 40uS
Set DDRAM address 0 0 1 DDRAM address 40uS
Read BUSY flag
(BF)0 1 BF DDRAM address -
Write to CGRAM or
DDRAM
1 0 D7 D6 D5 D4 D3 D2 D1 D0 40uS
Read from CGRAM or
DDRAM1 1 D7 D6 D5 D4 D3 D2 D1 D0 40uS
Table3: List of commands which LCD recognizes
I/D 1 = Increment (by 1) R/L 1 = Shift right
0 = Decrement (by 1) 0 = Shift left
S 1 = Display shift on DL 1 = 8-bit interface
0 = Display shift off 0 = 4-bit interface
D 1 = Display on N 1 = Display in two lines
0 = Display off 0 = Display in one line
U 1 = Cursor on F 1 = Character format 5x10 dots
0 = Cursor off 0 = Character format 5x7 dots
53
7/31/2019 Wk 214mod Doc
54/90
B 1 = Cursor blink on D/C 1 = Display shift
0 = Cursor blink off 0 = Cursor shift
6.5.4 LCD Connection:
Depending on how many lines are used for connection to the microcontroller, there
are 8-bit 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.
6.5.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. ModeDL = 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
54
7/31/2019 Wk 214mod Doc
55/90
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
S = 0 Display shift off
Automatic reset is mainly performed without any problems. Mainly but not always!
If for any reason power supply voltage does not reach full value in the course of 10mS,
display will start perform completely unpredictably. If voltage supply unit can not meet this
condition or if it is needed to provide completely safe operating, the process of
initialization by which a new reset enabling display to operate normally must be applied.
Algorithm according to the initialization is being performed depends on whether
connection to the microcontroller is through 4- or 8-bit interface. All left over to be done
after that is to give basic commands and of course- to display messages.
55
7/31/2019 Wk 214mod Doc
56/90
Fig 20: Procedure on 8-bit initialization.
56
7/31/2019 Wk 214mod Doc
57/90
6.5.6 LCD INTERFACING WITH THE MICROCONTROLLER:
BLOCK DIAGRAM:
57
Vcc
Gnd
PRESET
(CONTRAST
CONTROL)
Vcc
FORBACKLIGHT
PURPOSE
P2.0P2.1
P2.2
89C51 P1.0P1.1P1.2
P1.3
P1.4P1.5
P1.6
P1.7
4 (RS) 1
5 (R/W) 26(EN) 3
LCD
D0
D1D2
D3
D4
D5 15D6 16
D7Gnd
7/31/2019 Wk 214mod Doc
58/90
SWITCH AND LED INTERFACING WITH THE
MICROCONTROLLER:
Switches and LEDs are the most widely used input/output devices of the 8051.
6.6 SWITCH INTERFACING:
CPU accesses the switches through ports. Therefore these switches are connected to
a microcontroller. This switch is connected between the supply and ground terminals. A
single microcontroller (consisting of a microprocessor, RAM and EEPROM and several
ports all on a single chip) takes care of hardware and software interfacing of the switch.
These switches are connected to an input port. When no switch is pressed, reading
the input port will yield 1s since they are all connected to high (Vcc). But if any switch is
pressed, one of the input port pins will have 0 since the switch pressed provides the path to
ground. It is the function of the microcontroller to scan the switches continuously to detect
and identify the switch pressed.
The switches that we are using in our project are 4 leg micro switches ofmomentary type.
Vcc
R
Fig21: Interfacing switch with the microcontroller
58
P2.0
7/31/2019 Wk 214mod Doc
59/90
Thus now the two conditions are to be remembered:
1. 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.
6.7 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.
59
7/31/2019 Wk 214mod Doc
60/90
Fig22: LED Interfacing with the microcontroller
Chapter-7
Working Procedure
This project is useful in all applications where controlling the entry and exit into a
room is needed. In this project we also control the room light. Use of embedded technology
makes this closed loop feedback control system efficient and reliable. Micro controller
(AT89S52) allows dynamic and faster control. AT89S52 micro controller is the heart of the
circuit as it controls all the functions.
60
P1.0
Vcc
7/31/2019 Wk 214mod Doc
61/90
Two IR TX RX pairs are used in this project to identify the entry or exit of the
person. These two IR TX RX pairs are arranged each one on oneside of the door i.e. one
at the entry of the room and other inside the room. The TX and RX are arranged face to
face across the door so that the RX should get IR signal continuously.
Initially the door is closed. Whenever any person comes in front of the door, the IR
RX identifies it since the IR signal gets disturbed. Then the microcontroller opens the entry
door by rotating the stepper motor. After some delay, the door will be closed.
After the person finishes his task and wants to leave the room, he stands near the door, the
second IR pair placed on the other side of the door detects the person and then opens the
door for the person to leave. The microcontroller closes the door only after the person exits
out. And again the entry door sensor will be waiting for the person to enter.
For controlling the room light we use a LDR which is nothing but a light dependent
resistor. The principle of this component is its resistance is inversely proportional to the
intensity of light. Taking this as an advantage we use this component in our project for
controlling the room light. In day time as the intensity of the light will be high, the
resistance of the LDR will be low and hence the light will be in off condition. But in night
times or if the room is dark according to its principle and hardware arrangement the light
should glow, but in contrast to it the light will be in off condition.
The main reason for this action is as there is no one inside the room there is no need of
light. The response of the LDR is sent to the microcontroller and the microcontroller will
take care of the further action.
When a person enters into the room at night time, automatically the light will glow
and when the person leaves the room the light will be off.
61
7/31/2019 Wk 214mod Doc
62/90
Fig23: Schematic diagram
CONCLUSION
62
7/31/2019 Wk 214mod Doc
63/90
Our project is a standalone automatic room light controller with auto door opening
and closing 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.
63
7/31/2019 Wk 214mod Doc
64/90
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 presentinside the room.
64
7/31/2019 Wk 214mod Doc
65/90
65
7/31/2019 Wk 214mod Doc
66/90
66
7/31/2019 Wk 214mod Doc
67/90
REFERENCES
67
7/31/2019 Wk 214mod Doc
68/90
REFERENCES:
1. Embedded System By Raj Kamal
2. 8052 Microcontroller And Embedded Systems By Mazzidi
3. Embedded real time systems By Dr. K.V.K.K.Prasad
4. 8086 micro processor interfacing By A.K.Roy
APPENDIX
68
7/31/2019 Wk 214mod Doc
69/90
691
Features Compatible with MCS-51 Products
8K Bytes of In-System Programmable (ISP) Flash Memory
Endurance: 1000 Write/Erase Cycles
4.0V to 5.5V Operating Range Fully Static Operation: 0 Hz to 33 MHz
Three-level Program Memory Lock 256 x 8-bit Internal RAM 32 Programmable I/O Lines Three 16-bit Timer/Counters Eight Interrupt Sources Full Duplex UART Serial Channel Low-power Idle and Power-down Modes Interrupt Recovery from Power-down ModeWatchdog Timer Dual Data Pointer Power-off Flag
Description
The AT89S52 is a low-power, high-performance CMOS 8-bit microcontroller with 8Kbytes of in-system programmable Flash memory. The device is manufactured using
Atmels high-density nonvolatile memory technology and is compatible with the indus-
try-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 pro-
grammer. 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 con-
tents but freezes the oscillator, disabling all other chip functions until the next interrupt
or hardware reset.
Rev. 1919A-07/01
8-bit
Microcontroller
with 8K Bytes
In-System
Programmable
Flash
AT89S52
7/31/2019 Wk 214mod Doc
70/90
70AT89S522
TQFP
1
2
3
4
5
6
7
8
9
10
11
33
32
31
30
29
28
27
26
25
24
23
44 43 42 41 40 39 38 37 36 35 34
12 13 14 15 16 17 18 19 20 21 22
(MOSI) P1.5
(MISO) P1.6
(SCK) P1.7
RST
(RXD) P3.0
NC
(TXD) P3.1
(INT0) P3.2
(INT1) P3.3
(T0) P3.4
(T1) P3.5
P0.4 (AD4)
P0.5 (AD5)
P0.6 (AD6)
P0.7 (AD7)
EA/VPP
NC
ALE/PROG
PSEN
P2.7 (A15)
P2.6 (A14)
P2.5 (A13)
P1.4P1.3P1.2
P1.1 (T2 EX)
P1.0 (T2)
NCVCC
P0.0 (AD0)P0.1 (AD1)P0.2 (AD2)P0.3 (AD3)
(WR) P3.6(RD) P3.7XTAL2XTAL1GNDGND(A8) P2.0(A9) P2.1(A10) P2.2(A11) P2.3(A12) P2.4
PLCC
7
8
9
10
11
12
13
14
15
16
17
39
38
37
36
35
34
33
32
31
30
29
(MOSI) P1.5
(MISO) P1.6
(SCK) P1.7
RST
(RXD) P3.0
NC
(TXD) P3.1
(INT0) P3.2
(INT1) P3.3
(T0) P3.4
(T1) P3.5
P0.4 (AD4)
P0.5 (AD5)
P0.6 (AD6)
P0.7 (AD7)
EA/VPP
NC
ALE/PROG
PSEN
P2.7 (A15)
P2.6 (A14)
P2.5 (A13)
6 5 4 3 2 1 44 43 42 41 40
18 19 20 21 22 23 24 25 26 27 28
(WR) P3.6(RD) P3.7XTAL2XTAL1GNDNC(A8) P2.0(A9) P2.1(A10) P2.2(A11) P2.3(A12) P2.4
P1.4P1.3P1.2
P1.1 (T2 EX)
P1.0 (T2)
NCVCC
P0.0 (AD0)P0.1 (AD1)P0.2 (AD2)P0.3 (AD3)
Pin ConfigurationsPDIP
1
2
3
4
56
7
8
9
10
11
12
13
14
15
16
17
18
19
20
40
39
38
37
3635
34
33
32
31
30
29
28
27
26
25
24
23
22
21
(T2) P1.0
(T2 EX) P1.1
P1.2
P1.3
P1.4(MOSI) P1.5
(MISO) P1.6
(SCK) P1.7
RST
(RXD) P3.0
(TXD) P3.1
(INT0) P3.2
(INT1) P3.3
(T0) P3.4
(T1) P3.5
(WR) P3.6
(RD) P3.7
XTAL2
XTAL1
GND
VCC
P0.0 (AD0)
P0.1 (AD1)
P0.2 (AD2)
P0.3 (AD3)P0.4 (AD4)
P0.5 (AD5)
P0.6 (AD6)
P0.7 (AD7)
EA/VPP
ALE/PROG
PSEN
P2.7 (A15)
P2.6 (A14)
P2.5 (A13)
P2.4 (A12)
P2.3 (A11)
P2.2 (A10)
P2.1 (A9)
P2.0 (A8)
7/31/2019 Wk 214mod Doc
71/90
71
AT89S52
3
Block Diagram
PORT 2 DRIVERS
PORT 2LATCH
P2.0 - P2.7
FLASHPORT 0LATCHRAM
PROGRAMADDRESSREGISTER
BUFFER
PCINCREMENTER
PROGRAMCOUNTER
DUAL DPTRINSTRUCTION
REGISTER
BREGISTER
INTERRUPT, SERIAL PORT,AND TIMER BLOCKS
STACKPOINTERACC
TMP2 TMP1
ALU
PSW
TIMINGAND
CONTROL
PORT 1 DRIVERS
P1.0 - P1.7
PORT 3LATCH
PORT 3 DRIVERS
P3.0 - P3.7
OSC
GND
VCC
PSEN
ALE/PROG
EA / V PP
RST
RAM ADDR.REGISTER
PORT 0 DRIVERS
P0.0 - P0.7
PORT 1LATCH
WATCHDOG
ISPPORT
PROGRAMLOGIC
7/31/2019 Wk 214mod Doc
72/90
72AT89S524
Pin DescriptionVCC
Supply voltage.
GND
Ground.
Port 0Port 0 is an 8-bit open drain bidirectional I/O port. As anoutput port, each pin can sink eight TTL inputs. When 1sare written to port 0 pins, the pins can be used as high-impedance inputs.
Port 0 can also be configured to be the multiplexed low-order address/data bus during accesses to externalprogram and data memory. In this mode, P0 has internal
pullups.
Port 0 also receives the code bytes during Flash program-ming and outputs the code bytes during program verifica-tion. External pullups are required during programverification.
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 sourcecurrent (I ) because of the internal pullups.IL
In addition, P1.0 and P1.1 can be configured to be thetimer/counter 2 external count input (P1.0/T2) and thetimer/counter 2 trigger input (P1.1/T2EX), respectively, as
shown in the following table.
Port 1 also receives the low-order address bytes duringFlash programming and verification.
Port 2Port 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 bythe internal pullups and can be used as inputs. As inputs,Port 2 pins that are externally being pulled low will sourcecurrent (I ) because of the internal pullups.IL
Port 2 emits the high-order address byte during fetches
from external program memory and during accesses to
external data memory that use 16-bit addresses (MOVX @DPTR). In this application, Port 2 uses strong internal pul-lups when emitting 1s. During accesses to external datamemory that use 8-bit addresses (MOVX @ RI), Port 2emits 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 pullups.The Port 3 output buffers can sink/source four TTL inputs.
When 1s are written to Port 3 pins, they are pulled high bythe internal pullups and can be used as inputs. As inputs,Port 3 pins that are externally being pulled low will sourcecurrent (I ) because of the pullups.IL
Port 3 also serves the functions of various special features
of the AT89S52, as shown in the following table.
Port 3 also receives some control signals for Flash pro-gramming and verification.
RST
Reset input. A high on this pin for two machine cycles whilethe oscillator is running resets the device. This pin drivesHigh for 96 oscillator periods after the Watchdog times out.The DISRTO bit in SFR AUXR (address 8EH) can be usedto 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 latchingthe low byte of the address during accesses to externalmemory. This pin is also the program pulse input (PROG)during Flash programming.
In normal operation, ALE is emitted at a constant rate of1/6 the oscillator frequency and may be used for externaltiming or clocking purposes. Note, however, that one
ALE pulse is skipped during each access to external datamemory.
If desired, ALE operation can be disabled by setting bit 0 ofSFR location 8EH. With the bit set, ALE is active only dur-
ing a MOVX or MOVC instruction. Otherwise, the pin is
Port Pin Alternate Functions
P1.0 T2 (external count input to Timer/Counter 2),
clock-out
P1.1 T2EX (Timer/Counter 2 capture/reload trigger
and direction control)
P1.5 MOSI (used for In-System Programming)
P1.6 MISO (used for In-System Programming)
P1.7 SCK (used for In-System Programming)
Port Pin Alternate Functions
P3.0 RXD (serial input port)
P3.1 TXD (serial output port)
P3.2 INT0 (external interrupt 0)
P3.3 INT1 (external interrupt 1)
P3.4 T0 (timer 0 external input)
P3.5 T1 (timer 1 external input)
P3.6 WR (external data memory write strobe)
P3.7 RD (external data memory read strobe)
7/31/2019 Wk 214mod Doc
73/90
73
AT89S52
5
weakly pulled high. Setting the ALE-disable bit has noeffect if the microcontroller is in external execution mode.
PSEN
Program Store Enable (PSEN) is the read strobe to exter-
nal program memory.
When the AT89S52 is executing code from external pro-
gram memory, PSEN is activated twice each machinecycle, except that two PSEN activations are skipped duringeach access to external data memory.
EA/VPP
External Access Enable. EA must be strapped to GND inorder to enable the device to fetch code from external pro-gram memory locations starting at 0000H up to FFFFH.
Note, however, that if lock bit 1 is programmed, EA will beinternally latched on reset.
EA should be strapped to V CC for internal program execu-tions.
This pin also receives the 12-volt programming enable volt-age (VPP) during Flash programming.
XTAL1
Input to the inverting oscillator amplifier and input to theinternal clock operating circuit.
XTAL2
Output from the inverting oscillator amplifier.
Table 1. AT89S52 SFR Map and Reset Values
0F8H 0FFH
0F0HB
000000000F7H
0E8H 0EFH
0E0HACC
000000000E7H
0D8H 0DFH
0D0HPSW
000000000D7H
0C8HT2CON
00000000
T2MOD
XXXXXX00
RCAP2L
00000000
RCAP2H
00000000
TL2
00000000
TH2
000000000CFH
0C0H 0C7H
0B8HIP
XX0000000BFH
0B0HP3
111111110B7H
0A8HIE
0X0000000AFH
0A0HP2
11111111
AUXR1
XXXXXXX0
WDTRST
XXXXXXXX0A7H
98HSCON
00000000
SBUF
XXXXXXXX9FH
90HP1
1111111197H
88HTCON
00000000
TMOD
00000000
TL0
00000000
TL1
00000000
TH0
00000000
TH1
00000000
AUXR
XXX00XX08FH
80HP0
11111111
SP
00000111
DP0L
00000000
DP0H
00000000
DP1L
00000000
DP1H
00000000
PCON
0XXX000087H
7/31/2019 Wk 214mod Doc
74/90
74AT89S526
Special Function RegistersA map of the on-chip memory area called the Special Func-tion Register (SFR) space is shown in Table 1.
Note that not all of the addresses are occupied, and unoc-cupied addresses may not be implemented on the chip.
Read accesses to these addresses will in general return
random data, and write accesses will have an indetermi-nate effect.
User software should not write 1s to these unlisted loca-tions, since they may be used in future products to invoke
new features. In that case, the reset or inactive values ofthe new bits will always be 0.
Timer 2 Registers: Control and status bits are contained inregisters T2CON (shown in Table 2) and T2MOD (shown in
Table 3) for Timer 2. The register pair (RCAP2H, RCAP2L)
are the Capture/Reload registers for Timer 2 in 16-bit cap-ture mode or 16-bit auto-reload mode.
Interrupt Registers: The individual interrupt enable bitsare in the IE register. Two priorities can be set for each ofthe six interrupt sources in the IP register.
Table 2. T2CON Timer/Counter 2 Control Register
T2CON Address = 0C8H Reset Value = 0000 0000B
Bit Addressable
Bit TF2 EXF2 RCLK TCLK EXEN2 TR2 C/T2 CP/RL2
7 6 5 4 3 2 1 0
Symbol Function
TF2 Timer 2 overflow flag set by a Timer 2 overflow and must be cleared by software. TF2 will not be set wheneither RCLK = 1or TCLK = 1.
EXF2 Timer 2 external flag set when either a capture or reload is caused by a negative transition on T2EX andEXEN2 = 1.When Timer 2 interrupt is enabled, EXF2 = 1 will cause the CPU to vector to the Timer 2 interrupt routine.EXF2 must becleared 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 inserial portModes 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 clockin serial portModes 1 and 3. TCLK = 0 causes Timer 1 overflows to be used for the transmit clock.
EXEN2 Timer 2 external enable. When set, allows a capture or reload to occur as a result of a negative transition onT2EX if Timer2 is not being used to clock the serial port. EXEN2 = 0 causes Timer 2 to ignore events at T2EX.
TR2 Start/Stop control for Timer 2. TR2 = 1 starts the timer.
C/T2 Timer or counter select for Timer 2. C/T2 = 0 for timer function. C/T2 = 1 for external event counter (fallingedge triggered).
CP/RL2 Capture/Reload select. CP/RL2 = 1 causes captures to occur on negative transitions at T2EX if EXEN2 = 1.CP/RL2 = 0causes automatic reloads to occur when Timer 2 overflows or negative transitions occur at T2EX whenEXEN2 = 1. Wheneither RCLK or TCLK = 1, this bit is ignored and the timer is forced to auto-reload on Timer 2 overflow.
7/31/2019 Wk 214mod Doc
75/90
75
AT89S52
7
Dual Data Pointer Registers: To facilitate accessing bothinternal and external data memory, two banks of 16-bit
Data Pointer Registers are provided: DP0 at SFR addresslocations 82H-83H and DP1 at 84H-85H. Bit DPS = 0
in SFR AUXR1 selects DP0 and DPS = 1 selects DP1.The user should always initialize the DPS bit to the
appropriate value before accessing the respective DataPointer Register.
Power Off Flag: The Power Off Flag (POF) is located at bit4 (PCON.4) in the PCON SFR. POF is set to 1 during
power up. It can be set and rest under software control andis not affected by reset.
Table 3a. AUXR: Auxiliary Register
AUXR Address = 8EH Reset Value = XXX00XX0B
Not Bit Addressable
WDIDLE DISRTO DISALE
Bit 7 6 5 4 3 2 1 0
Reserved for future expansion
DISALE Disable/Enable ALE
DISALE Operating Mode
0 ALE is emitted at a constant rate of 1/6 the oscillator frequency
1 ALE is active only during a MOVX or MOVC instruction
DISRTO Disable/Enable Reset out
DISRTO
0 Reset pin is driven High after WDT times out
1 Reset pin is input only
WDIDLE Disable/Enable WDT in IDLE mode
WDIDLE
0 WDT continues to count in IDLE mode
1 WDT halts counting in IDLE mode
Table 3b. AUXR1: Auxiliary Register 1
AUXR1 Address = A2H Reset Value = XXXXXXX0B
Not Bit Addressable
DPS
Bit 7 6 5 4 3 2 1 0
Reserved for future expansion
DPS Data Pointer Register Select
DPS
0 Selects DPTR Registers DP0L, DP0H
1 Selects DPTR Registers DP1L, DP1H
7/31/2019 Wk 214mod Doc
76/90
76AT89S528
Memory OrganizationMCS-51 devices have a separate address space for Pro-gram and Data Memory. Up to 64K bytes each of externalProgram and Data Memory can be addressed.
Program Memory
If the EA pin is connected to GND, all program fetches aredirected to external memory.
On the AT89S52, if EA is connected to V CC, programfetches to addresses 0000H through 1FFFH are directed tointernal memory and fetches to addresses 2000H throughFFFFH are to external memory.
Data MemoryThe AT89S52 implements 256 bytes of on-chip RAM. The
upper 128 bytes occupy a parallel address space to theSpecial Function Registers. This means that the upper 128bytes have the same addresses as the SFR space but arephysically separate from SFR space.
When an instruction accesses an internal location aboveaddress 7FH, the address mode used in the instructionspecifies whether the CPU accesses the upper 128 bytesof RAM or the SFR space. Instructions which use directaddressing access of the SFR space.
For example, the following direct addressing instructionaccesses the SFR at location 0A0H (which is P2).
MOV 0A0H, #data
Instructions that use indirect addressing access the upper
128 bytes of RAM. For example, the following indirectaddressing instruction, where R0 contains 0A0H, accessesthe data byte at address 0A0H, rather than P2 (whoseaddress is 0A0H).
MOV @R0, #data
Note that stack operations are examples of indirectaddressing, so the upper 128 bytes of data RAM are avail-able as stack space.
7/31/2019 Wk 214mod Doc
77/90
77
AT89S52
9
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 write01EH 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 run-
ning. 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 over-
flow reset). When WDT overflows, it will drive an output
RESET HIGH pulse at the RST pin.
Using the WDTTo enable the WDT, a user must write 01EH and 0E1H in
sequence to the WDTRST register (SFR location 0A6H).When the WDT is enabled, the user needs to service it by
writing 01EH and 0E1H to WDTRST to avoid a WDT over-
flow. The 13-bit counter overflows when it reaches 8191
(1FFFH), and this will reset the device. When the WDT is
enabled, it will increment every machine cycle while the
oscillator is running. This means the user must reset the
WDT at least every 8191 machine cycles. To reset the
WDT the user must write 01EH and 0E1H to WDTRST.
WDTRST is a write-only register. The WDT counter cannot
be read or written. When WDT overflows, it will generate an
output RESET pulse at the RST pin. The RESET pulse
duration is 96xTOSC, where TOSC=1/FOSC. To make the
best use of the WDT, it should be serviced in those sec-
tions of code that will periodically be executed within the
time required to prevent a WDT reset.
WDT During Power-down and IdleIn Power-down mode the oscillator stops, which means the
WDT also stops. While in Power-down mode, the user
does not need to service the WDT. There are two methods
of exiting Power-down mode: by a hardware reset or via a
level-activated external interrupt which is enabled prior to
entering Power-down mode. When Power-down is exited
with hardware reset, servicing the WDT should occur as it
normally does whenever the AT89S52 is reset. Exiting
Power-down with an interrupt is significantly different. The
interrupt is held low long enough for the oscillator to stabi-
lize. When the interrupt is brought high, the interrupt is
serviced. To prevent the WDT from resetting the device
while the interrupt pin is held low, the WDT is not started
until the interrupt is pulled high. It is suggested that the
WDT be reset during the interrupt service for the interrupt
used to exit Power-down mode.
To ensure that the WDT does not overflow within a fewstates of exiting Power-down, it is best to reset the WDT
just before entering Power-down mode.
Before going into the IDLE mode, the WDIDLE bit in SFRAUXR is used to determine whether the WDT continues tocount if enabled. The WDT keeps counting during IDLE
(WDIDLE bit = 0) as the default state. To prevent the WDTfrom resetting the AT89S52 while in IDLE mode, the usershould always set up a timer that will periodically exit IDLE,service the WDT, and reenter IDLE mode.
With WDIDLE bit enabled, the WDT will stop to count inIDLE mode and resumes the count upon exit from IDLE.
UARTThe UART in the AT89S52 operates the same way as theUART in the AT89C51 and AT89C52. For further informa-tion on the UART operation, refer to the ATMEL Web site(http://www.atmel.com). From the home page, select Prod-
ucts, then 8051-Architecture Flash Microcontroller, thenProduct Overview.
Timer 0 and 1Timer 0 and Timer 1 in the AT89S52 operate the same way
as Timer 0 and Timer 1 in the AT89C51 and AT89C52. Forfurther information on the timers operation, refer to the
ATMEL Web site (http://www.atmel.com). From the homepage, select Products, then 8051-Architecture FlashMicrocontroller, then Product Overview.
Timer 2
Timer 2 is a 16-bit Timer/Counter that can operate as eithera 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 oscil-
lator periods, the count rate is 1/12 of the oscillator
frequency.
Table 3. Timer 2 Operating Modes
7/31/2019 Wk 214mod Doc
78/90
78AT89S5210
In the Counter function, the register is incremented inresponse to a 1-to-0 transition at its corresponding externalinput pin, T2. In this function, the external input is sampledduring S5P2 of every machine cycle. When the samplesshow a high in one cycle and a low in the next cycle, thecount is incremented. The new count value appears in theregister during S3P1 of the cycle following the one in whichthe transition was detected. Since two machine cycles (24oscillator periods) are required to recognize a 1-to-0 transi-tion, the maximum count rate is 1/24 of the oscillator fre-quency. To ensure that a given level is sampled at leastonce before it changes, the level should be held for at leastone full machine cycle.
Capture ModeIn the capture mode, two options are selected by bitEXEN2 in T2CON. If EXEN2 = 0, Timer 2 is a 16-bit timeror counter which upon overflow sets bit TF2 in T2CON.
This bit can then be used to generate an interrupt. IfEXEN2 = 1, Timer 2 performs the same operation, but a 1-to-0 transition at external input T2EX also causes thecurrent value in TH2 and TL2 to be captured into RCAP2Hand RCAP2L, respectively. In addition, the transition atT2EX causes bit EXF2 in T2CON to be set. The EXF2 bit,like TF2, can generate an interrupt. The capture mode isillustrated in Figure 5.
Auto-reload (Up or Down Counter)Timer 2 can be programmed to count up or down whenconfigured in its 16-bit auto-reload mode. This feature is
invoked by the DCEN (Down Counter Enable) bit located inthe SFR T2MOD (see Table 4). Upon reset, the DCEN bitis set to 0 so that timer 2 will default to count up. WhenDCEN is set, Timer 2 can count up or down, dependin
Top Related