スライド 1

音当てGame
2024067 時田 大樹
2024068 飛山 雄太郎
作品の目的
入力として、スイッチを押すと音がスピーカー
から流れ、スイッチを離すと、音が止まる仕組
みとなっている。
回路図
プログラムのフローチャート
スタート
初期化処理
入力の確認
OFF
スイッチ
ON
スピーカー
使用方法
スイッチを押し続けると、音が流れ、
スイッチを離すと止まるという簡単な
もの。
これを利用して音当てゲームとして
使用する。
作品で想定したユーザ向けの使用
本作品のプログラミングを変えて音階を
設定していけば、電子ピアノなどへの応
用が可能。
実現方法
教科書の図5.1のマイクロコンピュータ回
路をベースとしてLEDを取り除いてBポート
を入力に設定し、スイッチを入力とする回
路を作成した。
音を鳴らすためのソースプログラムは第9
章の音を作るプログラムを変えて音を4種
類追加した。
ソースプログラム
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
void main(void){
ANSEL =0x00;
ANSELH=0x00;
ADCON0=0x00;
TRISA =0x00;
TRISB =0x10;
TRISC =0x00;
PORTC=0;
PORTA=0;
while(1){
if(RB4==0){
RA5=1;
DelayMs(1);
DelayUs(250);
DelayUs(250);
DelayUs(200);
DelayUs(210);
RA5=0;
DelayMs(1);
DelayUs(250);
DelayUs(250);
DelayUs(200);
DelayUs(210);
}else if(RB5==0){
RA5=1;
DelayMs(1);
DelayUs(250);
DelayUs(250);
DelayUs(205);
}else if(RB6==0){
RA5=1;
DelayMs(1);
DelayUs(250);
DelayUs(180);
RA5=0;
DelayMs(1);
DelayUs(250);
DelayUs(250);
DelayUs(205);
RA5=0;
DelayMs(1);
DelayUs(250);
DelayUs(180);
}else if(RB7==0){
RA5=1;
DelayMs(1);
DelayUs(250);
DelayUs(250);
DelayUs(17);
RA5=0;
DelayMs(1);
DelayUs(250);
DelayUs(250);
DelayUs(17);
}
}
}
まとめ
完成度としては、元々LEDの点滅を
加えるつもりだったので75点くらい
だと思われる。
Cポートを入力に切り替えれば音が
さらに増やすことができたと考えら
れる。