お初の方は右側カテゴリーより興味のある記事をご覧ください。まとめシリーズがおすすめです。
[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
ただいまコメントを受けつけておりません。
;------------------------------------------------
;PIC16F886でタイマー0割り込みを使い、
;PORTCに接続したLEDを順番に点灯させる
;------------------------------------------------
LIST P=PIC16F886
INCLUDE P16F886.INC
;内部クロック使用、番犬OFF、起動時リセットON、コードプロテクトOFF、データプロテクトOFF、デバッガOFF、PortB.3特殊用途無効、PortE.3MCLRE無効
__CONFIG _CONFIG1, _INTOSCIO & _WDT_OFF & _PWRTE_ON & _CP_OFF & _CPD_OFF & _DEBUG_OFF & _LVP_OFF & _MCLRE_OFF
ORG 0
GOTO INIT;初期化
ORG 4
GOTO TIMER0;タイマー0割り込み
;------------------------------------------------
INIT
;内部クロック設定
BANKSEL OSCCON
MOVLW 0x00
MOVWF OSCCON
;各入出力ピンをアナログ入力設定からデジタル入出力へ変更
BANKSEL ANSEL
CLRF ANSEL
;タイマー0設定
BANKSEL OPTION_REG
MOVLW 0x04;タイマー0用ククロック分周比
MOVWF OPTION_REG
BANKSEL INTCON
MOVLW 0xA0;タイマー0割り込み有効
MOVWF INTCON
BANKSEL TMR0
CLRF TMR0;タイマー0カウンターリセット
;------------------------------------------------
MAIN
BANKSEL TRISC
CLRF TRISC;PORTC出力
BANKSEL PORTC
MOVLW 0x01;LED1個点灯
MOVWF PORTC
LOOP
NOP;タイマー0割り込み待ち
GOTO LOOP
;------------------------------------------------
TIMER0
BCF INTCON,T0IF;タイマー0割り込みクリア
BANKSEL PORTC
RLF PORTC;点灯LEDをスライド
RETFIE;割り込みから復帰
END
2007/12/09設置