Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // タイマー割込みの処理
- void interrupt InterTimer( void )
- {
- if (TMR2IF == 1) { // タイマー2の割込み発生か?
- Count++ ; // 割込み発生の回数をカウントする
- TMR2IF = 0 ; // タイマー2割込フラグをリセット
- if (Count >= 125) { // 割込みを125回カウントすると約1秒
- Count = 0 ;
- // 1秒毎にLEDのフラグをON/OFFさせる処理
- BA4 ^= 1; }
- }
- }
- // メインの処理関数
- void main()
- {
- OSCCON = 0b01110010 ; // 内部クロックは8MHzとする
- ANSELA = 0b00000000 ; // AN0-AN4は使用しない全てデジタルI/Oとする
- ANSELB = 0b00000000 ; // AN5-AN11はAN9のみアナログで使用し他はデジタルI/Oとする
- TRISA = 0b00000000 ; // ピン(RA)は全て出力に割当てる(RA5は入力のみとなる)
- TRISB = 0b00000000 ; // ピン(RB)はRB3(AN9)のみ入力で他は出力に割当てる
- PORTA = 0b00000000 ; // RA出力ピンの初期化(全てLOWにする)
- PORTB = 0b00000000 ; // RB出力ピンの初期化(全てLOWにする)
- T2CON = 0b00000111 ; // TMR2プリスケーラ値を64倍、ポストスケーラ値は1:1の設定
- PR2 = 249 ; // タイマーのカウント値を設定
- TMR2 = 0 ; // タイマー2の初期化
- Count = 0 ; // 割込み発生の回数カウンターを0にする
- TMR2IF = 0 ; // タイマー2割込フラグを0にする
- TMR2IE = 1 ; // タイマー2割込みを許可する
- PEIE = 1 ; // 周辺装置割り込み有効
- GIE = 1 ; // 全割込み処理を許可する
- LEDflg = 0 ; // LEDのフラグ状態をOFFとする
- while(1) {
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement