チーム1545
課題名
音楽プレイヤー
研究者名
2年14組 9番 Eccyuya Kazuhiro
2年14組10番 Oami Shouhei
概要
pwm_uart_2,timer_pwm2,hellow_worldを参考にして作成した。
曲を選択でき、選択された曲名をLCDに表示し流れるようにした。
リセットボタンを押すと曲を強制終了される。
使用機材
・PSoC基盤 1個
・MiniProg 1個
・スピーカー 1個
・ジャンパ線 2本
・ストーレート通信ケーブル 1本
ソースコード
#include <m8c.h> // part specific constants and macros
#include "PSoCAPI.h" // PSoC API definitions for all User Modules
#pragma interrupt_handler myISR
int PW=125; // Pulse Width
int SILENT=0, MR=273,Cs=243, D=229, DC=217, L=204, LC=193, M=182, F=172, FC=162, S=153,S2=145,SC=145, R=136, RC=129, C=121, CC=121, DD=115, DDC=108,LL=102, LLC=96, MM=91, FF=86, FFC=81, SS=77, SSC=72, RR=68, RRC=64,ami=0;
int TC=0; //Time Count
void myISR(void){
if(ami==1){
TC += 1; //TC = TC +1
PWM16_1_WritePulseWidth(PW);
if(TC == 1)
PWM16_1_WritePeriod(S);
else if(TC == 5)
PWM16_1_WritePeriod(R);
else if (TC == 7)
PWM16_1_WritePeriod(S);
else if(TC == 9)
PWM16_1_WritePeriod(M);
else if(TC == 13)
PWM16_1_WritePeriod(DD);
else if (TC == 17)
PWM16_1_WritePeriod(R);
else if(TC == 21)
PWM16_1_WritePeriod(S);
else if(TC == 29)
PWM16_1_WritePeriod(SILENT);
else if(TC == 33)
PWM16_1_WritePeriod(S);
else if (TC == 35)
PWM16_1_WritePeriod(R);
else if(TC == 37)
PWM16_1_WritePeriod(S);
else if(TC == 39)
PWM16_1_WritePeriod(R);
else if (TC == 41)
PWM16_1_WritePeriod(S);
else if(TC == 45)
PWM16_1_WritePeriod(DD);
else if(TC == 49)
PWM16_1_WritePeriod(C);
else if(TC == 61)
PWM16_1_WritePeriod(SILENT);
else if(TC == 65)
PWM16_1_WritePeriod(F);
else if (TC == 67)
PWM16_1_WritePeriod(S);
else if(TC == 69)
PWM16_1_WritePeriod(F);
else if(TC == 73)
PWM16_1_WritePeriod(L);
else if(TC == 77)
PWM16_1_WritePeriod(C);
else if (TC == 81)
PWM16_1_WritePeriod(R);
else if(TC == 85)
PWM16_1_WritePeriod(S);
else if(TC == 93)
PWM16_1_WritePeriod(SILENT);
else if(TC == 97)
PWM16_1_WritePeriod(S);
else if(TC == 99)
PWM16_1_WritePeriod(R);
else if(TC == 101)
PWM16_1_WritePeriod(S);
else if (TC == 103)
PWM16_1_WritePeriod(R);
else if(TC == 105)
PWM16_1_WritePeriod(S);
else if(TC == 109)
PWM16_1_WritePeriod(R);
else if (TC == 113)
PWM16_1_WritePeriod(M);
else if(TC == 125)
PWM16_1_WritePeriod(SILENT);
else if(TC == 129)
PWM16_1_WritePeriod(S);
else if (TC == 131)
PWM16_1_WritePeriod(R);
else if(TC == 133)
PWM16_1_WritePeriod(S);
else if(TC == 137)
PWM16_1_WritePeriod(M);
else if(TC == 141)
PWM16_1_WritePeriod(DD);
else if (TC == 145)
PWM16_1_WritePeriod(R);
else if(TC == 149)
PWM16_1_WritePeriod(S);
else if(TC == 157)
PWM16_1_WritePeriod(SILENT);
else if(TC == 161)
PWM16_1_WritePeriod(S);
else if(TC == 163)
PWM16_1_WritePeriod(R);
else if(TC == 165)
PWM16_1_WritePeriod(S);
else if (TC == 167)
PWM16_1_WritePeriod(R);
else if(TC == 169)
PWM16_1_WritePeriod(S);
else if(TC == 173)
PWM16_1_WritePeriod(DD);
else if (TC == 177)
PWM16_1_WritePeriod(C);
else if(TC == 189)
PWM16_1_WritePeriod(SILENT);
else if(TC == 193)
PWM16_1_WritePeriod(F);
else if(TC == 197)
PWM16_1_WritePeriod(S);
else if (TC == 199)
PWM16_1_WritePeriod(F);
else if(TC == 201)
PWM16_1_WritePeriod(L);
else if(TC == 205)
PWM16_1_WritePeriod(C);
else if (TC == 209)
PWM16_1_WritePeriod(R);
else if(TC == 213)
PWM16_1_WritePeriod(S);
else if(TC == 221)
PWM16_1_WritePeriod(SILENT);
else if(TC == 225)
PWM16_1_WritePeriod(S);
else if (TC == 227)
PWM16_1_WritePeriod(R);
else if(TC == 229)
PWM16_1_WritePeriod(S);
else if(TC == 231)
PWM16_1_WritePeriod(R);
else if (TC == 233)
PWM16_1_WritePeriod(S);
else if(TC == 237)
PWM16_1_WritePeriod(LL);
else if(TC == 241)
PWM16_1_WritePeriod(DD);
else if(TC == 253)
PWM16_1_WritePeriod(SILENT);
else if (TC == 257)
PWM16_1_WritePeriod(R);
else if (TC == 261) PWM16_1_WritePeriod(R); else if (TC == 265) PWM16_1_WritePeriod(DD); else if (TC == 269) PWM16_1_WritePeriod(R);
else if (TC == 273)
PWM16_1_WritePeriod(S); else if (TC == 277) PWM16_1_WritePeriod(M); else if (TC == 281) PWM16_1_WritePeriod(S); else if (TC == 289) PWM16_1_WritePeriod(F); else if (TC == 293) PWM16_1_WritePeriod(R); else if (TC == 297) PWM16_1_WritePeriod(S); else if (TC == 301) PWM16_1_WritePeriod(F); else if (TC == 305) PWM16_1_WritePeriod(M); else if (TC == 317) PWM16_1_WritePeriod(SILENT);
else if (TC == 321)
PWM16_1_WritePeriod(L); else if (TC == 325) PWM16_1_WritePeriod(M); else if (TC == 329) PWM16_1_WritePeriod(S); else if (TC == 333) PWM16_1_WritePeriod(R);
else if (TC == 337)
PWM16_1_WritePeriod(C); else if (TC == 341) PWM16_1_WritePeriod(C); else if (TC == 345) PWM16_1_WritePeriod(C); else if (TC == 353) PWM16_1_WritePeriod(DD); else if (TC == 357) PWM16_1_WritePeriod(DD); else if (TC == 361) PWM16_1_WritePeriod(C); else if (TC == 365) PWM16_1_WritePeriod(R); else if (TC == 369) PWM16_1_WritePeriod(S); else if (TC == 373) PWM16_1_WritePeriod(F); else if (TC == 375) PWM16_1_WritePeriod(L); else if (TC == 377) PWM16_1_WritePeriod(L); else if (TC == 385) PWM16_1_WritePeriod(SILENT); //7
else if(TC == 389)
PWM16_1_WritePeriod(S);
else if (TC == 391)
PWM16_1_WritePeriod(R);
else if(TC == 393)
PWM16_1_WritePeriod(S);
else if(TC == 397)
PWM16_1_WritePeriod(M);
else if(TC == 401)
PWM16_1_WritePeriod(DD);
else if (TC == 405)
PWM16_1_WritePeriod(R);
else if(TC == 409)
PWM16_1_WritePeriod(S);
else if(TC == 417)
PWM16_1_WritePeriod(SILENT);
else if(TC == 421)
PWM16_1_WritePeriod(S);
else if(TC == 423)
PWM16_1_WritePeriod(R);
else if(TC == 425)
PWM16_1_WritePeriod(S);
else if (TC == 427)
PWM16_1_WritePeriod(R);
else if(TC == 429)
PWM16_1_WritePeriod(S);
else if(TC == 433)
PWM16_1_WritePeriod(DD);
else if (TC == 437)
PWM16_1_WritePeriod(C);
else if(TC == 449)
PWM16_1_WritePeriod(SILENT);
else if(TC == 453)
PWM16_1_WritePeriod(F);
else if(TC == 455)
PWM16_1_WritePeriod(S);
else if (TC == 457)
PWM16_1_WritePeriod(F);
else if(TC == 461)
PWM16_1_WritePeriod(L);
else if(TC == 465)
PWM16_1_WritePeriod(C);
else if (TC == 469)
PWM16_1_WritePeriod(R);
else if(TC == 473)
PWM16_1_WritePeriod(S);
else if(TC == 481)
PWM16_1_WritePeriod(SILENT);
else if(TC == 485)
PWM16_1_WritePeriod(S);
else if (TC == 487)
PWM16_1_WritePeriod(R);
else if(TC == 489)
PWM16_1_WritePeriod(S);
else if(TC == 491)
PWM16_1_WritePeriod(R);
else if (TC == 493)
PWM16_1_WritePeriod(S);
else if(TC == 497)
PWM16_1_WritePeriod(LL);
else if(TC == 501)
PWM16_1_WritePeriod(DD);
else if(TC == 513)
PWM16_1_WritePeriod(SILENT);
else if(TC == 517){
TC=0;
ami=0;
}
}
if(ami==2){
TC += 1; //TC = TC +1
PWM16_1_WritePulseWidth(PW);
if(TC == 1)
PWM16_1_WritePeriod(DD);
else if(TC == 4)
PWM16_1_WritePeriod(S);
else if (TC == 7)
PWM16_1_WritePeriod(R);
else if(TC == 10)
PWM16_1_WritePeriod(C);
else if(TC == 13)
PWM16_1_WritePeriod(DD);
else if (TC == 16)
PWM16_1_WritePeriod(S);
else if(TC == 19)
PWM16_1_WritePeriod(R);
else if(TC == 22)
PWM16_1_WritePeriod(C);
else if(TC == 25)
PWM16_1_WritePeriod(DD);
else if (TC == 26)
PWM16_1_WritePeriod(SILENT);
else if(TC == 27)
PWM16_1_WritePeriod(DD);
else if (TC == 28)
PWM16_1_WritePeriod(DD);
else if (TC == 29)
PWM16_1_WritePeriod(SILENT);
else if(TC == 30)
PWM16_1_WritePeriod(DD);
else if(TC == 31)
PWM16_1_WritePeriod(DD);
else if (TC == 32)
PWM16_1_WritePeriod(SILENT);
else if(TC == 33)
PWM16_1_WritePeriod(DD);
else if(TC == 34)
PWM16_1_WritePeriod(DD);
else if (TC == 35)
PWM16_1_WritePeriod(SILENT);
else if (TC == 36)
PWM16_1_WritePeriod(DD);
else if(TC == 37)
PWM16_1_WritePeriod(LL);
else if (TC == 38)
PWM16_1_WritePeriod(SILENT);
else if(TC == 39)
PWM16_1_WritePeriod(DD);
else if(TC == 40)
PWM16_1_WritePeriod(C);
else if (TC == 41)
PWM16_1_WritePeriod(SILENT);
else if(TC == 42)
PWM16_1_WritePeriod(R);
else if (TC == 43)
PWM16_1_WritePeriod(S);
else if(TC == 49){
PWM16_1_WritePeriod(DD); }
else if(TC == 50)
PWM16_1_WritePeriod(SILENT);
else if (TC == 51)
PWM16_1_WritePeriod(DD);
else if(TC == 52){
PWM16_1_WritePeriod(DD); }
else if(TC == 54)
PWM16_1_WritePeriod(SILENT);
else if(TC == 55){
PWM16_1_WritePeriod(DD); }
else if (TC == 56)
PWM16_1_WritePeriod(SILENT);
else if(TC == 57)
PWM16_1_WritePeriod(DD);
else if (TC == 58){
PWM16_1_WritePeriod(DD); }
else if (TC == 60)
PWM16_1_WritePeriod(SILENT);
else if(TC == 61){
PWM16_1_WritePeriod(MM); }
else if(TC == 62)
PWM16_1_WritePeriod(SILENT);
else if (TC == 63){
PWM16_1_WritePeriod(DD); }
else if(TC == 64){
PWM16_1_WritePeriod(LL); }
else if(TC == 65){
PWM16_1_WritePeriod(SILENT); }
else if (TC == 66){
PWM16_1_WritePeriod(C); }
else if (TC == 67){
PWM16_1_WritePeriod(DD); }
else if(TC == 69){
PWM16_1_WritePeriod(SILENT); ami=0; } } if(ami==3){
TC += 1; //TC = TC +1
PWM16_1_WritePulseWidth(PW);
if(TC == 1){
PWM16_1_WritePeriod(SILENT);
}
if(TC == 12){
PWM16_1_WritePeriod(SILENT);
}
if(TC == 20){
PWM16_1_WritePeriod(SILENT);
}
if(TC == 31){
PWM16_1_WritePeriod(S);
}
else if(TC == 33){
PWM16_1_WritePeriod(SILENT);}
else if(TC == 34){
PWM16_1_WritePeriod(S);
}
else if(TC == 37){
PWM16_1_WritePeriod(R);
}
else if(TC == 40){
PWM16_1_WritePeriod(C);
}
else if(TC == 43){
PWM16_1_WritePeriod(S);
}
else if (TC == 46){
PWM16_1_WritePeriod(M);
}
else if(TC == 49){
PWM16_1_WritePeriod(L);
}
else if(TC == 52){
PWM16_1_WritePeriod(SILENT);
}
else if(TC == 56){
PWM16_1_WritePeriod(S);
}
else if(TC == 62){
PWM16_1_WritePeriod(R);
}
else if(TC == 65){
PWM16_1_WritePeriod(C);
}
else if(TC == 68){
PWM16_1_WritePeriod(S);
}
else if(TC == 71){
PWM16_1_WritePeriod(M);
}
else if(TC == 74){
PWM16_1_WritePeriod(L);
}
else if(TC == 76){
PWM16_1_WritePeriod(SILENT);
}
else if(TC == 80){
PWM16_1_WritePeriod(S);
}
else if(TC == 82){
PWM16_1_WritePeriod(SILENT);}
else if(TC == 83){
PWM16_1_WritePeriod(S);
}
else if(TC == 86){
PWM16_1_WritePeriod(R);
}
else if(TC == 89){
PWM16_1_WritePeriod(C);
}
else if(TC == 92){
PWM16_1_WritePeriod(SILENT);
}
else if(TC == 96){
PWM16_1_WritePeriod(C);
}
else if(TC == 99){
PWM16_1_WritePeriod(LL);
}
else if(TC == 102){
PWM16_1_WritePeriod(MM);
}
else if(TC == 108){
PWM16_1_WritePeriod(SILENT);}
else if(TC == 109){
PWM16_1_WritePeriod(MM);
}
else if(TC == 112){
PWM16_1_WritePeriod(LL);
}
else if(TC == 115){
PWM16_1_WritePeriod(MM);
}
else if(TC == 118){
PWM16_1_WritePeriod(LL); }
else if(TC == 121){
PWM16_1_WritePeriod(C);
}
else if(TC == 124){
PWM16_1_WritePeriod(R);
}
else if(TC == 126){
PWM16_1_WritePeriod(SILENT);
}
else if(TC == 130){
PWM16_1_WritePeriod(S);
}
else if(TC == 131){
PWM16_1_WritePeriod(SILENT);}
else if(TC == 132){
PWM16_1_WritePeriod(S);
}
else if(TC == 133){
PWM16_1_WritePeriod(SILENT);}
else if(TC == 134){
PWM16_1_WritePeriod(S);
}
else if(TC == 137){
PWM16_1_WritePeriod(M);
}
else if(TC == 140){
PWM16_1_WritePeriod(R);
}
else if(TC == 146){
PWM16_1_WritePeriod(SILENT);
}
else if(TC == 150){
PWM16_1_WritePeriod(R);
}
else if(TC == 156){
PWM16_1_WritePeriod(SILENT);}
else if(TC == 157){
PWM16_1_WritePeriod(R); }
else if(TC == 160){
PWM16_1_WritePeriod(S); }
else if(TC == 163){
PWM16_1_WritePeriod(C); }
else if(TC == 169){
PWM16_1_WritePeriod(SILENT); }
else if(TC == 175){
PWM16_1_WritePeriod(S);
}
else if(TC == 177){
PWM16_1_WritePeriod(SILENT);}
else if(TC == 178){
PWM16_1_WritePeriod(S); }
else if(TC == 184){
PWM16_1_WritePeriod(MM); }
else if(TC == 187){
PWM16_1_WritePeriod(LL);
}
else if(TC == 190){
PWM16_1_WritePeriod(C); }
else if(TC == 193){
PWM16_1_WritePeriod(S);
}
else if(TC == 196){
PWM16_1_WritePeriod(M); }
else if(TC == 199){
PWM16_1_WritePeriod(S);
}
else if(TC == 201){
PWM16_1_WritePeriod(SILENT);}
else if(TC == 202){
PWM16_1_WritePeriod(S);
}
else if(TC == 209){
PWM16_1_WritePeriod(SILENT);}
else if(TC == 210){
PWM16_1_WritePeriod(SILENT); ami=0;
}
} if(ami==4){ TC += 1; //TC = TC +1
PWM16_1_WritePulseWidth(PW);
if(TC == 1)
PWM16_1_WritePeriod(MR);
else if(TC == 3)
PWM16_1_WritePeriod(SILENT);
else if(TC == 4)
PWM16_1_WritePeriod(MR);
else if(TC == 5)
PWM16_1_WritePeriod(L);
else if (TC == 9)
PWM16_1_WritePeriod(M);
else if(TC == 13)
PWM16_1_WritePeriod(FC);
else if(TC == 17)
PWM16_1_WritePeriod(S);
else if (TC == 21)
PWM16_1_WritePeriod(CC);
else if(TC == 23)
PWM16_1_WritePeriod(R);
else if(TC == 33)
PWM16_1_WritePeriod(L);
else if(TC == 35)
PWM16_1_WritePeriod(SILENT);
else if(TC == 36)
PWM16_1_WritePeriod(M);
else if (TC == 37)
PWM16_1_WritePeriod(FC);
else if(TC == 41)
PWM16_1_WritePeriod(R);
else if(TC == 45)
PWM16_1_WritePeriod(LL);
else if (TC == 49)
PWM16_1_WritePeriod(CC);
else if(TC == 53)
PWM16_1_WritePeriod(R);
else if(TC == 65)
PWM16_1_WritePeriod(FFC);
else if(TC == 67)
PWM16_1_WritePeriod(SILENT);
else if(TC == 68)
PWM16_1_WritePeriod(MM);
else if(TC == 69)
PWM16_1_WritePeriod(LL);
else if(TC == 73)
PWM16_1_WritePeriod(SILENT);
else if(TC == 74)
PWM16_1_WritePeriod(LL);
else if (TC == 78)
PWM16_1_WritePeriod(SILENT);
else if(TC == 79)
PWM16_1_WritePeriod(LL);
else if(TC == 83)
PWM16_1_WritePeriod(CC);
else if (TC == 87)
PWM16_1_WritePeriod(LL);
else if(TC == 89)
PWM16_1_WritePeriod(R);
else if(TC == 91)
PWM16_1_WritePeriod(SILENT);
else if(TC == 92)
PWM16_1_WritePeriod(R);
else if (TC == 100)
PWM16_1_WritePeriod(FC);
else if(TC == 102)
PWM16_1_WritePeriod(SILENT);
else if(TC == 103)
PWM16_1_WritePeriod(R);
else if(TC == 105)
PWM16_1_WritePeriod(LL);
else if (TC == 109)
PWM16_1_WritePeriod(CC);
else if(TC == 113)
PWM16_1_WritePeriod(R);
else if(TC == 117)
PWM16_1_WritePeriod(FC);
else if(TC == 121)
PWM16_1_WritePeriod(M);
else if(TC == 133)
PWM16_1_WritePeriod(R);
else if(TC == 135)
PWM16_1_WritePeriod(MM);
else if(TC == 137)
PWM16_1_WritePeriod(LL);
else if (TC == 149)
PWM16_1_WritePeriod(FC);
else if(TC == 151)
PWM16_1_WritePeriod(S);
else if(TC == 153)
PWM16_1_WritePeriod(R);
else if(TC == 161)
PWM16_1_WritePeriod(SILENT);
else if(TC == 162)
PWM16_1_WritePeriod(R);
else if (TC == 166)
PWM16_1_WritePeriod(FC);
else if(TC == 168)
PWM16_1_WritePeriod(S);
else if(TC == 170)
PWM16_1_WritePeriod(R);
else if (TC == 174)
PWM16_1_WritePeriod(CC);
else if(TC == 178)
PWM16_1_WritePeriod(LL);
else if(TC == 180)
PWM16_1_WritePeriod(R);
else if(TC == 184)
PWM16_1_WritePeriod(CC);
else if (TC == 186)
PWM16_1_WritePeriod(LL);
else if(TC == 198)
PWM16_1_WritePeriod(FFC);
else if(TC == 201)
PWM16_1_WritePeriod(MM);
else if (TC == 202)
PWM16_1_WritePeriod(LL);
else if(TC == 206)
PWM16_1_WritePeriod(R);
else if(TC == 210)
PWM16_1_WritePeriod(SILENT);
else if(TC == 211)
PWM16_1_WritePeriod(R);
else if (TC == 215)
PWM16_1_WritePeriod(CC);
else if(TC == 219)
PWM16_1_WritePeriod(R);
else if(TC == 221)
PWM16_1_WritePeriod(FC);
else if(TC == 223)
PWM16_1_WritePeriod(SILENT);
else if (TC == 224)
PWM16_1_WritePeriod(FC);
else if(TC == 232)
PWM16_1_WritePeriod(L);
else if(TC == 235)
PWM16_1_WritePeriod(M);
else if (TC == 236)
PWM16_1_WritePeriod(FC);
else if(TC == 240)
PWM16_1_WritePeriod(R);
else if(TC == 244)
PWM16_1_WritePeriod(LL);
else if(TC == 248)
PWM16_1_WritePeriod(CC);
else if (TC == 252)
PWM16_1_WritePeriod(R);
else if(TC == 264)
PWM16_1_WritePeriod(LL);
else if(TC == 268)
PWM16_1_WritePeriod(CC);
else if (TC == 276)
PWM16_1_WritePeriod(R);
else if(TC == 280)
PWM16_1_WritePeriod(LL);
else if(TC == 283)
PWM16_1_WritePeriod(DD);
else if(TC == 284)
PWM16_1_WritePeriod(CC);
else if (TC == 292)
PWM16_1_WritePeriod(R);
else if(TC == 296)
PWM16_1_WritePeriod(SILENT);
else if(TC == 297)
PWM16_1_WritePeriod(R);
else if(TC == 299)
PWM16_1_WritePeriod(CC);
else if (TC == 301)
PWM16_1_WritePeriod(R);
else if(TC == 303)
PWM16_1_WritePeriod(FC);
else if(TC == 307)
PWM16_1_WritePeriod(S);
else if (TC == 309)
PWM16_1_WritePeriod(R);
else if(TC == 313)
PWM16_1_WritePeriod(CC);
else if(TC == 317)
PWM16_1_WritePeriod(R);
else if(TC == 321)
PWM16_1_WritePeriod(L);
else if (TC == 325)
PWM16_1_WritePeriod(R);
else if(TC == 329)
PWM16_1_WritePeriod(FFC);
else if(TC == 332)
PWM16_1_WritePeriod(MM);
else if (TC == 333)
PWM16_1_WritePeriod(LL);
else if(TC == 345)
PWM16_1_WritePeriod(SILENT);
else if(TC == 346)
PWM16_1_WritePeriod(LL);
else if(TC == 349)
PWM16_1_WritePeriod(MM);
else if (TC == 350)
PWM16_1_WritePeriod(LL);
else if(TC == 358)
PWM16_1_WritePeriod(CC);
else if(TC == 362)
PWM16_1_WritePeriod(SILENT);
else if(TC == 363)
PWM16_1_WritePeriod(CC);
else if (TC == 365)
PWM16_1_WritePeriod(R);
else if(TC == 367)
PWM16_1_WritePeriod(SILENT);
else if(TC == 368)
PWM16_1_WritePeriod(R);
else if (TC == 370)
PWM16_1_WritePeriod(FC);
else if(TC == 374)
PWM16_1_WritePeriod(S);
else if(TC == 376)
PWM16_1_WritePeriod(R);
else if(TC == 380)
PWM16_1_WritePeriod(CC);
else if (TC == 384)
PWM16_1_WritePeriod(R);
else if(TC == 388)
PWM16_1_WritePeriod(L);
else if(TC == 392)
PWM16_1_WritePeriod(R);
else if (TC == 396)
PWM16_1_WritePeriod(FFC);
else if(TC == 399)
PWM16_1_WritePeriod(MM);
else if(TC == 400)
PWM16_1_WritePeriod(LL);
else if(TC == 412)
PWM16_1_WritePeriod(SILENT);
else if (TC == 413)
PWM16_1_WritePeriod(L);
else if (TC == 416)
PWM16_1_WritePeriod(SILENT);
else if(TC == 417)
PWM16_1_WritePeriod(LL);
else if(TC == 418)
PWM16_1_WritePeriod(LL);
else if (TC == 426)
PWM16_1_WritePeriod(R);
else if(TC == 430)
PWM16_1_WritePeriod(CC);
else if(TC == 432)
PWM16_1_WritePeriod(R);
else if(TC == 434)
PWM16_1_WritePeriod(SILENT);
else if (TC == 435)
PWM16_1_WritePeriod(R);
else if(TC == 437)
PWM16_1_WritePeriod(FC);
else if(TC == 441)
PWM16_1_WritePeriod(L);
else if (TC == 443)
PWM16_1_WritePeriod(FC);
else if(TC == 447)
PWM16_1_WritePeriod(M);
else if(TC == 451)
PWM16_1_WritePeriod(LL);
else if(TC == 463){
PWM16_1_WritePeriod(SILENT);
ami=0;
}
}
}
void main(void)
{
// M8C_EnableGInt ; // Uncomment this line to enable Global Interrupts // I nsert your main routine code here. char * strPtr; UART_CmdReset(); UART_IntCntl(UART_ENABLE_RX_INT); Counter8_WritePeriod(155); Counter8_WriteCompareValue(77); Counter8_Start(); UART_Start(UART_PARITY_NONE); M8C_EnableGInt; PWM16_1_Start(); UART_CPutString("\r\nWelcome to PSoC UART test program. v1.1 \r\n"); while(1){ if(UART_bCmdCheck()){ if(strPtr = UART_szGetParam()){ UART_CPutString("Found vaild command\r\nCommand =>"); UART_PutString(strPtr); UART_CPutString("<\r\nParamaters:\r\n"); if(*strPtr=='A'){ ami=1; LCD_1_Start(); LCD_1_PrCString("Akahananotonakai"); PWM16_1_Start(); Timer16_1_EnableInt(); Timer16_1_Start(); } else if(*strPtr=='M'){ ami=2; LCD_1_Start(); LCD_1_PrCString("MickeyMouseMarch"); PWM16_1_Start(); Timer16_1_EnableInt(); Timer16_1_Start(); } else if(*strPtr=='U'){ ami=3; LCD_1_Start(); LCD_1_PrCString("Uewomuitearuko"); PWM16_1_Start(); Timer16_1_EnableInt(); Timer16_1_Start(); } else if(*strPtr=='K'){ ami=4; LCD_1_Start(); LCD_1_PrCString("meiji kouka"); PWM16_1_Start(); Timer16_1_EnableInt(); Timer16_1_Start(); } else if(*strPtr=='L') PWM16_1_WritePeriod(SILENT);} UART_CmdReset(); } }
}
考察
mainに直接曲を書くと流れなかったため、ある文字を入力された場合割り込み処理をするようにした。
この方法を使うとmainをそんなに書き換えることがないため、バグが出るとしたら新しい曲を追加する時になる。
そのため、比較的早く見つけることができると考えられる。
音の幅が広いと変数の宣言が多くなったり、複数の曲を作るとそれぞれ割り当てる変数を覚えていないといけないため少々めんどくさくなる。
- 最終更新:2015-10-20 15:50:54