Unit IV - Microcontroller Based System Design
Unit IV - Microcontroller Based System Design
MICROCONTROLLERS
Presentation Slides:
www.sathieshkumar.com/tutorials
Unit IV: MICROCONTROLLER BASED SYSTEM DESIGN
1. Interfacing matrix display
2. (16x2) LCD Presented By,
3. High power devices
4. Optical motor shaft encoder Dr. V. Sathiesh Kumar
5. Stepper Motor Department of Electronics Engg.,
6. DC Motor speed Control using PWM MIT-Anna University
7. ADC, DAC and Relay Interfacing
8. RTC and EEPROM interface using I2C protocol
TEXT BOOK
Muhammad Ali Mazidi, Janice Gillispie Mazidi and Rolin D. McKinley, "The 8051
Microcontroller and Embedded Systems", Second Edition, Pearson Education 2008. Fifth
impression 2011 1
Dr. V. SATHIESH KUMAR Department of Electronics Engg., MIT
MICROPROCESSOR AND MICROCONTROLLER UNIT IV – Microcontroller Based System Design
Dotmatrix Displays:
To interface a single color 8×8 LED matrix with a 8051 microcontroller and display
a few characters in it.
It has long life almost 50,000 hours if properly installed.
Available in different sizes and colors.
Its brightness and colors can be easily controlled.
It is capable of outputting 135 lumens/watt.
With low-voltage scanning, 8×8 LED Matrix LED display have advantages such as
power saving, long service life, low cost, high brightness, a wide angle of view, long
visual range, waterproofs and so on.
E.g. 5x7, 8x8, common anode, and common cathode types are available.
2
Dr. V. SATHIESH KUMAR Department of Electronics Engg., MIT
MICROPROCESSOR AND MICROCONTROLLER UNIT IV – Microcontroller Based System Design
Dotmatrix Displays:
An LED dot matrix display consists of a matrix of LED’s arranged in a rectangular
configuration.
An 8×8 matrix consists of 64 dots or pixels.
There is a LED for each pixel and these LEDs are connected to total of 16 pins.
The dot matrix display has 64 LEDs and evenly grouped into 8 columns and 8 rows.
Any individual LED or a group of LEDs in the matrix can be activated by switching the
required number of rows and columns.
For example, if Row1 is made high and Column1 is made low, the top left LED
(address R1C1) will glow.
3
Dr. V. SATHIESH KUMAR Department of Electronics Engg., MIT
MICROPROCESSOR AND MICROCONTROLLER UNIT IV – Microcontroller Based System Design
Dotmatrix Displays:
4
Dr. V. SATHIESH KUMAR Department of Electronics Engg., MIT
MICROPROCESSOR AND MICROCONTROLLER UNIT IV – Microcontroller Based System Design
Dotmatrix Displays:
5
Dr. V. SATHIESH KUMAR Department of Electronics Engg., MIT
MICROPROCESSOR AND MICROCONTROLLER UNIT IV – Microcontroller Based System Design
Dotmatrix Displays:
ROW EQU P3
COL EQU P2
ORG 00H
MOV COL,#00000000B ; initializes port 2 as output port
MOV ROW,#00000000B ; initializes port 3 as output port
MAIN: LCALL LET_A
SJMP MAIN ; jumps back to the main loop
6
Dr. V. SATHIESH KUMAR Department of Electronics Engg., MIT
MICROPROCESSOR AND MICROCONTROLLER UNIT IV – Microcontroller Based System Design
Dotmatrix Displays:
LET_A: MOV P3,#01111110B
MOV COL,#11111110B
ACALL DELAY
MOV P3,#00010001B
MOV COL,#11111101B
ACALL DELAY
MOV P3,#00010001B
MOV COL,#11111011B
ACALL DELAY
MOV P3,#00010001B
MOV COL,#11110111B
ACALL DELAY
MOV P3,#01111110B
MOV COL,#11101111B A
CALL DELAY
RET 7
Dr. V. SATHIESH KUMAR Department of Electronics Engg., MIT
MICROPROCESSOR AND MICROCONTROLLER UNIT IV – Microcontroller Based System Design
Dotmatrix Displays:
DELAY: MOV R6,#20D ; 20ms delay subroutine
HERE1: MOV R5,#255D
HERE: DJNZ R5,HERE
DJNZ R6,HERE1
RET
END
8
Dr. V. SATHIESH KUMAR Department of Electronics Engg., MIT
MICROPROCESSOR AND MICROCONTROLLER UNIT IV – Microcontroller Based System Design
9
Dr. V. SATHIESH KUMAR Department of Electronics Engg., MIT
MICROPROCESSOR AND MICROCONTROLLER UNIT IV – Microcontroller Based System Design
10
Dr. V. SATHIESH KUMAR Department of Electronics Engg., MIT
MICROPROCESSOR AND MICROCONTROLLER UNIT IV – Microcontroller Based System Design
11
Dr. V. SATHIESH KUMAR Department of Electronics Engg., MIT
MICROPROCESSOR AND MICROCONTROLLER UNIT IV – Microcontroller Based System Design
13
Dr. V. SATHIESH KUMAR Department of Electronics Engg., MIT
MICROPROCESSOR AND MICROCONTROLLER UNIT IV – Microcontroller Based System Design
14
Dr. V. SATHIESH KUMAR Department of Electronics Engg., MIT
MICROPROCESSOR AND MICROCONTROLLER UNIT IV – Microcontroller Based System Design
15
Dr. V. SATHIESH KUMAR Department of Electronics Engg., MIT
MICROPROCESSOR AND MICROCONTROLLER UNIT IV – Microcontroller Based System Design
17
Dr. V. SATHIESH KUMAR Department of Electronics Engg., MIT
MICROPROCESSOR AND MICROCONTROLLER UNIT IV – Microcontroller Based System Design
18
Dr. V. SATHIESH KUMAR Department of Electronics Engg., MIT
MICROPROCESSOR AND MICROCONTROLLER UNIT IV – Microcontroller Based System Design
20
Dr. V. SATHIESH KUMAR Department of Electronics Engg., MIT
MICROPROCESSOR AND MICROCONTROLLER UNIT IV – Microcontroller Based System Design
21
Dr. V. SATHIESH KUMAR Department of Electronics Engg., MIT
MICROPROCESSOR AND MICROCONTROLLER UNIT IV – Microcontroller Based System Design
Control Word
A B A B (Clockwise)
0 1 1 1 0x07
1 0 1 1 0x0B
1 1 0 1 0x0D
1 1 1 0 0x0E
22
Dr. V. SATHIESH KUMAR Department of Electronics Engg., MIT
MICROPROCESSOR AND MICROCONTROLLER UNIT IV – Microcontroller Based System Design
Control Word
A B A B (Clockwise)
0 0 1 1 0x03
1 0 0 1 0x09
1 1 0 0 0x0C
0 1 1 0 0x06
23
Dr. V. SATHIESH KUMAR Department of Electronics Engg., MIT
MICROPROCESSOR AND MICROCONTROLLER UNIT IV – Microcontroller Based System Design
24
Dr. V. SATHIESH KUMAR Department of Electronics Engg., MIT
MICROPROCESSOR AND MICROCONTROLLER UNIT IV – Microcontroller Based System Design
26
Dr. V. SATHIESH KUMAR Department of Electronics Engg., MIT
MICROPROCESSOR AND MICROCONTROLLER UNIT IV – Microcontroller Based System Design
27
Dr. V. SATHIESH KUMAR Department of Electronics Engg., MIT
MICROPROCESSOR AND MICROCONTROLLER UNIT IV – Microcontroller Based System Design
28
Dr. V. SATHIESH KUMAR Department of Electronics Engg., MIT
MICROPROCESSOR AND MICROCONTROLLER UNIT IV – Microcontroller Based System Design
29
Dr. V. SATHIESH KUMAR Department of Electronics Engg., MIT
MICROPROCESSOR AND MICROCONTROLLER UNIT IV – Microcontroller Based System Design
30
Dr. V. SATHIESH KUMAR Department of Electronics Engg., MIT
MICROPROCESSOR AND MICROCONTROLLER UNIT IV – Microcontroller Based System Design
31
Dr. V. SATHIESH KUMAR Department of Electronics Engg., MIT
MICROPROCESSOR AND MICROCONTROLLER UNIT IV – Microcontroller Based System
Design
8051 Microcontroller: Stepper Motor Interfacing – 8 Step Sequence
DELAY: MOV R2, #255
H1: MOV R3, #255
H2: DJNZ R3, H2
DJNZ R2, H1
RET
ORG 0200H
DB 09H, 08H, 0CH, 04H, 06H, 02H, 03H, 01H
END
32
Dr. V. SATHIESH KUMAR Department of Electronics Engg., MIT
MICROPROCESSOR AND MICROCONTROLLER UNIT IV – Microcontroller Based System
Design
A direct current (DC) motor is another widely used device that translates
electrical pulses into mechanical movement.
Polarity on the leads of DC motor determines the direction of rotation. Eg:
CPU Fan.
DC motor moves continuously.
Speed of the motor depends on three factors: a) load, b) voltage rating and c)
current rating.
DC motor has two rpm: no load and loaded. Manufacturer datasheet gives
the no-load rpm (few thousands to tens of thousands).
The current rating is the current consumption when the nominal voltage is
applied with no load, and can be from 25 mA to few amps.
Increase in voltage (1 to 150 V) will result in increase in rpm.
Pulse width Modulation (PWM): Wider the pulse, higher the speed. 33
Dr. V. SATHIESH KUMAR Department of Electronics Engg., MIT
MICROPROCESSOR AND MICROCONTROLLER UNIT IV – Microcontroller Based System
Design
As the load increases, the rpm is decreased, unless the current or voltage
provided to the motor is increased, which in turn increases the torque.
With a fixed voltage, as the load increases, the current (power) consumption
of a DC motor is increased.
If we overload the motor it will stall, and that can damage the motor due to
the heat generated by high current consumption.
34
Dr. V. SATHIESH KUMAR Department of Electronics Engg., MIT
MICROPROCESSOR AND MICROCONTROLLER UNIT IV – Microcontroller Based System
Design
With the help of relays or some specially designed chips we can change the
direction of the DC motor rotation.
H-Bridge control of DC motors.
35
Dr. V. SATHIESH KUMAR Department of Electronics Engg., MIT
MICROPROCESSOR AND MICROCONTROLLER UNIT IV – Microcontroller Based System
Design
When switches 1 and 4 are closed, current is allowed to pass through the
motor.
36
Dr. V. SATHIESH KUMAR Department of Electronics Engg., MIT
MICROPROCESSOR AND MICROCONTROLLER UNIT IV – Microcontroller Based System
Design
When switches 2 and 3 are closed, current is allowed to pass through the
motor in opposite direction.
37
Dr. V. SATHIESH KUMAR Department of Electronics Engg., MIT
MICROPROCESSOR AND MICROCONTROLLER UNIT IV – Microcontroller Based System
Design
38
Dr. V. SATHIESH KUMAR Department of Electronics Engg., MIT
MICROPROCESSOR AND MICROCONTROLLER UNIT IV – Microcontroller Based System
Design
39
Dr. V. SATHIESH KUMAR Department of Electronics Engg., MIT
MICROPROCESSOR AND MICROCONTROLLER UNIT IV – Microcontroller Based System
Design
40
Dr. V. SATHIESH KUMAR Department of Electronics Engg., MIT
MICROPROCESSOR AND MICROCONTROLLER UNIT IV – Microcontroller Based System
Design
41
Dr. V. SATHIESH KUMAR Department of Electronics Engg., MIT
MICROPROCESSOR AND MICROCONTROLLER UNIT IV – Microcontroller Based System
Design
43
Dr. V. SATHIESH KUMAR Department of Electronics Engg., MIT
MICROPROCESSOR AND MICROCONTROLLER UNIT IV – Microcontroller Based System
Design
The speed of the motor depends on three factors: (a) Load, (b) Voltage and
(c) Current.
For a given load, steady speed can be maintained by pulse width modulation
(PWM).
By changing the width of the pulse applied to the DC motor we can increase
or decrease the amount of power provided to the motor, thereby increasing or
decreasing the motor speed.
44
Dr. V. SATHIESH KUMAR Department of Electronics Engg., MIT
VE7104: INTRODUCTION
MICROPROCESSOR TO EMBEDDED CONTROLLERS
AND MICROCONTROLLER UNIT
UNIT IV – Microcontroller Based II & IV
System
Design
45
Dr. V. SATHIESH KUMAR Department of Electronics Engg., MIT
MICROPROCESSOR AND MICROCONTROLLER UNIT IV – Microcontroller Based System
Design
A switch is connected to pin P3.2, which is the INT0 pin. Normally, the DC
motor rotates with 33% duty cycle. When INT0 is activated, the motor runs with
10% duty cycle for a short duration.
; upon wake-up, avoid using the space allocated to interrupt vector table
ORG 0000H
LJMP MAIN
; ISR for interrupt INT0
ORG 0003H
SJMP ISR
; main program
ORG 0030H
MAIN: SETB IT0 ; negative edge interrupt interrupt
MOV IE, #81H ;enable INT0 46
Dr. V. SATHIESH KUMAR Department of Electronics Engg., MIT
MICROPROCESSOR AND MICROCONTROLLER UNIT IV – Microcontroller Based System
Design
CLR P1.0
MOV R0, #90 ; P1.0 is cleared with 90% time period
ACALL DELAY
DJNZ R5, THERE ; exit from ISR when R5=0
RETI
DELAY: ; Delay subroutine
RPT1: MOV R1, #20 ; create a delay
RPT2: MOV R2, #100
RPT3: DJNZ R2, RPT3
DJNZ R1, RPT2
DJNZ R0, RPT1
RET
END 48
Dr. V. SATHIESH KUMAR Department of Electronics Engg., MIT
MICROPROCESSOR AND MICROCONTROLLER UNIT IV – Microcontroller Based System
Design
49
Dr. V. SATHIESH KUMAR Department of Electronics Engg., MIT
MICROPROCESSOR AND MICROCONTROLLER UNIT IV – Microcontroller Based System
Design
50
Dr. V. SATHIESH KUMAR Department of Electronics Engg., MIT
MICROPROCESSOR AND MICROCONTROLLER UNIT IV – Microcontroller Based System Design
51
Dr. V. SATHIESH KUMAR Department of Electronics Engg., MIT
MICROPROCESSOR AND MICROCONTROLLER UNIT IV – Microcontroller Based System Design
52
Dr. V. SATHIESH KUMAR Department of Electronics Engg., MIT
MICROPROCESSOR AND MICROCONTROLLER UNIT IV – Microcontroller Based System Design
53
Dr. V. SATHIESH KUMAR Department of Electronics Engg., MIT
MICROPROCESSOR AND MICROCONTROLLER UNIT IV – Microcontroller Based System Design
54
Dr. V. SATHIESH KUMAR Department of Electronics Engg., MIT
MICROPROCESSOR AND MICROCONTROLLER UNIT IV – Microcontroller Based System Design
01001101 = 77
V = 77 *(5000 mV/255)
V = 1.50 V
+5V
55
Dr. V. SATHIESH KUMAR Department of Electronics Engg., MIT
MICROPROCESSOR AND MICROCONTROLLER UNIT IV – Microcontroller Based System Design
56
Dr. V. SATHIESH KUMAR Department of Electronics Engg., MIT
MICROPROCESSOR AND MICROCONTROLLER UNIT IV – Microcontroller Based System Design
59
Dr. V. SATHIESH KUMAR Department of Electronics Engg., MIT
MICROPROCESSOR AND MICROCONTROLLER UNIT IV – Microcontroller Based System Design
60
Dr. V. SATHIESH KUMAR Department of Electronics Engg., MIT
MICROPROCESSOR AND MICROCONTROLLER UNIT IV – Microcontroller Based System Design
61
Dr. V. SATHIESH KUMAR Department of Electronics Engg., MIT
MICROPROCESSOR AND MICROCONTROLLER UNIT IV – Microcontroller Based System Design
62
Dr. V. SATHIESH KUMAR Department of Electronics Engg., MIT
MICROPROCESSOR AND MICROCONTROLLER UNIT IV – Microcontroller Based System Design
63
Dr. V. SATHIESH KUMAR Department of Electronics Engg., MIT
MICROPROCESSOR AND MICROCONTROLLER UNIT IV – Microcontroller Based System Design
64
Dr. V. SATHIESH KUMAR Department of Electronics Engg., MIT
MICROPROCESSOR AND MICROCONTROLLER UNIT IV – Microcontroller Based System Design
ORG 0000H
MOV P2, #00H ; set P2 as output port
BACK1: MOV A, #00H ; Low logic level
BACK: MOV P2, A
INC A ; increase the voltage in steps till maximum
CJNE A, #0FFH, BACK
SJMP BACK1
END
65
Dr. V. SATHIESH KUMAR Department of Electronics Engg., MIT
MICROPROCESSOR AND MICROCONTROLLER UNIT IV – Microcontroller Based System Design
66
Dr. V. SATHIESH KUMAR Department of Electronics Engg., MIT
MICROPROCESSOR AND MICROCONTROLLER UNIT IV – Microcontroller Based System Design
67
Dr. V. SATHIESH KUMAR Department of Electronics Engg., MIT
MICROPROCESSOR AND MICROCONTROLLER UNIT IV – Microcontroller Based System Design
ORG 0000H
MOV A, #00H
LABEL: MOV P2, A ; set P2 as output - Relay
ACALL DELAY
INC A
CJNE A, #10H, LABEL
MOV A, #00H
SJMP LABEL
68
Dr. V. SATHIESH KUMAR Department of Electronics Engg., MIT
MICROPROCESSOR AND MICROCONTROLLER UNIT IV – Microcontroller Based System Design
69
Dr. V. SATHIESH KUMAR Department of Electronics Engg., MIT
MICROPROCESSOR AND MICROCONTROLLER UNIT IV – Microcontroller Based System Design
70
Dr. V. SATHIESH KUMAR Department of Electronics Engg., MIT
MICROPROCESSOR AND MICROCONTROLLER UNIT IV – Microcontroller Based System Design
Summary
1. Dot matrix displays
2. 16 x 2 LCD
3.Stepper Motor Interfacing
4. DC motor Interfacing
5.ADC and DAC interfacing
6.Relay Interfacing
71
Dr. V. SATHIESH KUMAR Department of Electronics Engg., MIT