2024 05,07 01:10 |
|
× [PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。 |
|
2009 08,25 21:45 |
|
こちらのサイトに、振ると文字とかが浮かび上がるというものを作ってみるというのが載っていたのでPICのプログラム練習も兼ねて製作してみることに。
(こちらの記事に棒状に作成したバーサライタの記事があります。興味があればどうぞ) んで、できたのがこちら↓ ●表面 ●裏面 PICは16F84Aを使用。セラミック振動子は10MHzのものを使いました。全部秋月で購入。 タクトスイッチの状態で二種類の模様を浮かび上がらせるようにしました。 電源は、USBから5Vを取り出して動作させてます。 セラミック振動子なくても動くのかな?PICまだ詳しくないんでよくわからないです。 ちなみに回路図↓ ソフトはBSch3Vを使用しました。 間違ってたらすんません。 プログラム↓ //バーサライタ用プログラム //製作者 KK //2009/8/25 //HI-TECH C Compiler 使用 #include<pic.h> __CONFIG(0x3ffa); #define _XTAL_FREQ 10000000 void main(void){ TRISA=0xff; TRISB=0x00; PORTA=0x00; PORTB=0x00; signed int i,a; i=1; a=1; while(1){ if(!(PORTA & 0x01)){ //ハート型の表示 switch(i){ case 1:PORTB=0b01110000;break; case 2:PORTB=0b10001000;break; case 3:PORTB=0b01000100;break; case 4:PORTB=0b00100010;break; case 5:PORTB=0b00010001;break; case 6:PORTB=0b00100010;break; case 7:PORTB=0b01000100;break; case 8:PORTB=0b10001000;break; case 9:PORTB=0b01110000;break; case 10:PORTB=0b00000000;break; case 11:PORTB=0b00000000;break; case 12:PORTB=0b00000000;break; case 13:PORTB=0b00000000;break; } _delay(15000); i++; if(i>11)i=1; } else{ //「KK」の文字表示 switch(a){ case 1: PORTB=0b01111111;break; case 2: PORTB=0b00001000;break; case 3: PORTB=0b00010100;break; case 4: PORTB=0b01100011;break; case 5: PORTB=0b00000000;break; case 6: PORTB=0b01111111;break; case 7: PORTB=0b00001000;break; case 8: PORTB=0b00010100;break; case 9: PORTB=0b01100011;break; case 10:PORTB=0b00000000;break; case 11:PORTB=0b00000000;break; case 12:PORTB=0b00000000;break; case 13:PORTB=0b00000000;break; } _delay(15000); a++; if(a>13)a=1; } } } switch文でLEDの点灯パターンを書きました。 二進数で書いているので表示される文字をイメージしながらプログラムを書けました。 文字を表示すると逆方向に振ると文字まで逆になってしまう・・・ 実際に文字を表示させているのがこちら↓ ちゃんと表示されました。 しかし、これは携帯で撮影したもので、実際に見るとなると、結構見にくかったりしました。 もう少し改良が必要かも・・・ ・・・テスト前になにやってんだろ・・・ PR |
|
コメント |
コメント投稿 |
|
trackback |
トラックバックURL |
忍者ブログ [PR] |