内容へ移動
FiFiWiki2
FiFiWikiの第2版
ユーザ用ツール
ログイン
サイト用ツール
検索
ツール
文書の表示
以前のリビジョン
バックリンク
最近の変更
メディアマネージャー
サイトマップ
ログイン
>
最近の変更
メディアマネージャー
サイトマップ
現在位置:
top
»
pic
pic
この文書は読取専用です。文書のソースを閲覧することは可能ですが、変更はできません。もし変更したい場合は管理者に連絡してください。
## TMR0 ``` // ========================== ここから ============================== // ファイル名 timer0.c // 作成日 2009.8.22 // 更新日 2012.5.12 // 作成者 mit.ueno // 機種 PIC16F84A // CLOCK 20MHz // コンパイラ MPLAB XC8 // 概要 // TMR0のテスト // PORTBのLEDを500mS間隔で点滅させる //TMR0割り込み // 1/20MHz*4*64*256=3.2768mS // TMR0割込み内で500mSの時間を作る //I/Oポート // RB3:LED // #include <stdlib.h> #include <xc.h> //XC8 __CONFIG(HS & WDTDIS & PWRTEN & UNPROTECT); __CONFIG(FOSC_HS & WDTE_OFF & PWRTE_ON & CP_OFF); static bit T500mS; // 500mS経過フラグ static unsigned char cnt500mS; // 500mSカウンタ // =================== 割り込み処理 ==================== static void interrupt intr(void) { T0IF = 0; // TMR0割り込みクリア RB1=!RB1; cnt500mS--; if (cnt500mS == 0) { cnt500mS = 153; // 3.2768mS*153=501mS T500mS = 1; // 500mSフラグセット } } // ==================== メイン処理 ======================= main() { // INIT PORTB = 0x00; TRISB = 0x00; // RB3:output //XC8 OPTION = 0x85; // プリスケーラ:64 OPTION_REG = 0b10000000; // プリスケーラ:2 // OPTION_REG = 0b10000001; // プリスケーラ:4 // OPTION_REG = 0b10000010; // プリスケーラ:8 // OPTION_REG = 0b10000101; //0x85; // プリスケーラ:64 TMR0 = 0x00; T0IE = 1; // TMR0割り込み許可 GIE = 1; // 全体割り込み許可 cnt500mS = 153; // 3.2768mS*153=501mS T500mS = 0; while(1) { if (T500mS) { T500mS = 0; PORTB ^= 0b0000000001; // RB3のLEDを点滅 } } } // ========================== ここまで ============================== ```
pic.txt
· 最終更新: 2017/11/05 22:30 by
fifi
ページ用ツール
文書の表示
以前のリビジョン
バックリンク
ページの名称変更
文書の先頭へ