Simon Says ECE 3551 Microcomputer Systems I Elizabeth Nelson.

Slides:



Advertisements
Similar presentations
Decision Structures - If / Else If / Else. Decisions Often we need to make decisions based on information that we receive. Often we need to make decisions.
Advertisements

 2008 Pearson Education, Inc. All rights reserved JavaScript: Control Statements I.
Microcomputer Systems I ECE 3551 MOHAMMED ALYAMANI Instructor: Dr. Kepuska.
Mohammed Almajhad Final Project Dr. Kepuska. Intro My project idea is based on playing sound on different effects as we see these days. Also, adding a.
While Loops. Challenge: ● Ask the user a simple math questions ● Continue asking the question until the user gets it right.
 Control structures  Algorithm & flowchart  If statements  While statements.
Debouncing Switches Mechanical switches are one of the most common interfaces to a uC. Switch inputs are asynchronous to the uC and are not electrically.
EE332 Junior Project Sound Recorder Spring 2001 Chris Brophy Matt Olinger Instructor: S. D. Gutschlag 4/26/01.
Week 7 - Programming I Relational Operators A > B Logical Operators A | B For Loops for n = 1:10 –commands end.
Loops For loop for n = [ ] code end While loop while a ~= 3 code end.
1 Lab Session-9 CSIT-121 Fall 2003 w Random Number Generation w Designing a Game.
Chapter 5: Repetition Statements. In this chapter, you will learn about: Basic loop structures while loops Interactive while loops for loops Loop programming.
Professor: Dr Kepuska Presented by Kyle Farnum. Audio Manipulation through utilizing three types of filters: Low-pass filters Band- pass filters High-
Random Number Generator. Using Software We can generate random number by: 1- table 2- hardware 3-- software Function to generate RN by SW is: 1-rand 2-
Visual Basic Fundamental Concepts. Integrated Development Enviroment Generates startup form for new project on which to place controls. Features toolbox.
Hardware Architecture of a real-world Digital Signal Processing platform: ADSP BlackFin Processor, Software Development on DSPs, and Signal Processing.
Chapter 5: Control Structures II (Repetition)
CHAPTER 5: CONTROL STRUCTURES II INSTRUCTOR: MOHAMMAD MOJADDAM.
EGR 2261 Unit 5 Control Structures II: Repetition  Read Malik, Chapter 5.  Homework #5 and Lab #5 due next week.  Quiz next week.
To use the blackfin processor BF-533 to implement what we have learned about the blackfin processor. My approach for this project by : Input Audio will.
EZ-Additive Synthesizer By Max Bastien 12/14/07. Problem Statement Mystery of keyboards reproducing a wide range of sounds from any particular instrument.
Conditions. Objectives  Understanding what altering the flow of control does on programs and being able to apply thee to design code  Look at why indentation.
Chapter 5: Control Structures II (Repetition). Objectives In this chapter, you will: – Learn about repetition (looping) control structures – Learn how.
Control Structures II Repetition (Loops). Why Is Repetition Needed? How can you solve the following problem: What is the sum of all the numbers from 1.
Digitalized Surround Sound Effects Using ADSP BF 533 Kunal Gupta ECE 3551, 03 Fall, 2006.
2Object-Oriented Program Development Using C++ 3 Basic Loop Structures Loops repeat execution of an instruction set Three repetition structures: while,
Audio Led Bargraph Equalizer Final Project for ECE /02/09 Instructor: Dr Kepuska By; Anushan Weerasooriya & Chris Guzowski.
SDRAM Load and Play By Hernacki, Kevin ECE3551 Final Project 25 April 2008.
Georgia Institute of Technology More on Creating Classes part 2 Barb Ericson Georgia Institute of Technology Oct 2005.
Danielle Roy.  The goal of this project is to create an emulation of a popular children’s game. This game flashes a pattern at the player, and the player.
Presented By Chris Loveless Microcomputer Systems 1 ECE /13/2006.
FPGA Sound Recorder & Terminal Interface Steven Wasson ECE 443 Assignments 5 & 6 December 5, 2007.
Microcomputer Systems I ECE 3551 Fahad Alqasim Instructor: Dr. Kepuska.
Conditional Loops CSIS 1595: Fundamentals of Programming and Problem Solving 1.
Xiaojuan Cai Computational Thinking 1 Lecture 8 Loop Structure Xiaojuan Cai (蔡小娟) Fall, 2015.
 By: Stanley O. Abada Presented to: Dr. V Kepuska December 4, 2010 Microcomputer 1.
