チーム2015
課題名
SUPER MUSIC PLAYER
研究者名
加藤恵人
WENG JUNYAN
概要
キーを入力をすると、入力に対応して音楽が流れる。
LCDには曲名や再生時間の経過が表示される。
曲名:
a:Canon in D
b:Lemon(未完成) c:きらきら星(未完成)
d:カエルの歌(未完成)
e:千本桜(未完成)
s:change song
画像
ソースコード
#include <m8c.h> // part specific constants and macros
#include <stdlib.h>
#include "PSoCAPI.h" // PSoC API definitions for all User Modules
#pragma interrupt_handler myISR
#define SW0b00010000
int PW=125; // Pulse Width int SILENT=0,c=243,D=217,L=193,M=182,F=162,S=145,Ra=136,R=129,C=121;
int DD=108,LL=96,MM=91,FF=81,SS=72,RRa=68,RR=64,CC=61;
int n=0;int k=0;
int TC=0; //Time Count
char p[9];
void myISR(void)
{
if (n==1){ TC += 1; //TC = TC +1 LCD_1_Start(); LCD_1_Position(0,0); LCD_1_PrCString("Name:Canon in D"); LCD_1_Position(1,0); if (TC %6==0) k++; if (k<10) { csprintf(p,"%d",k); LCD_1_PrCString("0:0"); LCD_1_PrString(p); LCD_1_PrCString("/2:13"); } if (k<60&&k>=10) { csprintf(p,"%d",k); LCD_1_PrCString("0:"); LCD_1_PrString(p); LCD_1_PrCString("/2:13"); } if (k>=60&&k<70) { csprintf(p,"%d",k-60); LCD_1_PrCString("1:0"); LCD_1_PrString(p); LCD_1_PrCString("/2:13"); } if (k>=70&&k<120) { csprintf(p,"%d",k-60); LCD_1_PrCString("1:"); LCD_1_PrString(p); LCD_1_PrCString("/2:13"); } if (k>=120&&k<130) { csprintf(p,"%d",k-120); LCD_1_PrCString("2:0"); LCD_1_PrString(p); LCD_1_PrCString("/2:13"); } if (k>=130&&k<=133) { csprintf(p,"%d",k-120); LCD_1_PrCString("2:"); LCD_1_PrString(p); LCD_1_PrCString("/2:13"); }
PWM16_1_WritePulseWidth(PW);
if(TC == 1)
PWM16_1_WritePeriod(LL);
else if(TC == 9)
PWM16_1_WritePeriod(DD);
else if (TC == 17)
PWM16_1_WritePeriod(C);
else if(TC == 25)
PWM16_1_WritePeriod(R);
else if(TC == 33)
PWM16_1_WritePeriod(S);
else if (TC == 41)
PWM16_1_WritePeriod(F);
else if(TC == 49)
PWM16_1_WritePeriod(S);
else if(TC == 57)
PWM16_1_WritePeriod(R);
else if (TC == 65)
PWM16_1_WritePeriod(SILENT);
else if (TC == 66)
PWM16_1_WritePeriod(C);
else if(TC == 74)
PWM16_1_WritePeriod(R);
else if (TC == 82)
PWM16_1_WritePeriod(S);
else if(TC == 90)
PWM16_1_WritePeriod(F);
else if(TC == 98)
PWM16_1_WritePeriod(M);
else if (TC == 106)
PWM16_1_WritePeriod(L);
else if(TC == 114)
PWM16_1_WritePeriod(M);
else if(TC == 122)
PWM16_1_WritePeriod(D);
else if (TC == 130)
PWM16_1_WritePeriod(SILENT);
else if (TC == 131)
PWM16_1_WritePeriod(LL);
else if(TC == 139)
PWM16_1_WritePeriod(DD);
else if (TC == 147)
PWM16_1_WritePeriod(C);
else if(TC == 155)
PWM16_1_WritePeriod(R);
else if(TC == 163)
PWM16_1_WritePeriod(S);
else if (TC == 171)
PWM16_1_WritePeriod(F);
else if(TC == 179)
PWM16_1_WritePeriod(S);
else if(TC == 187)
PWM16_1_WritePeriod(R);
else if (TC == 195)
PWM16_1_WritePeriod(SILENT);
else if (TC == 196)
PWM16_1_WritePeriod(F);
else if(TC == 200)
PWM16_1_WritePeriod(C);
else if (TC == 204)
PWM16_1_WritePeriod(DD);
else if(TC == 208)
PWM16_1_WritePeriod(R);
else if(TC == 212)
PWM16_1_WritePeriod(C);
else if (TC == 216)
PWM16_1_WritePeriod(LL);
else if(TC == 220)
PWM16_1_WritePeriod(FF);
else if(TC == 224)
PWM16_1_WritePeriod(F);
else if (TC == 228)
PWM16_1_WritePeriod(S);
else if(TC == 232)
PWM16_1_WritePeriod(M);
else if (TC == 236)
PWM16_1_WritePeriod(F);
else if(TC == 240)
PWM16_1_WritePeriod(F);
else if(TC == 244)
PWM16_1_WritePeriod(M);
else if (TC == 248)
PWM16_1_WritePeriod(C);
else if(TC == 252)
PWM16_1_WritePeriod(R);
else if(TC == 253)
PWM16_1_WritePeriod(C);
else if(TC == 254)
PWM16_1_WritePeriod(R);
else if(TC == 258)
PWM16_1_WritePeriod(F);
else if (TC == 262)
PWM16_1_WritePeriod(SILENT);
else if (TC == 263)
PWM16_1_WritePeriod(C);
else if(TC == 265)
PWM16_1_WritePeriod(R);
else if (TC == 267)
PWM16_1_WritePeriod(C);
else if(TC == 269)
PWM16_1_WritePeriod(L);
else if(TC == 271)
PWM16_1_WritePeriod(F);
else if (TC == 273)
PWM16_1_WritePeriod(F);
else if(TC == 275)
PWM16_1_WritePeriod(R);
else if(TC == 279)
PWM16_1_WritePeriod(C);
else if (TC == 281)
PWM16_1_WritePeriod(C);
else if(TC == 283)
PWM16_1_WritePeriod(LL);
else if (TC == 287)
PWM16_1_WritePeriod(FF);
else if(TC == 291)
PWM16_1_WritePeriod(FF);
else if(TC == 293)
PWM16_1_WritePeriod(SS);
else if (TC == 295)
PWM16_1_WritePeriod(MM);
else if(TC == 297)
PWM16_1_WritePeriod(LL);
else if(TC == 299)
PWM16_1_WritePeriod(DD);
else if(TC == 301)
PWM16_1_WritePeriod(MM);
else if(TC == 303)
PWM16_1_WritePeriod(LL);
else if (TC == 305)
PWM16_1_WritePeriod(DD);
else if(TC == 307)
PWM16_1_WritePeriod(C);
else if(TC == 309)
PWM16_1_WritePeriod(R);
else if (TC == 311)
PWM16_1_WritePeriod(S);
else if(TC == 313)
PWM16_1_WritePeriod(F);
else if(TC == 315)
PWM16_1_WritePeriod(C);
else if(TC == 319)
PWM16_1_WritePeriod(C);
else if(TC == 321)
PWM16_1_WritePeriod(R);
else if(TC == 322)
PWM16_1_WritePeriod(C);
else if(TC == 323)
PWM16_1_WritePeriod(R);
else if (TC == 327)
PWM16_1_WritePeriod(SILENT);
else if (TC == 328)
PWM16_1_WritePeriod(C);
else if(TC == 330)
PWM16_1_WritePeriod(R);
else if (TC == 332)
PWM16_1_WritePeriod(C);
else if(TC == 334)
PWM16_1_WritePeriod(L);
else if(TC == 336)
PWM16_1_WritePeriod(F);
else if (TC == 340)
PWM16_1_WritePeriod(R);
else if(TC == 344)
PWM16_1_WritePeriod(C);
else if(TC == 348)
PWM16_1_WritePeriod(LL);
else if (TC == 352)
PWM16_1_WritePeriod(FF);
else if(TC == 356)
PWM16_1_WritePeriod(FF);
else if (TC == 358)
PWM16_1_WritePeriod(SS);
else if(TC == 360)
PWM16_1_WritePeriod(MM);
else if(TC == 362)
PWM16_1_WritePeriod(LL);
else if (TC == 364)
PWM16_1_WritePeriod(DD);
else if(TC == 366)
PWM16_1_WritePeriod(MM);
else if(TC == 368)
PWM16_1_WritePeriod(LL);
else if(TC == 370)
PWM16_1_WritePeriod(DD);
else if(TC == 372)
PWM16_1_WritePeriod(C);
else if (TC == 374)
PWM16_1_WritePeriod(R);
else if(TC == 376)
PWM16_1_WritePeriod(S);
else if(TC == 378)
PWM16_1_WritePeriod(F);
else if (TC == 380)
PWM16_1_WritePeriod(C);
else if(TC == 384)
PWM16_1_WritePeriod(C);
else if(TC == 386)
PWM16_1_WritePeriod(R);
else if(TC == 387)
PWM16_1_WritePeriod(C);
else if(TC == 388)
PWM16_1_WritePeriod(R);
else if (TC == 392)
PWM16_1_WritePeriod(SILENT);
else if (TC == 393)
PWM16_1_WritePeriod(C);
else if(TC == 395)
PWM16_1_WritePeriod(LL);
else if (TC == 396)
PWM16_1_WritePeriod(MM);
else if(TC == 397)
PWM16_1_WritePeriod(FF);
else if(TC == 399)
PWM16_1_WritePeriod(LL);
else if (TC == 400)
PWM16_1_WritePeriod(MM);
else if(TC == 401)
PWM16_1_WritePeriod(FF);
else if(TC == 402)
PWM16_1_WritePeriod(F);
else if (TC == 403)
PWM16_1_WritePeriod(S);
else if(TC == 404)
PWM16_1_WritePeriod(R);
else if (TC == 405)
PWM16_1_WritePeriod(C);
else if(TC == 406)
PWM16_1_WritePeriod(DD);
else if(TC == 407)
PWM16_1_WritePeriod(LL);
else if (TC == 408)
PWM16_1_WritePeriod(MM);
else if(TC == 409)
PWM16_1_WritePeriod(LL);
else if(TC == 411)
PWM16_1_WritePeriod(C);
else if(TC == 412)
PWM16_1_WritePeriod(DD);
else if(TC == 413)
PWM16_1_WritePeriod(LL);
else if (TC == 415)
PWM16_1_WritePeriod(L);
else if(TC == 416)
PWM16_1_WritePeriod(M);
else if(TC == 417)
PWM16_1_WritePeriod(F);
else if (TC == 418)
PWM16_1_WritePeriod(S);
else if(TC == 419)
PWM16_1_WritePeriod(F);
else if(TC == 420)
PWM16_1_WritePeriod(M);
else if(TC == 421)
PWM16_1_WritePeriod(F);
else if(TC == 422)
PWM16_1_WritePeriod(L);
else if(TC == 423)
PWM16_1_WritePeriod(M);
else if(TC == 424)
PWM16_1_WritePeriod(F);
else if (TC == 425)
PWM16_1_WritePeriod(C);
else if(TC == 427)
PWM16_1_WritePeriod(S);
else if (TC == 428)
PWM16_1_WritePeriod(F);
else if(TC == 429)
PWM16_1_WritePeriod(M);
else if(TC == 431)
PWM16_1_WritePeriod(L);
else if (TC == 432)
PWM16_1_WritePeriod(D);
else if(TC == 433)
PWM16_1_WritePeriod(L);
else if(TC == 434)
PWM16_1_WritePeriod(D);
else if (TC == 435)
PWM16_1_WritePeriod(c);
else if(TC == 436)
PWM16_1_WritePeriod(D);
else if (TC == 437)
PWM16_1_WritePeriod(L);
else if(TC == 438)
PWM16_1_WritePeriod(M);
else if(TC == 439)
PWM16_1_WritePeriod(F);
else if (TC == 440)
PWM16_1_WritePeriod(S);
else if(TC == 441)
PWM16_1_WritePeriod(C);
else if(TC == 443)
PWM16_1_WritePeriod(S);
else if(TC == 444)
PWM16_1_WritePeriod(F);
else if(TC == 445)
PWM16_1_WritePeriod(S);
else if (TC == 447)
PWM16_1_WritePeriod(DD);
else if(TC == 448)
PWM16_1_WritePeriod(C);
else if(TC == 449)
PWM16_1_WritePeriod(R);
else if (TC == 450)
PWM16_1_WritePeriod(S);
else if(TC == 451)
PWM16_1_WritePeriod(R);
else if(TC == 452)
PWM16_1_WritePeriod(C);
else if(TC == 453)
PWM16_1_WritePeriod(DD);
else if(TC == 454)
PWM16_1_WritePeriod(LL);
else if(TC == 455)
PWM16_1_WritePeriod(MM);
else if(TC == 456)
PWM16_1_WritePeriod(DD);
else if (TC == 457)
PWM16_1_WritePeriod(SILENT);
else if (TC == 458)
PWM16_1_WritePeriod(LL);
else if(TC == 460)
PWM16_1_WritePeriod(LL);
else if (TC == 461)
PWM16_1_WritePeriod(MM);
else if(TC == 462)
PWM16_1_WritePeriod(FF);
else if(TC == 464)
PWM16_1_WritePeriod(LL);
else if (TC == 465)
PWM16_1_WritePeriod(MM);
else if(TC == 466)
PWM16_1_WritePeriod(FF);
else if(TC == 467)
PWM16_1_WritePeriod(R);
else if (TC == 468)
PWM16_1_WritePeriod(C);
else if(TC == 469)
PWM16_1_WritePeriod(DD);
else if (TC == 470)
PWM16_1_WritePeriod(LL);
else if(TC == 471)
PWM16_1_WritePeriod(DD);
else if(TC == 472)
PWM16_1_WritePeriod(LL);
else if (TC == 473)
PWM16_1_WritePeriod(MM);
else if(TC == 474)
PWM16_1_WritePeriod(LL);
else if(TC == 476)
PWM16_1_WritePeriod(C);
else if(TC == 477)
PWM16_1_WritePeriod(DD);
else if(TC == 478)
PWM16_1_WritePeriod(LL);
else if (TC == 480)
PWM16_1_WritePeriod(L);
else if(TC == 481)
PWM16_1_WritePeriod(M);
else if(TC == 482)
PWM16_1_WritePeriod(F);
else if (TC == 483)
PWM16_1_WritePeriod(S);
else if(TC == 484)
PWM16_1_WritePeriod(F);
else if(TC == 485)
PWM16_1_WritePeriod(M);
else if(TC == 486)
PWM16_1_WritePeriod(F);
else if(TC == 490)
PWM16_1_WritePeriod(M);
else if(TC == 492)
PWM16_1_WritePeriod(S);
else if(TC == 493)
PWM16_1_WritePeriod(F);
else if (TC == 494)
PWM16_1_WritePeriod(M);
else if(TC == 496)
PWM16_1_WritePeriod(L);
else if (TC == 497)
PWM16_1_WritePeriod(D);
else if(TC == 498)
PWM16_1_WritePeriod(L);
else if(TC == 499)
PWM16_1_WritePeriod(D);
else if (TC == 500)
PWM16_1_WritePeriod(c);
else if(TC == 501)
PWM16_1_WritePeriod(D);
else if(TC == 502)
PWM16_1_WritePeriod(L);
else if (TC == 503)
PWM16_1_WritePeriod(M);
else if(TC == 504)
PWM16_1_WritePeriod(F);
else if (TC == 505)
PWM16_1_WritePeriod(S);
else if(TC == 506)
PWM16_1_WritePeriod(M);
else if(TC == 508)
PWM16_1_WritePeriod(S);
else if (TC == 509)
PWM16_1_WritePeriod(F);
else if(TC == 510)
PWM16_1_WritePeriod(S);
else if(TC == 512)
PWM16_1_WritePeriod(R);
else if(TC == 513)
PWM16_1_WritePeriod(S);
else if(TC == 514)
PWM16_1_WritePeriod(F);
else if (TC == 515)
PWM16_1_WritePeriod(S);
else if(TC == 516)
PWM16_1_WritePeriod(R);
else if(TC == 517)
PWM16_1_WritePeriod(C);
else if (TC == 518)
PWM16_1_WritePeriod(DD);
else if(TC == 519)
PWM16_1_WritePeriod(LL);
else if(TC == 520)
PWM16_1_WritePeriod(MM);
else if(TC == 521)
PWM16_1_WritePeriod(FF);
else if (TC == 522)
PWM16_1_WritePeriod(SILENT);
else if (TC == 523)
PWM16_1_WritePeriod(LL);
else if(TC == 525)
PWM16_1_WritePeriod(C);
else if (TC == 526)
PWM16_1_WritePeriod(R);
else if(TC == 527)
PWM16_1_WritePeriod(C);
else if(TC == 529)
PWM16_1_WritePeriod(L);
else if (TC == 531)
PWM16_1_WritePeriod(F);
else if(TC == 533)
PWM16_1_WritePeriod(R);
else if(TC == 534)
PWM16_1_WritePeriod(C);
else if (TC == 535)
PWM16_1_WritePeriod(DD);
else if(TC == 537)
PWM16_1_WritePeriod(R);
else if (TC == 539)
PWM16_1_WritePeriod(S);
else if(TC == 541)
PWM16_1_WritePeriod(C);
else if(TC == 542)
PWM16_1_WritePeriod(DD);
else if (TC == 543)
PWM16_1_WritePeriod(LL);
else if(TC == 545)
PWM16_1_WritePeriod(C);
else if(TC == 547)
PWM16_1_WritePeriod(LL);
else if(TC == 549)
PWM16_1_WritePeriod(LL);
else if(TC == 550)
PWM16_1_WritePeriod(DD);
else if (TC == 551)
PWM16_1_WritePeriod(C);
else if(TC == 553)
PWM16_1_WritePeriod(R);
else if(TC == 555)
PWM16_1_WritePeriod(S);
else if (TC == 557)
PWM16_1_WritePeriod(S);
else if(TC == 558)
PWM16_1_WritePeriod(F);
else if(TC == 559)
PWM16_1_WritePeriod(S);
else if(TC == 561)
PWM16_1_WritePeriod(R);
else if(TC == 563)
PWM16_1_WritePeriod(C);
else if(TC == 565)
PWM16_1_WritePeriod(LL);
else if(TC == 566)
PWM16_1_WritePeriod(DD);
else if (TC == 567)
PWM16_1_WritePeriod(C);
else if(TC == 569)
PWM16_1_WritePeriod(FF);
else if (TC == 571)
PWM16_1_WritePeriod(MM);
else if(TC == 573)
PWM16_1_WritePeriod(C);
else if(TC == 574)
PWM16_1_WritePeriod(R);
else if (TC == 575)
PWM16_1_WritePeriod(S);
else if(TC == 577)
PWM16_1_WritePeriod(S);
else if(TC == 579)
PWM16_1_WritePeriod(F);
else if (TC == 581)
PWM16_1_WritePeriod(F);
else if(TC == 582)
PWM16_1_WritePeriod(M);
else if (TC == 583)
PWM16_1_WritePeriod(F);
else if(TC == 585)
PWM16_1_WritePeriod(F);
else if (TC == 587)
PWM16_1_WritePeriod(SILENT);
else if (TC == 588)
PWM16_1_WritePeriod(F);
else if(TC == 592)
PWM16_1_WritePeriod(C);
else if (TC == 594)
PWM16_1_WritePeriod(LL);
else if(TC == 596)
PWM16_1_WritePeriod(LL);
else if(TC == 598)
PWM16_1_WritePeriod(MM);
else if (TC == 600)
PWM16_1_WritePeriod(LL);
else if(TC == 602)
PWM16_1_WritePeriod(DD);
else if(TC == 604)
PWM16_1_WritePeriod(C);
else if (TC == 608)
PWM16_1_WritePeriod(C);
else if(TC == 610)
PWM16_1_WritePeriod(C);
else if (TC == 612)
PWM16_1_WritePeriod(C);
else if(TC == 614)
PWM16_1_WritePeriod(DD);
else if(TC == 616)
PWM16_1_WritePeriod(C);
else if (TC == 618)
PWM16_1_WritePeriod(R);
else if(TC == 620)
PWM16_1_WritePeriod(S);
else if(TC == 624)
PWM16_1_WritePeriod(S);
else if(TC == 626)
PWM16_1_WritePeriod(S);
else if(TC == 628)
PWM16_1_WritePeriod(C);
else if (TC == 636)
PWM16_1_WritePeriod(C);
else if(TC == 638)
PWM16_1_WritePeriod(Ra);
else if(TC == 640)
PWM16_1_WritePeriod(S);
else if (TC == 642)
PWM16_1_WritePeriod(R);
else if(TC == 644)
PWM16_1_WritePeriod(F);
else if (TC == 652)
PWM16_1_WritePeriod(SILENT);
else if (TC == 653)
PWM16_1_WritePeriod(C);
else if(TC == 657)
PWM16_1_WritePeriod(LL);
else if (TC == 659)
PWM16_1_WritePeriod(FF);
else if(TC == 661)
PWM16_1_WritePeriod(FF);
else if(TC == 663)
PWM16_1_WritePeriod(SS);
else if (TC == 665)
PWM16_1_WritePeriod(FF);
else if(TC == 667)
PWM16_1_WritePeriod(MM);
else if(TC == 669)
PWM16_1_WritePeriod(LL);
else if (TC == 673)
PWM16_1_WritePeriod(CC);
else if(TC == 681)
PWM16_1_WritePeriod(RRa);
else if (TC == 685)
PWM16_1_WritePeriod(SS);
else if(TC == 693)
PWM16_1_WritePeriod(C);
else if(TC == 697)
PWM16_1_WritePeriod(FF);
else if (TC == 701)
PWM16_1_WritePeriod(SS);
else if(TC == 709)
PWM16_1_WritePeriod(FF);
else if (TC == 717)
PWM16_1_WritePeriod(SILENT);
else if (TC == 718)
PWM16_1_WritePeriod(FF);
else if(TC == 726)
PWM16_1_WritePeriod(F);
else if (TC == 730)
PWM16_1_WritePeriod(DD);
else if(TC == 734)
PWM16_1_WritePeriod(C);
else if(TC == 738)
PWM16_1_WritePeriod(L);
else if (TC == 742)
PWM16_1_WritePeriod(LL);
else if(TC == 748)
PWM16_1_WritePeriod(DD);
else if(TC == 750)
PWM16_1_WritePeriod(C);
else if (TC == 754)
PWM16_1_WritePeriod(SS);
else if(TC == 758)
PWM16_1_WritePeriod(FF);
else if (TC == 762)
PWM16_1_WritePeriod(C);
else if(TC == 766)
PWM16_1_WritePeriod(DD);
else if(TC == 782)
PWM16_1_WritePeriod(LL);
else if (TC == 798)
PWM16_1_WritePeriod(SILENT);
}
if (n==2) { PWM16_1_WritePeriod(SILENT); k=0; }
}
void main(void)
{
char*strPtr;
UART_CmdReset(); // Initialize receiver/cmd buffer
UART_IntCntl(UART_ENABLE_RX_INT); // Enable RX interrupts
Counter8_WritePeriod(155); // Set up baud rate generator
Counter8_WriteCompareValue(77);
Counter8_Start(); // Turn on baud rate generator
UART_Start(UART_PARITY_NONE); // Enable UART
M8C_EnableGInt ; // Turn on interrupts
PWM16_1_Start();
Timer16_1_EnableInt();
Timer16_1_Start();
UART_CPutString("\r\nWhich music do you want to play?\r\n");
UART_CPutString("\r\na:Canon in D ");
UART_CPutString("\r\nb:Lemon"); UART_CPutString("\r\nc:きらきら星"); UART_CPutString("\r\nd:カエルの歌 "); UART_CPutString("\r\ne:千本桜"); UART_CPutString("\r\ns:change song");
while(1){
if(UART_bCmdCheck()){
if(strPtr = UART_szGetParam()){ UART_CPutString("\rFound valid command\r\nCommand =>"); UART_PutString(strPtr); UART_CPutString("\n"); TC = 0; if(*strPtr == 'a'){ n=1; LCD_1_Start(); LCD_1_Position(0,0); LCD_1_PrCString("Canon in D"); UART_CPutString("Canon in D is playing\n"); } if(*strPtr == 's'){ n=2; LCD_1_Start(); LCD_1_Position(0,0); LCD_1_PrCString("changing"); UART_CPutString("Changing song\n\rChoose again\n"); UART_CPutString("\r\na:Canon in D "); UART_CPutString("\r\nb:Lemon"); UART_CPutString("\r\nc:きらきら星"); UART_CPutString("\r\nd:カエルの歌 "); UART_CPutString("\r\ne:千本桜"); UART_CPutString("\r\ns:change song");
} } UART_CmdReset(); }
}
}
考察
今回の課題ではtimer_pwm2とuart_1を参考にし組み合わせた。
工夫した点:
曲が長くて長時間かけて作った。
タイマー割り込みの時間計算により、曲の再生時間を表示することができた。
同じ音が続けてあるときその音が一続きに出てしまうので、SILENTをその間に入れることで違和感なく音を出すことができた。
改善点:
曲を一時停止しその後再生したり、リピートするなどの機能。
VRボリュームを使って音の大きさを調整する機能。
時間があれば割りこみの回数を数えているをif文の中でLCDに歌詞を表示させるコードを作ることができた。
- 最終更新:2020-06-02 16:31:13