2. Introduction to Embedded System
The embedded system is a combination of computer hardware,
software additional electrical & mechanical parts
A computer is used in such devices primarily as a means to
simplify
the system design and to provide flexibility.
Embedded systems employ the use of a RTOS (Real-Time
Operating System).
3. Block Diagram of Embedded System
SOFTWARE
MEMORY
A/D CPU D/A ACUTATORS
SENSOR HUMAN INTERFERENCE
4. Microcontroller
• A smaller computer.
• On-chip RAM, ROM, I/O ports...
• Example:- Motorola’s 6811, Intel’s 8051 and PIC 16X
CPU RAM ROM
A single chip
I/O Timer
Port Serial
COM
Port
5.
6. The 8051 Microcontroller :
• The 8051 is the first microcontroller of
the MCS-51 family introduced by
Intel Corporation at the end of the
1970’s.
• The 8051 family characteristics:
The 8051 family characteristics:
4K Bytes ROM
128 Bytes RAM
Two timer/counters (16 bit)
A serial port
32 input/output port
Interrupt controller
8. IC 8051 Pin Description
Voltage Supply
(+5V)
Ground
9. IC 8051 Pin Description
Port 0 from
Pin-39 to Pin-32
An 8-bit open drain
bidirectional port.
Used to address both
data and address
10. IC 8051 Pin Description
Port 1 from
Pin-1 to pin-8
8-bit bidirectional
I/O port with
internal pull-ups
11. IC 8051 Pin Description
Port 2 from
Pin-21 to pin-28
Used to access
address and I/O
12. IC 8051 Pin Description
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)
Port 3 from
Pin-10 to Pin-17
13. IC 8051 Pin Description
External memory
reset
Add. Latch
enable
Program Store
Enable
crystal
14. IC 8051 Daily Applications
Digital clock
Moving message display
7 segment display Traffic Light
15. Counter / Timers
Two 16-bit Counter/Timers: TIMER0, TIMER1
Up counters, can interrupt on overflow.
Counts:
- CPU cycles (crystal/12). “Timer”.
-External input (max. half CPU rate). “Counter”.
16. TMOD : Counter/Timer Mode Register
Gate C/T M1 M0 Gate C/T M1 M0
Timer 1 Timer 0
GATE : Permits INTx pin to enable/disable
counter.
- C/T : Set for counter operation, reset for
timer operation.
TMX1 TMX1 TMX1 Description
RST0 RST0 RST0 13 bit timer
RST1 RST1 RST1 16 bit timer
RST2 RST2 RST2 8 bit auto reload
RST3 RST3 RST3 Split timer mode
17. Timer control (TCON)
TF1 TRI TF0 TR0
TF : timer flag
TR : timer run
TF1 is SET if timer exceeds the maximum limit i.e. : FFFF H
TR starts and stops the timer
The following instruction indicates the condition for start n stop respectively
SET B TR0 : starts the timer
CLR B TR0 : stops the timer
18. IC 8051 Addressing Modes
• Immediate addressing modes
ADD A, #23h (Add immediate data to Acc)
• Register addressing modes
ADD A, R2 (Add register to Accumulator)
• Direct addressing modes
ADD A, 40h (Add data at location 40h to Accumulator)
• Register Indirect addressing modes
ADD A,@R2 (Add indirect RAM to Acc)
19. Interrupts in 8051
• An interrupt is an external or internal event that interrupts the microcontroller to
inform it that a device needs its service
• The advantage of interrupts is that the microcontroller can serve many devices
(not all at the same time)
Program Program
Interrupt service
time
20. Interrupts in 8051
Internal Interrupts
EA - ET2 ES ET1 EX1 ET0 EX0
EX0 Enables or disables external interrupt
ET0 Enables or disables timer 0 overflow interrupt
EX1 Enables or disables external interrupt 1
ET1 Enables or disables timer 1 overflow interrupt
ES Enables or disables the serial port interrupt
ET2 Enables or disables timer 2 overflow or capture interrupt
-- Not implemented, reserved for future use
EA Disables all interrupts
External Interrupts
P3.2 INT0 (external interrupt 0)
P3.3 INT1 (external interrupt 1)
21. General Purpose
Microprocessor
CPU for Computers
No RAM, ROM, I/O on CPU chip itself
Example--Intel’s x86: 8086,8088,80386,80486, Pentium
Data Bus Many chips on mother board
CPU
General Serial
Purpose RAM ROM I/O Timer COM
µP Port Port
Address Bus
General-Purpose Microprocessor System
22.
23. The 8085 Microprocessor :
The features of INTEL 8085 are :
It is an 8 bit processor.
It is a single chip N-MOS device with
40 pins.
It has multiplexed address and data
bus.(AD0-AD7).
It works on 5 Volt dc power supply.
The maximum clock frequency is 3
MHz while minimum frequency is
500kHz.
It provides 74 instructions with 5
different addressing modes.
25. IC 8085 Pin Description
• AD0-AD7 Multiplexed Address and data lines.
• A8-A15 Tri-stated higher order address lines.
• ALE Address latch enable is an output signal. It goes high when
operation is started by processor .
• S0,S1 These are the status signals used to indicate type of operation.
_
• RD Read is active low input signal used to read data from I/O
device or memory.
_
• WR Write is an active low output signal used write data on
memory or an I/O device.
26. . .
p ut pt 24H
IC 8085 Pin Description ut h. rru 00
f o hig te
in ress P.
u s o t is le d A
at til i ab ad TR
st k TA
e un as rom an
th th sI
N
k AIT n t
m sf y e
ec l W no star rit r at
ch il ,
y n rio ne
to w it p
ge
d µP or utio
ri c lo
w is
se w, p µP 8 5 ).
l u lo st exe ve ich 80 =0
a
gn it is gh and
e ha h r
si If i d r w l. he O/M
ut e.
h
d u rs s an fte gna h et ( I
tp vic e pt l a si w de
ou de er occ e o
n
g
ig rt rru na ge
ig d at m
sa tr sta te c
di ory
i e in t s wle in
Th dg , re le u es o o em
E
n AP kab eq ckn d rM
t
a
is r TR as tr ta
p p
e
us 1) o
It te m l
Y f re rru rru na /M=
AD a te ig
E
A
se in inte r s (IO
e a o
•R Th is or in ode
P TR p
A 7 .5 IN ut O m
• TR 6 .5, p
ut in I/
5.5, TA
o
is ng
s
ST _ IN hi rki
T o
•R &
w
TR
IN
27. IC 8085 Pin Description
• HOLD & HLDA HOLD is an input signal .When µP receives HOLD signal
it completes current machine cycle and stops executing
next instruction. In response to HOLD µP generates HLDA
that is HOLD Acknowledge signal.
• RESET IN This is input signal. When RESET IN¯ is low µp restarts and
starts executing from location 0000H.
• SID Serial input data is input pin used to accept serial 1 bit data
• VCC & VSS Power supply VCC=+ -5Volt& VSS=-GND reference.
• X1 & X2 These are clock input signals and are connected to external LC
or RC circuit. These are divide by two so if 6 MHz is
connected to X1&X2, the operating frequency becomes 3
MHz
29. Arithmetic and Logical Group
Accumulator:
It is 8 bit general purpose register.
It is connected to ALU. So most of the operations are done in Acc.
Temporary register:
All the arithmetic and logical operations are done in the temporary register
but user can’t access it.
Flag:
It is a group of 5 flip flops used to know status of various operations done.
The Flag Register along with Accumulator is called PSW
or Program Status Word.
30. Arithmetic and Logical Group
Flag is given by :
S Z - AC - P - CY
S: Sign flag is set when result of an operation is negative.
Z: Zero flag is set when result of an operation is 0.
Ac: Auxiliary carry flag is set when there is a carry out of lower nibble or
lower four bits of the operation.
CY: Carry flag is set when there is carry generated by an operation.
P: Parity flag is set when result contains even number of 1’s.
Rest are don’t care flip flops.
31. Register Group
General purpose There are six general purpose registers in 8085 namely
B,C,D,E,H,L These are used for various data manipulations.
Special purpose: There are two special purpose registers in 8085:
SP : (Stack Pointer) This is a temporary storage memory 16 bit register. Since there
are only 6 general purpose registers, there is a need to reuse them
PC : (Program Counter) It is 16 bit register used to point the location from which the
next instruction is to be fetched.
Temporary registers (W,Z):
These are not available for user. These are loaded only when there is an operation
being performed.
32. IC 8085 Addressing modes
• Immediate addressing:
Immediate data is transferred to address or register.
Example : MVI A,20H
• Register addressing:
Data is transferred from one register to other.
Example : MOV A, C
• Indirect addressing:
Data is transferred from address pointed by the data in
a register to other register or vice-versa.
Example: MOV A, M
• Implied addressing:
These doesn’t require any operand. The data is specified
in Opcode itself.
Example: RAL: Rotate left with carry.
33. Interrupts in 8085
• An interrupt is considered to be an emergency signal that may be serviced. The
Microprocessor may respond to it as soon as possible.
Interrupts can also be classified into:
• Maskable Interrupts (Can be delayed or Rejected)
• Non-Maskable Interrupts (Can not be delayed or Rejected)
The 8085 has 5 interrupt inputs :
The INTR input INTR is mask-able using the EI/DI instruction pair.
RST 5.5, 6.5, 7.5 They are all mask-able.
TRAP Is the only non-mask-able interrupt in the 8085
34. Interrupts in 8085
The 8085 recognizes 8 RESTART instructions: RST0 - RST7 . Each of these would send
the execution to a predetermined hard-wired memory location:
Restart Instruction Equivalent to
RST0 CALL 0000H
RST1 CALL 0008H
RST2 CALL 0010H
RST3 CALL 0018H
RST4 CALL 0020H
RST5 CALL 0028H
RST6 CALL 0030H
RST7 CALL 0038H
35. Timing and State Diagram
• The µP operates with reference to clock signal. The rise and fall of the pulse of the
clock gives one clock cycle.
• Each clock cycle is called a T state and a collection of several T states gives a
machine cycle.
• Important machine cycles are :
I. Op-code fetch.
II. Memory read.
III. Memory write.
IV. I/Op-read.
V. I/O write.
37. Seven Segment Display
Seven segments are electronic
components that can be used to
displaying alphanumeric characters, 7
LED are used (as shown in figure) and is
designed from a dot-point with the size.
<< pin configuration of seven segment
38. Seven Segment Display
7 pins of the microcontroller are used to shape the
character of your LED display
Microcontroller
Port Relations Microcontroller with pin >>
7 Segment
41. Software’s
Used
Keil Top View Express
µVision Simulator PCB
42. Keil µVision IDE
The µVision IDE from Keil
combines project management,
make facilities, source code
editing, program debugging, and
complete simulation in one
powerful environment. The
µVision development platform is
easy-to-use and helping you
quickly create embedded
programs that work. The µVision
editor and debugger are
integrated in a single application
that provides a seamless
embedded project development
environment.
43.
44. Top View Simulator
• Topview Simulator gives an
excellent simulation environment
for MCS 51 Microcontroller.
A beginner can learn about 8051
based embedded solutions
without any hardware. An
experienced designer, you may
find most of the required facilities
built in the simulator that
enabling you to complete your
next project without waiting for
the target hardware.
46. Express PCB
Express PCB allows you to design
schematics and PCB's. It is ideal
for those that are looking to
design anywhere from a two to
four layer circuit board.
A drop and drag design allows
users to pick the components of
the circuit board and drop it
onto the circuit board in the
software program. The designer
can then place various pins in the
circuit board to show where
things need to be connected.
It also has the ability of the
program to show the designer
where there are flaws in their
design.
47. Express PCB
This way we can include resistors
This way we can include different
kind of IC’s
48. DC Motor interfacing with
Microcontrollers
DC motors are always preferred over stepper motors.
There are many things which we can do with our DC motor when interfaced with
microcontroller.
For example:
• we can control the speed of motor,
• we can control the direction of rotation,
• we can also do encoding of the rotation made by DC motor i.e. keeping track of
how many turns are made by our motors etc.
Usually H-bridge is preffered way of interfacing a DC motor.
L293D is most used H-Bridge driver IC.
49. Working of H-Bridge
The name "H-Bridge" is derived from the actual shape of the switching circuit which
control the motion of the motor. It is also known as "Full Bridge". Basically there are
four switching elements in the H-Bridge as shown
50. Working of H-Bridge
Truth Table
High Left High Right Low Left Low Right Description
Motor runs
On Off Off On
clockwise
Motor runs anti-
Off On On Off
clockwise
Motor stops or
On On Off Off
decelerates
Motor stops or
Off Off On On
decelerates
Truth Table For H-Bridge
51. Stepper Motor
Of all motors, step motor is the easiest to control. It's
handling simplicity is really hard to deny - all there
is to do is to bring the sequence of rectangle
impulses to one input of step controller and
direction information to another input. Direction
information is very simple and comes down to
"left" for logical one on that pin and "right" for
logical zero.
Motor control is also very simple - every impulse
makes the motor operating for one step and if
there is no impulse the motor won't start. Pause
between impulses can be shorter or longer and it
defines revolution rate. This rate cannot be infinite
because the motor won't be able to "catch up"
with all the impulses (documentation on specific
motor should contain such information)..