Loop Board ECE 3551 Final Project by Brian Robl. Objectives Use the Blackfin BF533 EZ-KIT to create a 4 track audio looper.  Utilize 32MB of external.
Basic Conditions. Challenge: ● Ask the user his/her name ● If it’s “Wally,” jeer him ● Pause video and try on your own.
Audio Manipulation And Buffers using DSP-BF533 EZ-KIT Lite Dr. Veton Z. Këpuska By Husain Alotaibi Ahmed Alalyak ECE 3551 Microcomputer System I Spring.
Microcomputer Systems I ECE 3551 – Fall 2010 Ryan M. Winget.
Carey Eugene ECE 3551 May 5, The purpose of this project was to design and implement a karaoke machine with chipmunk audio effects. And then run.
Microcomputer 1 Final Phantom Speakers Patrick Marinelli Matt Hopkins.
ECE 3551 – Microcomputer Systems 1 Fall 2010 Siobhan Ireland.
ECE 3551 – Microcomputer Systems I By Md. Raqiq Islam AUDIO EFFECTS IMPLEMENTATION.
IST 210: PHP LOGIC IST 210: Organization of Data IST210 1.
Circular Buffer Audio Generation Using the Karplus-Strong String Synthesis Algorithm.
“Uber” Box Multifarious Systems 1 Pattarapong Rojanasthien Will Matthau.
ECE 3551 Microcomputer Systems 1 Final Project Morse Code Reader Instructor: Dr. Veton Kepuska Term: Fall 2006 By: Erik Lindman & Rong Li.
Computer Programming 12 Lesson 6 – Loop structure By: Dan Lunney.
Aaron Worob.  Create a program using the Blackfin BF533 that allows the user to “move” the source of input sound.
L131 Assignment Operators Topics Increment and Decrement Operators Assignment Operators Debugging Tips rand( ) math library functions Reading Sections.
Integrating Algorithms and Coding into the Mathematics Classroom
@TeacherToolkit, license CC BY-NC-ND 3.0
Microcomputer Systems 1
Lecture 5 – Improved Monte Carlo methods in finance: lab
Blackfin Volume Control
CSCI1600: Embedded and Real Time Software
Patterns to KNOW.
Global Challenge Flashing Wheels Lesson 3.
Global Challenge Flashing Wheels Lesson 3.
Global Challenge Flashing Wheels Lesson 3.
Programming Concepts and Database
Global Challenge Flashing Wheels Lesson 3.
Introduction to Programming
CSCI1600: Embedded and Real Time Software
Global Challenge Flashing Wheels Lesson 3.
Global Challenge Flashing Wheels Lesson 3.
Learning Combinational Logic
Challenge Guide Grade Code Type Slides
Global Challenge Flashing Wheels Lesson 3.
Presentation transcript:

Simon Says ECE 3551 Microcomputer Systems I Elizabeth Nelson

Problem Statement To design and implement an interactive game of repetition. Computer must generate an array of random values to be associated with one of 4 LEDs and 4 corresponding speakers Values are outputted in steps: 1, 1-2, … User must reproduce pattern Different algorithms indicate “wins” and “losses”

Flowchart

Challenges Timing: –Double values –User cutoff –Off cycles Masking and Unmasking Interrupts Stepping the output Input accumulation Sound shifts Tone Generation

Time limits – second timer? User double values Rand and Srand – seeding –Time function Code layering

Solutions The skip and end booleans – allows for an “off cycle” and prevents user cutoff if (skip == false) {… … skip = true } Else { if(end == true) { skip = false; end = false; } else { if(n == 0) { skip = true; } else { skip = false; }

Masking the Timer0 interrupt *pSIC_IMASK = 0x ; - masks timer0 interrupt *pSIC_IMASK = 0x ; - masks sport0 interrupt -The n and point indices if (skip == false)if(n == 0){ if(compValue[n] == 1)skip = true; {} LEDValue = 0x01;else { *pSIC_IMASK = 0x ;skip = false;} else if(compValue[n] == 2) { LEDValue = 0x02; *pSIC_IMASK = 0x ; } else if(compValue[n] == 3) { LEDValue = 0x04; *pSIC_IMASK = 0x ; } else if(compValue[n] == 4) { LEDValue = 0x08; *pSIC_IMASK = 0x ; } *pFlashA_PortB_Data = LEDValue; n++; if(n > point) { n = 0; point ++; } if(point > 9) { point = 10; } skip = true;

The userPoint variable if(pattern == 0x0100) { // confirm interrupt handling *pFIO_FLAG_C = 0x0100; userValue[userPoint] = 1; Guess = 0x01; *pFlashA_PortB_Data = Guess; } … userPoint++; if(userPoint == point) { userPoint = 0; … }

Sound outputs – delayed indices if(n == 0) { if(compValue[point-1] == 1) { iChannel0LeftIn = iRxBuffer1[INTERNAL_ADC_L0]; Process_Data(); iTxBuffer1[INTERNAL_DAC_L0] = iChannel0LeftOut; }… } else { if(compValue[n-1] == 1) { iChannel0LeftIn = iRxBuffer1[INTERNAL_ADC_L0]; Process_Data(); iTxBuffer1[INTERNAL_DAC_L0] = iChannel0LeftOut; }… }

Tone Generation –Sine waves – 2*n*(pi)/12 – sample every 5? –Sine array –Array of 1, -1, 1 … –Sport0 interrupt generation

Time limits User double values A second timer –Would be unmasked when the user pushes the first button –Would create a time limit –Use to create user “off cycles”

Srand and Rand srand(time(0)); for(m=0; m<10; m++) { temp = (rand()%32 + 1)/8 +1; if(temp ==5) { compValue[m] = 4; } else { compValue[m] = temp; } srand(compValue[0]); for(m=0; m<10; m++) { temp = (rand()%32 + 1)/8 +1; if(temp ==5) { compValue[m] = 4; } else { compValue[m] = temp; }

Conclusions Code Layering Technique –Final v1, v2 and v3 Additional layers –Time limit –User doubles –Tone generation Files Win and Loss algorithms

Resources Audio Talkthrough BF533 Flags –Analog Devices Example Code Class notes Blackfin Resource Manual –Dr.Veton Kepuska