Home Audio System Stephen Whitaker March 2, 2009 Microcomputer Systems I Dr. Kepuska.

Slides:



Advertisements
Similar presentations
AP Computer Science Anthony Keen. Computer 101 What happens when you turn a computer on? –BIOS tries to start a system loader –A system loader tries to.
Advertisements

EMS1EP Lecture 8 Pulse Width Modulation (PWM)
Picture It Very Basic Game Picture Pepper. Original Game import java.util.Scanner; public class Game { public static void main() { Scanner scan=new Scanner(System.in);
C Examples 1.
Introduction to C# Erick Pranata © Sekolah Tinggi Teknik Surabaya 1.
Over-view of Lab. 1 For more details – see the Lab. 1 web-site There will be a 20 min prelab quiz (based on Assignment 1 and 2) at the start of the lab.
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.
Lab. 1 – Earlier Tasks. Needed by both application and demonstration lab. streams For more details – see the Lab. 1 web-site There will be a 20 min prelab-quiz.
Lab. 1 – Task 1 to 4 details For more details – see the Lab. 1 web-site There will be a 20 min prelab-quiz (based on Assignment 1 and 2) at the start of.
CS 4800 By Brandon Andrews.  Specifications  Goals  Applications  Design Steps  Testing.
Later tasks of Lab. 1 For more details – see the Lab. 1 web-site There will be a 20 min prelab quiz (based on Assignment 1 and 2) at the start of the lab.
Professor: Dr Kepuska Presented by Kyle Farnum. Audio Manipulation through utilizing three types of filters: Low-pass filters Band- pass filters High-
Arduino Part 2 Topics: Serial Communication Programming Constructs: functions, loops and conditionals Digital Input.
1 Identifiers  Identifiers are the words a programmer uses in a program  An identifier can be made up of letters, digits, the underscore character (
Assertions Program correctness. Assertions Java statement – enables you to assert an assumption about your program. – An assertion contains a Boolean.
MCU: Interrupts and Timers Ganesh Pitchiah. What’s an MCU ?
C Tokens Identifiers Keywords Constants Operators Special symbols.
Control Structures if else do while continue break switch case return for.
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.
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.
Lab. 1 – Required Tasks. For more details – see the Lab. 1 web-site.
Research Topics in Computational Science. Agenda Commenting Our Code Variable Review Button Program – Add Textbox Getting text from textbox Converting.
ECE ROBERT TRUJILLO AUDIO/VOICE RECORDER WITH FILTERING.
Introduction The goal of this project was to create device similar to a DJ mixing board. Features: Controlling the input and output buffers Applying sound.
Microcomputer Systems I ECE 3551 Fahad Alqasim Instructor: Dr. Kepuska.
 By: Stanley O. Abada Presented to: Dr. V Kepuska December 4, 2010 Microcomputer 1.
Input Interface – Microprocessor
Microcomputer Systems Final Project “Speaker and Sound Modulation”
Simon Says ECE 3551 Microcomputer Systems I Elizabeth Nelson.
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.
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.
Audio Filtering By: Rudrapratap Jadhav ECE 3551 Microcomputer System.
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.
Arduino libraries Datatekniker Udvidet hardware/software.
Microcomputer 1 Final Phantom Speakers Patrick Marinelli Matt Hopkins.
By Anand George SourceLens.org Copyright. All rights reserved. Content Owner - Meera R (meera at sourcelens.org)
ECE 3551 – Microcomputer Systems 1 Fall 2010 Siobhan Ireland.
ECE 3551 – Microcomputer Systems I By Md. Raqiq Islam AUDIO EFFECTS IMPLEMENTATION.
Embedded Programming and Robotics Lesson 11 Arduino Interrupts 1.
Int fact (int n) { If (n == 0) return 1; else return n * fact (n – 1); } 5 void main () { Int Sum; : Sum = fact (5); : } Factorial Program Using Recursion.
“Uber” Box Multifarious Systems 1 Pattarapong Rojanasthien Will Matthau.
Examples Lecture L2.2. // Example 1a: Turn on every other segment on 7-seg display #include /* common defines and macros */ #include /* derivative.
C syntax (simplified) BNF. Program ::= [ ] Directives ::= [ ] ::= | |… ::=#include > ::=#define.
Microcomputer systems 1 ECE 3551 Dipesh Patel.  Activating Filters using the pushbuttons.  Combination of LEDs turned on with each pushbutton pressed.
Playing the Piano on a black fin Scott Pio ECE 3551 – Microcomputers Dr. Kepuska.
void Init_SDRAM(void) { if (*pEBIU_SDSTAT & SDRS) { *pEBIU_SDRRC = 0x ; *pEBIU_SDBCTL = 0x ; *pEBIU_SDGCTL = 0x d; *point =
© 2016, Mike Murach & Associates, Inc.
Compound Condition Break , Continue Switch Statements in Java
Sound effects with Rotation control
ECE 3551 Microcomputer Systems
Call to Fix Canon Pixma MX340 printer Error 5200
Schedule 8:00-11:00 Workshop: Arduino Fundamentals
Example 15 Interrupt-Driven Controller
null, true, and false are also reserved.
Introduction to Java Programming
محاضرة 1: مقدمة للمسـاق و مراجعـة للأساسيـات
Interfaces and Constructors
Blackfin Volume Control
Generation 3 Televic Wireless Microphone Instructions
JavaScript Reserved Words
Recursive GCD Demo public class Euclid {
Default Arguments.
class PrintOnetoTen { public static void main(String args[]) {
FIR and IIR Filters with on and off Functionality
C Programming Getting started Variables Basic C operators Conditionals
Programming Language C Language.
Building Blocks of C Programming Language
Presentation transcript:

Home Audio System Stephen Whitaker March 2, 2009 Microcomputer Systems I Dr. Kepuska

Home Audio System  Purpose  Code  ISR  Process Data  Demo

Home Audio System EX_INTERRUPT_HANDLER(Sport0_RX_ISR) {... switch (vol){ case 0x00://no LEDs Process_Datadown4();//volume muted break; case 0x01://1 LED Process_Datadown3();//volume level -4 break; case 0x03://2 LEDs Process_Datadown2();//volume level -3 break; case 0x07://3 LEDs Process_Datadown1();//volume level -2 break; case 0x0f://4 LEDs Process_Datadown();//volume level -1 break; case 0x1f://5 LEDs Process_Data();//volume base level break; case 0x3f://6 LEDs Process_Dataup();//volume level +1 break; default: Process_Data();//base volume level in case something goes wrong … } Home Audio SystemISR.c

Home Audio System EX_INTERRUPT_HANDLER(Timer0_ISR) {... if(vol==0x00) { if((ucActive_LED = ucActive_LED >> 1) == 0x00) ucActive_LED = 0x20;//LEDs blink "backwards" } if(vol==0x01) { if((ucActive_LED = ucActive_LED << 1) == 0x02) ucActive_LED = 0x01;//first LED blinks fowards } if(vol==0x03) { if((ucActive_LED = ucActive_LED << 1) == 0x04) ucActive_LED = 0x01;//first 2 LEDs blinks fowards } if(vol==0x07) { if((ucActive_LED = ucActive_LED << 1) == 0x08) ucActive_LED = 0x01;//first 3 LEDs blinks fowards } if(vol==0x0f) { if((ucActive_LED = ucActive_LED << 1) == 0x10) ucActive_LED = 0x01;//first 4 LEDs blinks fowards } if(vol==0x1f) { if((ucActive_LED = ucActive_LED << 1) == 0x20) ucActive_LED = 0x01;//first 5 LEDs blinks fowards } if(vol==0x3f) { if((ucActive_LED = ucActive_LED << 1) == 0x40) ucActive_LED = 0x01;//all 6 LEDs blinks fowards } //creation of safty bit so that there is always a blinking of LEDs if(ucActive_LED== 0) { ucActive_LED = 1; } … } Home Audio SystemISR.c cont.

Home Audio System EX_INTERRUPT_HANDLER(FlagA_ISR) {… //button pf8 decreases volume {if(vol==0x3f) vol=0x1f; else if(vol==0x1f) vol=0x0f; else if(vol==0x0f) vol=0x07; else if(vol==0x07) vol=0x03; else if(vol==0x03) vol=0x01; else if(vol==0x01) vol=0x00; } //button pf9 increases volume {if(vol==0x00) vol=0x01; else if(vol==0x01) vol=0x03; else if(vol==0x03) vol=0x07; else if(vol==0x07) vol=0x0f; else if(vol==0x0f) vol=0x1f; else if(vol==0x1f) vol=0x3f;} Home Audio SystemISR.c cont. //button pf10 changes low/high pass filters {if (state <2) ++state; else state=0; } //button pf11 turns off and on { FIO_ANOM_0311_FLAG_W(0x0800,pFIO_FLA G_C); if (dep <1) ++dep; else dep=0; }

Home Audio System Proccess_data.c void Process_Data(void)//base volume {iChannel0LeftOut = iChannel0LeftIn; iChannel0RightOut = iChannel0RightIn; } void Process_Dataup(void)//volume level +1 {iChannel0LeftOut = iChannel0LeftIn*2; iChannel0RightOut = iChannel0RightIn*2; } void Process_Datadown(void)//volume level -1 {const int BL = 8; const static float B[8] = {.9}; float yL_low=0; float yR_low=0; int counter_low; int i_low; static float xL_low[8]={0}; static float xR_low[8]={0}; for(i_low=BL-1;i_low>=0;i_low--) { xL_low[i_low+1]=xL_low[i_low]; xR_low[i_low+1]=xR_low[i_low]; } xL_low[0]=(float)(iChannel0LeftIn<<8); xR_low[0]=(float)(iChannel0RightIn<<8); for(counter_low=0;counter_low<BL;counter_low++) { yL_low+=B[counter_low]*xL_low[counter_low]; yR_low+=B[counter_low]*xR_low[counter_low]; } iChannel0LeftOut=(int)yL_low>>8; iChannel0RightOut=(int)yR_low>>8;} void Process_Datadown1(void) //volume level -2 {const int BL = 8; const static float B[8] = {.7}; float yL_low=0; float yR_low=0; int counter_low; int i_low; static float xL_low[8]={0}; static float xR_low[8]={0}; for(i_low=BL- 1;i_low>=0;i_low--) {xL_low[i_low+1]=xL_low[i_low]; xR_low[i_low+1]=xR_low[i_low] ; } xL_low[0]=(float)(iChannel0LeftIn<<8); xR_low[0]=(float)(iChannel0RightIn<<8); for(counter_low=0;counter_low<BL;count er_low++) { yL_low+=B[counter_low]*xL_low[counter _low]; yR_low+=B[counter_low]*xR_low[counte r_low]; } iChannel0LeftOut=(int)yL_low>>8; iChannel0RightOut=(int)yR_low>>8; }

Home Audio System Proccess_data.c cont. void Process_Datadown2(void)//volume level -3 { const int BL = 8; const static float B[8] = {.5}; float yL_low=0; float yR_low=0; int counter_low; int i_low; static float xL_low[8]={0}; static float xR_low[8]={0}; for(i_low=BL-1;i_low>=0;i_low--) { xL_low[i_low+1]=xL_low[i_low]; xR_low[i_low+1]=xR_low[i_low]; } xL_low[0]=(float)(iChannel0LeftIn<<8); xR_low[0]=(float)(iChannel0RightIn<<8); for(counter_low=0;counter_low<BL;count er_low++) { yL_low+=B[counter_low]*xL_low[counter_ low]; yR_low+=B[counter_low]*xR_low[counter _low]; } iChannel0LeftOut=(int)yL_low>>8; iChannel0RightOut=(int)yR_low>>8; } void Process_Datadown3(void)//volume level - 4 { const int BL = 8; const static float B[8] = {.3}; float yL_low=0; float yR_low=0; int counter_low; int i_low; static float xL_low[8]={0}; static float xR_low[8]={0}; for(i_low=BL-1;i_low>=0;i_low--) { xL_low[i_low+1]=xL_low[i_low]; xR_low[i_low+1]=xR_low[i_low]; } xL_low[0]=(float)(iChannel0LeftIn<<8); xR_low[0]=(float)(iChannel0RightIn<<8); for(counter_low=0;counter_low<BL;counter _low++) { yL_low+=B[counter_low]*xL_low[counter_low]; yR_low+=B[counter_low]*xR_low[counter_low]; } iChannel0LeftOut=(int)yL_low>>8; iChannel0RightOut=(int)yR_low>>8; } void Process_Datadown4(void)//volume level - 5 {iChannel0LeftOut = iChannel0LeftIn- iChannel0LeftIn; iChannel0RightOut = iChannel0RightIn- iChannel0RightIn;}

Home Audio System Proccess_data.c cont. void low(void)//lowpass { const int BL = 101; const static float B[101] = {...}; float yL_low=0; float yR_low=0; int counter_low; int i_low; static float xL_low[101]={0}; static float xR_low[101]={0}; for(i_low=BL-1;i_low>=0;i_low--) { xL_low[i_low+1]=xL_low[i_low]; xR_low[i_low+1]=xR_low[i_low]; } xL_low[0]=(float)(iChannel0LeftIn<<8); xR_low[0]=(float)(iChannel0RightIn<<8); for(counter_low=0;counter_low<BL;counter _low++) { yL_low+=B[counter_low]*xL_low[counter_lo w]; yR_low+=B[counter_low]*xR_low[counter_l ow]; } iChannel1LeftOut=(int)yL_low>>8; iChannel1RightOut=(int)yR_low>>8; }; void high(void)//highpass { const int BL = 101; const float A[101] = {...}; float yL_low=0; float yR_low=0; int counter_low; int i_low; static float xL_low[101]={0}; static float xR_low[101]={0}; for(i_low=BL-1;i_low>=0;i_low--) { xL_low[i_low+1]=xL_low[i_low]; xR_low[i_low+1]=xR_low[i_low]; } xL_low[0]=(float)(iChannel0LeftIn<<8); xR_low[0]=(float)(iChannel0RightIn<<8); for(counter_low=0;counter_low<BL;counter _low++) { yL_low+=A[counter_low]*xL_low[counter_lo w]; yR_low+=A[counter_low]*xR_low[counter_l ow]; } iChannel1LeftOut=(int)yL_low>>8; iChannel1RightOut=(int)yR_low>>8; };

Home Audio System Demo