ECE 353 Introduction to Microprocessor Systems Week 12 Michael G. Morrow, P.E. Topics Digital Inputs    Mechanical switches Keypads and keyboards Rotary encoders Displays   LED displays LCD displays.

Download Report

Transcript ECE 353 Introduction to Microprocessor Systems Week 12 Michael G. Morrow, P.E. Topics Digital Inputs    Mechanical switches Keypads and keyboards Rotary encoders Displays   LED displays LCD displays.

ECE 353
Introduction to
Microprocessor Systems
Week 12
Michael G. Morrow, P.E.
Topics
Digital Inputs



Mechanical switches
Keypads and keyboards
Rotary encoders
Displays


LED displays
LCD displays
Mechanical Switches
Types of switches



Poles
Throws
Contact action
Converting switch position to a logic level
Mechanical contact bounce
Debouncing in Hardware



RS latch
Integrator/Schmitt-trigger
Dedicated ICs (MAX6816/7/8)
Mechanical Switches
Debouncing in Software

How to do?
Exercise
1. Develop an algorithm for debouncing of a
single switch. (Assume 0 when pressed.)
2. Draw a flowchart to implement your
algorithm in an ISR that will be invoked
by a periodic timer interrupt.
Implementing repeat and acceleration.
Keypads and Keyboards
Switch connections


Linear
Matrix
Matrix scanning algorithm (keypad example)


Drive columns (rows) low one at a time.
Read the rows (columns), any low rows (columns)
correspond to pressed switches in the column (row).
Matrix Circuit Requirements


Pull-up resistors to ensure that open rows (columns) are
high.
Use open-drain/open-collector driver on each column
(row) to avoid contention issues with multiple presses.
Switch Matrix Issues
Switch Ambiguities


If more than two switches are pressed, may “see”
more switches active than there really are.
(phantom switches)
Can be solved in hardware by placing a series
diode at each switch. (keypad example)
Handling Roll-Over
Another switch is pressed before the current key is
released
This is very common when people type on keyboards –
especially good touch typists
A keyboard provides N-key roll-over if N switches
can be recognized simultaneously
Rotary Encoders
Convert angular position to digital value
Encoding schemes




Single channel incremental encoders
Quadrature Encoders
Absolute Encoders
Indexed Encoders
Interfacing

Software
 Using interrupts or periodic polling

Hardware
 Design logic or use dedicated devices
LED Basics
LEDs are long-life, high-efficiency devices

Temperature/vibration tolerant
Electrical characteristics


Typical small LEDs have IF of 5-20mA
IF in high powered LEDs can be much more
Driver requirements for small LEDs


Current limiting must be provided when
driving LEDs from a voltage source
Many logic gates cannot directly drive LEDs
 Simple transistor switches with current limiting
resistors are the simplest solution
Multiplexed LED Displays
Display types

Driving multi-segment displays
Multiplexed displays





Driver circuits
Refresh rate
Duty cycle
Intensity control
Display driver ICs
LCD Display Characteristics
Numeric, text and/or graphic displays
Extremely low power
Passive
Temperature sensitive
Complex drivers required to create
segment waveforms

Require no net DC offset on segments – on
single polarity systems this adds to driver
complexity
LCD Technology
http://www.sharp.co.jp/sc/library/lcd_e/indexe.htm
Natural state

Molecules are arranged in a loosely ordered fashion
with their long axes parallel.
Aligned state

When coming into contact with a finely grooved
surface (alignment layer), molecules line up in
parallel along the grooves.
LCD Technology
When liquid crystals are sandwiched between upper
and lower plates, they line up with grooves pointing
in directions 'a' and 'b,' respectively. The molecules
along the upper plate point in direction 'a' and those
along the lower plate in direction 'b,' thus forcing the
liquid crystals into a twisted structural arrangement.
(figure shows a 90-degree twist) (TN type liquid
crystal)
LCD Technology
Light passes through liquid
crystals, following the
direction in which the
molecules are arranged.
When the molecule
arrangement is twisted 90
degrees as shown in the
figure, the light also twists
90 degrees as it passes
through the liquid crystals.
LCD Technology
The molecules in liquid
crystals are easily
rearranged by applying
voltage or another
external force. When
voltage is applied,
molecules rearrange
themselves vertically
(along the electric field)
and light passes
straight through.
LCD Technology
Light passes when
two polarizing filters
are arranged with
their axes aligned
(left).
Light is blocked
when two polarizing
filters are arranged
with their axes
perpendicular
(right).
LCD Technology
A combination
of polarizing
filters and
twisted liquid
crystal is used
to create a
liquid crystal
display.
LCD Character Modules
Based on Hitachi LCD-II controller protocol







