13章:音の出力

    作成2014.03.06

  1. STEP16_Sound
    (1)STEP16_Sound
    STEP16_Soundソースプログラムを以下に示します。
    /*****************************
     STEP16_Sound.c
    *****************************/
    
    #define _LEGACY_HEADERS
    
    // インクルードファイルの読み込み
    #include <pic.h>
    __CONFIG ( UNPROTECT & LVPDIS & BOREN & MCLREN & PWRTEN & WDTDIS & INTIO );
    
    // プロトタイプ宣言
    void WaitTime (int cnt);
    
    // メイン関数
    void main (void)
    {
    	// 1,2,17,18端子を入出力端子に設定
    	CMCON = 0x07;
    	
    	// 電圧レベルの初期設定
    	PORTA = 0xFF;
    	PORTB = 0xFF;
    	
    	// 入出力設定
    	TRISA = 0x20;
    	TRISB = 0x00;
    	
    	// 永久ループ
    	while(1)
    	{
    		// スピーカに入力する電圧レベルを反転
    		RB0 = ~RB0;
    		
    		// 待ち時間関数の呼び出し(約1m秒)
    		WaitTime(50);
    	}	
    }
    
    // 待ち時間関数の呼び出し
    void WaitTime(int cnt)
    {
    	while(cnt > 0)
    		cnt--;
    }
    
     
    (2)STEP16_Soundソースプログラムの実行
    *RB0端子に直流成分除去用のコンデンサ0.1μFを直列に接続してスピーカに接続します。
    *音量は小さいですが、スピーカがなります。
    *音程とディレイ設定値の関係は以下の表のようになるようです。
    音程ファ
    周波数(Hz)261.6293.6329.6349.2392440493.8523.3
    ディレイ設定値9685767264575148









14章:タイマ0割り込みに行く。

トップページに戻る。