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