目次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
; =========================== ここまで ===============================