PIC 09:BEEP Sound


ビープ音
 KEYを押した時反応する「ビープ音」を追加してみました。音自体は簡単です、圧電ブザを音声周波数でスイッチングするだけです。

 基本は1KHzあたりの周波数かもう少し高い周波数を使うのが一般的です。この辺は好みなのですがとりあえず1KHzで実験してみました。
 始めの実験では音が大きく過ぎ、また長過ぎました、これは電圧が5Vとパワーがある為でしょうか。考えていた物よりうるさい状態でしたので、修正して現在の状態にしました。

 実際は下記のプログラムのように0.5mSでON-OFFを繰り返します。圧電ブザの場合SWしても直ぐ音が出ず少し遅れて出て、音量最大に達します。SWがOFFになればそこから順次振動が低下するので音量も低下して行きます。つまり音が出ている部分はある意味共振しています。
 したがって、時間は単純に音出し(プログラム)中では無く「少し遅れる」性質があり、また音幅はより長くなるようです。
低電圧には!
 3V程度で圧電ブザーを動作させると音が小さくなります、これは加わる電圧が低くなるためです。
 こんな時にはメーカ品を見ると小さなブザーを使っているのに気が付きます。

 電圧が低い場合はブザーを使うのが良いようです、これだとエネルギーを使いますが「短時間に終わるので電池には大きな負担とはならない」のかも知れません。
 テスタなどを開けてみると小さなブザーが付いています(1.5V電池2本の場合)。

 2007/FEB/17 

-----  プログラム  -----

;--------------------------------------
; 圧電ブザー用のプログラム
; (0.5+0.5)*150=0.15 Sec 約1KHz
; 4MHz 5V動作
; RA1にブザーを付ける。
;--------------------------------------

BEEP
	MOVLW	D'150'
	MOVWF	TEMP
BELP
	BSF	PORTA,BUZZER	;RA1
	CALL	W500U
	BCF	PORTA,BUZZER
	CALL	W500U
	DECFSZ	TEMP,F
	GOTO	BELP
	RETURN
;--------------------------------------	
; 3*170=510 uSec	4MHz
; 10MHzではNOPを2回入れる。
; 1KHzだが音は'170'の変更で可 [2KHz=85]
;--------------------------------------	
W500U
	MOVLW	D'170'
	MOVWF	TEMP2
W5LP
;	NOP			;10MHz
;	NOP			;10MHz
	DECFSZ	TEMP2		;1
	GOTO	W5LP		;2
	RETURN

[もどる]もどる  [MAIN MENU

inserted by FC2 system