"マスタ装置からスレーブ装置へクロック信号線を介して通信クロックが出力されると共に、前記マスタ装置と前記スレーブ装置のうち、データを送信する送信側は、前記通信クロックの一方のエッジである送信エッジのタイミングで、データ信号線へデータ信号を出力する送信動作を行い、前記マスタ装置と前記スレーブ装置のうち、データを受信する受信側は、前記通信クロックの他方のエッジである受信エッジのタイミングで、前記データ信号線から前記データ信号を受信する受信動作を行うクロック同期式通信システムにおいて、前記マスタ装置として用いられる通信装置であって、当該通信装置から前記スレーブ装置にデータを送信する送信期間において、前記送信動作により前回出力したデータ信号とは異なる値のデータ信号を出力する場合には、前記通信クロックの前記送信エッジから前記受信エッジまでの時間であるクロック前半時間を第1時間にし、前記送信動作により前回出力したデータ信号と同じ値のデータ信号を出力する場合には、前記クロック前半時間を前記第1時間よりも短い第2時間に変更すること、を特徴とする通信装置。請求項1に記載の通信装置において、当該通信装置が前記スレーブ装置にデータを送信する送信期間において、前記送信動作により今回出力されるデータ信号の値である今回出力値が、前記送信動作により前回出力されたデータ信号の値である前回出力値と同じであるか否かを判定する判定手段と、前記判定手段の判定結果に応じて、前記今回出力値の出力開始タイミングに該当する前記通信クロックの前記送信エッジから、前記受信エッジまでの時間である前記クロック前半時間を変更する時間変更手段とを備え、前記時間変更手段は、前記判定手段により前記今回出力値が前記前回出力値と同じではないと判定された場合は、前記クロック前半時間を前記第1時間にし、前記判定手段により前記今回出力値が前記前回出力値と同じであると判定された場合は、前記クロック前半時間を前記第2時間にすること、を特徴とする通信装置。請求項1又は請求項2に記載の通信装置において、当該通信装置が前記通信クロックの前記送信エッジのタイミングで前記送信動作を開始してから、前記データ信号線上の電圧が、その送信動作で出力されたデータ信号に該当する電圧になるまでの遅れ時間である当該通信装置の出力遅れ時間が、t1であり、前記通信クロックの前記受信エッジのタイミングに先立って予め送信側が前記データ信号線上のデータ信号を確定させておかなければならない最小時間である前記スレーブ装置のデータセットアップ時間が、t2であり、前記スレーブ装置が前記通信クロックの前記受信エッジを検出することが可能となる前記クロック前半時間の最小値が、t3であるとすると、前記第1時間は、t1t2以上であり、前記第2時間は、前記第1時間よりも短く且つt3以上であること、を特徴とする通信装置。請求項1ないし請求項3の何れか1項に記載の通信装置において、当該通信装置は、複数のスレーブ装置と通信するようになっていると共に、通信相手のスレーブ装置毎に、少なくとも前記第2時間を切り替えること、を特徴とする通信装置。請求項1ないし請求項4の何れか1項に記載の通信装置と、その通信装置とクロック同期式通信を行うスレーブ装置と、を備えたクロック同期式通信システム。上記特許文献1の技術を採用するしないに拘わらず、その技術とは別の観点から通信速度を上げることができれば尚良い。そこで、本発明は、クロック同期式通信の通信速度を効率良く上げることができるようにすることを目的としている。本発明の通信装置は、クロック同期式通信システムにおいて、通信クロックを出力する方のマスタ装置として用いられる。そのクロック同期式通信システムでは、マスタ装置からスレーブ装置へクロック信号線を介して通信クロックが出力されると共に、マスタ装置とスレーブ装置のうち、データを送信する送信側は、通信クロックの一方のエッジである送信エッジのタイミングで、データ信号線へデータ信号を出力する送信動作を行い、マスタ装置とスレーブ装置のうち、データを受信する受信側は、通信クロックの他方のエッジである受信エッジのタイミングで、データ信号線からデータ信号を受信する受信動作を行う。そして、本発明の通信装置は、当該通信装置からスレーブ装置にデータを送信する送信期間において、送信動作により前回出力したデータ信号とは異なる値のデータ信号を出力する場合には、通信クロックの送信エッジから受信エッジまでの時間であるクロック前半時間を第1時間にし、送信動作により前回出力したデータ信号と同じ値のデータ信号を出力する場合には、クロック前半時間を第1時間よりも短い第2時間に変更する。つまり、送信データのビットが同じ値で連続する場合、前回と同じ値のビットを送信するときの送信エッジのタイミングでは、送信動作によりデータ信号線へ前回と同じ値のデータ信号電圧を出力することとなる。そして、そのときには、データ信号線の電圧が変化しないため、クロック前半時間について、送信側の出力遅れ時間と受信側のデータセットアップ時間とを考慮する必要がないことに着目し、そのクロック前半時間を、通常の第1時間よりも短い第2時間に変更するようになっている。よって、この通信装置によれば、前回と同じ値のビットを送信するときのクロック周期通信クロックの周期を短くすることができ、その分、クロック同期式通信の通信速度を上げることができる。このため、送信するデータ量ビット数が同じであれば、従来よりも通信時間通信に要する時間を短縮することができる。尚、請求項3に記載のように、送信側としての当該通信装置の出力遅れ時間送信エッジのタイミングで送信動作を開始してから、データ信号線上の電圧が、その送信動作で出力されたデータ信号に該当する電圧になるまでの遅れ時間がt1であり、受信側としてのスレーブ装置のデータセットアップ時間受信エッジのタイミングに先立って予め送信側がデータ信号線上のデータ信号を確定させておかなければならない最小時間がt2であるとすると、第1時間は、t1t2以上であれば良く、例えばt1t2に設定すれば、通信時間を短縮するという面において最も有利である。そして、スレーブ装置が通信クロックの受信エッジを検出することが可能となるクロック前半時間の最小値がt3であるとすると、第2時間は、第1時間よりも短く且つt3以上であれば良く、例えばt3に設定すれば、通信時間を短縮するという面において最も有利である。一方、クロック後半時間通信クロックの受信エッジから送信エッジまでの時間については、受信側としてのスレーブ装置のデータホールド時間以上に設定しておけば良い。ところで、本発明の通信装置は、例えば請求項2に記載のように構成することができる。即ち、その通信装置は、当該通信装置がスレーブ装置にデータを送信する送信期間において、送信動作により今回出力されるデータ信号の値である今回出力値が、送信動作により前回出力されたデータ信号の値である前回出力値と同じであるか否かを判定する判定手段と、その判定手段の判定結果に応じて、今回出力値の出力開始タイミングに該当する通信クロックの送信エッジから、受信エッジまでの時間であるクロック前半時間を変更する時間変更手段とを備えている。そして、時間変更手段は、判定手段により今回出力値が前回出力値と同じではないと判定された場合は、クロック前半時間を第1時間にし、判定手段により今回出力値が前回出力値と同じであると判定された場合は、クロック前半時間を第2時間にする。また、本発明の通信装置は、複数のスレーブ装置と通信するようになっているのであれば、通信相手のスレーブ装置毎に、少なくとも第2時間を切り替えるように構成することが好ましい。つまり、通信相手のスレーブ装置によって、前述のt3が異なるため、通信相手のスレーブ装置毎に、少なくとも第2時間を切り替えることにより、通信相手に応じて通信時間をできるだけ短くすることができる。また、通信相手のスレーブ装置によって、データセットアップ時間とデータホールド時間との各々も異なるのであれば、第1時間とクロック後半時間との両方又は一方も、通信相手のスレーブ装置毎に切り替えるように構成することにより、通信時間を短縮するという面において更に有利となる。そして、本発明の通信装置と、その通信装置とクロック同期式通信を行うスレーブ装置とを備えたクロック同期式通信システムによれば、通信速度を従来よりも上げることができる。換言すると、通信するデータ量ビット数が同じであれば、従来よりも通信時間を短縮することができる。以下に、本発明が適用された実施形態のクロック同期式通信システムについて説明する。[第1実施形態]図1に示すように、第1実施形態のクロック同期式通信システム1は、マスタ装置としてのマイコン10と、スレーブ装置としての出力IC11とからなる。そして、マイコン10と出力IC11は、チップセレクト信号線21と、データ信号線22と、クロック信号線24によって接続されている。出力IC11は、マイコン10から受信する情報データに応じて信号を出力する機能を有しており、例えば、マイコン10からのデータが示す時間を計測して、その時間が経過したなら信号いわゆるタイムアウト信号を出力する。チップセレクト信号線21は、マイコン10が出力IC11を通信相手に選択する際に出力するチップセレクト信号のための信号線である。尚、本実施形態において、チップセレクト信号はローアクティブである。データ信号線22は、マイコン10からスレーブ装置この例では出力IC11へデータ信号を出力するための送信線である。クロック信号線24は、マイコン10からスレーブ装置へ同期用の通信クロックを出力するための信号線である。尚、以下の説明では、通信クロックのことを、クロックパルスと言う。また、図1において、CSは、チップセレクト信号の出力端子又は入力端子であり、Txは、データ信号出力端子であり、Rxは、データ信号入力端子であり、Clkは、クロックパルスの出力端子又は入力端子である。このため、マイコン10の端子CSと出力IC11の端子CSがチップセレクト信号線21によって接続され、マイコン10の端子Txと出力IC11の端子Rxがデータ信号線22によって接続され、マイコン10の端子Clkと出力IC11の端子Clkがクロック信号線24によって接続されている。そして、マイコン10と出力IC11は、図2に示すように通信を行う。まず、マイコン10は、端子CSからチップセレクト信号線21へのチップセレクト信号即ち、出力IC11に対するチップセレクト信号をローにして、出力IC11を通信可能な状態にする。そして、マイコン10は、端子Clkからクロック信号線24へクロックパルスを出力すると共に、端子Txからデータ信号線22へデータこの例では1バイトを出力する。このとき、データの送信側であるマイコン10は、クロックパルスに送信エッジ本実施形態では、立ち下がりエッジが発生したタイミングで、データ信号線22にデータ信号を出力する送信動作を行う。尚、この送信動作によってデータ信号線22へ出力されるデータ信号とは、送信データを成す各ビット以下、送信データビットともいうの信号であり、本実施形態では、例えば、送信データビットが1ならばハイの電圧であり、送信データビットが0ならばローの電圧であるが、送信データビットの値と、出力されるデータ信号の電圧レベルとの対応関係は、逆であっても良い。また、データの受信側である出力IC11は、クロックパルスに受信エッジ本実施形態では、立ち上がりエッジが発生したタイミングで、データ信号線22からデータ信号を受信する受信動作を行う。そして、マイコン10は、データの送信が全て終了したなら、出力IC11に対するチップセレクト信号CSをローからハイに戻し、これにより通信が終了する。尚、図2において、CS、Clk、Txの各端子は、全てマイコン10側の端子であり、その各端子の波形は、上から順に、チップセレクト信号線21、クロック信号線24、データ信号線22の各波形を表している。次に図3に示すように、マイコン10は、プログラムを実行するCPU31と、そのプログラムが格納されたROM32と、CPU31による演算結果などが記憶されるRAM33と、スレーブ装置と通信するための通信モジュール34と、これらの構成要素を接続するバス35とを備えている。そして、通信モジュール34は、レジスタ群41と、分周器42と、カウンタ43と、当該マイコン10の端子Clkからクロック信号線24へクロックパルスを出力するクロックパルス出力部44と、そのクロックパルス出力部44を制御するクロック制御部45と、当該マイコン10の端子Txからデータ信号線22へ送信データの各ビットに応じたデータ信号を出力するデータ出力部46とを備えている。レジスタ群41の中には、マイコン10の動作クロックであるシステムクロックの分周値がCPU31によってセットされる書き込まれる分周値レジスタ50と、クロックパルスの2通りのロー時間のうちの長い方である第1ロー時間を示す値がCPU31によってセットされる第1ロー時間レジスタ51と、クロックパルスの2通りのロー時間のうちの短い方である第2ロー時間を示す値がCPU31によってセットされる第2ロー時間レジスタ52と、クロックパルスのハイ時間を示す値がCPU31によってセットされるハイ時間レジスタ53と、送信データスレーブ装置への送信対象のデータがCPU31によってセットされる送信データレジスタ54と、が含まれている。尚、システムクロックは、水晶などからなる発振子図示省略による発振信号を、当該マイコン10内で波形整形及び分周するなどして生成される。分周器42は、システムクロックを、分周値レジスタ50にセットされている分周値で分周する。そして、カウンタ43は、分周器42によって分周された後のクロック以下、分周クロックというによってカウントアップされる。クロックパルス出力部44は、第1ロー時間レジスタ51の値第1ロー時間を示す値と第2ロー時間レジスタ52の値第2ロー時間を示す値との何れか一方が、クロック制御部45によりロー時間値NLとして与えられる。また、クロックパルス出力部44は、CPU31から当該通信モジュール34へ動作開始指令が出力されるまでは、クロックパルスの出力レベルをハイにしている。そして、クロックパルス出力部44は、CPU31から上記動作開始指令が出力されると、動作を開始して、まず、カウンタ43をリセットするカウンタ43の値を0にすると共に、クロックパルスの出力レベルをハイからローに反転させる。更にその後、クロックパルス出力部44は、カウンタ43の値がクロック制御部45により与えられるロー時間値NLと一致したら、クロックパルスの出力レベルをローからハイに反転させると共に、カウンタ43をリセットし、その後、カウンタ43の値がハイ時間レジスタ53の値ハイ時間を示す値と一致したら、クロックパルスの出力レベルをハイからローに反転させると共に、カウンタ43をリセットするという動作を繰り返す。このため、クロックパルスのロー時間は、分周クロックの1周期時間Tu×ロー時間値NLとなり、クロックパルスのハイ時間は、分周クロックの1周期時間Tu×ハイ時間レジスタ53の値となる。また、第1ロー時間レジスタ51には、クロックパルスの第1ロー時間を分周クロックの1周期時間Tuで割った値がセットされ、第2ロー時間レジスタ52には、クロックパルスの第2ロー時間を分周クロックの1周期時間Tuで割った値がセットされ、ハイ時間レジスタ53には、クロックパルスのハイ時間を分周クロックの1周期時間Tuで割った値がセットされることとなる。尚、クロックパルスのロー時間とハイ時間を、システムクロックの1周期時間の分解能で可変にするのであれば、分周器42は設けなくても良い。そして、クロックパルス出力部44は、CPU31から当該通信モジュール34へ動作停止指令が出力されると、動作を停止して、クロックパルスの出力レベルをハイにする。一方、データ出力部46は、CPU31から上記動作開始指令が出力されると、クロックパルス出力部44から出力されるクロックパルスに送信エッジとしての立ち下がりエッジが発生する毎に、送信データレジスタ54内の送信データを1ビットずつデータ信号線22に送出する。具体的には、送信データビットが1ならば、データ信号線22へデータ信号としてハイの電圧を出力し、送信データビットが0ならば、データ信号線22へデータ信号としてローの電圧を出力する。クロック制御部45は、CPU31から上記動作開始指令が出力されて、クロックパルス出力部44からのクロックパルスに立ち下がりエッジが最初に発生すると、クロックパルス出力部44に、第1ロー時間レジスタ51の値をロー時間値NLとして与える。そして、その後、クロック制御部45は、クロックパルスに立ち下がりエッジが発生する毎に、図4に示す動作を行う。即ち、クロック制御部45は、まず、クロックパルスの今回の立ち下がりエッジのタイミングで送信される送信データビット以下、今回送信ビットというが、前回の立ち下がりエッジのタイミングで送信された送信データビット以下、前回送信ビットというと同じであるか否かを判定するS110。この動作により、クロック制御部45は、データ出力部46によりデータ信号線22に今回出力されるデータ信号の値今回出力値が、データ出力部46により前回出力されたデータ信号の値前回出力値と同じであるか否かを判定することとなる。そして、クロック制御部45は、今回送信ビットが前回送信ビットと同じではない異なっていると判定したならばS110:NO、クロックパルス出力部44に、第1ロー時間レジスタ51の値をロー時間値NLとして与えるS120。また、クロック制御部45は、今回送信ビットが前回送信ビットと同じであると判定したならばS110:YES、クロックパルス出力部44に、第2ロー時間レジスタ52の値をロー時間値NLとして与えるS130。このため、今回送信ビットが前回送信ビットと同じでなければ、その今回送信ビットを送信するときのクロックパルスのロー時間が第1ロー時間となり、今回送信ビットが前回送信ビットと同じであれば、その今回送信ビットを送信するときのクロックパルスのロー時間が第2ロー時間となる。尚、クロックパルスの第1ロー時間及び第2ロー時間とハイ時間とを、どのような時間にしているかについては、後で詳しく説明する。次に、マイコン10のCPU31が、通信のために行う処理の内容について説明する。CPU31は、例えば、当該マイコン10が起動した直後に実行する起動時処理により、システムクロックの分周値を設定する。具体的には、分周値レジスタ50に分周値を設定する。そして、CPU31は、当該マイコン10が出力IC11と通信すべき通信タイミングが到来すると、図5の通信時処理を実行する。尚、通信タイミングとしては、定期的なものや、特定のイベントが発生したときなどがある。図5に示すように、CPU31が通信時処理の実行を開始すると、まずS210にて、クロックパルスのハイ時間を設定し、次のS220にて、クロックパルスの第1ロー時間を設定し、次のS230にて、クロックパルスの第2ロー時間を設定する。具体的には、ハイ時間レジスタ53にハイ時間を示す値ハイ時間/Tuの値をセットし、第1ロー時間レジスタ51に第1ロー時間を示す値第1ロー時間/Tuの値をセットし、第2ロー時間レジスタ52に第2ロー時間を示す値第2ロー時間/Tuの値をセットする。尚、このS210~S230の処理は、上記起動時処理の中で行っても良い。そして、続くS240にて、送信データレジスタ54に送信データをセットすると共に、出力IC11へのチップセレクト信号CSをローにして、出力IC11を通信可能な状態にする。次に、S250にて、通信モジュール34へ前述した動作開始指令を出力することにより、通信モジュール34に出力IC11との通信を実施させる。前述したように、CPU31から通信モジュール34に動作開始指令が出力されると、クロックパルス出力部44からクロックパルスが出力され、そのクロックパルスに立ち下がりエッジが発生する毎に、送信データレジスタ54内の送信データが1ビットずつデータ信号線22に送出される。そして、CPU31は、送信データレジスタ54内の送信データが全て送信されると、S260にて、通信モジュール34へ前述した動作停止指令を出力して、クロックパルス出力部44の動作を停止させると共に、出力IC11へのチップセレクト信号CSをローからハイに戻す。これにより、通信時処理が終了する。次に、クロックパルスの第1ロー時間及び第2ロー時間とハイ時間とを、どのような時間にしているかについて、図6を用い説明する。一例として、本実施形態においては、マスタ装置としてのマイコン10の出力遅れ時間tAが、50μsとなっており、マイコン10の通信相手であるスレーブ装置本実施形態では出力IC11のデータセットアップ時間tbとデータホールド時間tcとが、それぞれ150μs、100μsとなっている図6A参照。そして、このような数値の場合、マイコン10からスレーブ装置出力IC11への送信を成立させるためのクロックパルスのロー時間TLとハイ時間THは、下記の式a1,b1の関係を満たす必要がある。TL≧tAtb=50μs150μs=200μs...式a1TH≧tc=100μs...式b1このため、本実施形態では、図6Aに示すように、クロックパルスの第1ロー時間TL1を、式a1の関係詳しくは、式a1のロー時間TLの条件を満たす最小値のtAtb=200μsにし、クロックパルスのハイ時間THを、式b1の関係を満たす最小値のtc=100μsにしている。但し、送信データビットが同じ値で連続する場合、前回と同じ値のビットを送信するときには、データ出力部46は、データ信号線22へ前回と同じ値のデータ信号電圧を出力することとなる。そして、そのときには、データ信号線22の電圧が変化しないため、クロックパルスのロー時間TLについて、送信側の出力遅れ時間tAと受信側のデータセットアップ時間tbとを考慮する必要はない。このことから、本実施形態では、前回と同じ値のビットを送信するときのクロックパルスのロー時間TLである第2ロー時間TL2を、図6Bに示すように、第1ロー時間TL1よりも短い時間にしている。具体的には、出力IC11がクロックパルスの立ち上がりエッジ受信エッジを検出することが可能となるロー時間TLの最小値以下、ロー認識最小値というが、例えば2μsであるとすると、第2ロー時間TL2は、その2μs以上であれば良い。このため、本実施形態では、第2ロー時間TL2を、その2μsにしている。よって、このような本実施形態のクロック同期式通信システム1によれば、前回と同じ値のビットを送信するときのクロック周期クロックパルスの周期を、通信可能な限度内で短くすることができ、図6の例では、クロック周期を300μs=200μs100μsから102μs=2μs100μsに短縮することができる。そして、その分、通信速度を上げることができ、送信するデータ量ビット数が同じであれば、通信時間を短縮することができる。例えば、マイコン10から出力IC11へ01001011という8ビットデータを送信したとする。この場合に、もし、クロックパルスのロー時間TLを、第1ロー時間TL1=200μsに固定したならば、図7Bに示すように、8ビットデータを送信するのに2400μs=300μs×8かかることとなる。これに対し、本実施形態のクロック同期式通信システム1おいて、マイコン10は、上記8ビットデータのうち、連続する0の後の方を送信するときと、連続する1の後の方を送信するときには、クロックパルスのロー時間TLを、第1ロー時間TL1=200μsから第2ロー時間TL2=2μsに変更することから、8ビットデータを送信するのに要する通信時間は、2004=2400-200-2×2μsで済むこととなる。ちなみに、図6に示した数値例の場合に、クロックパルスのロー時間TLとハイ時間THとを、同じ値に固定したとすると、ロー時間TLとハイ時間THは、式a1と式b1との両方を満たす同値に設定することとなるため、両方とも200μsとなる。このため、上記の8ビットデータを送信するのに要する通信時間は、図7Aに示すように、3200μs=400μs×8になってしまう。尚、第1ロー時間TL1は、上記式a1の関係を満たしていれば、最小値のtAtbでなくても良い。同様に、ハイ時間THも、上記式b1の関係を満たしていれば、最小値のtcでなくても良い。そして、第2ロー時間TL2についても、第1ロー時間TL1より短ければ効果を奏するのであり、ロー認識最小値上記の例では2μsより長い時間に設定しても良い。一方、本実施形態では、クロックパルス通信クロックのロー時間が、クロック前半時間の一例であり、第1ロー時間が、第1時間の一例であり、第2ロー時間が、第2時間の一例である。そして、マイコン10が、マスタ装置として用いられる通信装置の一例に相当し、また、クロック制御部45において、図4のS110の判定動作を行う部分が、判定手段の一例に相当し、図4のS120とS230の動作を行う部分が、時間変更手段の一例に相当している。[第2実施形態]第2実施形態のクロック同期式通信システムは、第1実施形態のクロック同期式通信システム1と比較すると、マイコン10に代えて、図8に示すマイコン60を備えている。そして、図8に示すように、マイコン60は、第1実施形態のマイコン10と比較すると、通信モジュール34を備えておらず、その代わりに、内蔵されたタイマ部61とI/Oポート入出力ポート63とを利用して、クロック信号線24へのクロックパルスの出力と、データ信号線22へのデータ信号の出力とを行うようになっている。タイマ部61は、一定周期のクロック本実施形態ではシステムクロックによってカウントアップされるフリーランタイマFRT65と、レジスタ群67とを備えている。レジスタ群67の中には、フリーランタイマ65の値以下、フリーランタイマ値というと比較されるタイマ閾値がCPU31によってセットされる閾値レジスタ68と、タイマ割り込みを許可するか否かを示す割り込み許可フラグがCPU31によってセットされる割り込み設定レジスタ69とが含まれている。そして、タイマ部61は、割り込み設定レジスタ69にセットされている割り込み許可フラグが、割り込み許可を示す方の値例えば1である場合に、フリーランタイマ値が閾値レジスタ68内のタイマ閾値と一致すると、CPU31に対してタイマ割り込み要求を出力する。すると、CPU31は、後述する図10のタイマ割り込み処理を実行することとなる。I/Oポート63は、レジスタ群71を備えており、そのレジスタ群71の中には、信号出力用のレジスタとして、クロックパルスの出力レベル以下、クロックパルス出力ともいうを示す1ビットデータがCPU31によりセットされる第1データレジスタ72と、CPU31により送信データビットがセットされる第2データレジスタ73とが、含まれている。そして、I/Oポート63は、第1データレジスタ72にセットされた1ビットデータに応じて、当該マイコン60の端子Clkの出力レベル即ち、端子Clkからクロック信号線24に出力するクロックパルスのレベルを、ハイとローに切り替える。具体的には、第1データレジスタ72にセットされた1ビットデータが1であれば、端子Clkからのクロックパルスをハイにし、第1データレジスタ72にセットされた1ビットデータが0であれば、端子Clkからのクロックパルスをローにする。尚、第1データレジスタ72にセットされる1ビットデータの値と、端子Clkから出力されるクロックパルスのレベルとの対応関係は、逆であっても良い。同様に、I/Oポート63は、第2データレジスタ73にセットされた送信データビットに応じて、当該マイコン60の端子Txの出力レベル即ち、端子Txからデータ信号線22に出力するデータ信号のレベルを、ハイとローに切り替える。具体的には、第2データレジスタ73にセットされた送信データビットが1であれば、端子Txからのデータ信号をハイにし、第2データレジスタ73にセットされた送信データビットが0であれば、端子Txからのデータ信号をローにする。尚、第2データレジスタ73にセットされる送信データビットの値と、端子Txから出力されるデータ信号のレベルとの対応関係は、逆であっても良い。次に、マイコン60のCPU31が、通信のために行う処理の内容について説明する。CPU31は、当該マイコン60と出力IC11とが通信すべき通信タイミングが到来すると、図9の通信開始時処理を実行する。その通信開始時処理は、通信の準備を行うための処理である。そして、図9に示すように、CPU31が通信開始時処理の実行を開始すると、まずS310にて、割り込み設定レジスタ69に割り込み許可フラグとして1を書き込むことにより、タイマ割り込みを許可する。つまり、図10のタイマ割り込み処理の実行を許可する。次にS320にて、閾値レジスタ68に、タイマ閾値として、クロックパルスの最初のハイ時間である初回ハイ時間に相当する値以下、初回ハイ時間相当値というをセットする。尚、初回ハイ時間は、このS320の処理が行われる時点から当該通信開始時処理が終了するまでの時間よりも長い時間であれば良い。そして、初回ハイ時間相当値は、初回ハイ時間/システムクロックの1周期時間Tsの値を、現在のフリーランタイマ値に加えた値である。次にS330にて、第1データレジスタ72に1をセットすることにより、クロックパルス出力をハイにする。最後にS340にて、出力IC11へのチップセレクト信号CSをハイからローにすることにより、出力IC11を通信可能な状態にし、その後、当該通信開始時処理を終了する。そして、上記S320の処理を行ったときから初回ハイ時間が経過すると、フリーランタイマ値が閾値レジスタ68内のタイマ閾値と一致して、タイマ部61からCPU31にタイマ割り込み要求が出力され、CPU31は、図10のタイマ割り込み処理を実行することとなる。尚、図10のタイマ割り込み処理は、クロックパルスの出力と、送信データの1ビットずつの出力送信とを行うための処理である。図10に示すように、CPU31がタイマ割り込み処理の実行を開始すると、まずS410にて、現在のクロックパルス出力がハイであるか否かを判定する。具体的には、第1データレジスタ72の値即ち、前述の1ビットデータを1にしているか否かを判定する。そして、このS410にて、現在のクロックパルス出力がハイであると判定した場合には、S420に進む。S420では、今回送信ビットが前回送信ビットと同じであるか否かを判定し、今回送信ビットが前回送信ビットと同じではないと否定判定NOと判定した場合には、S430に進む。尚、今回送信ビットは、今回の当該タイマ割り込み処理における後述のS450で送信する即ち、データ信号線22に出力する送信データビットであり、前回送信ビットは、前回の当該タイマ割り込み処理における後述のS450で送信した送信データビットである。また、図9の通信開始時処理が終了してから当該タイマ割込み処理が最初に実行された場合には、クロックパルス出力がハイになっているため、必ずS420に進むことになるが、その最初の回のS420では、前回送信ビットが存在しないため、必ず否定判定してS430に進むようになっている。そして、S430では、閾値レジスタ68に、タイマ閾値として、第1ロー時間に相当する値である第1ロー時間相当値をセットし、その後、S450に進む。尚、第1ロー時間相当値は、前述したクロックパルスの第1ロー時間TL1をシステムクロックの1周期時間Tsで割った値TL1/Tsを、現在のフリーランタイマ値に加えた値である。このため、S430の処理を行ったときから第1ロー時間TL1が経過すると、フリーランタイマ値が閾値レジスタ68内のタイマ閾値と一致して、CPU31は当該タイマ割り込み処理を再び実行することとなる。また、上記420にて、今回送信ビットが前回送信ビットと同じであると判定した場合には、S440に移行して、閾値レジスタ68に、タイマ閾値として、第2ロー時間に相当する値である第2ロー時間相当値をセットし、その後、S450に進む。尚、第2ロー時間相当値は、前述したクロックパルスの第2ロー時間TL2をシステムクロックの1周期時間Tsで割った値TL2/Tsを、現在のフリーランタイマ値に加えた値である。このため、S440の処理を行ったときから第2ロー時間TL2が経過すると、フリーランタイマ値が閾値レジスタ68内のタイマ閾値と一致して、CPU31は当該タイマ割り込み処理を再び実行することとなる。そして、S450では、今回送信すべき送信データビット今回送信ビットを第2データレジスタ73にセットすることにより、その送信データビットに応じたデータ信号を端子Txからデータ信号線22へ出力する。更に、続くS460にて、第1データレジスタ72に0をセットすることにより、クロックパルス出力をハイからローに反転させる。そして、その後、当該タイマ割り込み処理を終了する。一方、上記S410にて、現在のクロックパルス出力がハイではないローであると判定した場合には、S470に移行して、閾値レジスタ68に、タイマ閾値として、ハイ時間に相当する値であるハイ時間相当値をセットする。尚、ハイ時間相当値は、前述したクロックパルスのハイ時間TLHをシステムクロックの1周期時間Tsで割った値TH/Tsを、現在のフリーランタイマ値に加えた値である。このため、S470の処理を行ったときからハイ時間THが経過すると、フリーランタイマ値が閾値レジスタ68内のタイマ閾値と一致して、CPU31は当該タイマ割り込み処理を再び実行することとなる。そして、続くS480にて、第1データレジスタ72に1をセットすることにより、クロックパルス出力をローからハイに反転させ、その後、当該タイマ割り込み処理を終了する。また、図示は省略しているが、CPU31は、上記S450の処理を送信データのビット数の回数だけ実行した後つまり、S450の処理により送信データビットの全てを送信し終えた後、上記S410にてクロックパルス出力がハイであると判定した場合には、S420~S460の処理を行うことなく、そのまま当該タイマ割り込み処理を終了する。そして、その場合、CPU31は、割り込み設定レジスタ69に割り込み許可フラグとして0を書き込むことにより、タイマ割り込みを禁止し、更に、出力IC11へのチップセレクト信号CSをローからハイに戻す。以上の処理により、マイコン60では、下記1~5の動作が行われることとなる。1まず、図9の通信開始時処理におけるS320の処理が行われてから初回ハイ時間が経過して、図10のタイマ割り込み処理が最初に実行されると、S410でYESと判定されるため、S450及びS460の処理により、最初の送信データビット即ち、送信データの1ビット目に応じたデータ信号をデータ信号線22へ出力すると共に、クロックパルス出力をハイからローに反転させることとなり、また、その場合には、S430の処理により、閾値レジスタ68に、クロックパルスのロー時間を決定する値として、第1ロー時間相当値をセットすることとなる。2そして、その後、第1ロー時間TL1が経過すると、タイマ割り込み処理が再び実行されるが、その回のタイマ割り込み処理では、S410でNOと判定されるため、S480の処理により、クロックパルス出力をローからハイに反転させることとなり、また、S470の処理により、閾値レジスタ68に、クロックパルスのハイ時間を決定する値として、ハイ時間相当値をセットすることとなる。3よって、その後、ハイ時間THが経過すると、タイマ割り込み処理が再び実行される。そして、その回のタイマ割り込み処理では、S410でYESと判定されるため、S450及びS460の処理により、今回送信すべき送信データビット今回送信ビットであり、この場合は、送信データの2ビット目に応じたデータ信号をデータ信号線22へ出力すると共に、クロックパルス出力をハイからローに反転させることとなる。そして更に、その回のタイマ割り込み処理では、S420の処理により、今回送信ビットが前回送信ビットと同じであるか否かを判定して、今回送信ビットが前回送信ビットと同じでなければ、S430の処理により、閾値レジスタ68に第1ロー時間相当値をセットするが、今回送信ビットが前回送信ビットと同じであれば、S440の処理により、閾値レジスタ68に第2ロー時間相当値をセットすることとなる。4そして、その後、閾値レジスタ68にセットされた値に相当する時間即ち、第1ロー時間TL1又は第2ロー時間TL2が経過すると、タイマ割り込み処理が再び実行される。そして、その回のタイマ割り込み処理では、S410でNOと判定されるため、S480の処理により、クロックパルス出力をローからハイに反転させることとなり、また、S470の処理により、閾値レジスタ68にハイ時間相当値をセットすることとなる。5その後は、上記3と4の動作が繰り返されることにより、送信データの3ビット目以降が順次送信されることとなる。そして、以上のようなマイコン60をマスタ装置として備える第2実施形態のクロック同期式通信システムによっても、第1実施形態と同様に、前回と同じ値のビットを送信するときのクロックパルスのロー時間を、前回と異なる値のビットを送信するときのクロックパルスのロー時間である第1ロー時間TL1よりも短い第2ロー時間TL2に変更するためS420:YES→S440、その分、通信速度を上げることができ、送信するデータ量ビット数が同じであれば、通信時間を短縮することができる。尚、本実施形態では、マイコン60が、マスタ装置として用いられる通信装置の一例に相当しており、マイコン60のCPU31が、判定手段と時間変更手段との一例に相当している。そして、図10におけるS420の処理が、CPU31を判定手段として機能させる処理の一例に相当し、図10におけるS430及びS440の処理が、CPU31を時間変更手段として機能させる処理の一例に相当している。[第3実施形態]図11に示すように、第3実施形態のクロック同期式通信システム3は、第1実施形態のクロック同期式通信システム1と比較すると、下記の点が異なっている。まず、第1の相違点として、マイコン10は、複数のスレーブ装置と通信するようになっている。この例では、マイコン10は、出力IC11に加えて、その出力IC11とは別の出力IC12とも通信するようになっている。このため、マイコン10と出力IC12との間には、マイコン10が出力IC12を通信相手に選択する際に出力するチップセレクト信号のためのチップセレクト信号線25が設けられている。そして、出力IC12のデータ信号入力端子Rxはデータ信号線22に接続され、出力IC12のクロックパルス用の入力端子Clkはクロック信号線24に接続されている。次に、第2の相違点として、マイコン10のCPU31は、何れかのスレーブ装置出力IC11又は出力IC12と通信すべき通信タイミングが到来すると、図5の通信時処理に代えて、図12の通信時処理を行う。図12に示すように、マイコン10のCPU31が通信時処理を開始すると、まず、前述した図5のS210~S230と同様のS510~S530にて、通信相手出力IC11又は出力IC12に応じたクロックパルスのハイ時間、第1ロー時間及び第2ロー時間の各々を示す各値を、ハイ時間レジスタ53と第1ロー時間レジスタ51と第2ロー時間レジスタ52との各々にセットする。例えば、マイコン10の出力遅れ時間と、出力IC11のデータセットアップ時間と、出力IC11のデータホールド時間と、出力IC11のロー認識最小値とが、第1実施形態と同じ値で、それぞれ50μs、150μs、100μs、2μsであり、出力IC12のデータセットアップ時間と、出力IC12のデータホールド時間と、出力IC12のロー認識最小値とが、それぞれ120μs、80μs、1.5μsであるとする。そして、このような数値例の場合、通信相手が出力IC11であれば、第1実施形態と同様に、クロックパルスのハイ時間THが100μsとなり、クロックパルスの第1ロー時間TL1が200μsとなり、クロックパルスの第2ロー時間TL2が2μsとなるように、ハイ時間レジスタ53、第1ロー時間レジスタ51及び第2ロー時間レジスタ52の各々に値をセットする。また、通信相手が出力IC12であれば、クロックパルスのハイ時間THが、式b1の関係を満たす最小値である80μsとなり、クロックパルスの第1ロー時間TL1が、式a1の関係を満たす最小値である170μs=50μs120μsとなり、クロックパルスの第2ロー時間TL2が、出力IC12のロー認識最小値である1.5μsとなるように、ハイ時間レジスタ53、第1ロー時間レジスタ51及び第2ロー時間レジスタ52の各々に値をセットする。次に、図12の通信時処理では、S540にて、送信データレジスタ54に送信データをセットすると共に、通信相手へのチップセレクト信号CSをローにして、その通信相手を通信可能な状態にする。そして、続くS550にて、図5のS250と同様に、通信モジュール34へ前述した動作開始指令を出力することにより、通信モジュール34に通信相手との通信を実施させる。そして、CPU31は、送信データレジスタ54内の送信データが全て送信されると、S560にて、通信モジュール34へ前述した動作停止指令を出力して、クロックパルス出力部44の動作を停止させると共に、通信相手へのチップセレクト信号CSをローからハイに戻す。これにより、通信時処理が終了する。以上のような第3実施形態のマイコン10によれば、通信相手のスレーブ装置毎に、クロックパルスのハイ時間TH、第1ロー時間TL1及び第2ロー時間TL2を切り替えることとなり、通信相手に応じて通信時間をできるだけ短くすることができる。また、本第3実施形態の思想は、第2実施形態のマイコン60についても同様に適用することができる。つまり、図11のクロック同期式通信システム3において、マイコン10の代わりに、第2実施形態のマイコン60を用いても良い。その場合、マイコン60のCPU31は、何れかのスレーブ装置と通信すべき通信タイミングが到来すると、図9の通信開始時処理を実行し、その通信開始時処理のS340では、通信相手へのチップセレクト信号CSをハイからローにすれば良い。そして更に、マイコン60のCPU31は、図10のタイマ割り込み処理におけるステップのうち、S430では、通信相手に応じたクロックパルスの第1ロー時間TL1に相当する値を、タイマ閾値として閾値レジスタ68にセットし、S440では、通信相手に応じたクロックパルスの第2ロー時間TL2に相当する値を、タイマ閾値として閾値レジスタ68にセットし、S470では、通信相手に応じたクロックパルスのハイ時間THに相当する値を、タイマ閾値として閾値レジスタ68にセットすれば良い。[第4実施形態]図13に示すように、第4実施形態のクロック同期式通信システム4は、第1実施形態のクロック同期式通信システム1と比較すると、マイコン10の通信相手であるスレーブ装置がEEPROM13になっており、マイコン10は、そのEEPROM13と双方向の通信を行う。このため、マイコン10とEEPROM13との間には、既述した各信号線21,22,24に加えて、マイコン10がEEPROM13からのデータ信号を受信するためのデータ信号線23が設けられている。そして、そのデータ信号線23によって、マイコン10のデータ信号入力端子RxとEEPROM13のデータ信号出力端子Txとが接続されている。また、本実施形態のクロック同期式通信システム4では、まず、マイコン10からEEPROM13へ、データ読み出し先のアドレスを指定するリード命令が、通信データとして送信される。そして、EEPROM11は、そのリード命令によって指定されるアドレスのデータを、通信データとしてマイコン10に送信する。そして、マイコン10からEEPROM13への送信時と、EEPROM13からマイコン10への送信時との、何れの場合でも、送信側は、クロックパルスに送信エッジ本実施形態では、立ち下がりエッジが発生したタイミングで、データ信号線22又は23にデータ信号を出力する送信動作を行い、受信側は、クロックパルスに受信エッジ本実施形態では、立ち上がりエッジが発生したタイミングで、データ信号線22又は23からデータ信号を受信する受信動作を行う。次に、マイコン10が、クロックパルスのハイ時間とロー時間を、どのような時間に設定するのかについて説明する。まず、本実施形態において、マイコン10とEEPROM13の各々の出力遅れ時間、データセットアップ時間、データホールド時間は、例えば図14Aに示す値となっている。また、EEPROM13のロー認識最小値は、例えば2μsである。尚、図14において、マスタはマイコン10のことであり、スレーブはEEPROM13のことである。そして、図14及び本実施形態において、tAは、マイコン10の出力遅れ時間であり、tBは、マイコン10のデータセットアップ時間であり、tCは、マイコン10のデータホールド時間であり、taは、EEPROM13の出力遅れ時間であり、tbは、EEPROM13のデータセットアップ時間であり、tcは、EEPROM13のデータホールド時間である。そして、マイコン10からEEPROM13への送信を考えた場合、クロックパルスの第1ロー時間TL1は、前述した式a1の関係を満たす必要があり、クロックパルスのハイ時間THは、前述した式b1の関係を満たす必要がある。また逆に、EEPROM13からマイコン10への送信を考えた場合、クロックパルスの第1ロー時間TL1とハイ時間THは、下記の式a2,b2の関係を満たす必要がある。TL1≧tatB=100μs30μs=130μs...式a2TH≧tC=40μs...式b2そこで、マイコン10は、EEPROM13へデータリード命令を送信する送信期間においては、クロックパルスの第1ロー時間TL1とハイ時間THとを、式a1,b1の関係を満たす最小値に設定する。つまり、図14Bに示すように、マイコン10は、第1ロー時間TL1を200μsにし、ハイ時間THを100μsにする。更に、マイコン10は、クロックパルスの第2ロー時間TL2を、EEPROM13のロー認識最小値=2μs以上で、且つ、図14Bの第1ロー時間TL1=200μsよりも短い時間に設定する。本実施形態では、第2ロー時間TL2を、設定可能な最小値である2μsにしている。つまり、図14Cに示すように、マイコン10は、EEPROM13への送信期間において、前回と同じ値のビットを送信するときのクロックパルスのロー時間第2ロー時間TL2を、2μsにする。また、マイコン10は、EEPROM13からデータを受信する受信期間においては、クロックパルスの第1ロー時間TL1とハイ時間THとを、式a2,b2の関係を満たす最小値に設定する。つまり、図14Dに示すように、マイコン10は、第1ロー時間TL1を130μsにし、ハイ時間THを40μsにする。そして更に、マイコン10は、受信期間においては、クロックパルスのロー時間を、変更せずに第1ロー時間TL1のままにする。以上のことから、マイコン10のCPU31は、EEPROM13と通信すべき通信タイミングが到来すると、前述した図5の通信時処理を開始するが、その通信時処理では、まずS210~S230にて、ハイ時間レジスタ53に、送信時用のハイ時間=100μsを示す値100μs/Tuをセットし、第1ロー時間レジスタ51に、送信時用の第1ロー時間=200μsを示す値200μs/Tuをセットし、更に、第2ロー時間レジスタ52に、第2ロー時間=2μsを示す値2μs/Tu値をセットする。尚、Tuは、分周クロックの1周期時間である。そして、続くS240にて、送信データレジスタ54に送信データをセットすると共に、EEPROM13へのチップセレクト信号CSをローにし、次のS250にて、通信モジュール34へ動作開始指令を出力することにより、通信モジュール34にEEPROM13へのデータ送信を実施させる。そして、CPU31は、送信データレジスタ54内の送信データがEEPROM13に全て送信されると、EEPROM13からのデータを受信するための準備処理として、ハイ時間レジスタ53に、受信時用のハイ時間=40μsを示す値40μs/Tuをセットし、第1ロー時間レジスタ51に、受信時用の第1ロー時間=130μsを示す値130μs/Tuをセットする。そして更に、CPU31は、クロック制御部45が、図4のS110~S130の動作のうち、S120の動作だけを行うようにさせる。このため、EEPROM13からの受信期間において、クロックパルスのロー時間は、受信時用の第1ロー時間=130μsのままとなる。また、マイコン10の通信モジュール34は、送信データレジスタ54内の送信データを全て送信すると、動作モードが受信モードとなる。そして、通信モジュール34は、その受信モードでは、クロックパルスに受信エッジが発生する毎に、データ信号線23からデータ信号を受信する受信動作として、データ信号線23の電圧レベルを読み取ると共に、その読み取った電圧レベルに対応する1又は0のデータを所定の受信データ記憶部に格納する動作を行う。そして、CPU31は、このような通信モジュール34の受信動作によってEEPROM13からの全てのデータが受信されると、S260に進み、通信モジュール34へ動作停止指令を出力して、クロックパルス出力部44の動作を停止させると共に、EEPROM13へのチップセレクト信号CSをローからハイに戻す。これにより、EEPROM13との通信が終了する。以上のような第4実施形態によっても、マイコン10からEEPROM13へのデータ送信について、クロックパルスのロー時間を送信時用の第1ロー時間のままにする構成と比較すると、通信時間を短縮することができる。また、本第4実施形態の思想は、第2実施形態のマイコン60についても同様に適用することができる。以上、本発明の一実施形態について説明したが、本発明はこうした実施形態に何等限定されるものではなく、本発明の要旨を逸脱しない範囲において、種々なる態様で実施し得ることは勿論である。例えば、通信クロッククロックパルスのエッジのうち、立ち上がりエッジが送信エッジで、立ち下がりエッジが受信エッジであっても良い。また、通信相手のスレーブ装置は、出力ICやEEPROM以外でも良い。"