Transcript Document
Microcontroller and Systems
Part-5
Anil JB
Assistant Professor
Faculty of Engineering and Technology,
Mody Institute of Technology and science,
Lakshmangarh-332311
Sikar(Raj.)
Interfacing Keyboard and Display Devices
Topics Covered:
Interface switches and keyboard to the
8051
Interface LED displays to the 8051
Overcome Keybounce and multiple key
press problems
Design a microcontroller based system
with keyboard and display devices
Interface and program the LCD controller
Interfacing Switches
VCC
R
ON
P1.0
P1.1
P1.2
P1.3
P1.4
P1.5
P1.6
P1.7
8051
DIP
SWITCH
What is a Keyboard ?
Collection
of keys interfaced to the
microcontroller
Arranged in the form of two
dimensional matrix
Matrix arrangement used for
minimizing the number of port lines
Junction of each row and column
forms the key
Interfacing a Keyboard
+5V
P1.0
P1.1
P1.2
P1.3
P1.4
P1.5
P1.6
P1.7
8051
One key per port line
Interfacing a Keyboard
3
2
1
0
X1
7
6
5
4
X2
B
A
9
8
X3
F
E
D
C
P1.0
10K
PULL-UP
REGISTERS
P1.1
P1.2
P1.3
X4
8051
Y4
P2.3
Y3
P2.2
Y2
P2.1
Y1
P2.0
Keys are organized in two-dimensional matrix to
minimize the number of ports required for interfacing
Interfacing a Keyboard
P1.0
P1.1
D
E
C
O
D
E
R
X1
X2
X3
X4
8051
10K
10K
10K
3
2
1
0
10K
7
6
5
4
10K
B
A
9
8
F
E
D
C
Y4
P2.3
Y3
P2.2
Y2
P2.1
10K
Pull-up
registers
10K
10K
Y1
P2.0
Use of decoder further reduces the number of port
lines required
Key Issues
Key
bounce can be overcome using
Software/Hardware approach
Keyboard Scanning
Multiple Key Closure
2-key lockout
2-key rollover
Minimize Hardware Requirement:
Use of Keyboard Encoder
Minimize
Software Overhead
Key bounce
VC
C1
S
1
R2
0.1F
R1
220 K
4.7K
2
P
O
R
T
1
L
I
N
E
S
2
3
74HC14
3
Hardware approach to overcome key-bounce
Keyboard Scanning
2
1
START
READ ALL PORT2 LINES
INITIALIZE PORT2 AS
INPUT AND PORT1 AS
OUTPUT
NO
SET ALL PORT1
LINES LOW
ANY KEY
CLOSED?
YES
READ ALL PORT2
LINES
DELAY FOR DEBOUNCE
SET PORT VALUES TO
SCAN ROW
ANY KEY
CLOSED?
NO
SET PORT VALUES TO
SCAN NEXT ROW
YES
GET KEYCODE FROM
TABLE
2
NO
ALL KEYS
OPEN?
YES
1
READ ALL PORT2 LINES
NO
RETURN
ANY KEY
CLOSED?
YES
2
Software approach for keyboard scanning
Hardware Approach
Use of an Encoder
Automatically translates key press code into
4-bit number
Built-in scanning circuit
Overcomes key bounce using a single
capacitor (1 µF for debounce time of 10 msec)
Keyclosure indicated by an output (DA) line
Last key pressed is stored in a latch
Examples of Encoder
20 key encoder – 74C923
16 key encoder - 74C922
Scanning by Hardware
4X4
KEYBOARD
BOARD
D
C
B
A
X1
X2
X3
X4
P1.0
P1.1
P1.2
P1.3
OE
Y1
Y2
Y3
Y4
OSC
0.1F
74C922
D
A
Port line /
Interrupt
input
KBM
8051
X1
X2
X3
1 .0 F
X4
SWITCH
CLOSED
Minimizes software overhead
at the expense of extra hardware
DATA OUTPUT
D C B A
Y1 X1
0 0 0 0
Y1 X2
0 0 0 1
Y1 X3
0 0 1 0
Y1 X4
0 0 1 1
Y2 Y1
0 1 0 0
Y2 Y2
0 1 0 1
Y2 Y3
0 1 1 0
Y2 Y4
0 1 1 1
Y4 X4
1 1 1 1
Display Devices
Most popular display device: LED
Very tiny in size
Available in many colors
Very reliable and rugged
Long life
Operates at low voltage
Small power consumption
Visible in darkness
Single LED
Bicolor LED
Seven Segment Displays
Common Cathode Form (ICM 7218D)
Common Anode Form (ICM 7218C)
Consumes large amount of current
Interfacing a single LED
Vcc
R
IF
LED
Driver circuit to
interface a single LED
SWITCH
Vt
R2
R1
Vcc
Port
line
R1
R1
Port
line
VF
Port
line
Seven Segment LEDs
a
f
e
b
a
b
c
d
e
f
g
dp
a
b
c
d
e
g
f
dp
g c
d
d
p
Common anode
Common Cathode
a
Two types: Common
cathode and common
anode type
a
e
b
b
e
c
c
b
b
g
g
c
e
d
d
f
b
f
b
f
g
g
g
c
c
e
d
f
f
c
c
a
b
f
c
e
b
g
g
e
c
d
a
b
d
a
a
a
a
Seven-segment LEDs
can be conveniently used
to display HEX characters
a
f
g
g
c
a
e
d
d
a
a
f
b
a
f
f
g
e
e
d
c
d
e
g
g
e
d
Interfacing multiple 7-Segment LEDs
+5V
3.9 K
A0
1
A1
7
A2
8
14
2 4
A3
150
11
75491
3
5
10
12
6 9 13
B1
1
7
9 13
3
5
B2
8
10
B3
14
B0
2 4
6
75491
a
12
11
150
3.9 K
+5V
+5V
3.9 K
11
75492
S0
3
2
S1
5
6
S2
8
7
S3
9
S4
10
12
S5
14
13
4
1
b c
d
e
f
g
d
p
a
b c
d
e
f
g
d
p
Multidigit Driver
Features of Multidigit Driver
8-segment driver output lines
8-digit driver lines
20 mA peak current
LEDs can withstand high peak current
Sequencing operation:
Select data using digit address lines DA0-2
Write data using ID0-3 and ID7 lines
Three modes of operation:
HIGH: HEX, LOW: OFF, OPEN: CODEDHELP
Interfacing using Multidigit Driver
P1.0
P1.7
8051
P3.0
d
pg
f
e
d
c
b
a
ID0
ID1
ID2
ID3
ID7
DA0
DA1
DA2
WRITE
MODE
V+
GND
DIGIT1
DIGIT2
DIGIT3
DIGIT4
DIGIT5
DIGIT6
DIGIT7
DIGIT8
ICM7218D
a
b
c
d
e
f
g
dp
1
2
3
4
5
6
7
8
Liquid Crystal Displays
Key features:
Low Power Consumption
Voltage Controlled
Easy to read in bright light
Declining Cost
Ability to display Characters/Graphics
Intelligent controller and LCD display
panels readily available
Liquid Crystal Displays
P1.0
P1.1
P1.2
P1.3
B0
B1 DATA IN
B2
B3
P1.4
P1.5
P1.6
P1.7
D0
D1 DIGIT
D2
SELECT
D3
a
DIGIT 1
g
a
DIGIT 2
g
a
OSC
VCC
g
DIGIT 3
DISPLAY MODULE
a
GND
DIGIT 4
g
BACK
PLANE
LCD Display Module
LCD modules:
An LCD panel and small circuit board
containing the controller chip
14 – pin connections to microcontroller
HITACHI’S HD44780 controller can control
up to 80 characters
Easy to program
2 rows, 20/40 character in each row
Each character can be 5X8 or 5X11 matrix
LCD Display Module
CG ROM stores
segment pattern of 192
char.
+5V
CG RAM stores
segment patterns of 16
user-designed char.
An 8-bit instruction
reg.
An 8-bit data reg.
DD RAM stores up to
80 8-bit char. Codes
11 instructions clear
display, return home
2
8
0
5
1
P1.0
P1.1
P1.2
P1.3
P1.4
P1.5
P1.6
P1.7
P3.0
P3.1
P3.2
GND
3
1
D0
D1
D2
D3
D4
D5
D6
D7
RS
R/W
E
LCD Modules