University Of Central Oklahoma ENGR 3613 Dr. Yuhao Jiang April 23rd, 2012.

Slides:



Advertisements
Similar presentations
Chapter 3 Basic Input/Output
Advertisements

1 ECE 372 – Microcontroller Design Parallel IO Ports - Outputs Parallel IO Ports E.g. Port T, Port AD Used to interface with many devices Switches LEDs.
Input and Output CS 215 Lecture #20.
What is Arduino?  Arduino is a ATMEL 168 micro-controller kit designed specially for small projects  User friendly IDE(Integrated Development Environment)
Programmable Interval Timer
ICS103 Programming in C Lecture 1: Overview of Computers & Programming
Lecture 1: Overview of Computers & Programming
Engineering 4862 Microprocessors Lecture 23 Cheng Li EN-4012
In this presentation you will:
EEE226 MICROPROCESSORBY DR. ZAINI ABDUL HALIM School of Electrical & Electronic Engineering USM.
Processor System Architecture
Khaled A. Al-Utaibi  Computers are Every Where  What is Computer Engineering?  Design Levels  Computer Engineering Fields  What.
Mehmet Can Vuran, Instructor University of Nebraska-Lincoln Acknowledgement: Overheads adapted from those provided by the authors of the textbook.
Basic Input Output System
ABSTRACT The goal of this project was to create a more realistic and interactive appliance interface for a Usability Science class here at Union. Usability.
Set 20 Interrupts. INTERRUPTS The Pentium has a mechanism whereby external devices can interrupt it. Devices such as the keyboard, the monitor, hard disks.
Problems Encountered - Up to Midterm State Machine Transitions Much Too Fast - Solved by Decreasing Clock (LED Circuit) Difficult to Test LED (Column)
Design Review Team Digital Burnout Senior Design Fall 2011 Analog Gauge w/ Digital Display.
A CCESSIBLE L OCK O PENER RIT CE Senior Design Jeremy Espenshade Jason Fay.
EE 316 Computer Engineering Junior Lab Word Mastermind.
GamePal  Mark Fedorak  Vera Casteel  Ron Smith  Kris Pucci.
(Voice Activated Home Control System). Project Summary Control any IR activated device –Via voice command Learnable –Learn IR Code –Learn Voice Command.
Pyxis Aaron Martin April Lewis Steve Sherk. September 5, 2005 Pyxis16002 General-purpose 16-bit RISC microprocessor bit registers 24-bit address.
Lecture 121 Lecture 12: VGA Video ECE 412: Microcomputer Laboratory.
EE 316 Computer Engineering Junior Lab Digital Hangman.
Robotic Arm Controller A VLSI Implementation Team: Justin Hamann & Dave McNamara Team: Justin Hamann & Dave McNamara Advisor: Dr. Vinod Prasad Advisor:
Laser Shoot-Out Game By Steven Noto and Laura Miller Advisor Steven Gutschlag May 2, 2000 Senior Project Final Presentation.
ASPPRATECH.
Microcontroller: Introduction
Block Diagram of 4518 Dual BCD Counter The 4518 Dual BCD Counter has two BCD counters. Each counter is similar to the other. Each counter has a master.
Team #9: Video Recording Tool for Car Infotainment and Navigation Systems Members: Shengzhe Gao, Radhika Somayya, Xinye Ji, Kun Zhang, Yan Gong, Jianying.
1 Starting & Stopping Motors Pico Pico LAB#4. 2 Program a series of three basic ladder logic rungs. These basic rungs are the most common rungs found.
Critical Design Review 27 February 2007 Black Box Car System (BBCS) ctrl + z: Benjamin Baker, Lisa Furnish, Chris Klepac, Benjamin Mauser, Zachary Miers.
ECE 493T9 Real Time Embedded System Tutorial Set 3 June 10, Spring 2008.
A Company Selling Technology and not just a Product.
ELEC4601 Microprocessor systems Lab 3 Tutorial
MICROPROCESSOR INPUT/OUTPUT
Microcontroller based system design Asst. Prof. Dr. Alper ŞİŞMAN.
CHAPTER 3 TOP LEVEL VIEW OF COMPUTER FUNCTION AND INTERCONNECTION
Microprocessors 1 MCS-51 Interrupts.
CDR- Digital Audio Recorder/Player Brian Cowdrey Mike Ingoldby Gaurav Raje Jeff Swetnam.
8279 KEYBOARD AND DISPLAY INTERFACING
Basic information. * Microcontrollers incorporate the microprocessor, memory and input/output interfaces all on one chip * Microcontrollers have a separate.
CSNB374: Microprocessor Systems Chapter 5: Procedures and Interrupts.
PHY 201 (Blum)1 Microcode Source: Digital Computer Electronics (Malvino and Brown)
1 COMP541 Input Devices: Keyboards, Mice and Joysticks Montek Singh Apr 6, 2015.
Securing Passwords Against Dictionary Attacks Presented By Chad Frommeyer.
Processor Architecture
8279 KEYBOARD AND DISPLAY INTERFACING
EE 316 Computer Engineering Junior Lab Project 2 Digital Yahtzee.
SOC Consortium Course Material Standard IO National Taiwan University Adopted from National Taiwan University SoC Design Laboratory.
Computer Hardware – System Unit
1 Lecture 1: Computer System Structures We go over the aspects of computer architecture relevant to OS design  overview  input and output (I/O) organization.
Magnitude Comparator Dr. Ahmed Telba.
Alpha/Numeric Keypad Functions using AVR Preliminary Design Review Luke R. Morgan ECE /17/2008.
بسم الله الرحمن الرحيم MEMORY AND I/O.
Abstract Hooked on Harmonix has been helping you play piano since The project takes input from a commercial MIDI keyboard and displays an image of.
OPERATORS IN C CHAPTER 3. Expressions can be built up from literals, variables and operators. The operators define how the variables and literals in the.
MICROPROCESSOR INTEL 8086/8088 BY: SERA SYARMILA SAMEON.
CEng3361/18 CENG 336 INT. TO EMBEDDED SYSTEMS DEVELOPMENT Spring 2007 Recitation 01.
Interfacing Touch screen via lpc21xx Resistive touch screens can be a great way to enable complex user input in your projects inexpensively and with a.
CEng3361 CENG 336 INT. TO EMBEDDED SYSTEMS DEVELOPMENT Spring 2011 Recitation 06.
CS501 Advanced Computer Architecture
EET 2261 Unit 11 Controlling LCD and Keypad
EET 2261 Unit 11 Controlling LCD and Keypad
Journey: Introduction to Embedded Systems
Md. Mojahidul Islam Lecturer Dept. of Computer Science & Engineering
Md. Mojahidul Islam Lecturer Dept. of Computer Science & Engineering
8253 – PROGRAMMABLE INTERVAL TIMER (PIT). What is a Timer? Timer is a specialized type of device that is used to measure timing intervals. Timers can.
Presentation transcript:

University Of Central Oklahoma ENGR 3613 Dr. Yuhao Jiang April 23rd, 2012

 Baker, Andrew  Galloway, John

 Design code for the Dragon12+ development board that will act as a microwave oven controller.  Must accept user input  Must be able to count down from a given time  Must provide graphical feedback  Must have multiple functions

 We broke the project down into several different steps:  Displaying current time on 7-segment display ▪ Utilizing the on-board Real Time Clock (RTC)  Reading in user input and calculating the appropriate time needed to complete function  Timer functions

 Freescale Code Warrior IDE software  Dragon12+ USB Development Board  On-board LCD screen  On-board 7-segment displays  On-board Real Time Clock  On-board USB to TTL converter

 The Dragon12+ board has a built in DS1307 Real Time Clock.  This chip utilizes the I 2 C bus to communicate with the HCS12 microcontroller ▪ The chip can be programmed as well as read on the same bus, but uses 2 different bus addresses for this function  Since we hadn’t covered I 2 C is class, we decided to use a “soft I 2 C” instead, which isn’t as flexible as the hardware I 2 C, but would work for our applications.

 The firmware was adapted from our senior design project (which heavily uses I 2 C)  This code “acts” as a hardware I 2 C except some functions such as interrupts, clock stretching, and bus collision avoidance aren’t implemented.

Images taken from NXP PCA8575 Datasheet

Images taken from DS1307 Datasheet

The process to get the I2C data is quite simple when it is broken down into different functions. This process is called roughly every second to keep the display updated to +/- 1 second time.

 The on-board keypad was used for user input. We had previously written a function (for a lab) that could be called that would return what key, if any, was pressed. We had to modify this slightly to prevent the processor from taking multiple readings from a single key press, though this was simple to overcome by putting a hold in the code until all keys were released.

The function that was built also corrects for the difference in silkscreen printed on the Dragon12+ board vs numbering the keys from zero starting in the upper left hand corner. If a letter key or special function key (* or #) were pressed, a number was returned outside of the range of the keypad numbers, for example 10 would be returned if A was pressed, 11 returned if B was pressed, etc.

 Program successfully performs as a human interface to control a microwave oven.  It can accept multiple inputs (Popcorn, Beef, Chicken, User defined time)  It counts down the time and displays remaining time as required  It shows the current time when not in use

 Problems encountered:  The first attempt at the I2C firmware was unsuccessful ▪ We had to directly change the registers to change pin states rather than try and automate the process  Most of the code was taken from our previous labs for microprocessors  We were able to do this since we always tried to write the code in the most general case

Questions?