programa creado en CodeWarrior para crear un piano musical mediante el uso de la tarjeta kl46z.

Dependencies:   mbed

Committer:
ErickDDD
Date:
Fri May 31 01:42:26 2019 +0000
Revision:
0:48bf0a15417a
Erick Garcia Chavez; Este programa esta implementada en CodeWarrior (y contiene muchas bibliotecas de este compilador) para generar un piano o teclado musical con el uso de una kl46z.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
ErickDDD 0:48bf0a15417a 1 /* ###########################################################################
ErickDDD 0:48bf0a15417a 2 ** Archivo : main.c
ErickDDD 0:48bf0a15417a 3 ** Proyecto : FRDM-KL46Z_Plantilla
ErickDDD 0:48bf0a15417a 4 ** Procesador : MKL46Z256VLL4
ErickDDD 0:48bf0a15417a 5 ** Herramienta : CodeWarrior
ErickDDD 0:48bf0a15417a 6 ** Version : Driver 01.01
ErickDDD 0:48bf0a15417a 7 ** Compilador : GNU C Compiler
ErickDDD 0:48bf0a15417a 8 ** Fecha/Hora : 14-07-2015, 11:48, # CodeGen: 0
ErickDDD 0:48bf0a15417a 9 ** Descripción :
ErickDDD 0:48bf0a15417a 10 ** Este proyecto crea un piano capaz de tocar diferentes octavas
ErickDDD 0:48bf0a15417a 11 ** musicales y piezas musicales enteras con la implementacion de la tarjeta
ErickDDD 0:48bf0a15417a 12 ** KL46Z .
ErickDDD 0:48bf0a15417a 13 ** This module contains user's application code.
ErickDDD 0:48bf0a15417a 14 ** Componentes : Bocina, transistor 2N2222, Membrana de teclado.
ErickDDD 0:48bf0a15417a 15 ** Configuraciones : Includes, Stacks y Drivers externos
ErickDDD 0:48bf0a15417a 16 ** Autores : Garcia Chavez Erick Fabian
ErickDDD 0:48bf0a15417a 17 ** ATEAM Development Group:
ErickDDD 0:48bf0a15417a 18 ** - Antulio Morgado Valle
ErickDDD 0:48bf0a15417a 19 **
ErickDDD 0:48bf0a15417a 20 ** Versión : Beta
ErickDDD 0:48bf0a15417a 21 ** Revisión : A
ErickDDD 0:48bf0a15417a 22 ** Release : 0
ErickDDD 0:48bf0a15417a 23 ** Bugs & Fixes :
ErickDDD 0:48bf0a15417a 24 ** Date : 18/05/2019
ErickDDD 0:48bf0a15417a 25 ** Added support for Led_RGB
ErickDDD 0:48bf0a15417a 26 ** 22/09/2018
ErickDDD 0:48bf0a15417a 27 ** Added LCD Menu, Beta version (with bugs)
ErickDDD 0:48bf0a15417a 28 **
ErickDDD 0:48bf0a15417a 29 * ###########################################################################/
ErickDDD 0:48bf0a15417a 30 /*
ErickDDD 0:48bf0a15417a 31 ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
ErickDDD 0:48bf0a15417a 32 : Includes
ErickDDD 0:48bf0a15417a 33 ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
ErickDDD 0:48bf0a15417a 34 */
ErickDDD 0:48bf0a15417a 35
ErickDDD 0:48bf0a15417a 36 #include "Cpu.h"
ErickDDD 0:48bf0a15417a 37 #include "Events.h"
ErickDDD 0:48bf0a15417a 38 #include "R1.h"
ErickDDD 0:48bf0a15417a 39 #include "BitIoLdd1.h"
ErickDDD 0:48bf0a15417a 40 #include "R2.h"
ErickDDD 0:48bf0a15417a 41 #include "BitIoLdd2.h"
ErickDDD 0:48bf0a15417a 42 #include "R3.h"
ErickDDD 0:48bf0a15417a 43 #include "BitIoLdd3.h"
ErickDDD 0:48bf0a15417a 44 #include "R4.h"
ErickDDD 0:48bf0a15417a 45 #include "BitIoLdd4.h"
ErickDDD 0:48bf0a15417a 46 #include "C1.h"
ErickDDD 0:48bf0a15417a 47 #include "BitIoLdd5.h"
ErickDDD 0:48bf0a15417a 48 #include "C2.h"
ErickDDD 0:48bf0a15417a 49 #include "BitIoLdd6.h"
ErickDDD 0:48bf0a15417a 50 #include "C3.h"
ErickDDD 0:48bf0a15417a 51 #include "BitIoLdd7.h"
ErickDDD 0:48bf0a15417a 52 #include "C4.h"
ErickDDD 0:48bf0a15417a 53 #include "BitIoLdd8.h"
ErickDDD 0:48bf0a15417a 54 #include "PTA.h"
ErickDDD 0:48bf0a15417a 55 #include "PPG1.h"
ErickDDD 0:48bf0a15417a 56 #include "PpgLdd1.h"
ErickDDD 0:48bf0a15417a 57 #include "WAIT1.h"
ErickDDD 0:48bf0a15417a 58 #include "MCUC1.h"
ErickDDD 0:48bf0a15417a 59 #include "PE_Types.h"
ErickDDD 0:48bf0a15417a 60 #include "PE_Error.h"
ErickDDD 0:48bf0a15417a 61 #include "PE_Const.h"
ErickDDD 0:48bf0a15417a 62 #include "IO_Map.h"
ErickDDD 0:48bf0a15417a 63 int i;
ErickDDD 0:48bf0a15417a 64 float r;
ErickDDD 0:48bf0a15417a 65 int main(void)
ErickDDD 0:48bf0a15417a 66 {
ErickDDD 0:48bf0a15417a 67 i=880;
ErickDDD 0:48bf0a15417a 68 r=1.059463;
ErickDDD 0:48bf0a15417a 69 PE_low_level_init();
ErickDDD 0:48bf0a15417a 70
ErickDDD 0:48bf0a15417a 71 for(;;){
ErickDDD 0:48bf0a15417a 72 R1_ClrVal();
ErickDDD 0:48bf0a15417a 73 R2_SetVal();
ErickDDD 0:48bf0a15417a 74 R3_SetVal();
ErickDDD 0:48bf0a15417a 75 R4_SetVal();
ErickDDD 0:48bf0a15417a 76 if(C1_GetVal()==0){
ErickDDD 0:48bf0a15417a 77
ErickDDD 0:48bf0a15417a 78 PPG1_SetFreqHz(i/(r*r*r*r*r*r*r*r*r));
ErickDDD 0:48bf0a15417a 79 }
ErickDDD 0:48bf0a15417a 80 else if(C2_GetVal()==0){
ErickDDD 0:48bf0a15417a 81 PPG1_SetFreqHz(i/(r*r*r*r*r*r*r*r));
ErickDDD 0:48bf0a15417a 82 }
ErickDDD 0:48bf0a15417a 83 else if(C3_GetVal()==0){
ErickDDD 0:48bf0a15417a 84 PPG1_SetFreqHz(i/(r*r*r*r*r*r*r));
ErickDDD 0:48bf0a15417a 85 }
ErickDDD 0:48bf0a15417a 86 else if(C4_GetVal()==0){
ErickDDD 0:48bf0a15417a 87 PPG1_SetFreqHz(i/(r*r*r*r*r*r));
ErickDDD 0:48bf0a15417a 88 }
ErickDDD 0:48bf0a15417a 89 R1_SetVal();
ErickDDD 0:48bf0a15417a 90 R2_ClrVal();
ErickDDD 0:48bf0a15417a 91 R3_SetVal();
ErickDDD 0:48bf0a15417a 92 R4_SetVal();
ErickDDD 0:48bf0a15417a 93 if(C1_GetVal()==0){
ErickDDD 0:48bf0a15417a 94
ErickDDD 0:48bf0a15417a 95 PPG1_SetFreqHz(i/(r*r*r*r*r));
ErickDDD 0:48bf0a15417a 96 }
ErickDDD 0:48bf0a15417a 97 else if(C2_GetVal()==0){
ErickDDD 0:48bf0a15417a 98 PPG1_SetFreqHz(i/(r*r*r*r));
ErickDDD 0:48bf0a15417a 99 }
ErickDDD 0:48bf0a15417a 100 else if(C3_GetVal()==0){
ErickDDD 0:48bf0a15417a 101 PPG1_SetFreqHz(i/(r*r*r));
ErickDDD 0:48bf0a15417a 102 }
ErickDDD 0:48bf0a15417a 103 else if(C4_GetVal()==0){
ErickDDD 0:48bf0a15417a 104 PPG1_SetFreqHz(i/(r*r));
ErickDDD 0:48bf0a15417a 105 }
ErickDDD 0:48bf0a15417a 106
ErickDDD 0:48bf0a15417a 107 R1_SetVal();
ErickDDD 0:48bf0a15417a 108 R2_SetVal();
ErickDDD 0:48bf0a15417a 109 R3_ClrVal();
ErickDDD 0:48bf0a15417a 110 R4_SetVal();
ErickDDD 0:48bf0a15417a 111 if(C1_GetVal()==0){
ErickDDD 0:48bf0a15417a 112
ErickDDD 0:48bf0a15417a 113 PPG1_SetFreqHz(i/r);
ErickDDD 0:48bf0a15417a 114 }
ErickDDD 0:48bf0a15417a 115 else if(C2_GetVal()==0){
ErickDDD 0:48bf0a15417a 116 PPG1_SetFreqHz(i);
ErickDDD 0:48bf0a15417a 117 }
ErickDDD 0:48bf0a15417a 118 else if(C3_GetVal()==0){
ErickDDD 0:48bf0a15417a 119 PPG1_SetFreqHz(i*r);
ErickDDD 0:48bf0a15417a 120 }
ErickDDD 0:48bf0a15417a 121 else if(C4_GetVal()==0){
ErickDDD 0:48bf0a15417a 122 PPG1_SetFreqHz(i*r*r);
ErickDDD 0:48bf0a15417a 123 }
ErickDDD 0:48bf0a15417a 124
ErickDDD 0:48bf0a15417a 125 R1_SetVal();
ErickDDD 0:48bf0a15417a 126 R2_SetVal();
ErickDDD 0:48bf0a15417a 127 R3_SetVal();
ErickDDD 0:48bf0a15417a 128 R4_ClrVal();
ErickDDD 0:48bf0a15417a 129 if(C1_GetVal()==0){
ErickDDD 0:48bf0a15417a 130 PPG1_SetFreqHz(i*r*r*r);
ErickDDD 0:48bf0a15417a 131 }
ErickDDD 0:48bf0a15417a 132 else if(C4_GetVal()==0){
ErickDDD 0:48bf0a15417a 133 PPG1_SetFreqHz(146.832);
ErickDDD 0:48bf0a15417a 134 WAIT1_Waitms(250);
ErickDDD 0:48bf0a15417a 135 PPG1_SetFreqHz(440);
ErickDDD 0:48bf0a15417a 136 WAIT1_Waitms(500);
ErickDDD 0:48bf0a15417a 137 PPG1_SetFreqHz(164.814);
ErickDDD 0:48bf0a15417a 138 WAIT1_Waitms(175);
ErickDDD 0:48bf0a15417a 139 PPG1_SetFreqHz(329.628);
ErickDDD 0:48bf0a15417a 140 WAIT1_Waitms(175);
ErickDDD 0:48bf0a15417a 141 PPG1_SetFreqHz(493.833);
ErickDDD 0:48bf0a15417a 142 WAIT1_Waitms(500);
ErickDDD 0:48bf0a15417a 143 PPG1_SetFreqHz(174.614);
ErickDDD 0:48bf0a15417a 144 WAIT1_Waitms(250);
ErickDDD 0:48bf0a15417a 145
ErickDDD 0:48bf0a15417a 146 PPG1_SetFreqHz(523.251);
ErickDDD 0:48bf0a15417a 147 WAIT1_Waitms(500);
ErickDDD 0:48bf0a15417a 148 PPG1_SetFreqHz(164.814);
ErickDDD 0:48bf0a15417a 149 WAIT1_Waitms(175);
ErickDDD 0:48bf0a15417a 150 PPG1_SetFreqHz(329.628);
ErickDDD 0:48bf0a15417a 151 WAIT1_Waitms(175);
ErickDDD 0:48bf0a15417a 152 PPG1_SetFreqHz(493.833);
ErickDDD 0:48bf0a15417a 153 WAIT1_Waitms(500);
ErickDDD 0:48bf0a15417a 154
ErickDDD 0:48bf0a15417a 155
ErickDDD 0:48bf0a15417a 156
ErickDDD 0:48bf0a15417a 157 PPG1_SetFreqHz(146.832);
ErickDDD 0:48bf0a15417a 158 WAIT1_Waitms(250);
ErickDDD 0:48bf0a15417a 159 PPG1_SetFreqHz(440);
ErickDDD 0:48bf0a15417a 160 WAIT1_Waitms(500);
ErickDDD 0:48bf0a15417a 161 PPG1_SetFreqHz(164.814);
ErickDDD 0:48bf0a15417a 162 WAIT1_Waitms(175);
ErickDDD 0:48bf0a15417a 163 PPG1_SetFreqHz(329.628);
ErickDDD 0:48bf0a15417a 164 WAIT1_Waitms(175);
ErickDDD 0:48bf0a15417a 165 PPG1_SetFreqHz(493.833);
ErickDDD 0:48bf0a15417a 166 WAIT1_Waitms(500);
ErickDDD 0:48bf0a15417a 167 PPG1_SetFreqHz(174.614);
ErickDDD 0:48bf0a15417a 168 WAIT1_Waitms(250);
ErickDDD 0:48bf0a15417a 169 PPG1_SetFreqHz(523.251);
ErickDDD 0:48bf0a15417a 170 WAIT1_Waitms(500);
ErickDDD 0:48bf0a15417a 171 PPG1_SetFreqHz(164.814);
ErickDDD 0:48bf0a15417a 172 WAIT1_Waitms(175);
ErickDDD 0:48bf0a15417a 173 PPG1_SetFreqHz(329.628);
ErickDDD 0:48bf0a15417a 174 WAIT1_Waitms(175);
ErickDDD 0:48bf0a15417a 175 PPG1_SetFreqHz(493.833);
ErickDDD 0:48bf0a15417a 176 WAIT1_Waitms(500);
ErickDDD 0:48bf0a15417a 177
ErickDDD 0:48bf0a15417a 178 PPG1_SetFreqHz(587.330);
ErickDDD 0:48bf0a15417a 179 WAIT1_Waitms(175);
ErickDDD 0:48bf0a15417a 180 PPG1_SetFreqHz(698.456);
ErickDDD 0:48bf0a15417a 181 WAIT1_Waitms(175);
ErickDDD 0:48bf0a15417a 182 PPG1_SetFreqHz(1174.66);
ErickDDD 0:48bf0a15417a 183 WAIT1_Waitms(500);
ErickDDD 0:48bf0a15417a 184 PPG1_SetFreqHz(587.330);
ErickDDD 0:48bf0a15417a 185 WAIT1_Waitms(175);
ErickDDD 0:48bf0a15417a 186 PPG1_SetFreqHz(698.456);
ErickDDD 0:48bf0a15417a 187 WAIT1_Waitms(175);
ErickDDD 0:48bf0a15417a 188 PPG1_SetFreqHz(1174.66);
ErickDDD 0:48bf0a15417a 189 WAIT1_Waitms(500);
ErickDDD 0:48bf0a15417a 190 PPG1_SetFreqHz(1318.514);
ErickDDD 0:48bf0a15417a 191 WAIT1_Waitms(350);
ErickDDD 0:48bf0a15417a 192 PPG1_SetFreqHz(1396.91);
ErickDDD 0:48bf0a15417a 193 WAIT1_Waitms(175);
ErickDDD 0:48bf0a15417a 194 PPG1_SetFreqHz(11318.514);
ErickDDD 0:48bf0a15417a 195 WAIT1_Waitms(200);
ErickDDD 0:48bf0a15417a 196 PPG1_SetFreqHz(1396.91);
ErickDDD 0:48bf0a15417a 197 WAIT1_Waitms(200);
ErickDDD 0:48bf0a15417a 198 PPG1_SetFreqHz(1318.514);
ErickDDD 0:48bf0a15417a 199 WAIT1_Waitms(200);
ErickDDD 0:48bf0a15417a 200 PPG1_SetFreqHz(1046.50);
ErickDDD 0:48bf0a15417a 201 WAIT1_Waitms(175);
ErickDDD 0:48bf0a15417a 202 PPG1_SetFreqHz(880);
ErickDDD 0:48bf0a15417a 203 WAIT1_Waitms(500);
ErickDDD 0:48bf0a15417a 204
ErickDDD 0:48bf0a15417a 205 PPG1_SetFreqHz(880);
ErickDDD 0:48bf0a15417a 206 WAIT1_Waitms(150);
ErickDDD 0:48bf0a15417a 207 PPG1_SetFreqHz(587.330);
ErickDDD 0:48bf0a15417a 208 WAIT1_Waitms(175);
ErickDDD 0:48bf0a15417a 209 PPG1_SetFreqHz(698.456);
ErickDDD 0:48bf0a15417a 210 WAIT1_Waitms(250);
ErickDDD 0:48bf0a15417a 211 PPG1_SetFreqHz(783.991);
ErickDDD 0:48bf0a15417a 212 WAIT1_Waitms(250);
ErickDDD 0:48bf0a15417a 213 PPG1_SetFreqHz(880);
ErickDDD 0:48bf0a15417a 214 WAIT1_Waitms(500);
ErickDDD 0:48bf0a15417a 215
ErickDDD 0:48bf0a15417a 216
ErickDDD 0:48bf0a15417a 217 PPG1_SetFreqHz(880);
ErickDDD 0:48bf0a15417a 218 WAIT1_Waitms(150);
ErickDDD 0:48bf0a15417a 219 PPG1_SetFreqHz(587.330);
ErickDDD 0:48bf0a15417a 220 WAIT1_Waitms(175);
ErickDDD 0:48bf0a15417a 221 PPG1_SetFreqHz(698.456);
ErickDDD 0:48bf0a15417a 222 WAIT1_Waitms(250);
ErickDDD 0:48bf0a15417a 223 PPG1_SetFreqHz(783.991);
ErickDDD 0:48bf0a15417a 224 WAIT1_Waitms(250);
ErickDDD 0:48bf0a15417a 225 PPG1_SetFreqHz(659.255);
ErickDDD 0:48bf0a15417a 226 WAIT1_Waitms(500);PPG1_SetFreqHz(587.330);
ErickDDD 0:48bf0a15417a 227 WAIT1_Waitms(175);
ErickDDD 0:48bf0a15417a 228 PPG1_SetFreqHz(698.456);
ErickDDD 0:48bf0a15417a 229 WAIT1_Waitms(175);
ErickDDD 0:48bf0a15417a 230 PPG1_SetFreqHz(1174.66);
ErickDDD 0:48bf0a15417a 231 WAIT1_Waitms(500);
ErickDDD 0:48bf0a15417a 232 PPG1_SetFreqHz(587.330);
ErickDDD 0:48bf0a15417a 233 WAIT1_Waitms(175);
ErickDDD 0:48bf0a15417a 234 PPG1_SetFreqHz(698.456);
ErickDDD 0:48bf0a15417a 235 WAIT1_Waitms(175);
ErickDDD 0:48bf0a15417a 236 PPG1_SetFreqHz(1174.66);
ErickDDD 0:48bf0a15417a 237 WAIT1_Waitms(500);
ErickDDD 0:48bf0a15417a 238 PPG1_SetFreqHz(1318.514);
ErickDDD 0:48bf0a15417a 239 WAIT1_Waitms(350);
ErickDDD 0:48bf0a15417a 240 PPG1_SetFreqHz(1396.91);
ErickDDD 0:48bf0a15417a 241 WAIT1_Waitms(175);
ErickDDD 0:48bf0a15417a 242 PPG1_SetFreqHz(11318.514);
ErickDDD 0:48bf0a15417a 243 WAIT1_Waitms(200);
ErickDDD 0:48bf0a15417a 244 PPG1_SetFreqHz(1396.91);
ErickDDD 0:48bf0a15417a 245 WAIT1_Waitms(200);
ErickDDD 0:48bf0a15417a 246 PPG1_SetFreqHz(1318.514);
ErickDDD 0:48bf0a15417a 247 WAIT1_Waitms(200);
ErickDDD 0:48bf0a15417a 248 PPG1_SetFreqHz(1046.50);
ErickDDD 0:48bf0a15417a 249 WAIT1_Waitms(175);
ErickDDD 0:48bf0a15417a 250 PPG1_SetFreqHz(880);
ErickDDD 0:48bf0a15417a 251 WAIT1_Waitms(500);
ErickDDD 0:48bf0a15417a 252
ErickDDD 0:48bf0a15417a 253 PPG1_SetFreqHz(880);
ErickDDD 0:48bf0a15417a 254 WAIT1_Waitms(150);
ErickDDD 0:48bf0a15417a 255 PPG1_SetFreqHz(587.330);
ErickDDD 0:48bf0a15417a 256 WAIT1_Waitms(175);
ErickDDD 0:48bf0a15417a 257 PPG1_SetFreqHz(698.456);
ErickDDD 0:48bf0a15417a 258 WAIT1_Waitms(250);
ErickDDD 0:48bf0a15417a 259 PPG1_SetFreqHz(783.991);
ErickDDD 0:48bf0a15417a 260 WAIT1_Waitms(250);
ErickDDD 0:48bf0a15417a 261 PPG1_SetFreqHz(880);
ErickDDD 0:48bf0a15417a 262 WAIT1_Waitms(500);
ErickDDD 0:48bf0a15417a 263
ErickDDD 0:48bf0a15417a 264
ErickDDD 0:48bf0a15417a 265 PPG1_SetFreqHz(880);
ErickDDD 0:48bf0a15417a 266 WAIT1_Waitms(150);
ErickDDD 0:48bf0a15417a 267 PPG1_SetFreqHz(587.330);
ErickDDD 0:48bf0a15417a 268 WAIT1_Waitms(175);
ErickDDD 0:48bf0a15417a 269 PPG1_SetFreqHz(698.456);
ErickDDD 0:48bf0a15417a 270 WAIT1_Waitms(250);
ErickDDD 0:48bf0a15417a 271 PPG1_SetFreqHz(783.991);
ErickDDD 0:48bf0a15417a 272 WAIT1_Waitms(250);
ErickDDD 0:48bf0a15417a 273 PPG1_SetFreqHz(659.255);
ErickDDD 0:48bf0a15417a 274 WAIT1_Waitms(500);
ErickDDD 0:48bf0a15417a 275
ErickDDD 0:48bf0a15417a 276
ErickDDD 0:48bf0a15417a 277
ErickDDD 0:48bf0a15417a 278
ErickDDD 0:48bf0a15417a 279
ErickDDD 0:48bf0a15417a 280 }
ErickDDD 0:48bf0a15417a 281
ErickDDD 0:48bf0a15417a 282
ErickDDD 0:48bf0a15417a 283 }
ErickDDD 0:48bf0a15417a 284
ErickDDD 0:48bf0a15417a 285 #ifdef PEX_RTOS_START
ErickDDD 0:48bf0a15417a 286 PEX_RTOS_START();
ErickDDD 0:48bf0a15417a 287 #endif
ErickDDD 0:48bf0a15417a 288 }
ErickDDD 0:48bf0a15417a 289
ErickDDD 0:48bf0a15417a 290 }
ErickDDD 0:48bf0a15417a 291 }