SSブログ

TMR0 [電子]

お盆の家族サービスから始まり、先週までの仕事がやっと完了して一息つけるようになってきました。
久しぶりの休日。ひたすら眠いです。

放置されていたプログラムに手をつけます。
PICマイコン PIC18F24J10-I/SO
ライタ Pickit2
開発環境はMikro C 8.2です。
タイマー0をつかった1秒インターバルタイマです。割り込みを使ったタイマーでこのような使い方をすることはまずありませんが練習だと思ってやっています。割り込みの設定はどうしても忘れてしまうのでコメント文を多めに書いています。Configuration Settingは適当です。あてにしないでください。



/*
* Project name:
TMR0 (LED_Blinking)

* Test configuration:
MCU: P18F24J10
Oscillator: HS, 20.0000 MHz
Configuration Setting
OSC = HS ; FCMEN = OFF ; PWRT = OFF ; BOREN = OFF ; WDT = OFF
MCLRE = OFF ; PBADEN = OFF ; CCPMX = PORTC ; SEVREN = OFF
XINST = OFF ; DEBUG = OFF ; CodeProtectin = ALL OFF
* NOTES:
None.
*/

void main() {
CMCON = 0x07; //No Comparator
ADCON1 = 0x0F; // set all PORTB pins as digital
TRISA = 0; //No use
TRISB = 0; //All Output
LATB = 0;
TRISC = 0; //No use

T0CON = 0x87; // Set TMR0 in 16bit mode, assign prescaler to TMR0
TMR0H = 0xB3; // Timer0 initial value
TMR0L = 0xB5; // Timer0 initial value
INTCON = 0xA0; // Enable ALL interrupt


while(1){}; // endless loop
}

void interrupt() {
if(INTCON.TMR0IF) {
INTCON.TMR0IF = 0; //TMR0 Interrupt Enable Clear

TMR0H = 0xB3; // Timer0 initial value
TMR0L = 0xB5; // Timer0 initial value

LATB = ~LATB; // Toggle PORTB LEDs

}
}

nice!(0)  コメント(0)  トラックバック(0) 

nice! 0

コメント 0

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

※ブログオーナーが承認したコメントのみ表示されます。

トラックバック 0

Knight RiderADC ブログトップ

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。