Advertisement
Guest User

Untitled

a guest
Jan 30th, 2019
182
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.90 KB | None | 0 0
  1. // タイマー割込みの処理
  2. void interrupt InterTimer( void )
  3. {
  4. if (TMR2IF == 1) { // タイマー2の割込み発生か?
  5. Count++ ; // 割込み発生の回数をカウントする
  6. TMR2IF = 0 ; // タイマー2割込フラグをリセット
  7. if (Count >= 125) { // 割込みを125回カウントすると約1秒
  8. Count = 0 ;
  9. // 1秒毎にLEDのフラグをON/OFFさせる処理
  10. BA4 ^= 1; }
  11. }
  12. }
  13. // メインの処理関数
  14. void main()
  15. {
  16. OSCCON = 0b01110010 ; // 内部クロックは8MHzとする
  17. ANSELA = 0b00000000 ; // AN0-AN4は使用しない全てデジタルI/Oとする
  18. ANSELB = 0b00000000 ; // AN5-AN11はAN9のみアナログで使用し他はデジタルI/Oとする
  19. TRISA = 0b00000000 ; // ピン(RA)は全て出力に割当てる(RA5は入力のみとなる)
  20. TRISB = 0b00000000 ; // ピン(RB)はRB3(AN9)のみ入力で他は出力に割当てる
  21. PORTA = 0b00000000 ; // RA出力ピンの初期化(全てLOWにする)
  22. PORTB = 0b00000000 ; // RB出力ピンの初期化(全てLOWにする)
  23.  
  24. T2CON = 0b00000111 ; // TMR2プリスケーラ値を64倍、ポストスケーラ値は1:1の設定
  25. PR2 = 249 ; // タイマーのカウント値を設定
  26. TMR2 = 0 ; // タイマー2の初期化
  27. Count = 0 ; // 割込み発生の回数カウンターを0にする
  28. TMR2IF = 0 ; // タイマー2割込フラグを0にする
  29. TMR2IE = 1 ; // タイマー2割込みを許可する
  30. PEIE = 1 ; // 周辺装置割り込み有効
  31. GIE = 1 ; // 全割込み処理を許可する
  32.  
  33. LEDflg = 0 ; // LEDのフラグ状態をOFFとする
  34.  
  35. while(1) {
  36. }
  37. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement