1 / 15

情報電子工学演習 V( ハードウェア実技演習 ) PIC マイコンによる光学式テルミンの製作

情報電子工学演習 V( ハードウェア実技演習 ) PIC マイコンによる光学式テルミンの製作. レフ・セルゲイヴィッチ・テルミン. 「テルミン」に関する情報. ■ 大人の科学マガジン  vol.17 (学研). ■ エレキジャック No.4 (CQ 出版). ■ 映画 「テルミン」 (1993 年アメリカ製作). PIC12F675. 圧電スピーカー. Cds セル. 抵抗器. 光学式テルミンの製作にあたって、考えたこと …. 複数の音が出せる(音階が変わる)   ⇒ 発振器の周波数を変える 2) 空中で 手を動かして 音を制御

jamal
Download Presentation

情報電子工学演習 V( ハードウェア実技演習 ) PIC マイコンによる光学式テルミンの製作

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 情報電子工学演習V(ハードウェア実技演習)PICマイコンによる光学式テルミンの製作情報電子工学演習V(ハードウェア実技演習)PICマイコンによる光学式テルミンの製作 レフ・セルゲイヴィッチ・テルミン

  2. 「テルミン」に関する情報 ■ 大人の科学マガジン vol.17(学研) ■ エレキジャック No.4 (CQ出版) ■ 映画 「テルミン」(1993年アメリカ製作)

  3. PIC12F675 圧電スピーカー Cdsセル 抵抗器

  4. 光学式テルミンの製作にあたって、考えたこと…光学式テルミンの製作にあたって、考えたこと… • 複数の音が出せる(音階が変わる) •   ⇒ 発振器の周波数を変える • 2) 空中で手を動かして音を制御 •   ⇒ 手の位置 / 周囲環境の変化をとらえる →タイマモジュールを利用したパルス発生 「明るさ」 →Cdsセル&A/D変換モジュール

  5. ■ スケジュール          <内 容>             <集合場所> 第1回(6/12)PICマイコンとタイマモジュールの活用   [S2-9] 第2回(6/19)  パルスの発生とオシロスコープによる観察  [実験室] 第3回(6/26)CdSセルを利用した明るさの検出  [S2-9] 第4回(7/3)*1 明るさ変化に応じた音の発生 [S2-9] 第5回(7/10)  自由製作1 [実験室] 第6回(7/17) 自由製作2 [実験室] 第7回(7/24)  発 表 [S2-9] *1 第4回は助言ルーム終了後,11:00から開始します。 ■ 課題チェック ■ 評 価 各回の出席[5]×7 + 課題[10]×3 + 発表[35] ※遅刻は減点(45分まで欠席0.5, 45分以降は欠席1扱い)

  6. 1.PICマイコン PIC12F675のDIPパッケージ <端子名><機 能> GP0~GP5:汎用ディジタル入出力 AN0~AN3:A/D変換入力 VDD : 電源+ VSS :  電源-(GND) MCLR : 外部リセット入力 機能の概要

  7. タイマ1の内部構成 T1CONレジスタ

  8. タイマ1割込みによるインターバルタイマ実現の例タイマ1割込みによるインターバルタイマ実現の例 ● 割込み処理ルーチンの所在は、割込みベクタ(04H)で記しておく。 ● 割込み処理終了後には、RETFIE命令を実行してメインへ戻る。 ● 割込み後にメインに戻り、以前の割り込まれた処理を継続できる ようにするためには、演算レジスタ(Wレジスタ,STATUSレジスタ, PCHLレジスタ)の内容を割込みに入った時点で保存しておく必要がある。

  9. 1-3. ソースプログラム1 「インターバルタイマ」sample01.asm ;----- コンフィグレーションビットの設定と汎用レジスタ(ユーザメモリ)の割付) -- LIST P=PIC12F675 INCLUDE "P12F675.INC" __CONFIG H’11FF’&_INTRC_OSC_NOCLKOUT & _WDT_OFF & _PWRTE_ON & _MCLRE_OFF & _BODEN_OFF & _CPD_OFF & _CP_OFF ;内部クロック使用,MCLR未使用など #DEFINE W_TMP 20H ;Wレジスタ割込み時待機用 #DEFINE ST_TMP 21H ;STATUSレジスタ割込み時待機用 #DEFINE T1H 33H ;タイマ1 上位8ビット設定データ保存用 #DEFINE T1L 34H ;タイマ1 下位8ビット設定データ保存用 #DEFINE DOUT 35H ;GPIO 出力データ保存用 ;----- リセット& 割込みベクタ---------------------------------------- ORG 0 ;リセットベクタ GOTO START ORG 4 ;割込みベクタ GOTO INTR ;-------------------------------------------------------------------------

  10. START BCF INTCON,7 ;割込み不許可 BSF STATUS,RP0 ;バンク1に切り替え CALL 3FFH ;内部オシレータのキャリブレーション MOVWF OSCCAL MOVLW B‘00010000’ ;GPIO(汎用ディジタル入出力ポート)の 入出力設定 MOVWF TRISIO ;0:出力 1:入力 MOVLW 080H ;OPTIONレジスタの設定 MOVWF OPTION_REG BSF PIE1,TMR1IE ;タイマ1の割込み許可 NOP BCF STATUS,RP0 ;バンク0に切り替え NOP MOVLW B'00000100' ;GPIOの初期出力 MOVWF DOUT ;GP2に1出力(High)

  11. MOVLW 0FCH ;タイマ1上位8ビット設定データ MOVWF T1H ; 設定データを保存 MOVWF TMR1H ; カウンタにセット MOVLW 00H ;タイマ1下位8ビット設定データ MOVWF T1L ; 設定データを保存 MOVWF TMR1L ; カウンタにセット MOVLW B'00000101' ;タイマ1コントロールレジスタ設定データ MOVWF T1CON ; (プリスケーラ1:1)設定 BSF INTCON,PEIE ;周辺モジュールの割込みを許可 BSF INTCON,GIE ;割込み許可 MAIN NOP GOTO MAIN

  12. INTR MOVWF W_TMP ;現在のWレジスタの値を退避 SWAPF STATUS,0 ;現在のSTATUSレジスタの値を退避 MOVWF ST_TMP BCF PIR1,TMR1IF ;タイマ1割込み検出フラグをクリア MOVF T1H,0 ;上位8ビット設定データを読み出し MOVWF TMR1H ;カウンタに設定 MOVF T1L,0 ;下位8ビット設定データを読み出し MOVWF TMR1L ; カウンタに設定 MOVF DOUT,0 ;GPIO出力データを読み出し XORLW B'00000100' ;GP2の出力値を反転 MOVWF DOUT ;GPIO出力データを保存 MOVWF GPIO ;GPIO出力 SWAPF ST_TMP,0 ;割込み前のSTATUSレジスタの値を復帰 MOVWF STATUS SWAPF W_TMP,1 ;割込み前のWレジスタの値を復帰 SWAPF W_TMP,0 RETFIE END

  13. 1-4.パルスの発生とオシロスコープによる観察1-4.パルスの発生とオシロスコープによる観察 <手 順>  1)ソースプログラム1をアセンブルしてHEX形式の機械語データを作る。  2)PICライターを使用してPIC12F675へ機械語データを書き込む。  3)ブレッドボードに実験回路1を作成し、オシロスコープでパルス波形の周期を測定する。  4)S1-GND間に圧電スピーカを接続し、音階を確認する。 5)ソースプログラム1のタイマ1設定データを変更し、再び1)~4)の作業を繰り返す。 周期 実験回路1 パルス波形

  14. 表1 パルス波形観察時の記録例 <課題1-ドレミ音の発生> TMR1をFC00H(10進で64512)に設定した場合、下記の計算によりパルス波形の周期を求めることができる。「ド」「レ」「ミ」の音を発生させるためTMR1の設定値を予測せよ。 < クロックFosc=4MHz,タイマ1のプリスケーラ1:n=1:1 , TMR1=64512(10進) とした場合> T’= (Fosc/4)×n×(65536-TMR1)×2 = 10-6×1×(65536-64512)×2 = 2048μsec = 2.048msec 表2 音階の周波数

More Related