Presentation is loading. Please wait.

Presentation is loading. Please wait.

ECE 353 Introduction to Microprocessor Systems Michael Schulte Week 12.

Similar presentations


Presentation on theme: "ECE 353 Introduction to Microprocessor Systems Michael Schulte Week 12."— Presentation transcript:

1 ECE 353 Introduction to Microprocessor Systems Michael Schulte Week 12

2 Administrative Matters Homework #6 due Friday, May 9 th Reading for week 12 (switches, keypads, and displays) Textbook 7.6-7.10 Supplement #5 (Learn@UW) Final exam on Saturday, May 17 th from 7:45am to 9:45am in 3418 EH Cumulative exam covering Modules 1-6 More details coming soon

3 Topics Digital Inputs Mechanical switches Keypads and keyboards Rotary encoders Displays LED displays LCD displays

4 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)MAX6816/7/8

5 Mechanical Switches Debouncing in Software How to do? Exercise 1.Develop an algorithm for debouncing of a single pressed 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.

6 Keypads and Keyboards Switch connections Linear Matrix Keypad scanning Row/column scanningscanning  Algorithm Algorithm Dedicated keypad encoders (74C923)74C923 Keypad issues Phantom keys Roll-over

7 Rotary Encoders Convert angular position to digital value Encoding schemes Quadrature Encoders Absolute Encoders Indexed Encoders Interfacing Software  Using interrupts Using interrupts Hardware  Design logic or use dedicated devices

8 LED Displays Characteristics Driver requirements Display types Drivers Multiplexed displays Driver circuits Refresh rate Duty cycle Intensity control Display Driver ICs LED ISR algorithm and routine

9 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

10 LCD Technology http://en.wikipedia.org/wiki/Liquid_crystal_display 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.

11 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)

12 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.

13 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.

14 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).

15 LCD Technology A combination of polarizing filters and twisted liquid crystal is used to create a liquid crystal display.

16 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 (Character Generator RAM) Controllable cursor 2 read/write registers  Instruction/status  data

17 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

18 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

19 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)

20 Wrapping Up Homework #6 due Friday, May 9th th. Final exam on Saturday, May 17 th from 7:45am to 9:45am in 3418 EH Cumulative exam covering Modules 1-6 More details coming soon

21 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

22 Keypad Example Back

23 Matrix Scanning Algorithm Algorithm Drive columns (or rows) low one at a time. Read the rows (or columns), any low rows (columns) correspond to pressed switches. Circuit Requirements Pull-up resistors to ensure that open rows (or columns) are high. Use open-drain / open-collector driver on each column (row) to avoid contention issues with multiple presses. Switch Ambiguities If more than two switches are pressed, may “see” more switches active than there really are. (phantom paths) Can be solved by placing a series diode at each switch. Back

24 74C923 20-Key Encoder Back

25 Maxim MAX6816/7/8 Back

26 Quadrature Rotary Encoders There are normally many electrical cycles for each mechanical revolution.

27 Back 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. This reference signal provides a way to determine the absolute shaft position. Indexed Rotary Encoders

28 Absolute Rotary Encoders Back Position (+/- 22.5°) Output DecimalBinaryChanged BitsGray Code 0°0°0000- 45°10011 90°20102011 135°30111010 180°41003110 225°51011111 270°61102101 315°71111100 0 °00003 The n-bit output is directly proportional to the angular position.

29 Rotary Encoder with Interrupts Back

30 Typical LED Characteristics Back

31 LED Displays Back

32 MAX7219 Multiplexed Display Driver Back

33 LED current limiting resistors Multiplexed Display

34 HW Switch Debouncing RS Latch Back

35 HW Switch Debouncing Back RC Integrator with Schmitt-trigger gate Debounces both press and release


Download ppt "ECE 353 Introduction to Microprocessor Systems Michael Schulte Week 12."

Similar presentations


Ads by Google