Advanced Digital Circuits ECET 146 Week 9 Professor Iskandar Hack ET 221G, 481-5733

Slides:



Advertisements
Similar presentations
8086 [2] Ahad. Internal! External? 8086 vs _bit Data Bus 20_bit Address 8_bit Data Bus 20_bit Address Only external bus of 8088 is.
Advertisements

Modulo-N Counters Module M10.4 Section 7.2.
Lecture 23: Registers and Counters (2)
Lab 9: Matrix Keypad : ”No Key Press” Analysis Slide #2 Slide #3 ”Press and Hold Key 5” Analysis.
EET 252 Digital Systems II Professor Nick Reeder.
Lab 7 : Decoders/Encoders : Slide #2 Slide #3 Slide #4 Slide #5 Slide #6 “1 of 10” Encoder “1 of 10” Encoder Connected to a SPST Keypad. Control Signal.
1 Design a state machine to display a character of string HELLO using a seven segment display How many state we need? –Five, one for each character –In.
Programmable Interval Timer
555 Timer ©Paul Godin Updated February Oscillators ◊We have looked at simple oscillator designs using an inverter, and had a brief look at crystal.
MICROCONTROLLERS MODULE 2 Programming, Controlling and Monitoring.
Advanced Digital Circuits ECET 146 Week 9 Professor Iskandar Hack ET 221B,
Mark Neil - Microprocessor Course 1 Decoding and Using a 4x4 Keyboard.
7-1 Keypad Scanning interface Used for interfacing push-button(momentary) switches Used for large number(>8) push-buttons Relies on matrix arrangement.
ECE 265 – LECTURE 13 Interface to switches and LEDs 7/3/ ECE265.
Digital I/O Connecting to the Outside World
EEE305 Microcontroller Systems Lecture 5B: Simple I/O Embedded C using PIC microcontrollers Teaching resources on on
Embedded Programming and Robotics Lesson 9 Keypad and LCD Display 1.
State Machine Design State Machine Design Digital Electronics
Advanced Digital Circuits ECET 146 Week 3 Professor Iskandar Hack ET 221B,
UNIT 8 Keypad Interface Contact Closure Counter Exceptions (Interrupts and Reset)
A Simple Tour of the MSP430. Light LEDs in C LEDs can be connected in two standard ways. Active high circuit, the LED illuminates if the pin is driven.
Advanced Digital Circuits ECET 146 Week 7 Professor Iskandar Hack ET 221B,
CprE 211 Break-out Board Layout
The 8051 Microcontroller and Embedded Systems
MOBILE OPERATING ROBOT ON EMBEDDED SYSTEM
8086/8088 Hardware Specifications Power supply:  +5V with tolerance of ±10%;  360mA. Input characteristics:  Logic 0 – 0.8V maximum, ±10μA maximum;
Advanced Digital Circuits ECET 146 Week 5 Professor Iskandar Hack ET 221G, Me as I typed this slides.
Advanced Digital Circuits ECET 146 Week 4 Professor Iskandar Hack ET 221G,
Memory Layout and SLC500™ System Addresses. Processor Memory Division An SLC 500 processor's memory is divided into two storage areas. Like two drawers.
Advanced Digital Circuits ECET 146 Week 5 Professor Iskandar Hack ET 221B,
Advanced Digital Circuits ECET 146 Week 2 Professor Iskandar Hack ET 221B,
University of Houston ECE 5440/6370 Advanced Digital Design Lecture on Debouncing Circuit Yuhua Chen Spring 2010.
8279 KEYBOARD AND DISPLAY INTERFACING
Copyright © 1997 Altera Corporation 6/5/2016 P.1 AHDL Training Class Danny Mok Altera HK FAE
Advanced Digital Circuits ECET 146 Week 6 Professor Iskandar Hack ET 221G, Me as I typed this slides.
Digital Inputs Interfacing Keypad
ECE 448: Lab 4 VGA Display. Bouncing Ball.. Organization and Grading.
State Table Problem #1 An electronic lock is controlled by a keypad, which has three buttons labeled A, B, and R. The keypad is restricted such that, at.
Project: security lock system Idea: –Create a 4bit password using switches –Send data serially (one bit at a time) using an LED –Receive the code serially.
8279 KEYBOARD AND DISPLAY INTERFACING
EE 316 Computer Engineering Junior Lab Project 2 Digital Yahtzee.
Chapter 3 Digital Logic Structures. Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. 3-2 Transistor: Building.
Counters Prepared by: Careene McCallum-Rodney. Introduction Counters uses a Toggle Flip Flops to count either UP or DOWN in binary. A toggle flip flop.
COE4OI5 Engineering Design Chapter 1: The 15 minutes design.
CSCI1600: Embedded and Real Time Software Lecture 16: Advanced Programming with I/O Steven Reiss, Fall 2015.
Alpha/Numeric Keypad Functions using AVR Preliminary Design Review Luke R. Morgan ECE /17/2008.
Lab 2 page 1 ENT-DIGI-210 Lab 2 Notes ©Paul Godin Updated September 2007.
Mark Neil - Microprocessor Course 1 Decoding and Using a 4x4 Keyboard.
ECET 340 Entire Course (All ilabs and Homework) For more classes visit ECET 340 Week 1 HomeWork 1 ECET 340 Week 1 iLab 1 ECET 340.
Interactive Breadboard Spring 2013 Group 21 - Simon Huynh, Norman Lee, Harrison Hilgers TA Dennis Yuan, Professor Carney.
KEYBOARD/DISPLAY CONTROLLER - INTEL Features of 8279 The important features of 8279 are, Simultaneous keyboard and display operations. Scanned keyboard.
TITLE: 555 Timer OM INSTITUTE OF TECHNOLOGY Subject: Analog Electronics ( ) Semester: 03 Prepared By:
FOR MORE CLASSES VISIT   ECET 340 Week 1 HomeWork 1  ECET 340 Week 1 iLab 1  ECET 340 Week 2 HomeWork 2  ECET 340 Week 2 iLab.
WATER LEVEL INDICATOR AND AUTOMATIC MOTOR SWITCHING SYSTEM
BIRLA VISHVAKARMA MAHAVIDYALAYA TOPIC : Keyboard interfacing and flowchart MADE BY: Nidhi Bhangale ( ) Gargi Patel ( ) Meghna Rathod.
Peripherals – Keypad The Keypad provides a simple means of numerical data or control input. The keys can be attributed whatever data or control values.
Logic Gates Practical Objective: to develop an understanding of logic circuits and truth tables.
555 Timer EEE DEPARTMENT KUMPAVAT HARPAL( )
Instructor:Po-Yu Kuo 教師:郭柏佑
ECET 340 Competitive Success/snaptutorial.com
ECET 340 Education for Service-- snaptutorial.com.
ECET 340 Teaching Effectively-- snaptutorial.com.
Keypad Source: under under
Serial EEPROM (Atmel 24C-512)
Instructor:Po-Yu Kuo 教師:郭柏佑
ECE 3130 – Digital Electronics and Design
Keypad Source: under under
Keypad Source: under under
Presentation by Anthony Dotterer
Buttons.
Presentation transcript:

