2010年10月13日水曜日

スイッチで点灯



  1. ;*******************************************  
  2. ; PIC12F629 テストプログラム  
  3. ; スイッチで点灯  
  4. ;http://yamato-pic.blogspot.com/  
  5. ;*******************************************  
  6.  LIST  p=12f629  ; 翻訳時にリストファイルを作る  
  7.  #INCLUDE  "p12f629.inc"  ; 12F629用定義ファイルを読み込む  
  8.  errorlevel -302  ; 翻訳時に302エラーが出ないようにする  
  9.    
  10.  __CONFIG _CP_OFF &; _CPD_OFF & _BODEN_OFF & _MCLRE_OFF & _WDT_OFF & _PWRTE_ON & _INTRC_OSC_NOCLKOUT  
  11.   
  12.  RADIX  DEC   ; 省略時の数値表現を10進数にします。  
  13.    
  14. ;---------- PROGARAM ----------  
  15. VC_RESET:  
  16. ; リセット後はここからプログラムを開始  
  17.  GOTO  START  
  18.    
  19.  ORG  4  ; 割り込みが発生するとプログラムメモリのアドレス 0x004 から実行します。  
  20. START:     ; 電源投入直後の「準備の処理」  
  21.  BCF  STATUS,RP0 ; バンク0 に切り換える   
  22.  CLRF  GPIO  ; 一旦 GPIO を クリア(00000000)   
  23.  BSF  STATUS,RP0 ; バンク1 に切り換える   
  24.  MOVLW B'00001000'  ; GP3 = 入力(1), GP0,1,2,4,5 = 出力(0)に設定   
  25.  MOVWF TRISIO  ; TRISO ← w  
  26.  BCF  STATUS,RP0 ; バンク0 に戻す   
  27.    
  28. MAIN:     ; ここから「メインの処理」  
  29.  BTFSC  GPIO,GP3 ; GP3ビットが0なら次命令をスキップ   
  30.  GOTO  LEDOFF  ; GP4ビットが1の時のみledoffにジャンプ  
  31. LEDON:  
  32.  BCF  GPIO,GP0 ; GP0ビットに 0を書き込む(LED点灯)   
  33.  GOTO  MAIN  ; MAIN に戻る   
  34. LEDOFF:  
  35.  BSF  GPIO,GP0 ; GP0ビットに 1を書き込む(LED消灯)   
  36.  GOTO  MAIN  ; MAIN に戻る   
  37.    
  38.  END    ; プログラムの終了  

0 件のコメント:

コメントを投稿