マイコンプログラムの実際

マイコンプログラムの実際
マイコンプログラムの種類
• タイマ
• 割り込み
• AD変換
タイマ:タイマとは何か?
マイクロコンピュータ
タイマ
(周辺回路)
CPU
CPUからレジスタを設定
時間を計測して一定時間後に通知
・割り込みをかける
・各種動作を実現
タイマ:タイマは何につかうか?
• マイコンのタイマは
– 一定時間を測定する
• 割り込みを使うと,一定時間ごとに関数を起動できる。
– 波形を出力する
• タイマで時間を測定しながらPWM ( Plus Width
Modulation , パルス幅変調 ) 波形を出力する
– 時間を測る
• タイマを使った時間の測り始めから,測り終わりまでの
時間を測定する
PWM とは
• PWM とは Plus Width Modulation の頭文字
でパルス幅変調という方式です。
• アナログ電圧を出力する代わりに,パルス幅
を変化させ,平均電圧で動作しているような
状態にします。
平均電圧
割り込み:通常の関数はいつ動作す
るか?
• 通常の関数は,その関数を呼び出したときに,
動作する。
:
:
funcA() ; // 関数呼び出し
:
:
void funcA(void)
{
:
:
}
割り込み:割り込み処理関数はいつ
動作するか?
• 割り込み処理の関数は,割り込みイベントが
発生したときに,動作する。
例えば,INT端子の電圧がLowからHighに変化したとき
INT端子
void funcA(void)
{
:
:
}
マイコン
どの関数に割り込み処理させるかを決定する
方法は,マイコンにより異なる
AD 変換とは
• AD とは Analog to Digital ( アナログからディジ
タルへの ) 変換です。
• マイコンの外部の世界(センサでの測定など)
はアナログ電圧などを扱うことが多い。
• マイコンの内部の世界では,ディジタルで扱う
ことが多い。
• そこで,マイコンへ取り込む時に AD 変換が
必要になります。
マイコン外部のアナログ表現
• 例)ある温度センサの場合:温度に比例した
アナログ電圧を出力
– 温度0 ℃のとき,0 V
– 温度200 ℃のとき,5 Vなど
– 25 mV/℃
– これはアナログ電圧
マイコン内部のディジタル表現
• 例 ) AD 変換機 ( ADC ) が 8 ビットであれば
– 0 ~ 255 の値(整数値)をもつ
– 整数 0 が 0 V に対応
– 整数 255 が 5 V に対応
– その間は直線 ( 整数 1 は 5/255 V に対応 )
– ちょうど整数値がない場合は,もっとも近い値に
置き換わる ( 誤差がある )