目次>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                 ; プログラムの終了をアセンブラに指示する
; =========================== ここまで ===============================