目次>5章 第2ステップ(色々な実験)>暗くなったら明かりを点ける>ソース

暗くなったら明かりを点ける(ソース)

更新日2005.10.23

以下のソースを取り込んで、アセンブル→PIC書き込み→実行して下さい。

; ========================== ここから ==============================
;   CLOCK   10MHz
;   PORTA   0:Cds
;   PORTB   0:LED緑,1:LED赤
;
;   暗くなったら明かりを点ける
;
        LIST    P=PIC16F84A  ; LIST宣言で、使用するPICをPIC16F84Aと定義する
        INCLUDE P16F84A.INC  ; 設定ファイルp16f84a.incを読み込む

        __CONFIG _HS_OSC & _WDT_OFF & _PWRTE_ON & _CP_OFF


        ORG     0           ; リセットベクタ(0番地)を指定する。
INIT
    ; << PICの初期化 >>

        BSF     STATUS,RP0  ; ファイルレジスタSTATUSのRP0をセット(1)する → バンク1
        CLRF    TRISB       ; ファイルレジスタTRISBをクリア(0) → PORTBは全て出力
        MOVLW   01h
        MOVWF   TRISA       ; ファイルレジスタTRISAの0ビット目のみON → RA0は入力
        BCF     STATUS,RP0  ; STATUSのRP0をクリア(0) → バンク0

        CLRF    PORTB       ; PORTBを全てOFF

    ; << メイン処理 >>
MAIN
        BTFSC   PORTA,0     ; RA0の状態チェック
        GOTO    RA0_ON      ;  ONの時

RA0_OFF                     ; 明るい時
        MOVLW   02h
        MOVWF   PORTB       ; RB0をOFF,RB1をON
        GOTO    MAIN

RA0_ON                      ; 暗い時
        MOVLW   01h
        MOVWF   PORTB       ; RB0をON,RB1をOFF
        GOTO    MAIN

        END                 ; プログラムの終了をアセンブラに指示する
; =========================== ここまで ===============================