Original Lab DAC
Original Lab DAC
//
//
//
//
//
//
//
Lab13.c
Runs on LM4F120 or TM4C123
Use SysTick interrupts to implement a 4-key digital piano
edX Lab 13
Daniel Valvano, Jonathan Valvano
December 29, 2014
Port B bits 3-0 have the 4-bit DAC
Port E bits 3-0 have 4 piano keys
#include
#include
#include
#include
"..//tm4c123gh6pm.h"
"Sound.h"
"Piano.h"
"TExaS.h"
#define GPIO_PORTB_DATA_R
#define GPIO_PORTB_DIR_R
#define GPIO_PORTB_AFSEL_R
#define GPIO_PORTB_PUR_R
#define GPIO_PORTB_DEN_R
#define GPIO_PORTB_LOCK_R
#define GPIO_PORTB_CR_R
#define GPIO_PORTB_AMSEL_R
#define GPIO_PORTB_PCTL_R
#define GPIO_PORTB_DR8R_R
// Port E:
#define GPIO_PORTE_DATA_R
#define GPIO_PORTE_DIR_R
#define GPIO_PORTE_AFSEL_R
#define GPIO_PORTE_PUR_R
#define GPIO_PORTE_DEN_R
#define GPIO_PORTE_LOCK_R
#define GPIO_PORTE_CR_R
#define GPIO_PORTE_AMSEL_R
#define GPIO_PORTE_PCTL_R
// Clock:
#define SYSCTL_RCGC2_R
// SysTick Timer:
#define NVIC_ST_CTRL_R
#define NVIC_ST_RELOAD_R
#define NVIC_ST_CURRENT_R
(*((volatile
(*((volatile
(*((volatile
(*((volatile
(*((volatile
(*((volatile
(*((volatile
(*((volatile
(*((volatile
(*((volatile
unsigned
unsigned
unsigned
unsigned
unsigned
unsigned
unsigned
unsigned
unsigned
unsigned
long
long
long
long
long
long
long
long
long
long
*)0x400053FC))
*)0x40005400))
*)0x40005420))
*)0x40005510))
*)0x4000551C))
*)0x40005520))
*)0x40005524))
*)0x40005528))
*)0x4000552C))
*)0x40005508))
(*((volatile
(*((volatile
(*((volatile
(*((volatile
(*((volatile
(*((volatile
(*((volatile
(*((volatile
(*((volatile
unsigned
unsigned
unsigned
unsigned
unsigned
unsigned
unsigned
unsigned
unsigned
long
long
long
long
long
long
long
long
long
*)0x400243FC))
*)0x40024400))
*)0x40024420))
*)0x40024510))
*)0x4002451C))
*)0x40024520))
*)0x40024524))
*)0x40024528))
*)0x4002452C))