1 to 4 lines, 8-20 characters per line
4 or 8 bit parallel interface
Motorola style control signals
256 character font
8 user defined characters (CGRAM)
Controllable cursor
2 read/write registers
 Instruction/status
 data
LCD Character Modules
Standard Hardware Interface

Contrast adjustment
 Temperature considerations


Control bus connections
Register addressing
Bus Timing Requirements



Often slower than processor – may require wait states
Sequential operations often require delay
Can drive LCD module bus from I/O pins and
manipulate to get proper waveforms (bit-banging)
Backlights


LED
CCFL/EL
LCD Commands
Commands








Display Clear
Cursor Home
Entry Mode Set
Display On/Off Control
Cursor/Display Shift
Function Set
Set CGRAM Address
Set DDRAM Address
Using BUSY Flag
Designing a Software Interface
What procedures would you write in order to
create a higher-level software interface to the LCD
display?
Build a hierarchy using low-level procedures as
building blocks –








LCD Initialization
Send Command (pass command)
Send Data (pass data)
Check if Busy (return state)
Wait until Ready
Write Character at Location (pass char, location)
Write Character String (pass address)
Write Character String at Location (pass addr, location)
Wrapping Up
Homework #6 due Wednesday, April 25th
Quiz #3 on Thursday, May 3rd at 7:15pm
in 2255EH


Coverage is over Modules 5 and 6.
Same rules as other quizzes, except
calculators will be permitted for numeric
calculations.
Matrix-Connected Switches
Each switch
connected between a
row line and a
column line.
More complicated
circuitry required to
poll switches.
Why connect in a
matrix? Think about
keyboard with 100+
keys...
Back
1
2
3
4
5
6
7
8
9
*
0
#
74C923 20-Key Encoder
Back
Maxim MAX6816/7/8
Back
Quadrature Rotary Encoders
Back
There are normally many electrical cycles
for each mechanical revolution.
Indexed Rotary Encoders
Rotary encoder A/B outputs typically go
through many electrical cycles for a single
revolution of the encoder shaft.

The absolute shaft position is unknown.
An indexed rotary encoder is essentially a
quadrature encoder that has an additional
output that provides a single pulse during
each mechanical revolution.

Back
This reference signal provides a way to
determine the absolute shaft position.
Absolute Rotary Encoders
The n-bit output is directly proportional to
the angular position.
Back
Output
Position
(+/- 22.5°)
Decimal
Binary
Changed Bits
Gray Code
0°
0
000
-
000
45°
1
001
1
001
90°
2
010
2
011
135°
3
011
1
010
180°
4
100
3
110
225°
5
101
1
111
270°
6
110
2
101
315°
7
111
1
100
0°
0
000
3
000
Rotary Encoder with Interrupts
Back
Typical LED Characteristics
Back
LED Displays
Back
MAX7219
Multiplexed Display Driver
Back
Multiplexed
Display
Back
LED current limiting resistors
HW Switch Debouncing
RS Latch
Back
VCC
VCC
HW Switch Debouncing
RC Integrator with Schmitt-trigger gate

VCC
Debounces both press and release
VCC
0V
Back
Keypad
Example
Vdd
D0
1
2
3
4
5
6
7
8
9
*
0
#
D1
BUFFER
D2
D3
OE
/ROW
D Q
D-FF
Back
CLK
/COL
Phantom
Switch
Vdd
D0
1
2
3
4
5
6
7
8
9
*
0
#
D1
BUFFER
D2
D3
OE
/ROW
Z
D Q
D-FF
Z
0
Back
CLK
/COL