Advanced Digital Circuits ECET 146 Week 9 Professor Iskandar Hack ET 221G,

This Week’s Goals Introduction to Keyboards Development of Scan Function Development of Decode Function Incorporating Keyboard into an example design Lab 8 – Keypad to Seven-Segment-Display

Introduction to Keyboards Almost always built from a array of rows and columns Most use momentary close push-button switches When a switch is closed this causes a short between one column and one row Either the rows or columns are taken high (or low for an active low system) one at a time and the lines for the columns or rows are monitored for a high (or low if active low system)

An Example Keyboard Row Lines are on Pins 1-4 Column Lines are on Pins 5-8

What happens when a button is Pressed If the ‘6’ button is pressed then there will be a short between the 2 nd row (pin 2) and the 3 rd column (pin 7)

Scan Function The purpose of the scan function is to drive the input lines (we’ll use the rows as the inputs in this example) with a high during each clock cycle Take the first row high Then 2 nd rowThen 3 rd Last rowRepeat cycle

Scan Function Designed in AHDL (note in cut and paste format) SUBDESIGN scan ( clk, reset : INPUT; scanlines[3..0] : OUTPUT; ) VARIABLE ss: MACHINE OF BITS (scanlines[3..0]) WITH STATES ( s0 = B"0001", s1 = B"0010", s2 = B"0100", s3 = B"1000"); BEGIN ss.clk = clk; ss.reset = reset; TABLE ss=> ss; s0=> s1; s1=> s2; s2=> s3; s3=> s0; END TABLE; END; Note in this case I’m assigning the Outputs for each state in the declaration. Not always the most best for optimization, But makes the design a bit simpler.

