120 likes | 266 Views
処理の関数化と タイマー機能について. 今井 智也 (c1105003) 佐々木啓太 (b1006010). 今回のテーマ. 関数化 リソースの有効活用 コード量を減らせる タイマー ソフトウェア上での処理量を削減できる 規則的な周期の生成. 関数化. 関数の記述の仕方. 関数の型 関数名 ( 引数 ){ 処理内容 }. 基本課題. Display 関数の作成 出力内容の配列への格納 Scan 関数の作成 LED への出力 カウンタの作成 1秒毎にカウントアップし 7 セグ LED に出力するカウンタ 初期値は 0 とする. タイマの使い方.
E N D
処理の関数化とタイマー機能について 今井 智也(c1105003) 佐々木啓太(b1006010)
今回のテーマ • 関数化 • リソースの有効活用 • コード量を減らせる • タイマー • ソフトウェア上での処理量を削減できる • 規則的な周期の生成
関数の記述の仕方 関数の型関数名(引数){ 処理内容 }
基本課題 • Display関数の作成 • 出力内容の配列への格納 • Scan関数の作成 • LEDへの出力 • カウンタの作成 • 1秒毎にカウントアップし7セグLEDに出力するカウンタ • 初期値は0とする
タイマの使い方 • 初期設定 • 分周比の設定 • コンペアマッチAの設定 • タイマのスタート • メインループ • コンペアマッチステータスフラグの確認
IMFAフラグ=1 IMFAフラグ=1 IMFAフラグ=1 GRA 16ビットタイマ 0xffff 0x0000
R/W 初期値 - 1 R/W 0 R/W 0 R/W 0 R/W 0 R/W 0 0 R/W R/W 0 タイマコントロールレジスタ • カウンタクリア要因の選択 • 01 コンペアマッチAでクリア • カウントクロックの選択 • 000 内部クロックφでカウントアップ TCR - CCLR1 CCLR0 CKEG1 CKEG0 TPSC2 TPSC1 TPSC0
TSTR - - - - - STR2 STR1 STR0 R/W 初期値 1 - - 1 1 - - 1 1 - 0 R/W 0 R/W R/W 0 タイマスタートレジスタ • タイマカウンタのスタート/ストップを選択 • 1にセットするとスタート • 0にクリアするとストップ
R/W 初期値 - 1 R/W 0 R/W 0 R/W 0 - 1 R/W* 0 0 R/W* R/W* 0 タイマインタラプトステータスレジスタ • コンペアマッチの発生を確認 • コンペアマッチが発生するとフラグが1にセットされる. • 手動で0にクリアする必要がある. TISRA - IMIEA2 IMIEA1 IMIEA0 - IMFA2 IMFA1 IMFA0
発展課題:電光掲示板 • 右から左に数字が流れているように見える電光掲示板の作成 • 初期値は”012345”とする