目次>8章.機能が豊富なPICを使う(PIC12F683)>PWM機能を使ってスピーカを鳴らす(動作確認:単音を出してみる)>ソース
PWM機能を使ってスピーカを鳴らす(ソース)
(動作確認:単音を出してみる)更新日2006.3.11
以下のソースを取り込んで、アセンブル→PIC書き込み→実行して下さい。
; ========================== ここから ==============================
;
; PIC12F683
; clock:INTOSCIO 4MHz
;
; PWMの動作確認
; GP2(CCP1:PWM) : スピーカ
;
;
;
LIST P=12f683
#INCLUDE <p12f683.inc>
__CONFIG _CP_OFF & _CPD_OFF & _WDT_OFF & _BOD_ON & _IESO_OFF& _PWRTE_ON & _INTOSCIO & _MCLRE_OFF
ORG 0
; PICの初期化
INIT
; GPIOをデジタルI/Oに設定
MOVLW 07h
MOVWF CMCON0 ;GP2-0はデジタルIO
BSF STATUS,RP0 ;■バンク1に切替え
CLRF ANSEL ;デジタルIO(AN機能を使用しない)
; 内部クロックを4MHzに設定
MOVLW 060h
MOVWF OSCCON ; CLOCK=4MHz
; PWMの設定
CLRF TRISIO ; GP0-5は出力
MOVLW D'239'
MOVWF PR2 ;PWM周期
BCF STATUS,RP0 ;■バンク0に切替え
MOVLW D'50'
MOVWF CCPR1L ;PWMデューティーサイクル
MOVLW 0Ch
MOVWF CCP1CON ;PWMモード
MOVLW 07h
MOVWF T2CON ;Timer2 ON ,プリスケーラ:16
CLRF TMR2
; メイン処理
MAIN
GOTO MAIN
END
; =========================== ここまで ===============================