Symbol for Scan Function

Decode Function First of all it must look for a high on ANY of the four return lines (this are the rows in this example) If any input is high then we know a key has been pressed. Then we look at what scan line is high and what return line are high (note there will always a high scan line because of the way we designed the scan function) and decode what key has been pressed. The decode function is unique for every keyboard and the way it’s used in the circuit – for example if we chose to have the scan lines go to the columns and the return lines go to the rows we would have a different table for the decode function. We will have two four bit inputs for this function – scan and return. We’ll have a four bit output for the keycode and an one bit output for active keypress.

Decode Table Guidelines First look at the keyboard layout and what keys are at each row/column position For each position you’ll output that key value when that row/column position is high You only have to include in the table the values for the row/columns of 1, 2, 4 and 8 since only one line can be high (we’re ignoring multiple key presses) at a time

Decode Table Column Value (scan) Row Value (return) KeyCode CLEAR (10) Help (11) 81Up (12) 82Down (13) 842 nd (14) 88Enter (15) 3 rd column has a value of 4 and 3 nd row has a value of 4

Decode Function AHDL (cut and paste format) SUBDESIGN decode ( scan[3..0], return[3..0] : input; keycode[3..0], keypress:output; ) BEGIN TABLE scan[],return[]=> keycode[], keypress; x,0=> 0,gnd; 1,1=> 1,vcc; 1,2=> 4,vcc; 1,4=> 7,vcc; 1,8=> 10,vcc; 2,1=> 2,vcc; 2,2=> 5,vcc; 2,4=> 8,vcc; 2,8=> 0,vcc; 4,1=> 3,vcc; 4,2=> 6,vcc; 4,4=> 9,vcc; 4,8=> 11,vcc; 8,1=> 12,vcc; 8,2=> 13,vcc; 8,4=> 14,vcc; 8,8=> 15,vcc; END TABLE; END;

Symbol for Decode Function

Complete Keypad System The complete system will have a scan function that will drive the columns (also go into the decode function) and the decode function Of course you’ll need the keypad itself One important point – you will need to place pull- down resistors on the return lines. Whenever there is no key pressed then the return lines are floating (neither high or low), thus we need to place a 1K resistor between the return lines and ground to ensure that when there no connection to VCC (through the scan lines)

Altera Keypad Project Keypad and pull-down resistors are external from the Altera Part Note the names of the nets and I/O

Symbol for Altera Keypad Project

Drawing of Connections between Altera and Keypad Note – Pulldown Resistors

Lab 8 (Will be demonstrated – Don’t Do) Using the Keyboard data sheet on the next page design a keypad system that will display whatever key is pressed (it will display 0 when no key is pressed) Note that this keypad is different from the example, so the decode table will be different Output ‘E’ for a # and ‘F’ for a * Save this project (no report due) for inclusion in Lab 9

Keypad Data Sheet