"第1の基本クロック信号のクロック数を計数する計数手段と、前記第1の基本クロック信号よりも発振周波数が低く発振精度の高い第2の基本クロック信号の所定周期における前記計数手段により計数された前記第1の基本クロック信号のクロック数と、前記第2の基本クロック信号の所定周期に対応する前記第1の基本クロック信号のクロック数として予め計数された基準クロック数と、を用いて、前記計数手段が計数したクロック数の前記基準クロック数に対する変動量を示す物理量を導出する導出手段と、前記導出手段が導出した前記物理量に応じて、測定対象とする時間に対応する前記第1の基本クロック信号のクロック数を示す期待計数値を補正する補正手段と、前記計数手段が計数した前記第1の基本クロック信号のクロック数が、前記補正手段が補正した補正期待計数値に達した場合に、当該補正期待計数値に達したことを示す時間情報を出力する出力手段と、を備えた時間測定装置。前記第2の基本クロック信号の周期ごとに第1の割込み信号を出力する第1の割込み手段と、前記計数手段が計数する前記第1の基本クロック信号のクロック数が、前記補正手段が補正した前記補正期待計数値になると第2の割込み信号を出力する第2の割込み手段と、を備え、前記導出手段は、前記第1の割込み手段から前記第1の割込み信号が出力されると、前記計数手段に前記第1の基本クロック信号のクロック数の計数を開始させて、次の前記割込み信号が出力されるまで待機し、次の前記割込み信号が出力されると、それまでに計数した前記第1の基本クロック信号のクロック数を、前記第2の基本クロック信号の所定周期における前記第1の基本クロックのクロック数として取得し、取得した前記クロック数と前記基準クロック数との比率を前記物理量として導出し、前記補正手段は、前記導出手段が導出した前記比率に応じて、前記期待計数値を補正し、前記出力手段は、前記補正手段が前記期待計数値を補正した後、前記計数手段に前記第1の基本クロック信号のクロック数の計数を開始させて、前記第2の割込み手段から前記第2の割込み信号が出力されるまで待機し、前記第2の割込み手段から前記第2の割込み信号が出力されると、前記時間情報を出力する、請求項1記載の時間測定装置。前記導出手段は、前記第1の割込み手段から前記第1の割込み信号が出力されると、1回目の割込みか否かを判別し、1回目の割込みであれば、前記計数手段の計数値を初期化して、1回目の割込みが発生したことを示すフラグ情報を設定し、1回目の割込みでなければ、それまでに前記計数手段が計数した前記第1の基本クロック信号のクロック数を、前記第2の基本クロック信号の所定周期における前記第1の基本クロックのクロック数として取得して、前記フラグ情報の設定を初期化する、請求項2記載の時間測定装置。前記導出手段は、前記計数手段が計数した前記第2の基本クロック信号の所定周期における前記第1の基本クロックのクロック数を、前記基準クロック数で除算した値を前記比率として導出し、前記補正手段は、前記導出手段が導出した比率を前記期待計数値に乗算して前記補正を行う、請求項2又は請求項3記載の時間測定装置。前記計数手段による前記第2の基本クロック信号の所定周期における前記第1の基本クロック信号のクロック数の計数時に発生したオーバーフローの回数を計数する第2の計数手段を備え、前記導出手段は、前記第2の計数手段が計数したオーバーフローの回数と当該オーバーフローとなるクロック数とを乗算した値と、オーバーフローすることなく前記計数手段が計数した前記第1の基本クロック信号のクロック数と、を加算し、加算した値を、前記計数手段による前記第2の基本クロック信号の所定周期における前記第1の基本クロック信号のクロック数の計数値として取得する、請求項1から請求項4の何れか1項に記載の時間測定装置。前記計数手段による前記オーバーフローが発生すると第3の割込み信号を出力する第3の割込み手段を備え、前記第3の割込み手段から前記第3の割込み信号が出力されると、前記第2の計数手段は、前記オーバーフローの回数の計数を行い、前記導出手段は、前記第1の割込み信号による割込みが1回目の割込みか否かを判別し、1回目の割込みであれば、前記第2の計数手段の計数値を初期化すると共に、前記計数手段の計数値を初期化して、1回目の割込みが発生したことを示すフラグ情報を設定し、1回目の割込みでなければ、それまでに前記計数手段が計数した前記第1の基本クロック信号のクロック数と前記第2の計数手段が計数したオーバーフローの発生回数を読み取り、前記乗算と前記加算を行い、前記フラグ情報の設定を初期化する、請求項5記載の時間測定装置。前記第2の基本クロック信号の周期ごとに同期信号を生成する生成手段を備え、前記導出手段は、ポーリングにより、前記生成手段が前記同期信号を生成しているか否かを判別し、前記同期信号を生成していれば、次の前記同期信号が生成されるまでの間、前記計数手段に前記第1の基本クロック信号のクロック数の計数を実行させて、当該計数値を順次に読み取ることで、前記第2の基本クロック信号の所定周期における前記第1の基本クロック信号のクロック数を読み取り、読み取った前記クロック数と前記基準クロック数との比率を前記物理量として導出し、前記補正手段は、前記導出手段が導出した前記比率に応じて、前記期待計数値を補正し、前記出力手段は、ポーリングにより、前記計数手段が計数する前記第1の基本クロック信号のクロック数が、前記補正手段が補正した前記補正期待計数値に達したか否かを判別し、達すれば前記時間情報を出力する、請求項1記載の時間測定装置。前記第1の基本クロック信号を生成するRC発振器もしくはPLL発振器のいずれかと、前記第2の基本クロック信号を発生する水晶発振器と、を備えた請求項1から請求項7の何れか1項に記載の時間測定装置。前記計数手段として、前記第2の基本クロック信号の所定周期における前記第1の基本クロック信号のクロック数の計数に用いられる第3の計数手段と、前記補正期待計数値と比較される前記第1の基本クロック信号のクロック数の計数に用いられる第4の計数手段と、を備えた請求項1から請求項8の何れか1項に記載の時間測定装置。前記第2の基本クロック信号を分周する分周手段を備え、前記計数手段は、前記分周手段が分周した前記第2の基本クロック信号の所定周期における前記第1の基本クロック信号のクロック数を計数する、請求項1から請求項9の何れか1項に記載の時間測定装置。前記第1の基本クロック信号と前記第2の基本クロック信号のいずれかを前記システムクロック信号として選択する選択手段を備え、前記計数手段は、前記選択手段が選択したシステムクロック信号のクロック数を計数する、請求項1から請求項10の何れか1項に記載の時間測定装置。請求項1から請求項11の何れか1項に記載の時間測定装置を備えたマイクロコントローラ。コンピュータを、請求項1から請求項11の何れか1項に記載の時間測定装置における各手段として機能させるためのプログラム。プログラムに基づくコンピュータ装置により時間を測定する方法であって、第1の基本クロック信号のクロック数を計数する計数手順と、前記第1の基本クロック信号よりも発振周波数が低く発振精度の高い第2の基本クロック信号の所定周期における前記計数手順により計数された前記第1の基本クロック信号のクロック数と、前記第2の基本クロック信号の所定周期に対応する前記第1の基本クロック信号のクロック数として予め計数された基準クロック数と、を用いて、前記計数手順で計数されたクロック数の前記基準クロック数に対する変動量を示す物理量を導出する導出手順と、前記導出手順で導出された前記物理量に応じて、測定対象とする時間に対応する前記第1の基本クロック信号のクロック数を示す期待計数値を補正する補正手順と、前記計数手順で計数された前記第1の基本クロック信号のクロック数が、前記補正手順で補正された補正期待計数値に達した場合に、当該補正期待計数値に達したことを示す時間情報を出力する出力手順と、を含む時間測定方法。前記第2の基本クロック信号の周期ごとに第1の割込み信号を出力する第1の割込み手順と、前記計数手順で計数される前記第1の基本クロック信号のクロック数が、前記補正手順で補正された前記補正期待計数値になると第2の割込み信号を出力する第2の割込み手順と、を含み、前記導出手順では、前記第1の割込み手順により前記第1の割込み信号が出力されると、前記計数手順による前記第1の基本クロック信号のクロック数の計数を開始させて、次の前記割込み信号が出力されるまで待機し、次の前記割込み信号が出力されると、それまでに計数された前記第1の基本クロック信号のクロック数を、前記第2の基本クロック信号の所定周期における前記第1の基本クロックのクロック数として取得し、取得した前記クロック数と前記基準クロック数との比率を前記物理量として導出し、前記補正手順では、前記導出手順で導出された前記比率に応じて、前記期待計数値を補正し、前記出力手順では、前記補正手順で前記期待計数値を補正した後、前記計数手順による前記第1の基本クロック信号のクロック数の計数を開始させて、前記第2の割込み手順により前記第2の割込み信号が出力されるまで待機し、前記第2の割込み手順により前記第2の割込み信号が出力されると、前記時間情報を出力する、請求項14記載の時間測定方法。前記導出手順では、前記第1の割込み手順により前記第1の割込み信号が出力されると、1回目の割込みか否かを判別し、1回目の割込みであれば、前記計数手順による計数値を初期化して、1回目の割込みが発生したことを示すフラグ情報を設定し、1回目の割込みでなければ、それまでに前記計数手順で計数された前記第1の基本クロック信号のクロック数を、前記第2の基本クロック信号の所定周期における前記第1の基本クロックのクロック数として取得して、前記フラグ情報の設定を初期化する、請求項15記載の時間測定方法。前記導出手順では、前記計数手順で計数された前記第2の基本クロック信号の所定周期における前記第1の基本クロックのクロック数を、前記基準クロック数で除算した値を前記比率として導出し、前記補正手順では、前記導出手順で導出された比率を前記期待計数値に乗算して前記補正を行う、請求項15又は請求項16記載の時間測定方法。前記計数手順による前記第2の基本クロック信号の所定周期における前記第1の基本クロック信号のクロック数の計数時に発生したオーバーフローの回数を計数する第2の計数手順を含み、前記導出手順では、前記第2の計数手順で計数されたオーバーフローの回数と当該オーバーフローとなるクロック数とを乗算した値と、オーバーフローすることなく前記計数手順において計数された前記第1の基本クロック信号のクロック数と、を加算し、加算した値を、前記計数手順による前記第2の基本クロック信号の所定周期における前記第1の基本クロック信号のクロック数の計数値として取得する、請求項14から請求項17の何れか1項に記載の時間測定方法。前記計数手順による前記オーバーフローが発生すると第3の割込み信号を出力する第3の割込み手順を含み、前記導出手順では、前記第3の割込み手順により前記第3の割込み信号が出力されると、前記第2の計数手順により前記オーバーフローの回数を計数させると共に、当該割込みが1回目の割込みか否かを判別し、1回目の割込みであれば、前記第2の計数手順での計数値を初期化し、前記計数手順での計数値を初期化して、1回目の割込みが発生したことを示すフラグ情報を設定し、1回目の割込みでなければ、それまでに前記計数手順により計数された前記第1の基本クロック信号のクロック数と前記第2の計数手順により計数されたオーバーフローの発生回数を読み取り、前記乗算と前記加算を行い、前記フラグ情報の設定を初期化する、請求項18記載の時間測定方法。前記第2の基本クロック信号の周期ごとに同期信号を生成する生成手順を含み、前記導出手順では、ポーリングにより、前記生成手順で前記同期信号が生成されているか否かを判別し、前記同期信号が生成されていれば、次の前記同期信号が生成されるまでの間、前記計数手順による前記第1の基本クロック信号のクロック数の計数を実行させて、当該計数値を順次に読み取ることで、前記第2の基本クロック信号の所定周期における前記第1の基本クロック信号のクロック数を読み取り、読み取った前記クロック数と前記基準クロック数との比率を前記物理量として導出し、前記補正手順では、前記導出手順で導出された前記比率に応じて、前記期待計数値を補正し、前記出力手順では、ポーリングにより、前記計数手順で計数される前記第1の基本クロック信号のクロック数が、前記補正手順で補正された前記補正期待計数値に達したか否かを判別し、達すれば前記時間情報を出力する、請求項14載の時間測定方法。前記第1の基本クロック信号をRC発振器もしくはPLL発振器のいずれかで生成する手順と、前記第2の基本クロック信号を水晶発振器で生成する手順と、を含む請求項14から請求項20の何れか1項に記載の時間測定方法。前記計数手順は、第1の計数手段を用いて前記第2の基本クロック信号の所定周期における前記第1の基本クロック信号のクロック数の計数を行う手順と、第2の計数手段を用いて前記補正期待計数値と比較される前記第1の基本クロック信号のクロック数の計数を行う手順と、を含む請求項14から請求項21の何れか1項に記載の時間測定方法。前記第2の基本クロック信号を分周手段により分周する手順を含み、前記計数手順では、前記分周手段が分周した前記第2の基本クロック信号の所定周期における前記第1の基本クロック信号のクロック数を計数する、請求項14から請求項22の何れか1項に記載の時間測定方法。前記第1の基本クロック信号と前記第2の基本クロック信号のいずれかを、選択手段を用いて前記システムクロック信号として選択する選択手順を含み、前記計数手順では、前記選択手順で選択されたシステムクロック信号のクロック数を計数する、請求項14から請求項23の何れか1項に記載の時間測定方法。本発明は、上記問題点を解決するためのものであり、コンピュータ装置に設けられたタイマによる高速動作時における高精度な時間測定を低コストに行うことを可能とする時間測定装置,マイクロコントローラ、プログラム、及び時間測定方法を提供することを目的とする。上記目的を達成するため、本発明の時間測定装置は、第1の基本クロック信号のクロック数を計数する計数手段と、前記第1の基本クロック信号よりも発振周波数が低く発振精度の高い第2の基本クロック信号の所定周期における前記計数手段により計数された前記第1の基本クロック信号のクロック数と、前記第2の基本クロック信号の所定周期に対応する前記第1の基本クロック信号のクロック数として予め計数された基準クロック数と、を用いて、前記計数手段が計数したクロック数の前記基準クロック数に対する変動量を示す物理量を導出する導出手段と、前記導出手段が導出した前記物理量に応じて、測定対象とする時間に対応する前記第1の基本クロック信号のクロック数を示す期待計数値を補正する補正手段と、前記計数手段が計数した前記第1の基本クロック信号のクロック数が、前記補正手段が補正した補正期待計数値に達した場合に、当該補正期待計数値に達したことを示す時間情報を出力する出力手段と、を備えた構成となっている。また、上記目的を達成するため、本発明のマイクロコントローラは、上記記載の時間測定装置を備えて構成される。また、上記目的を達成するため、本発明のプログラムは、コンピュータを、上記記載の時間測定装置における各手段として機能させるためのプログラムである。また、上記目的を達成するため、本発明の時間測定方法は、プログラムに基づくコンピュータ装置により時間を測定する方法であって、第1の基本クロック信号のクロック数を計数する計数手順と、前記第1の基本クロック信号よりも発振周波数が低く発振精度の高い第2の基本クロック信号の所定周期における前記計数手順により計数された前記第1の基本クロック信号のクロック数と、前記第2の基本クロック信号の所定周期に対応する前記第1の基本クロック信号のクロック数として予め計数された基準クロック数と、を用いて、前記計数手順で計数されたクロック数の前記基準クロック数に対する変動量を示す物理量を導出する導出手順と、前記導出手順で導出された前記物理量に応じて、測定対象とする時間に対応する前記第1の基本クロック信号のクロック数を示す期待計数値を補正する補正手順と、前記計数手順で計数された前記第1の基本クロック信号のクロック数が、前記補正手順で補正された補正期待計数値に達した場合に、当該補正期待計数値に達したことを示す時間情報を出力する出力手順と、を含むものである。本発明によれば、コンピュータ装置に設けられたタイマによる高速動作時における高精度な時間測定を低コストに行うことを可能である。以下、図を用いて本発明を実施するための形態例について説明する。図1は、本発明に係るマイクロコントローラ100に備えられた時間測定装置101の機能構成例を示しており、本例の時間測定装置101は、本発明に係る動作を実行する機能として、計数部101a、導出部101b、補正部101c、及び出力部101dを備えている。計数部101aは、第1の基本クロック信号のクロック数を計数し、導出部101bは、第1の基本クロック信号よりも発振周波数が低く発振精度の高い第2の基本クロック信号の所定周期における計数部101aにより計数された第1の基本クロック信号のクロック数と、第2の基本クロック信号の所定周期に対応する第1の基本クロック信号のクロック数として予め計数された基準クロック数と、を用いて、計数部101aが計数したクロック数の基準クロック数に対する変動量を示す物理量を導出し、補正部101cは、導出部101bが導出した物理量に応じて、測定対象とする時間に対応する第1の基本クロック信号のクロック数を示す、記憶装置に記憶されている期待計数値101eを補正し、出力部101dは、計数部101aが計数した第1の基本クロック信号のクロック数が、補正部101cが補正した補正期待計数値に達した場合に、当該補正期待計数値に達したことを示す時間情報を出力する。このような各処理部を設けた構成の時間測定装置101を備えたことにより、マイクロコントローラ100は、高速動作時におけるタイマ機能による高精度な時間測定を低コストに行うことができる。次に、図2~図14を用いて、このような時間測定装置を備えたマイクロコントローラの詳細について説明を行う。図2は、本発明の第1の形態例を示すマイクロコントローラの構成図であり、本例のマイクロコントローラ1は、本発明に係る時間測定方法を含むマイクロコントローラ1の処理動作を制御するプログラムが格納されたROM14と、ROM14に格納された各プログラムを読み出してコンピュータ処理を実行するCPU13と、マイクロコントローラ内部のデータが通るバス11と、システムクロック7と、外部とのインターフェースを行うポート12と、第1の基本クロック3を生成するRC発振器2と、第2の基本クロック5を生成する水晶発振器4と、第1及び第2の基本クロックのどちらをシステムクロック7として出力するかを選択する基本クロック選択器6と、システムクロック7を時間情報として計数するタイマ8と、第2の基本クロック5に同期し割込み要求信号を出力する割込み要求レジスタ9と、から構成されている。なお、ROM14に格納された本発明に係る時間測定用のプログラムを読み込んでCPU13が実行することにより、本発明に係る導出手段、補正手段、及び出力手段等を含む、各手段が構成される。また、タイマ8は本発明に係る計数手段に相当し、割込み要求レジスタ9は本発明に係る同期信号生成手段に相当する。本例のマイクロコントローラ1においては、RC発振器2は発振周波数が高い第1の基本クロック3を生成し、水晶発振器4はRC発振器2の発振周波数より低い高精度の第2の基本クロック5を生成する。そして、基本クロック選択器6は第1の基本クロック3と第2の基本クロック5のどちらをシステムクロック7にするかを選択し、タイマ8は、基本クロック選択器6が選択した第1の基本クロック3と第2の基本クロック5のいずれかのシステムクロック7のクロック数を計数し、CPU13は、タイマ8の計数値が予め定められた時間に相当する値期待計数値になるまで、タイマ8の計数値を確認する動作を繰り返す。このような構成において、本例のマイクロコントローラ1は、RC発振器2からの高い周波数の発振クロック信号である第1の基本クロック3をシステムクロック7として用いて高速な処理動作を行い、水晶発振器4からの低い周波数の発振クロック信号である基本クロック5をシステムクロック7として用いて、低速な処理動作を行う。このように、図4に示す本例のマイクロコントローラ1は、RC発振器2からの発振周波数が高い基本クロック3をシステムクロックとして用いており、高速な処理を低コストに行うことができる。しかし、RC発振器2では、水晶発振器4と比べて高精度なクロック信号を生成することができないため、高速処理時のタイマ8における計数動作に誤差が生じて正確な時間を測定することができない。この問題を回避するために、本例のマイクロコントローラ1においては、ROM14に格納された本発明に係る時間測定用のプログラムをCPU13が読み出して実行することにより、RC発振器2からの発振周波数が高い基本クロック3をシステムクロックとして用いて高速処理を行う際の、タイマ8を用いた時間測定処理で生じる誤差を補正する。すなわち、CPU13は、ROM14に格納されたプログラムを実行して実装される時間測定機能により、タイマ8が計数した高速処理時のRC発振器2からの基本クロック3のクロック数が予め定められた期待計数値になると、当該期待計数値に対応付けられた時間情報を出力するが、このように、基本クロック3のクロック数の読み込みを開始する前に、ROM14に格納されたプログラムをCPU13が実行して実装される導出手段、補正手段、及び出力手段等の各機能により、以下のようにして、RC発振器2の発振動作誤差に伴うタイマ8による時間測定の補正を行う。まず、CPU13は、導出手段の機能により、発振精度の高い水晶発振器4からの第2の基本クロック5が入力されたか否かを判別し、入力されると、当該第2の基本クロック5の1周期におけるタイマ8が計数した第1の基本クロック3のクロック数を取得して、取得した実際のクロック数の、予め第2の基本クロック5の1周期に対して定められた基本クロック3のクロック数基準クロック数に対する変動量を示す物理量を導出し、次に、補正手段の機能により、導出機能により導出された物理量に応じて期待計数値を補正する。なお、本例では、変動量を示す物理量として、取得した実際のクロック数と基準クロック数との比率を導出し、このように導出した比率に応じて、期待計数値を補正する。そして、CPU13は、出力手段の機能により、タイマ8が計数した基本クロック3のクロック数が、補正手段の機能により補正された期待計数値になると時間情報を出力する。このように、本例のマイクロコントローラ1においては、発振周波数が高いRC発振器2の第1の基本クロック3に基づく高速処理動作中でのタイマ8による時間測定時に、発振周波数が低いが精度が高い水晶発振器4から入力される第2の基本クロック5を制御信号として用いて、時間測定に用いるRC発振器2の第1の基本クロック3のクロック数の変動に対する補正を行うことで、高速な処理動作中でのタイマ8を用いた時間測定を高精度に行い、高速な処理を低コストに且つ高精度に行う。以下、図3~図6を用いて、このようなマイクロコントローラ1における本例に係るタイマ補正技術の詳細を説明する。まず、図3のフローチャートを用いて、図2のタイマ8をRC発振器2が生成する高速な第1の基本クロック3で動作させる場合の、タイマ8を用いた時間測定の精度を向上させるために用いるタイマ補正係数を求めるための、CPU13のプログラムに基づき実行される処理を説明する。タイマ8で計数するクロックとしてRC発振器2からの基本クロック3を選択するように基本クロック選択器6を設定しステップS1、割込み要求レジスタ9をクリア初期化するステップS2。ポーリングにより、割込み要求レジスタ9からの割込み要求信号の出力の有無を判別しステップS3、出力していれば割込み要求レジスタ9とタイマ8の値をクリア初期化してステップS4,S5、次の割込み要求レジスタ9からの割込み要求信号が出力されているか確認し続けることにより、次の水晶発振器4のクロックの1周期分の先頭を探すステップS6。このステップS6での処理の間に、タイマ8により水晶発振器4からの第2の基本クロック5の1周期におけるRC発振器2からの第1の基本クロック3のクロック数が計数される。ステップS6での処理において次の1周期分の先頭が見つかれば、当該ステップS6での処理中にタイマ8が計数した値、すなわち、水晶発振器4からの第2の基本クロック5の1周期におけるRC発振器2からの第1の基本クロック3のクロック数を読み取るステップS7。その後、このステップS7の処理で読みとったタイマ8の計数値からタイマ補正係数を求めるステップS8。本例では、この補正係数は以下のようにして求める。すなわち、ステップS7の処理で実際に読み取ったクロック数を実クロック数A、予め水晶発振器4からの第2の基本クロック5の1周期における基準となるRC発振器2からの第1の基本クロック3のクロック数を基準クロック数Bとすると、補正係数Cは、以下の式で求める。C=A/Bこのような補正係数を求める際の、RC発振器2からの第1の基本クロック3、水晶発振器4からの第2の基本クロック5、及び割込み要求レジスタ9の割込み要求信号10の各信号の動作関係を、図4のタイミングチャートを用いて説明する。図4におけるRC発振器による基本クロック3及び水晶発振器による基本クロック5のそれぞれは、図2におけるRC発振器2による第1の基本クロック3及び水晶発振器4による第2の基本クロック5に相当し、また、図4におけるS2~S4,S6は、図3における各処理ステップの符号S2~S4,S6に対応している。S2のタイミングでは、図2のCPU13が、図3におけるステップS2の処理により、割込み要求レジスタ9をクリア初期化する。S3のタイミングでは、割込み要求レジスタ9が、水晶発振器4からの第2の基本クロック5における1周期分の先頭を検出して、割込み要求信号10を生成する。CPU13は、ポーリングにより、この割込み要求レジスタ9による割込み要求信号10の生成を検知し、S4のタイミングで、割込み要求レジスタ9の値をクリア初期化する。なお、タイマ8は、このS3のタイミングで一旦クリア初期化された後、RC発振器2からの第1の基本クロック3のクロック数の計数を開始する。S6のタイミングでは、割込み要求レジスタ9が、水晶発振器4からの第2の基本クロック5における次の1周期分の先頭を検出して、割込み要求信号10を生成する。CPU13は、ポーリングにより、この割込み要求レジスタ9による次の割込み要求信号10の生成を検知して割込み要求レジスタ9の値をクリア初期化する。このようにして、CPU13は、実際の、水晶発振器4からの第2の基本クロック5の1周期におけるRC発振器2からの第1の基本クロック3のクロック数を読み取り、補正係数を求める。次に、このようにして求めた補正係数を用いて、タイマ8を用いた時間測定の精度を向上させる際の処理内容を、図5に基づき説明する。まず、基本クロック選択器6により、タイマ8で計数するクロックをRC発振器2からの基本クロック3に設定するステップS9。なお、予め、タイマ8により測定する所望の時間を、所望のRC発振器2の周期、すなわち水晶発振器4からの第2の基本クロック5の1周期における正常時のRC発振器2からの第2の基本クロックのクロック数として予め定められた基準クロック数で割った値を、所望のタイマ8の期待値期待計数値として求めてROM14等の記憶装置に記憶しておくと共にステップS10、このステップS10の処理により求めた所望のタイマの期待計数値に、図3のステップS8の処理で求めたタイマ補正係数を乗じた値を、補正後のタイマの期待計数値補正期待計数値として求めてROM14等の記憶装置に記憶しておくステップS11。すなわち、補正後のタイマの期待値=所望のタイマの期待値×タイマ補正係数の式に基づき算出する。そして、タイマ8を一旦クリア初期化しステップS12、その後のタイマ8の計数値を読み取りステップS13、このタイマ8の計数値が補正後のタイマの期待計数値より小さい間はステップS14、ステップS13の処理を繰り返し、タイマ8の計数値が補正後のタイマの期待計数値に達すると、当該期待計数値に相当する時間が経過したことを示す時間情報をポート12経由で出力するステップS15。以上の補正係数を求める処理、及び求めた補正係数を用いてタイマの時間測定動作時の誤差を補正する処理の詳細を、図6のタイミングチャートを用いて説明する。ここでは、補正係数を求める例として水晶発振器4からの第2の基本クロック5の発振周期を1.0msec、正常動作時における所望のRC発振器2からの第1の基本クロック3の発振周期を、図6におけるクロック波形15に示すように1.0μsecとする。もし、RC発振器2からの第1の基本クロック3の実際の発振周期が、図6のクロック波形17で示すように1.1μsecに変動した場合、図3のステップS7の処理で読み取る、RC発振器2からの第1の基本クロック3のクロック数は909となる。すなわち、水晶発振器4からの第2の基本クロック5の1周期が1.0msecであり、RC発振器2からの第1の基本クロック3の実際の発振周期が1.1μsecに変動した場合、タイマ8が、第2の基本クロック5の1周期の1.0msecの間に読み取る第1の基本クロック3のクロック数は、1.0msec/1.1μsec=909となる。RC発振器2からの第1の基本クロック3の発振周期が所望の発振周期1.0μsecの場合、水晶発振器4からの第2の基本クロック5の周期1.0msecにおいてタイマ8により計数される基準クロック数は1000計数である。従って、図3のステップS7の処理で読み取った第1の基本クロック3のクロック数が909の場合、タイマ8の補正係数Cは、補正係数C=実クロック数A/基準クロック数Bにより、0.909=909/1000となり、タイマ8の補正係数C=0.909が求められる。次に、このようにして求めたタイマ補正係数C=0.909を用いて、RC発振器2からの高い発振周波数での、タイマ8を用いた時間測定の精度を高める技術を説明する。補正を行う前のマイクロコントローラ1においては、もし、RC発振器2の所望の周期1.0μsecが1.1μsecに延びると、図6における時間16とクロック波形17,18に示すように、タイマ8を用いて測定する時間は、所望の1.0msecから1.1msecに延びてしまう。このような不具合を補正するために、まず、図5のステップS10の処理で記憶する所望のタイマの期待値期待計数値を、所望のタイマの期待値=所望の測定対象時間/所望の基本クロックの周期の式に基づき、1000=1.0msec/1.0μsecとして求める。次に、このようにして求めた所望のタイマの期待計数値=1000に、図3のステップS8の処理に基づき求めたタイマ補正係数=0.909を乗じて、補正後のタイマの期待計数値補正期待計数値を求める。本図6の例では、補正期待計数値は、1000×0.909=909となる。この後、タイマ8でのRC発振器2からの第1の基本クロック3のクロック数の計数を開始し、このタイマ8の計数値が補正期待計数値=909に達するまでタイマ8が計数するクロック数を読み取る。図6の例では、補正後のタイマの期待計数値補正期待計数値は909なので909×1.1μsec=1.0msecの間、タイマ8の計数値の読み取りを繰り返す。その結果として、タイマ8を用いて測定する時間は1.0msecとなり、測定する時間が補正されたことになる。例えば、マイクロコントローラ1のポート12を経由して外部端子から1.0msecのパルス信号を発生する場合、この補正制御技術を用いなければ1.1msecになるが、本例の補正制御技術を用いれば、1.0msecのパルス信号幅を発生することが可能となる。以上のように、第1の形態例においては、水晶発振器4からの第2の基本クロック5の1クロック分の周期を基準として、その1周期におけるRC発振器2からの第1の基本クロック3のクロック数を測定した結果に基づいた比率を基に、RC発振器2からの第1の基本クロック3を入力したタイマ8による時間測定に用いる期待計数値を補正している。そのため、正確な補正係数を求める場合は、高周波数のRC発振器2と低周波数の水晶発振器4を使用することが条件となる。タイマ8の分解能を高めるには、高周波数のRC発振器2を使用する必要があるが、本例では、高い発振周波数のRC発振器2を使用してタイマ8でのクロック数の計数を行う場合にも、低周波数で低価な高精度の水晶発振器4を使用してタイマ8を用いた時間測定の補正を行うことができる。タイマ8の分解能を高めるために、従来の特許文献1に記載の技術のように、水晶発振器4からの第2の基本クロックを分周することも有効ではあるが、本例では、高周波数のRC発振器2を使用しており、水晶発振器4からの第2の基本クロックを分周することなくタイマ8の分解能を高めることができ、分周を行う従来技術に比べて補正係数を算出する処理時間が短くなる。以上、図2~図6を用いて説明したように、本第1の形態例では、ROM14に格納された本発明に係る時間測定用のプログラムを読み込んでCPU13が実行することにより、本発明に係る時間測定装置における、導出手段、補正手段、及び出力手段を含む、各手段を構成し、これらの各手段を用いることにより、発振周波数が高いRC発振器2のクロック数をシステムクロックとして高速な処理動作を行うコンピュータ装置におけるタイマによる時間測定動作の高精度化を低コストに実現することが可能となる。すなわち、図2に示すように、本例のマイクロコントローラ1においては、タイマ8計数手段により、高速処理時のシステムクロックとして用いられるRC発振器2からの基本クロック3第1の基本クロック信号のクロック数を計数し、CPU13の導出手段としての機能により、水晶発振器4からの、第1の基本クロック信号よりも発振周波数が低く発振精度の高い基本クロック5第2の基本クロック信号が入力された場合、タイマ8に、入力された第2の基本クロック信号の1周期における第1の基本クロック信号のクロック数を計数させ、タイマ8が計数したクロック数と予め第2の基本クロック信号の1周期に対して定められた第1の基本クロック信号のクロック数である基準クロック数とを用いて、タイマ8が計数した第2の基本クロック信号の1周期における第1の基本クロック信号のクロック数の基準クロック数に対する変動量を示す物理量を導出し、このように導出した物理量に応じて、補正手段としての機能により、第1の基本クロック信号のクロック数に対して予め定められた期待計数値を補正し、そして、出力手段としての機能により、タイマ8が計数した第1の基本クロック信号のクロック数を読み込み、読み込んだクロック数が、補正手段の機能で補正した期待計数値に達すると、当該期待計数値に相当する時間が経過したことを示す時間情報を出力する。なお、本第1の形態例のマイクロコントローラ1においては、第2の基本クロック信号の周期ごとに同期信号を生成する割込み要求レジスタ9生成手段を備え、CPU13は、導出手段としての機能により、ポーリングを行い、割込み要求レジスタが同期信号を生成しているか否かを判別し、同期信号を生成していれば、次の同期信号が生成されるまでの間、タイマ8に、水晶発振器4からの基本クロック5第2の基本クロック信号の1周期におけるRC発振器2からの基本クロック3第1の基本クロック信号のクロック数の計数を実行させて、当該計数値を順次に読み取ることで、水晶発振器4からの基本クロック5第2の基本クロック信号の1周期におけるRC発振器2からの基本クロック3第1の基本クロック信号のクロック数を読み取り、読み取ったクロック数と基準クロック数との比率を物理量として導出し、補正手段としての機能により、導出手段の機能で導出した比率に応じて、期待計数値を補正し、出力手段としての機能により、ポーリングを行い、タイマ8が計数するRC発振器2からの基本クロック3第1の基本クロック信号のクロック数が、補正手段の機能により補正された期待計数値に達したか否かを判別し、達すれば時間情報を出力する。また、基本クロック選択器6により、RC発振器2からの基本クロック3第1の基本クロック信号と水晶発振器4からの基本クロック5第2の基本クロック信号のいずれかをシステムクロック7として選択して、タイマ8は、基本クロック選択器6が選択したシステムクロック7のクロック数を計数する。次に、図7~図10を用いて第2の形態例の説明を行う。上述の第1の形態例においては、本発明に係る補正動作を開始する際に制御信号として入力する水晶発振器4からの基本クロック5を、ポーリングにより行っているが、第2の形態例においては、割込み処理により、水晶発振器4からの基本クロック5を入力する。図7に示すように、本第2の形態例におけるマイクロコントローラ1aは、図4に示す第1の形態例におけるマイクロコントローラ1における割込み要求レジスタ9の代わりに、割込みコントローラ20を設けた構成となっており、その他の構成は同じであり、各構成要素に関しての説明はここでは省略する。割込みコントローラ20は、水晶発振器4の周期ごとに割込みを発生すると共に、タイマ8の計数値が、例えば割込みコントローラ20内に設けられた図示していないタイマデータレジスタに設定した期待計数値に達した場合に割込みを発生する。このような構成からなる本第2の形態例におけるマイクロコントローラ1aにおいても、RC発振器2からの高い周波数の発振クロック信号である基本クロック3に基づき、高速な処理動作を行うことで、高速な処理を低コストに行うことができる。そして、RC発振器2の基本クロック3に基づく高速処理時のタイマ8における時間測定動作の不具合を回避するために、本例のマイクロコントローラ1aにおいても、ROM14aに格納された本発明に係る時間測定を実行するためのプログラムをCPU13が読み出して実行することにより、高速処理時におけるタイマ8を用いた時間測定動作に生じる誤差を補正する。ここでは、CPU13は、基本クロック5の1周期においてタイマ8が計数する基本クロック3のクロック数を取得し、取得したクロック数と、予め基本クロック5の1周期に対して所望の計数値として定められた基本クロック3のクロック数との比率を変動量として導出し、導出した比率に応じて、期待計数値を補正する。これにより、本例のマイクロコントローラ1aにおいても、RC発振器2からの高い周波数の発振クロック信号に基づく高速な処理動作を行う際の、タイマ8を用いた時間測定を高精度に行うことができ、高速な処理を低コストに、かつ高精度に行うことができる。さらに、本第2の形態例におけるマイクロコントローラ1aは、例えば、CPU13の動作を停止して周辺回路のみ動作している状態にすることでマイクロコントローラ1aの消費電力を低減させる省電力モードを有している。第1の形態例のマイクロコントローラ1では、図3で示した補正係数を算出する際に行っている水晶発振器4のクロックの先頭と終端の検索を、CPU13が割込み要求レジスタ9をポーリングすることによって実現しているため、CPU13が常に動作している状態にあり、省電力モードに切り替えることができない。同様に、図5に示すフローチャートにおけるステップS15でのポート出力処理においても、第1の形態例のマイクロコントローラ1では、CPU13がタイマ8の計数値をポーリングして、補正後のタイマの期待計数値より大きくなった場合にポート出力を行っており、省電力モードに切り替えることができない。これに対して、第2の形態例のマイクロコントローラ1aでは、割込みコントローラ20を設けることにより、水晶発振器4のクロックの立ち上がりで割込みを発生するようにしている。このように、補正係数算出の際に行っている水晶発振器4のクロックの先頭と終端の検索を、割込みコントローラ20の割込みによって検出するようにすることで、CPU13の動作は不要になるため、水晶発振器4のクロックの先頭と終端の検索中は、マイクロコントローラ1aを省電力モードへ切り替えることができる。また、図5に示すフローチャートにおけるステップS15でのポート出力処理においても、補正後のタイマの期待計数値になった場合に、割込みコントローラ20が割込みを発生するようにすることで、タイマ8が計数している間は、マイクロコントローラ1aを省電力モードへ切り替えることができる。以下、図8~図10を用いて、このような第2の形態例のマイクロコントローラ1aにおける本発明に係る時間測定処理動作の説明を行う。図8を用いて、図7のタイマ8をRC発振器2が生成する高周波数の基本クロック3で動作させる時に、タイマ8を用いた時間測定精度を向上させるために用いるタイマ補正係数の求め方を説明する。基本クロック選択器6により、タイマ8に入力するシステムクロックにRC発振器2からの高周波数の基本クロック3を選択しステップS1’、割込みコントローラ20から、水晶発振器4のクロックの1周期分の先頭クロックの立ち上がりの割り込みが発生するまで待機するステップS2’。割込みコントローラ20からの水晶発振の割込みが発生すると、CPU13は、当該割り込みが1回目の割り込みであるか否かを示すフラグ情報flg:初期値=0を参照して、当該割り込みが1回目の割り込みflg=0であるか否かを判別するステップS20。1回目の割り込みflg=0であれば、タイマ8の値をクリア初期化してステップS21、1回目の割込み1周期分の先頭が発生したことを通知するフラグflgを立てるflg=1ステップS22。その後、割込みコントローラ20からの、水晶発振器4のクロックの1周期分の終わり次の1周期分の頭の割り込みが発生するまで待機するステップS3’。次の1周期分の割込みが発生するとステップS20、当該水晶発振器4の1周期の時間内にタイマ8が計数した第1の基本クロック3のクロック数を読み取りステップS23、フラグflgをクリア初期化しflg=0ステップS24、読みとったタイマ8の値からタイマ補正係数を求めるステップS4’。このように、ステップS4’の処理で求めたタイマ補正係数を用いて、RC発振器2からの高い発振周波数の基本クロック3を用いたタイマ8の時間測定動作の精度を高める技術を、図9を用いて説明する。まず、基本クロック選択器6を制御して、RC発振器2からの基本クロック3がタイマ8に入力するよう設定するステップS5’。なお、予め、タイマ8により測定する所望の時間を、所望のRC発振器2の周期、すなわち水晶発振器4からの第2の基本クロック5の1周期における正常時のRC発振器2からの第2の基本クロックのクロック数として予め求められた基準クロック数で割った値を、所望のタイマ8の期待値期待計数値として求めステップS6’、このステップS6’の処理により求められる所望のタイマの期待計数値に、図8のステップS4’の処理で求められたタイマ補正係数を乗じた値を、補正後のタイマの期待計数値補正期待計数値として求めてステップS7’、例えば割込みコントローラ20内に設けられたタイマデータレジスタにセットするステップS8’。そして、タイマ8を一旦クリア初期化した後ステップS9’、タイマ8の計数動作をスタート開始させるステップS10’。そして、タイマ8の計数結果に基づく割込みコントローラ20からの割込みが入るまで待機する。この待機中、CPU13は停止もしくは他の処理を行うことができる。タイマ8の計数値が、補正後のタイマの期待計数値補正期待計数値に達すると、割込みコントローラ20からの割込み信号タイマ割込みが入力されるので、CPU13は、当該補正期待計数値に相当する時間が経過したことを示す時間情報をポート12経由で出力するステップS30。このように、第2の形態例のマイクロコントローラ1aでは、割込みコントローラ20によって、補正係数算出の際に行っている水晶発振器4のクロックの先頭と終端次の先頭の検索と、タイマ補正係数を用いたポート出力を行う処理を、割込みによって実現している。このため、割り込みのイベントが発生するまでCPU13の動作を停止することができ、図10に示すように、省電力モードの区間ができる。よって、マイクロコントローラ1aの消費電力を低減することができる。また、省電力動作モードの区間中に、CPU13が他の処理をすることもできる。図10においては、第2の形態例における各信号の動作タイミングを示しており、各信号として、ポート出力、水晶発振器割込み、タイマ割込み、水晶発振器による基本クロック第2の基本クロック、及びRC発振器による基本クロック第1の基本クロックが示されている。図10における符号S2’,S3’,S10’,S11’のそれぞれは図8及び図9におけるステップS2’,S3’,S10’,S11’の処理タイミングに相当している。S2’のタイミングで水晶発振器による基本クロック第2の基本クロックが立ち上がると、水晶発振器割込み信号が立ち上がり、タイマ8によるRC発振器による基本クロック第1の基本クロックの計数が開始され、S3’のタイミングで次の水晶発振器による基本クロック第2の基本クロックが立ち上がり水晶発振器割込み信号が立ち上がるまで、タイマ8によるRC発振器による基本クロック第1の基本クロックの計数が繰り返される。このタイマ8によりRC発振器による基本クロック第1の基本クロックの計数が繰り返されている間は、CPU13は、省電力モードとなる。S3’のタイミングで次の水晶発振器による基本クロック第2の基本クロックが立ち上がり水晶発振器割込み信号が立ち上がると、CPU13は、図8で示した補正係数の算出処理と期待計数値の補正処理を行う。補正係数の算出処理と期待計数値の補正処理が完了した後のS10’のタイミングで、補正した期待計数値に対するタイマ8の、RC発振器による基本クロック第1の基本クロックの計数動作が開始されるタイマスタート。このタイマ8によるRC発振器による基本クロック第1の基本クロックの計数時には、CPU13は、省電力モードとなる。S11’のタイミングで、タイマ8によるRC発振器による基本クロック第1の基本クロックの計数値が、補正した期待計数値に達すると、タイマ割込み信号が発生し、それに伴い、CPU13は、図9のステップS30でのポート出力処理を実行する。以上説明したように、本第2の形態例のマイクロコントローラ1aにおいては、図7に示すように、割込みコントローラ20を備え、水晶発振器4からの基本クロック5第2の基本クロック信号の周期ごとに第1の割込み信号を出力すると共に、タイマ8が計数したRC発振器2からの基本クロック3第1の基本クロック信号のクロック数が、CPU13が補正手段機能により補正した期待計数値になると第2の割込み信号を出力し、CPU13は、導出手段としての機能により、割込みコントローラ20から第1の割込み信号が出力されると、タイマ8に、第1の基本クロック信号のクロック数の計数を開始させて、次の割込み信号が出力されるまで待機し、次の割込み信号が出力されると、それまでにタイマ8が計数した第1の基本クロック信号のクロック数を、第2の基本クロック信号の1周期における第1の基本クロックのクロック数として取得し、取得したクロック数と、予め第2の基本クロック信号の1周期に対して定められた第1の基本クロック信号のクロック数との比率を物理量として導出し、補正手段としての機能により、導出手段の機能で導出した比率に応じて、期待計数値を補正し、補正手段の機能で期待計数値を補正した後、出力手段としての機能により、タイマ8に第1の基本クロック信号のクロック数の計数を開始させて、割込みコントローラ20からタイマ8の計数値が補正された期待計数値に達したことを示す第2の割込み信号が出力されるまで待機し、割込みコントローラ20から第2の割込み信号が出力されると、時間情報を出力する動作を行う。また、本第2の形態例のマイクロコントローラ1aにおいては、図7~図9に示すように、CPU13は、導出手段としての機能により、割込みコントローラ20から第1の割込み信号が出力されると、1回目の割込みか否かを判別し、1回目の割込みであれば、タイマ8の計数値を初期化して、1回目の割込みが発生したことを示すフラグ情報を設定し、1回目の割込みでなければ、それまでにタイマ8が計数したRC発振器2からの基本クロック3第1の基本クロック信号のクロック数を、水晶発振器4からの基本クロック5第2の基本クロック信号の1周期における基本クロック3のクロック数として取得して、フラグ情報の設定を初期化する動作を行う。また、本第2の形態例のマイクロコントローラ1aにおいては、図7に示すように、CPU13は、導出手段としての機能により、取得したタイマ8が計数したタイマ8による水晶発振器4からの基本クロック5第2の基本クロック信号の1周期におけるRC発振器2からの基本クロック3第1の基本クロック信号のクロック数を、予め基本クロック3の1周期に対して定められた基本クロック3のクロック数で除算した値を比率として導出し、補正手段としての機能により、導出手段機能で導出した比率を期待計数値に乗算して補正を行うように動作する。このように、本第2の形態例のマイクロコントローラ1aにおいては、割込みコントローラ20によって、補正係数算出の際に行っている水晶発振器4からの第2の基本クロック5の先頭と終端の検索と、タイマ補正係数を用いてポート出力する処理動作を、割込みによって実現しているため、割り込みのイベントが発生するまでCPU13の動作を停止することができ、図10に示したように、省電力モードの区間ができる。この結果、マイクロコントローラ1aの消費電力を低減することができる。また、省電力動作モードの区間中に他の処理をすることもできる。次に、図11、図12を用いて第3の形態例の説明を行う。なお、本第3の形態例におけるマイクロコントローラの構成は、図7で示した第2の形態例におけるマイクロコントローラ1aと同じ構成であるのでここでの詳細な説明は省略する。上述の第1,第2の形態例では、補正係数を求める際に、タイマ8において、水晶発振器4からの低周波数の基本クロック5の1周期におけるRC発振器2からの高周波数の基本クロック3のクロック数を計数しているが、RC発振器2と水晶発振器4の速度差発振周波数の差が大きい場合、タイマ8の計数値がオーバーフローしてしまう。その場合、水晶発振器4の1周期をRC発振器2のクロック数で計数することができない。第3の形態例では、このようにタイマ8の計数値がオーバーフローした場合にも対応できるように、タイマ8による水晶発振器4の基本クロック5の1周期におけるRC発振器2の基本クロック3のクロック数の計数時にオーバーフローが発生すると、割込みコントローラ20が、当該オーバーフローの発生を、バス11を介して検出し、割込み信号を出力する。この割込み信号により、CPU13は、オーバーフローの回数を計数し、この計数値と当該オーバーフローとなるクロック数とを乗算した値と、オーバーフローすることなくタイマ8が計数したRC発振器2の基本クロック3のクロック数と、を加算し、加算した値を、タイマ8による水晶発振器4の基本クロック5の1周期におけるRC発振器2の基本クロック3のクロック数の計数値として取得し、補正係数の算出を、図11、図12に示すようにして行う。以下、図7で示した構成のマイクロコントローラ1aを用いた第3の形態例における動作を説明する。ここでは、図7のタイマ8を、RC発振器2が生成するは新周波数が高い基本クロック3で動作させる時に、タイマ8を用いた時間測定動作の精度向上に用いる、CPU13によるタイマ補正係数の求め方を説明する。図11において、基本クロック選択器6を制御して、タイマ8に入力するシステムクロック7としてRC発振器2からの第1の基本クロック3を設定しステップS1、割込みコントローラ20から水晶発振器4のクロックの1周期分の先頭クロックの立ち上がりの割り込みが発生するまで待機するステップS2。割込みコントローラ20からの水晶発振の割込みが発生すると、CPU13は、当該割り込みが1回目の割り込みであるか否かを示すフラグ情報flg:初期値=0を参照して、当該割り込みが1回目の割り込みflg=0であるか否かを判別するステップS40。1回目の割り込みflg=0であれば、例えばROM14a等の記憶装置に記憶される、CPU13自身が計数するタイマ8のオーバーフロー回数を示す計数値cntをクリア初期化するcnt=0ステップS41と共に、タイマ8の値をクリア初期化してステップS42、1回目の割込み1周期分の先頭が発生したことを通知するフラグflgを立てるflg=1ステップS43。その後、割込みコントローラ20からの、水晶発振器4のクロックの1周期分の終わり次の1周期分の頭の割り込みが発生するまで待機するステップS3。なお、この待機中にタイマ8のオーバーフローが発生した場合、その回数を計数する。次の1周期分の割込みが発生するとステップS3、フラグ情報flgは1であり、ステップS40からステップS44の処理に移り、まず、水晶発振器4からの第2の基本クロックの1周期の時間内にタイマ8が計数したRC発振器2からの第1の基本クロック3のクロック数を読み取りステップS44、この読み取ったクロック数に、ステップSでの待機中に計数したタイマ8のオーバーフロー回数を加算して、水晶発振器4からの第2の基本クロック5の1周期の間にタイマ8が計数したRC発振器2からの第1の基本クロック3のカウント値計数値として求めステップS45、フラグ情報flgをクリア初期化しflg=0ステップS46、図8に示した処理を行うことで、読みとったタイマ8の値からタイマ補正係数を求めるステップS4。このように、ステップS4の処理で求めたタイマ補正係数を用いて、CPU13は、図9で示す補正処理を行い、RC発振器2からの高い発振周波数の基本クロック3を用いたタイマ8の時間測定動作の精度を高める。図12においては、図11のステップS3での待機中における、CPU13による処理内容を示しており、割込みコントローラ20からの、水晶発振器4のクロックの1周期分の終わり次の1周期分の頭の割り込みが発生するまでの待機中にタイマ8のオーバーフローが発生する度にステップS50、ROM14a等の記憶装置に記憶しているオーバーフロー回数cntをインクリメントcntするステップS60。このように、第3の形態例では、図11に示す処理で補正係数を算出することにより、RC発振器2と水晶発振器4の速度差発振周波数の差が大きく、RC発振器2からの高い周波数の基本クロック3の計数時にタイマ8がオーバーフローしてしまう場合でも、タイマ8による、水晶発振器4の1周期あたりのRC発振器2のクロック数の計数を行うことができる。以上説明したように、第3の形態例としてのマイクロコントローラ1bにおいては、CPU13は、オーバーフロー計数手段第2の計数手段としの機能により、タイマ8による水晶発振器4からの第2の基本クロック5の1周期におけるRC発振器2からの第1の基本クロック3のクロック数の計数時に発生したオーバーフローの回数を計数し、導出手段としての機能により、オーバーフロー計数手段機能で計数されたオーバーフローの回数と当該オーバーフローとなるクロック数とを乗算した値と、オーバーフローすることなくタイマ8が計数したRC発振器2からの第1の基本クロック3のクロック数と、を加算し、加算した値を、タイマ8による水晶発振器4からの第2の基本クロック5の1周期におけるRC発振器2からの第1の基本クロック3のクロック数の計数値として取得する。また、第3の形態例としてのマイクロコントローラ1bにおいては、割込みコントローラ20における第3の割込み手段としての機能により、タイマ8によるオーバーフローの発生が検出され、第3の割込み信号が出力される度に、CPU13は、オーバーフロー計数手段としての機能により、オーバーフローの回数を計数すると共に、当該割込みが1回目の割込みか否かを判別し、1回目の割込みであれば、オーバーフロー計数手段機能としての計数値を初期化し、タイマ8の計数値を初期化して、1回目の割込みが発生したことを示すフラグ情報を設定し、1回目の割込みでなければ、それまでにタイマ8が計数した第1の基本クロック信号のクロック数とオーバーフロー計数手段機能で計数されたオーバーフローの発生回数を読み取り、乗算と加算を行い、フラグ情報の設定を初期化する。このように、第3の形態例では、補正係数を算出する処理を図11に示す処理内容のように変更することにより、RC発振器2と水晶発振器4の速度差が大きくタイマ8がオーバーフローしてしまう場合でも、オーバーフローの回数をカウントすることにより、水晶発振器4からの第2の基本クロック5の1周期あたりのRC発振器2からの第1の基本クロック3のクロック数をカウントすることができる。次に、図13を用いて、第4の形態例の説明を行う。図13におけるマイクロコントローラ1bは、図7に示したマイクロコントローラ1aに、さらにタイマ21と分周器22を設けた構成となっている。第1~3の形態例では、タイマを一つ使用していたが、図13におけるマイクロコントローラ1bでは、タイマ21をさらに1つ追加することで、補正係数の算出とタイマ補正を、別々のタイマ8,21を用いて行うことができる。例えば、タイマ8を、水晶発振器4からの基本クロック5の1周期におけるRC発振器2からの基本クロック3のクロック数の計数に用い、タイマ21を、期待計数値と比較されるRC水晶発振器2の基本クロック3のクロック数の計数に用いる。これにより、常に一定間隔でポートを出力しなければならないシステムにおいても、タイマの補正をしながら、ポートの出力をすることが可能となる。また、図13におけるマイクロコントローラ1bは、分周器22を備えており、この分周器22により、水晶発振器4からの基本クロック5を分周することで、RC発振器2と水晶発振器4の速度差発振周波数の差がない場合にも、水晶発振器4の1周期分の時間を拡大してRC発振器2の基本クロック3の発振周波数を計数することができ、時間測定精度を高めることができる。このように、本第4の形態例としてのマイクロコントローラ1bにおいては、タイマとして、第2の基本クロック5の1周期における第1の基本クロック3のクロック数の計数に用いられタイマ8第3の計数手段と、期待計数値と比較される第1の基本クロック3のクロック数の計数に用いられるタイマ21第4の計数手段と、を備えている。このように、タイマを1つ追加し、補正係数算出とタイマ補正を、別々のタイマを使用できるようにすることで、常に一定間隔でポートを出力しなければならないシステムにおいても、タイマの補正をしながら、ポートの出力をすることができる。また、本第4の形態例としてのマイクロコントローラ1bにおいては、水晶発振器4からの第2の基本クロック5を分周する分周器22を備え、タイマ8は、分周器22が分周した第2の基本クロック5の1周期におけるRC発振器2からの第2の基本クロック3のクロック数を計数する。このように、水晶発振器4に分周器22を追加することで、RC発振器2と水晶発振器4の速度差がない場合には、水晶発振器4の1周期分の時間を拡大して計測することができ、時間測定精度を高めることができる。次に、図14を用いて、第5の形態例の説明を行う。図14におけるマイクロコントローラ1cは、図7に示したマイクロコントローラ1aにおけるRC発振器の代わりに、PLLPhaseLockedLoop発振回路が設けられた構成となっている。第1~3の形態例では、RC発振器2が生成するクロックで動作するタイマ8の時間測定精度を向上させる技術だが、図14に示すマイクロコントローラ1cのように、RC発振器2の代わりにPLL発振回路2aが生成するクロックを用いる場合でも、高速な動作用にRC発振器2を用いた場合と同様にして、タイマ8の時間測定動作を補正することができる。以上、図1~図14を用いて説明したように、本例では、ROM14に格納された本発明に係る時間測定用のプログラムを読み込んでCPU13が実行することにより、本発明に係る時間測定装置101における、導出手段101b、補正手段101c、及び出力手段101dを含む、各手段を構成し、これらの各手段を用いることにより、発振周波数が高いRC発振器2のクロック数をシステムクロックとして高速な処理動作を行うコンピュータ装置におけるタイマによる時間測定動作の高精度化を低コストに実現することが可能となり、本例のマイクロコントローラ1~1c,100では、本発明に係る時間測定装置101の機能を設けたことにより、従来技術の問題点を解決することができる。例えば、本例のマイクロコントローラ1~1c,100は、高周波数のRC発振器2のクロック周期を測定するのに高周波数で高価な水晶振動子を用いる必要がなく、RC発振回路2による低コスト化のメリットが失われてしまうことはない。また、本例のマイクロコントローラ1~1c,100においては、RC発振器2は、水晶発振器4よりも高周波数のクロックを発生することができるものであり、特許文献1のように高周波数の水晶発振器を使用する必要がなくなり、コスト高を回避することができる。さらに、特許文献1の技術のように、RC発振器が水晶発振器よりも低周波数である必要はなく、RC発振器に対する正確な補正係数を求める場合にも、高周波数のRC発振器を用いることで良く、RC発振器に対する分周器を新たに設けて分周する必要はない。これにより、特許文献1のように分周器を使用した場合にRC発振器の1周期が長くなるため、補正係数を求める際に行う、RC発振器1クロックの間に発生する水晶発振器のクロックを計数する処理の時間が増加してしまうとの問題も解消される。また、本例のマイクロコントローラ1b,1cにおいては、基準となる発振器水晶発振器4のクロック第2の基本クロックの先頭と終端の検索と、タイマ補正係数を用いてポート出力する技術を、ポーリングすることなく、割り込み要求処理で実現することができる。これにより、CPU13が常に動作している必要はなく、CPU13を省電力モードに切り替えることも、また、割込み待機中に、CPU13に他の処理を実行させることもできる。また、本例のマイクロコントローラ1bでは、補正係数を求める際に発生するタイマ8におけるオーバーフローの回数をカウントし、当該カウント値を補正係数の導出に用いており、RC発振器2と水晶発振器4の速度差が大きい場合にタイマ8の計数値がオーバーフローしても対応可能である。尚、本発明は、図1~図14を用いて説明した例に限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能である。例えば、本例では、ROM14,14a,14bに格納された本発明に係る時間測定用のプログラムを読み込んでCPU13が実行することにより、本発明に係る時間測定装置における、導出手段101b、補正手段101c、及び出力手段101dを含む、各手段を構成しているが、このように、各構成要素の機能の一部もしくは全てを、プログラムされたコンピュータ処理により実現することでも良く、あるいは論理素子回路からなるハードウェア構成で実現することでも良い。また、本発明における補正係数の求め方に関しても、本例では、図3で説明したように、ステップS7の処理で実際に読み取った実クロック数Aと、予め水晶発振器4からの第2の基本クロック5の1周期における基準となるRC発振器2からの第1の基本クロック3のクロック数である基準クロック数Bとを用いて、補正係数Cを、補正係数C=実クロック数A/基準クロック数Bの式で求めているが、例えば、補正係数C=基準クロック数B/実クロック数Aの式で求めることでも良い。この場合、図5におけるステップS11で求める補正後のタイマの期待値の式、すなわち、補正後のタイマの期待値=所望のタイマの期待値×タイマ補正係数との式を、補正後のタイマの期待値=所望のタイマの期待値/タイマ補正係数とすれば良い。また、本例では、マイクロコントローラ1において、タイマ8に、入力された第2の基本クロック信号の1周期における第1の基本クロック信号のクロック数を計数させているが、第2の基本クロック信号の1周期に限らず、予め定められた周期所定周期における第1の基本クロック信号のクロック数を計数させることでも良い。"