2011年03月25日

PICでMIDI信号送信

一応動作確認OKなので、自分のメモとしても記録したいと思い、こっちのブログに書きます。


MIDIとは何かというところは省略します。
知識ゼロからMIDIを調べて、色々と人に教えてもらい、書籍を読み、なんとかここまで来ました。

仕様は凄く単純。
ボタンが3つあって、MIDIフットコントローラーの役割をします。



使用言語はC言語、MikroC_PROです。
PICは16F88です。
内部クロック8Mhz。

ハード側の回路図は。。。
pic_midi_kairozu01.jpg

単純です。


以下プログラムソース。
(全角スペースを消してください)
======================================================
void btn_on1(){ //プログラムチェンジ
//チャンネル:1 プログラム01 とする

PORTB=0b00000000;//LEDの初期化
PORTB=0b00000001;//LED点灯させます。
UART1_Write(0xC0);
while(!UART1_Tx_Idle());
UART1_Write(0x00);//0=1
delay_ms(200);
}

void btn_on2(){ //プログラムチェンジ
//チャンネル:1 プログラム02 とする

PORTB=0b00000000;//LEDの初期化
PORTB=0b00000010;//LED点灯させます。
UART1_Write(0xC0);
while(!UART1_Tx_Idle());
UART1_Write(0x01);//01=2
delay_ms(200);
}

void btn_on3(){ //プログラムチェンジ
//チャンネル:1 プログラム03 とする

PORTB=0b00000000;//LEDの初期化
PORTB=0b00001000;//LED点灯させます。
UART1_Write(0xC0);
while(!UART1_Tx_Idle());
UART1_Write(0x02);//02=3
delay_ms(200);
}

void main()
{
OSCCON=0x070;//内部クロック8Mhz使用
ANSEL=0b00000000;
TRISA=0b00011100; //RA2,3,4を入力にする
TRISB=0b00000000; //RBはすべて出力

PORTB=0b00100000; //TX(RB5)は常時ON(MIDI信号待機状態はONです)

UART1_Init(31250);//UARTの初期設定

delay_ms(200); //起動時はプログラム1を選択
PORTB=0b00000000;//LEDの初期化
PORTB=0b00000001;//LED点灯させます。
UART1_Write(0xC0);
while(!UART1_Tx_Idle());
UART1_Write(0x00);//0=1
delay_ms(200);

while(1)
{
if(Button(&PORTA,2,1,1)) btn_on1(); //RA2を押した時にLED_on1を実行
if(Button(&PORTA,3,1,1)) btn_on2(); //RA3を押した時にLED_on2を実行
if(Button(&PORTA,4,1,1)) btn_on3(); //RA4を押した時にLED_on3を実行
}
}

================================================================

ここまで。

自分がぶち当たった壁
1.PICのUART機能
2.PICのTXから出力されたMIDI信号をバッファリングすること。

その他たくさん分からなかった事がありましたが、やっぱりPICのUART機能と信号のバッファリングが一番悩んだ。。。

という事で、LOOP機能なんかも加え色々と実験を継続していきたいです。

【関連する記事】
posted by 絵乃@櫻組 at 14:35| 秋田 ☁| Comment(4) | TrackBack(0) | PICの勉強 | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
処女の為の専用出会い系サイトです。やっぱりどうせ出会うなら処女の方がいいよね♪処女なんて恥ずかしい!処女を早く捨てたい!という女の子たちが集まるサイトで優しく処女を奪ってあげよう☆
Posted by 処女 at 2011年07月01日 06:39
女性にいじめられるのが大好きなM男のそこのアナタ、アナタのM度を測れるサイトが誕生しました!!自分のM度はどれくらいなのか?我こそは最強の変態だというアナタの参加をお待ちしております!
Posted by M男 at 2011年08月08日 02:57
朝日杯フューチュリティステークス 2011をデータ面から完全攻略!万馬券予想で高回収率を出している競馬予想会社の大胆予測!有力情報や丁寧な解説で競馬をもっと好きになれる!もっと勝てる!!
Posted by 朝日杯フューチュリティステークス 2011 at 2011年12月09日 16:40
話相手が欲しい。恋人として一日デート気分を味わいたい。イカセて欲しい。などなど当コミュは女性が男性を買う今までにない全く新しいコミュニティとなっております。女性から直接の現金受け渡しとなるのであなたの頑張り次第でとんでもないお小遣いがもらえちゃうかも★興味のある方は早速アクセスしてみて!
Posted by 在宅ホスト at 2012年02月18日 00:56
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:


この記事へのトラックバック
×

この広告は1年以上新しい記事の投稿がないブログに表示されております。