情報電子工学演習 v( ハードウェア実技演習 ) pic...

15
情情情情情情情情 V( 情情情情情情情情情情 ) PIC 情情情情情情情情情情情情情情情情情 情情 情情情情情情情情情 情情情情 ・・

Upload: jamal

Post on 13-Jan-2016

54 views

Category:

Documents


9 download

DESCRIPTION

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

TRANSCRIPT

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

情報電子工学演習 V( ハードウェア実技演習 )

PIC マイコンによる光学式テルミンの製作

レフ・セルゲイヴィッチ・テルミン

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

「テルミン」に関する情報「テルミン」に関する情報

■ 大人の科学マガジン  vol.17 (学研)

■ エレキジャック No.4 (CQ 出版)

■ 映画 「テルミン」 (1993 年アメリカ製作) 

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

PIC12F675

Cds セル圧電スピーカー

抵抗器

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

光学式テルミンの製作にあたって、考えたこと光学式テルミンの製作にあたって、考えたこと……

1) 複数の音が出せる(音階が変わる)   ⇒ 発振器の周波数を変える  2) 空中で手を動かして音を制御  ⇒ 手の位置 / 周囲環境の変化をとらえる                   

→ タイマモジュールを利用したパルス発生

→ Cds セル& A/D 変換モジュール「明るさ」

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

■ スケジュール         <内 容>             <集合場所>第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 から開始します。

課 題ドレミ音の発生

(6/26)回 路 図(7/3)

フローチャート(7/10)

評 価

■ 課題チェック

各回の出席 [5]×7 + 課題 [10]×3 + 発表 [ 35 ]  ※遅刻は減点 (45 分まで欠席 0.5, 45 分以降は欠席 1 扱い)

■ 評 価

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

1.1. PICPIC マイコマイコンン

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

機能の概要

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

タイマ1の内部構成

T1CON レジスタ

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

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

タイマ1割込みによるインターバルタイマ実現の例

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

1-3. ソースプログラム1 「インターバルタイマ」 sample01.asm;-----  コンフィグレーションビットの設定と汎用レジスタ ( ユーザメモリ ) の割付 ) --

LIST P=PIC12F675INCLUDE "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 STARTORG 4 ; 割込みベクタGOTO INTR

;-------------------------------------------------------------------------

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

STARTBCF INTCON,7 ; 割込み不許可BSF STATUS,RP0 ; バンク 1 に切り替えCALL 3FFH ; 内部オシレータのキャリブレーションMOVWF OSCCALMOVLW B‘00010000’ ;GPIO (汎用ディジタル入出力ポート)の

入出力設定MOVWF TRISIO ;     0: 出力  1 :入力MOVLW 080H ;OPTION レジスタの設定MOVWF OPTION_REGBSF PIE1,TMR1IE ; タイマ 1 の割込み許可NOPBCF STATUS,RP0 ; バンク 0 に切り替えNOPMOVLW B'00000100' ;GPIO の初期出力MOVWF DOUT ;GP2 に 1 出力( High )

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

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

MAINNOPGOTO MAIN

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

INTRMOVWF W_TMP ; 現在の W レジスタの値を退避SWAPF STATUS,0 ; 現在の STATUS レジスタの値を退避MOVWF ST_TMPBCF 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 STATUSSWAPF W_TMP,1; 割込み前の W レジスタの値を復帰SWAPF W_TMP,0RETFIEEND

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

1-4.パルスの発生とオシロスコープによる観察<手 順> 1)ソースプログラム1をアセンブルして HEX 形式の機械語データを作る。 2) PIC ライターを使用して PIC12F675 へ機械語データを書き込む。 3)ブレッドボードに実験回路 1 を作成し、オシロスコープでパルス波形

の周期を測定する。 4) S1-GND 間に圧電スピーカを接続し、音階を確認する。

5)ソースプログラム1のタイマ1設定データを変更し、再び1)~4)の作業を繰り返す。

実験回路1 パルス波形

周期

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

<課題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

音名 周波数[Hz]

音名 周波数[Hz]

ド 523.251 ソ 783.991レ 587.330 ラ 880.000ミ 659.255 シ 987.767ファ 698.456 ド 1046.502

表2 音階の周波数

No

TMR1設定値 カウント数 Cnt

(65536-TM1)

観測周期 T [sec]

周波数 f [Hz](f=1/T)16進 10進

(TM1)

12

表1 パルス波形観察時の記録例