ラベル PIC12F629 の投稿を表示しています。 すべての投稿を表示
ラベル PIC12F629 の投稿を表示しています。 すべての投稿を表示

2010年11月7日日曜日

PIC12F629の概要

ピン配置

A/D 変換機能搭載してない

2010年10月13日水曜日

スイッチで点灯



;*******************************************
; PIC12F629 テストプログラム
; スイッチで点灯
;http://yamato-pic.blogspot.com/
;*******************************************
 LIST  p=12f629  ; 翻訳時にリストファイルを作る
 #INCLUDE  "p12f629.inc"  ; 12F629用定義ファイルを読み込む
 errorlevel -302  ; 翻訳時に302エラーが出ないようにする
 
 __CONFIG _CP_OFF & _CPD_OFF & _BODEN_OFF & _MCLRE_OFF & _WDT_OFF & _PWRTE_ON & _INTRC_OSC_NOCLKOUT

 RADIX  DEC   ; 省略時の数値表現を10進数にします。
 
;---------- PROGARAM ----------
VC_RESET:
; リセット後はここからプログラムを開始
 GOTO  START
 
 ORG  4  ; 割り込みが発生するとプログラムメモリのアドレス 0x004 から実行します。
START:     ; 電源投入直後の「準備の処理」
 BCF  STATUS,RP0 ; バンク0 に切り換える 
 CLRF  GPIO  ; 一旦 GPIO を クリア(00000000) 
 BSF  STATUS,RP0 ; バンク1 に切り換える 
 MOVLW B'00001000'  ; GP3 = 入力(1), GP0,1,2,4,5 = 出力(0)に設定 
 MOVWF TRISIO  ; TRISO ← w
 BCF  STATUS,RP0 ; バンク0 に戻す 
 
MAIN:     ; ここから「メインの処理」
 BTFSC  GPIO,GP3 ; GP3ビットが0なら次命令をスキップ 
 GOTO  LEDOFF  ; GP4ビットが1の時のみledoffにジャンプ
LEDON:
 BCF  GPIO,GP0 ; GP0ビットに 0を書き込む(LED点灯) 
 GOTO  MAIN  ; MAIN に戻る 
LEDOFF:
 BSF  GPIO,GP0 ; GP0ビットに 1を書き込む(LED消灯) 
 GOTO  MAIN  ; MAIN に戻る 
 
 END    ; プログラムの終了

2010年10月11日月曜日

出力ポートの変更


出力ポートを現在のGP0(7pin)からGP1(6pin)へ変更する

;変更前
MAIN
    BSF        GPIO,0            ;点灯
    CALL        WAIT            ;WAITルーチンへ 201.603ミリ秒(0.201603秒)の遅延
    BCF        GPIO,0            ;消灯
    CALL        WAIT            ;201.603ミリ秒の遅延
    GOTO        MAIN            ;MAINへ

;変更後
MAIN
    BSF        GPIO,1            ;点灯
    CALL        WAIT            ;WAITルーチンへ 201.603ミリ秒(0.201603秒)の遅延
    BCF        GPIO,1            ;消灯
    CALL        WAIT            ;201.603ミリ秒の遅延
    GOTO        MAIN            ;MAINへ

GP2(5pin)へ変更する場合は同様に
BSF  GPIO,2 とする。
BCF    GPIO,GP2 とも書けます。