MICROCOMPUTER MN101C00 MN101C56C LSI 説明書 Pub.No.21456-010 PanaXSeriesは、松下電器産業株式会社の商標です。 その他記載された会社名及びロゴ、製品名などは該当する各社の商標または登録商標です。 本書に記載の技術情報及び半導体のご使用にあたってのお願いと注意事項 (1)本書に記載の製品及び技術で、『外国為替及び外国貿易法』に該当するものを輸出する時、 または、国外に持ち出す時は、日本政府の許可が必要です。 (2) 本書に掲載しております内容は、機能改善のため予告なく変更する場合がありますのでご 了承ください。従って、最終的な設計に際しましては、事前に最新版をお求め願い、 ご確認ください。 (3)本書に記載された内容の使用に起因する損害、または第三者の特許権その他の権利侵害に 関しては、弊社はその責任を負いません。 (4)本書の一部または全部を弊社の文書による承諾なしに、転載または複製することを堅く お断わりいたします。 (5)本書は標準的な仕様について述べています。設計、ご購入、ご使用に際しましては、 事前に最新の個別製品規格書または仕様書をお求め願い、ご確認ください。 本書はじめ弊社半導体についてのお問い合せは、巻末の営業所又は、松下電子工業(株)の 営業部門へお願いいたします。 本書の読み方 MN101C56は、様々なアプリケーションに対応するため、複数のROM/RAMバリエーションを揃えています。ま た、マスク版のほかに、ユーザの手元でプログラムの書き込みができるEPROM版も用意しています。 RAM ROM 32 K MN101C56A 1280 48 K MN101C56C 1792 48 K MN101CP56C 1792 単位:バイト ■本書の構成 本 LSI 説明書では、MN101C56 の機能について、概要、CPU基本機能、割込み機能、ポート機能、 タイマ機能、シリアル機能、 その他の周辺ハードウェア機能の順で説明します。 各章は、機能の概要、ブロック図、制御レジスタ、動作、設定例から構成されています。 本書の読み方−1 ■マニュアルとしての構成 本書は大きく分けてタイトル、要約文、本文、キー情報、注意・警告情報、参照情報から構成されています。 次に各部分のレイアウトと定義を示します。 中タイトル 小タイトル 本書の最小ブロック です。 2 -7 リセット 要約文 2 -7 -1 リセット動作 本文 そのブロックの導入 NRST 端子(P27)を"L"レベルにするとCPU 内部にリセットがかかり、レジスタが初期化されます。 部です。 ■リセット状態への移行 リセット状態への移行は、次の2つの方法があります。 (1) NRST 端子に"L"を入力します。 NRST 端子は、少なくとも高速発振(OSC)4 クロック以上の間"L"を保ってください。 NRST端子 4発振クロック (20 MHz時 200 nS) 図2-7-1 最小リセットパルス幅 (2) キー情報 本文の中でポイント となる重要な情報で す。 P2OUT レジスタのP2OUT7 フラグを"0"に設定することでP27(NRST) 端子に"L"レベルが出力され、 プログラムによるリセット状態への移行(ソフトウエア・リセット)が実現できます。 LSI内部にリセットがかかりレジスタが初期化されると、P2OUT7 フラグは"1"になりリセットが解 【 第4章 4-4-2.ポート2のレジスタ】 除されます。 参照情報 本文に関しての参照 先を示しています。 MN101C56C シリーズでは、高速発振をベースクロックとする NORMAL モードから立ち上が ります。 電源電圧低下回路をNRST 端子に接続する場合は、瞬断に対しても充分な"L"レベル時間のパ ルスを与える回路を採用してください。また発振クロックが4クロック以下の"L"レベル時間の パルスでもリセットが発生する可能性がありますので、ノイズ等に注意が必要です。 注意・警告情報 デバイスの性能を損 なう場合、破損が考 えられる場合の注意 事項です。必ずお読 みください。 リセット II - 39 本書の読み方−2 ■検索の方法 必要な情報を素早く探すために、 本書には 3 つの検索方法があります。 (1) 各所の冒頭を検索する場合は、巻頭のインデックスをご覧ください。 (2) 各タイトルを検索する場合は、巻頭の目次をご覧ください。 (3) 各ページにはその章名がページの上端に、 中タイトルがページの下端にレイアウトされています。 ページをめくりながら、記載内容の概略が把握できます。 ■関連マニュアル 当社では MN101C00シリーズに対して、本書の他に次のマニュアルを用意しています。 ・「MN101C00シリーズ LSI説明書」 <デバイスのアーキテクチャー説明> ・「MN101C00シリーズ 命令説明書」 <命令説明> ・「MN101C00シリーズ クロスアセンブラ ユーザーズマニュアル」 <アセンブラ文法、記法説明> ・「MN101C00シリーズ Cコンパイラ ユーザーズマニュアル 操作編」 <Cコンパイラのインストール、起動、オプションの説明> ・「MN101C00シリーズ Cコンパイラ ユーザーズマニュアル 言語編」 <C 言語の文法説明> ・「MN101C00シリーズ Cコンパイラ ユーザーズマニュアル ライブラリ編」 <Cコンパイラ標準ライブラリの説明> ・「MN101C00シリーズ Cソースコード・デバッガ ユーザーズマニュアル」 <Cソースコード・デバッガ使用方法説明> ・「MN101C00シリーズ PanaXシリーズ インストール・マニュアル」 <Cコンパイラ、クロスアセンブラ、Cソースコードデバッガのインストール、 インサーキット・エミュレータの立上げ> ■ご連絡先 本書の内容に関するご意見、ご質問は最寄の半導体デザインセンターへお問い合せください(巻末の営業 所所在地一覧表参照)。 本書の読み方−3 第1章 概 要 第2章 CPU基本機能 第3章 割込み機能 第4章 I/Oポート機能 第5章 プリスケーラ機能 第6章 8ビットタイマ機能 第7章 16ビットタイマ機能 タイムベース/ 第8章 8ビットフリーランタイマ機能 第9章 ウオッチドッグタイマ機能 第10章 ブザー機能 第11章 シリアルインタフェース0 第12章 シリアルインタフェース2 第13章 LCD機能 第14章 A/D変換機能 第15章 D/A変換機能 第16章 ACタイミング可変機能 第17章 付 録 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 目 次 第 1 章 概要 1-1 1-2 1-3 1-4 1-5 1-6 製品概要 ........................................................ I - 2 1-1-1 概要 ................................................... I - 2 1-1-2 特長 ................................................... I - 2 ハードウェアの機能 .............................................. I - 3 1-2-1 ハードウェアの機能 ..................................... I - 3 ブロック機能概要 ................................................ I - 9 1-3-1 ブロック図 ............................................. I - 9 端子 ........................................................... I - 10 1-4-1 端子接続図 ............................................ I - 10 1-4-2 端子機能の一覧 ........................................ I - 11 電気的特性 ..................................................... I - 16 1-5-1 絶対最大定格 .......................................... I - 16 1-5-2 動作条件 .............................................. I - 17 1-5-3 DC特性 ................................................ I - 19 1-5-4 ACZ特性 ............................................... I - 24 1-5-5 A/Dコンバータ特性 ..................................... I - 25 1-5-6 D/Aコンバータ特性 ..................................... I - 26 回路設計上の注意事項 ........................................... I - 27 1-6-1 使用に際して .......................................... I - 27 1-6-2 未使用機能の処置 ...................................... I - 28 1-6-3 電源の立ち上げ方 ...................................... I - 30 1-6-4 マイコン用電源回路について ............................ I - 31 1-6-5 発振子の使用例 ........................................ I - 32 第 2 章 CPU 基本機能 2-1 <目次 1> 概要 ........................................................... II - 2 2-1-1 ブロック構成 .......................................... II - 3 2-1-2 CPU制御レジスタ ....................................... II - 4 2-1-3 命令実行制御部の構成 .................................. II - 5 2-1-4 パイプライン処理 ...................................... II - 6 2-1-5 アドレス用レジスタ .................................... II - 6 2-1-6 演算用レジスタ ........................................ II - 7 2-1-7 プロセッサステータスワード ............................ II - 8 2-1-8 アドレッシングモード ................................. II - 10 2-2 メモリ空間 .................................................... 2-2-1 メモリモード ......................................... 2-2-2 シングルチップモード ................................. 2-2-3 メモリ拡張モード ..................................... 2-2-4 プロセッサモード ..................................... 2-2-5 特殊レジスタ ......................................... 2-3 バスインタフェース ............................................ 2-3-1 バス制御部 ........................................... 2-3-2 制御レジスタ ......................................... 2-3-3 固定ウェイトモード ................................... 2-3-4 ハンドシェークモード ................................. 2-3-5 外部メモリの接続例 ................................... 2-4 スタンバイ機能 ................................................ 2-4-1 概要 ................................................. 2-4-2 CPUモード制御レジスタ ................................ 2-4-3 SLOW-NORMAL間の移行 .................................. 2-4-4 スタンバイモードへの移行 ............................. 2-5 クロック切り換え機能 .......................................... 2-6 ROMコレクション ............................................... 2-6-1 概要 ................................................... 2-6-2 修正のシーケンス ....................................... 2-6-3 ROMコレクション制御レジスタ ............................ 2-6-4 ROMコレクション動作の設定例 ............................ 2-7 リセット ...................................................... 2-7-1 リセット動作 ........................................... 2-7-2 発振安定待ち時間 ....................................... II II II II II II II II II II II II II II II II II II II II II II II II II II - 12 12 13 14 15 16 17 17 18 20 20 22 23 23 25 26 27 29 31 31 31 33 36 39 39 41 第 3 章 割込み機能 3-1 割込み機能の概要 .............................................. III - 2 3-1-1 割込み機能一覧 ......................................... III - 2 3-1-2 割込み機能のブロック図 ................................. III - 4 3-1-3 割込み機能の動作 ....................................... III - 5 3-1-4 割込みフラグの設定 .................................... III - 14 3-2 割込み制御レジスタ ........................................... III - 15 3-2-1 割込み制御レジスタ一覧 ................................ III - 15 3-2-2 割込み制御レジスタ .................................... III - 16 3-3 外部割込み機能の概要 ......................................... III - 34 3-3-1 外部割込み機能の概要 .................................. III - 34 3-3-2 外部割込みインタフェースブロック図 .................... III - 35 <目次 2> 3-3-3 外部割込み制御レジスタ ................................ 3-3-4 指定極性エッジ割込み機能の動作と設定例 ................ 3-3-5 両エッジ割込み機能の動作と設定例 ...................... 3-3-6 キー入力割込み機能の動作と設定例 ...................... 3-3-7 ノイズフィルタ機能の動作と設定例 ...................... 3-3-8 ACゼロクロス検出機能の動作と設定例 .................... III III III III III III - 38 43 44 45 47 50 第 4 章 I/O ポート機能 4-1 I/Oポート機能の概要 ............................................ IV - 2 4-1-1 I/Oポート概要図 ......................................... IV - 2 4-1-2 I/Oポートのリセット時の状態 ............................. IV - 3 4-1-3 I/Oポート制御レジスタ一覧 ............................... IV - 4 4-2 ポート0の機能 .................................................. IV - 6 4-2-1 ポート0の説明 ........................................... IV - 6 4-2-2 ポート0のレジスタ ....................................... IV - 8 4-2-3 ポート0のブロック図 ..................................... IV - 9 4-3 ポート1の機能 ................................................. IV - 12 4-3-1 ポート1の説明 .......................................... IV - 12 4-3-2 ポート1のレジスタ ...................................... IV - 13 4-3-3 ポート1のブロック図 .................................... IV - 15 4-4 ポート2の機能 ................................................. IV - 16 4-4-1 ポート2の説明 .......................................... IV - 16 4-4-2 ポート2のレジスタ ...................................... IV - 17 4-4-3 ポート2のブロック図 .................................... IV - 18 4-5 ポート4の機能 ................................................. IV - 19 4-5-1 ポート4の説明 .......................................... IV - 19 4-5-2 ポート4のレジスタ ...................................... IV - 20 4-5-3 ポート4のブロック図 .................................... IV - 22 4-6 ポート5の機能 ................................................. IV - 24 4-6-1 ポート5の説明 .......................................... IV - 24 4-6-2 ポート5のレジスタ ...................................... IV - 25 4-6-3 ポート5のブロック図 .................................... IV - 27 4-7 ポート6の機能 ................................................. IV - 30 4-7-1 ポート6の説明 .......................................... IV - 30 4-7-2 ポート6のレジスタ ...................................... IV - 31 4-7-3 ポート6のブロック図 .................................... IV - 32 4-8 ポート7の機能 ................................................. IV - 33 4-8-1 ポート7の説明 .......................................... IV - 33 4-8-2 ポート7のレジスタ ...................................... IV - 34 4-8-3 ポート7のブロック図 .................................... IV - 36 <目次 3> 4-9 ポート8の機能 ................................................. 4-9-1 ポート8の説明 .......................................... 4-9-2 ポート8のレジスタ ...................................... 4-9-3 ポート8のブロック図 .................................... 4-10 ポート9の機能 ................................................ 4-10-1 ポート9の説明 ......................................... 4-10-2 ポート9のレジスタ ..................................... 4-10-3 ポート9のブロック図 ................................... 4-11 ポートAの機能 ................................................ 4-11-1 ポートAの説明 ......................................... 4-11-2 ポートAのレジスタ ..................................... 4-11-3 ポートAのブロック図 ................................... 4-12 ポートBの機能 ................................................ 4-12-1 ポートBの説明 ......................................... 4-12-2 ポートBのレジスタ ..................................... 4-12-3 ポートBのブロック図 ................................... 4-13 ポートCの機能 ................................................ 4-13-1 ポートCの説明 ......................................... 4-13-2 ポートCのレジスタ ..................................... 4-13-3 ポートCのブロック図 ................................... IV IV IV IV IV IV IV IV IV IV IV IV IV IV IV IV IV IV IV IV - 37 37 38 39 40 40 41 43 44 44 45 46 47 47 48 49 50 50 51 52 第 5 章 プリスケーラ機能 5-1 プリスケーラ機能概要 ............................................ V - 2 5-1-1 プリスケーラ機能一覧 ..................................... V - 3 5-1-2 プリスケーラ機能のブロック図 ............................. V - 4 5-2 プリスケーラ制御レジスタ ........................................ V - 5 5-2-1 プリスケーラ制御レジスタ一覧 ............................. V - 5 5-2-2 プリスケーラ制御レジスタ ................................. V - 6 5-3 プリスケーラ機能の動作 ......................................... V - 10 5-3-1 プリスケーラ の動作 ..................................... V - 10 第 6 章 8 ビットタイマ機能 6-1 8ビットタイマ機能の概要 ........................................ 6-1-1 8ビットタイマ機能一覧 ................................... 6-1-2 8ビットタイマブロック図 ................................. 6-2 8ビットタイマ制御レジスタ ...................................... 6-2-1 8ビットタイマ制御レジスタ一覧 ........................... 6-2-2 プログラマブルタイマレジスタ ............................ 6-2-3 タイマモードレジスタ .................................... VI VI VI VI VI VI VI - 2 2 3 6 6 7 9 <目次4> 6-3 8ビットタイマ動作 ............................................. 6-3-1 8ビットタイマの動作 .................................... 6-3-2 8ビットタイマの動作の設定例 ............................ 6-4 8ビットイベントカウント動作 ................................... 6-4-1 8ビットイベントカウントの動作 .......................... 6-4-2 8ビットイベントカウントの設定例 ........................ 6-5 8ビットタイマパルス出力動作 ................................... 6-5-1 8ビットタイマパルス出力の動作 .......................... 6-5-2 8ビットタイマパルス出力の設定例 ........................ 6-6 8ビットPWM出力動作 ............................................ 6-6-1 8ビットPWM出力の動作 ................................... 6-6-2 8ビットPWM出力の設定例 ................................. 6-7 8ビットタイマによる同期出力動作 ............................... 6-7-1 8ビットタイマによる同期出力の動作 ...................... 6-7-2 8ビットタイマによる同期出力の設定例 .................... 6-8 シリアル転送クロック出力動作 .................................. 6-8-1 シリアル転送クロックの動作 ............................. 6-8-2 シリアル転送クロックの設定例 ........................... 6-9 8ビットタイマによる簡易パルス幅測定動作 ....................... 6-9-1 8ビットタイマによる簡易パルス幅測定の動作 ............. 6-9-2 8ビットタイマによる簡易パルス幅測定の設定例 ........... 6-10 8ビットタイマカスケード接続動作 .............................. 6-10-1 8ビットタイマカスケード接続の動作 ..................... 6-10-2 カスケード接続の設定例 ................................ 6-11 リモコンキャリア出力動作 ...................................... 6-11-1 リモコンキャリア出力の動作 ............................ 6-11-2 リモコンキャリア出力の設定例 .......................... VI VI VI VI VI VI VI VI VI VI VI VI VI VI VI VI VI VI VI VI VI VI VI VI VI VI VI - 13 13 15 17 17 19 21 21 22 24 24 26 28 28 29 31 31 32 34 34 35 37 37 39 41 41 42 第 7 章 16 ビットタイマ機能 7-1 16ビットタイマ機能の概要 ...................................... VII - 2 7-1-1 16ビットタイマ機能一覧 ................................. VII - 2 7-1-2 16ビットタイマブロック図 ............................... VII - 3 7-2 16ビットタイマ制御レジスタ .................................... VII - 5 7-2-1 16ビットタイマ制御レジスタ一覧 ......................... VII - 5 7-2-2 プログラマブルタイマレジスタ ........................... VII - 6 7-2-3 タイマモードレジスタ .................................. VII - 10 7-3 16ビットタイマ動作 ........................................... VII - 14 7-3-1 16ビットタイマの動作 .................................. VII - 14 7-3-2 16ビットタイマ動作の設定例 ............................ VII - 17 <目次 5> 7-4 16ビットイベントカウント動作 ................................. 7-4-1 16ビットイベントカウントの動作. ....................... 7-4-2 16ビットイベントカウントの設定例 ...................... 7-5 16ビットタイマパルス出力動作 ................................. 7-5-1 16ビットタイマパルス出力の動作 ........................ 7-5-2 16ビットタイマパルス出力の設定例 ...................... 7-6 16ビット標準PWM出力動作 (ディーティのみ連続可変) ............. 7-6-1 16ビットPWM出力の動作 ................................. 7-6-2 16ビット標準PWM出力の設定例 ........................... 7-7 16ビット高精度PWM出力動作(周期/デューティ連続可変) ........... 7-7-1 16ビット高精度PWM出力の動作 ........................... 7-7-2 16ビット高精度PWM出力の設定例 ......................... 7-8 16ビットタイマによる同期出力動作 ............................. 7-8-1 16ビットタイマによる同期出力の動作 .................... 7-8-2 16ビットタイマによる同期出力の設定例 .................. 7-9 16ビットタイマキャプチャ動作 ................................. 7-9-1 16ビットタイマキャプチャ機能の動作 .................... 7-9-2 キャプチャ機能の設定例 ................................ VII VII VII VII VII VII VII VII VII VII VII VII VII VII VII VII VII VII - 19 19 21 23 23 25 27 27 29 31 31 33 35 35 36 38 38 41 第 8 章 タイムベース /8 ビットフリーランタイマ機能 8-1 タイムベース/8ビットフリーランタイマ機能の概要 .............. VIII - 2 8-1-1 タイムベース/8ビットフリーランタイマ機能一覧 ......... VIII - 2 8-1-2 タイムベース/8ビットフリーランタイマブロック図 ....... VIII - 3 8-2 タイムベース/8ビットフリーランタイマ制御レジスタ ............ VIII - 4 8-2-1 タイムベース/8ビットフリーランタイマ制御レジスタ一覧 . VIII - 4 8-2-2 プログラマブルタイマレジスタ .......................... VIII - 5 8-2-3 タイマモードレジスタ .................................. VIII - 6 8-3 8ビットフリーランタイマ 機能の動作 ........................... VIII - 7 8-3-1 8ビットフリーランタイマの動作 ......................... VIII - 7 8-3-2 8ビットフリーランタイマ動作の設定例 .................. VIII - 10 8-4 タイムベースタイマ機能の動作 ................................ VIII - 12 8-4-1 タイムベースタイマの動作 ............................. VIII - 12 8-4-2 タイムベースタイマ動作の設定例 ....................... VIII - 14 第 9 章 ウオッチドッグタイマ機能 9-1 ウオッチドッグタイマ機能の概要 ................................. IX - 2 9-1-1 ウオッチドッグタイマ機能ブロック図 ...................... IX - 2 <目次6> 9-2 ウオッチドッグタイマ制御レジスタ ............................... 9-3 ウオッチドッグタイマの動作 ..................................... 9-3-1 ウオッチドッグタイマ機能の動作 .......................... 9-3-2 ウオッチドッグタイマの設定例 ............................ IX IX IX IX - 3 4 4 7 X X X X X X - 2 2 3 4 4 5 第 10 章 ブザー機能 10-1 ブザー機能の概要 ............................................... 10-1-1 ブザー機能ブロック図 .................................... 10-2 ブザー機能制御レジスタ ......................................... 10-3 ブザー機能の動作 ............................................... 10-3-1 ブザー機能の動作 ........................................ 10-3-2 ブザー機能の設定例 ...................................... 第 11 章 シリアルインタフェース 0 11-1 シリアルインタフェース0機能の概要 ............................ XI - 2 11-1-1 シリアルインタフェース0機能一覧 ........................ XI - 2 11-1-2 シリアルインタフェース0ブロック図 ...................... XI - 3 11-2 シリアルインタフェース0制御レジスタ ........................... XI - 4 11-2-1 シリアルインタフェース0制御レジスタ一覧 ............... XI - 4 11-2-2 シリアルインタフェース0データバッファレジスタ ......... XI - 5 11-2-3 シリアルインタフェース0モードレジスタ .................. XI - 6 11-3 シリアルインタフェース0の動作 ................................ XI - 12 11-3-1 クロック同期式シリアルインタフェースの動作 ........... XI - 12 11-3-2 同期式シリアルインタフェースの設定例 .................. XI - 27 11-3-3 UARTシリアルインタフェースの動作 ...................... XI - 30 11-3-4 UARTシリアルインタフェースの設定例 .................... XI - 44 第 12 章 シリアルインタフェース 2 12-1 シリアルインタフェース2機能の概要 ........................... XII - 2 12-1-1 シリアルインタフェース2機能一覧 ....................... XII - 2 12-1-2 シリアルインタフェース2ブロック図 ..................... XII - 3 12-2 シリアルインタフェース2制御レジスタ .......................... XII - 4 12-2-1 シリアルインタフェース2制御レジスタ一覧 .............. XII - 4 12-2-2 シリアルインタフェース2データレジスタ ................. XII - 5 12-2-3 シリアルインタフェース2モードレジスタ ................. XII - 6 12-3 シリアルインタフェース2の動作 ................................ XII - 9 12-3-1 クロック同期式シリアルインタフェースの動作 ........... XII - 9 12-3-2 同期式シリアルインタフェースの設定例 ................. XII - 24 <目次 7> 第 13 章 LCD 機能 13-1 LCD機能概要 ................................................. XIII - 2 13-1-1 LCD機能一覧 .......................................... XIII - 2 13-1-2 スタンバイモード併用時のLCD動作 ...................... XIII - 3 13-1-3 LCD最大画素数 ........................................ XIII - 3 13-1-4 LCD駆動回路ブロック図 ................................ XIII - 4 13-2 LCD制御レジスタ ............................................. XIII - 5 13-2-1 LCD制御レジスタ一覧 .................................. XIII - 5 13-2-2 LCDモードコントロールレジスタ1(LC0MD0) .............. XIII - 6 13-2-3 LCDモードコントロールレジスタ2(LC1MD0) .............. XIII - 8 13-2-4 出力制御コントロールレジスタ1(LC0CTR0) .............. XIII - 9 13-2-5 出力制御コントロールレジスタ2(LC0CTR1) ............. XIII - 10 13-2-6 出力制御コントロールレジスタ3(LC1CTR0) ............. XIII - 11 13-2-7 セグメント出力ラッチ ................................ XIII - 12 13-3 LCD機能の動作 .............................................. XIII - 13 13-3-1 LCD機能の動作 ....................................... XIII - 13 13-3-2 LCD駆動電圧の供給 ................................... XIII - 14 13-3-3 LCD機能動作の設定例 ................................. XIII - 18 13-4 LCD機能(スタティック独立駆動の)の動作 .................... XIII - 20 13-4-1 LCD機能(スタティック独立駆動)の動作 ............... XIII - 20 13-4-2 LCD駆動電圧(内部昇圧電圧)の供給 ................... XIII - 21 13-4-3 LCD機能(スタティック独立駆動)の設定例 ............ XIII - 23 13-5 LCD表示例 .................................................. XIII - 26 第14章 A/D変換機能 14-1 A/D変換機能の概要 ............................................ XIV - 2 14-1-1 A/D変換機能の一覧 ..................................... XIV - 2 14-1-2 A/D変換のブロック図 ................................... XIV - 3 14-2 A/D変換制御レジスタ .......................................... XIV - 4 14-2-1 A/D変換制御レジスタ一覧 ............................... XIV - 4 14-2-2 A/D制御レジスタ ....................................... XIV - 5 14-2-3 A/Dバッファ ........................................... XIV - 7 14-3 A/D変換機能動作 .............................................. XIV - 8 14-3-1 A/D変換機能の設定 .................................... XIV - 10 14-3-2 A/D変換動作の設定例 .................................. XIV - 12 14-3-3 A/D変換の注意事項 .................................... XIV - 16 <目次8> 第 15 章 D/A 変換機能 15-1 D/A変換機能の概要 ............................................. 15-2 D/A変換機能動作 ............................................... 15-3 A/Dコンバータ制御レジスタ ..................................... 15-3-1 概要 ................................................... 15-3-2 D/A制御レジスタ ........................................ 15-3-3 D/A変換入力データレジスタ .............................. 15-3-4 D/A変換動作の設定例 .................................... XV XV XV XV XV XV XV - 2 3 4 4 5 6 6 XVI XVI XVI XVI XVI - 2 3 3 5 6 第 16 章 AC タイミング変換機能 16-1 ACタイミング可変機能の概要 ................................... 16-2 ACタイミング可変機能の動作 ................................... 16-2-1 ACタイミング可変機能の設定 ............................ 16-2-2 ACタイミング可変機能の動作 ............................ 16-2-3 ACタイミング可変機能の設定例 .......................... 第 17 章 付録 17-1 EPROM内蔵マイコン ............................................ XVI - 2 17-1-1 概要 .................................................. XVI - 2 17-1-2 EPROM内蔵マイコン使用上の注意 ......................... XVI - 3 17-1-3 窓付きパッケージ品(PX-AP101C56-HC)の書き込みデータ消去 .. XVI - 4 17-1-4 マスクROM版とEPROM版との差異 .......................... XVI - 5 17-1-5 EPROM内蔵マイコンへの書き込みについて ................. XVI - 6 17-1-6 ROMライター操作上の注意点 ............................. XVI - 8 17-1-7 書き込みアダプタ接続図 ................................ XVI - 9 17-2 取り扱い説明書 .............................................. XVI - 10 17-2-1 PRB-ADP-101C56C(100PIN) .............................. XVI - 10 17-2-2 PRB-EV10156 .......................................... XVI - 11 17-3 特殊レジスタ一覧表 .......................................... XVI - 12 17-4 インストラクションセット .................................... XVI - 23 17-5 インストラクションマップ .................................... XVI - 29 <目次 9> 第1章 概 要 1 第1章 概 要 1-1 製品概要 1-1 製品概要 1-1-1 概要 1-1-1 概要 MN101C00シリーズは、数種類の周辺機能を複合した、8ビットのシングルチップマイクロコンピュータ で、カメラ、VCR、MD、TV、CD、LD、プリンタ、電話機、HA機器、ページャ、エアコン、PPC、リモコ ン、ファックス、楽器の機器に使用することができます。 本LSIは、ROM 48Kバイト、RAM 1792バイトを内蔵し、周辺機器としてLCD駆動回路、7組のタイマ、2 組のシリアルインタフェース、A/Dコンバータ、およびリモコン出力などを備えており、カメラ、VCR 用選局タイマ、CDプレーヤ、MDなどのシステムコントローラ用マイコンに、最適なシステム構成となっ ています。 また、2系統の発振回路(max 20 MHz/32 kHz)を内蔵しており、システムクロックを高速/低速に切り 換えることができます。さらに、割込み要因で起動するデータ自動転送機能(ATC)により、効率のよい 割込み処理が可能となります。 マシンサイクルは、原発振fosc=8 MHz時に250 ns、原発振fosc=20 MHz時に100 nsで、パッケージは 100ピンTQFPです。 1-1-2 特長 1-1-2 特長 本LSIは,機器組み込み用マイクロコンピュータとして、柔軟かつ最適なハードウェア構成とシンプル で高効率な命令体系を持っています。特長として次の項目が挙げられます。 ●2系統の発振回路(max 20 MHz/32 kHz)を内蔵 ●実行速度100 ms(20 MHz時)の高速性 ●同期出力機能 I - 2 製品概要 第1章 概 要 1-2 ハードウェアの機能 1-2 ハードウェアの機能 1-2-1 ハードウェアの機能 1-2-1 ハードウェアの機能 ROM 容量 ROM容量 RAM 容量 RAM容量 : 32768/49152×8ビット : 1536/1792×8ビット パッケ−ジ : 100−TQFP(14 mm角) マシンサイクル : NORMALモード 0.1 µs 0.25 µs 1.0 µs SLOWモード 125 µs 発振周波数 : NORMALモード 20 MHz以下 16 MHz以下 8 MHz以下 SLOWモード 32 kHz (4.5 V∼5.5 V) (2.7 V∼5.5 V) (2.0 V∼5.5 V) (2.0 V∼5.5 V) (4.5 V∼5.5 V) (2.7 V∼5.5 V) (2.0 V∼5.5 V) (2.0 V∼5.5 V) 動作速度切り換え :原発振周波数(fosc)を2分周、8分周、32分周した速度への切り換え可能 動作モ−ド : NORMALモ−ド SLOWモード HALTモ−ド STOPモ−ド 動作周囲温度 : -40 ℃ ∼ +85 ℃ ハードウェアの機能 I - 3 第1章 概 要 A / D コンバ−タ : 10ビット×8チャンネル (サンプルホールド回路内蔵) D / A コンバータ : 8ビット×2チャンネル タイマカウンタ : 7本 全て割込み発生可能 タイマ0−8ビットタイマ 方形波出力(タイマパルス出力)、PWM出力、イベントカウント、簡易パルス幅 測定機能 クロックソ−ス: fosc、fosc/4、fosc/16、fosc/32、fosc/64、fs/2、fs/4、fx、 外部クロック タイマ1、3−8ビットタイマ 方形波出力(タイマパルス出力)、イベントカウント タイマ1はタイマ0とカスケード接続可能 クロックソ−ス: fosc、fosc/4、fosc/16、fosc/64、fosc/128、fs/2、fs/8、fx、 外部クロック タイマ7、8−16ビットタイマ 方形波出力(タイマパルス出力)、PWM出力(デューティ連続可変)、イベントカ ウント、パルス幅測定、インプットキャプチャ機能 クロックソ−ス: fosc、fs、外部クロックのいずれかを1/1、1/2、1/4、1/16に分周 タイマ6−8ビットタイマ タイムベースタイマと組合せて1分計設定可能 クロックソ−ス: fosc、fs、fx、タイムベース出力(1/212、1/213 ) タイムベースタイマ クロックソース: fosc、fx ソースクロックに対し、1/27、1/28、1/29、1/210、1/213、1/215の分周出力で割込み 可能 ウオッチドッグタイマ 暴走検出周期: fs/216、fs/218、fs/220 より選択可能(マスクオプション) 同期出力機能 タイマ1、7、の一致出力タイミングまたは外部割込みIRQ2のタイミングでPort7から ラッチデータを出力する。 I - 4 ハードウェアの機能 第1章 概 要 ブザ−出力 fosc/29,fosc/210,fosc/211,fosc/212,fosc/213,fosc/214, から出力周波数を選択可能。 fx/23,fx/24 シリアルインタフェ−ス : 2チャンネル CH0−3線同期式/UART(全二重) 転送クロック: fosc/2,fosc/4,fosc/16,fosc/32,fs/2,fs/4, タイマ3出力の1/2 UART時はタイマ3をボーレートタイマに使用 MSB/LSBファースト選択可、1∼8ビットの任意転送可 パリティチェック、付加およびオーバラン、フレーミングエラー検出 2線式シリアルとしても使用可能 CH2−3線同期式 転送クロック: fs/2、fs/4、fosc/2、fosc/4、fosc/16、 fosc/32、タイマ3出力の1/2 MSB/LSBファースト選択可、1∼8ビットの任意転送可 2線式シリアルとしても使用可能 外部割込み : 5本 エッジ選択可能(立ち上がり,立ち下がり) ×4本 ノイズフィルタ接続可能 エッジ選択可能(立ち上がり,立ち下がり,両エッジ) ×2本 エッジ選択可能(立ち上がり,立ち下がり) ×1本 あるいはPort4、Port9からのキー割込み機能 ハードウェアの機能 I - 5 第1章 概 要 割込み : 16本 <外部割込み> IRQ0−外部割込み(ノイズフィルタ接続可能) IRQ1−外部割込み(ノイズフィルタ接続可能) IRQ2−外部割込み(両エッジ選択可能) IRQ3−外部割込み(両エッジ選択可能) IRQ4−外部割込み(キー割込み可能) (全てアクティブエッジ選択可能) <タイマ割込み> タイマ0割込み(8ビットタイマ0) タイマ1割込み(8ビットタイマ1) タイマ3割込み(8ビットタイマ3) タイマ7割込み(16ビットタイマ7) タイマ8割込み(16ビットタイマ8) タイマ6割込み(8ビットタイマ6) タイムベース割込み(タイムベース) <シリアル通信割込み> シリアル0割込み(3線同期式、UART) シリアル2割込み(3線同期式) <A/D変換終了割込み> A/D変換終了 <暴走割込み> NMI −ウオッチドッグタイマのオーバフロー I - 6 ハードウェアの機能 第1章 概 要 LCD 駆動機能 1 LCD駆動機能 駆動機能1 : LCD駆動端子 セグメント出力 コモン出力端子 最大32本(SEG0∼SEG31) 4本(COM0∼COM3) 表示モード スタティック 1/2デューティ、1/2バイアス 1/3デューティ、1/3バイアス 1/4デューティ、1/3バイアス LCD駆動クロック メインクロック、サブクロックの選択可能 メインクロック(fosc)1/211 ∼ 1/218 より選択 サブクロック(fx) 1/26 ∼ 1/29 より選択 LCD電源 VLC1、VLC2、VLC3の各端子から供給 また、VLC1に加えた電圧を内蔵の抵抗で分圧して使うことも可能 通常ポートとLCDセグメント端子の切り換え ポート7とポート8は、4ビット単位で通常ポートに切り換え可能 ポート6は、2ビット単位で通常ポートに切り換え可能 ポートAは、1ビット単位で通常ポートに切り換え可能 LCD 駆動機能 2 LCD駆動機能 駆動機能2 : スタティック駆動 LCD駆動端子 セグメント出力端子 7本(SEGS0∼SEGS6) コモン出力端子 1本(COMS) LCD駆動クロック LCD駆動機能1にて選択した周波数を、1/1、1/2、1/4、1/8 分周した周波数より選択 LCD電源 内部昇圧回路の出力またはVDD電圧 昇圧回路はVLCS端子の入力基準電圧を2倍した電圧を発生 通常ポートとLCD駆動端子の切り換え セグメント端子を1ビット単位で通常ポートとして使用可能 セグメント端子の通常セグメント駆動切り換え (7本同時切り換え) セグメント端子をLCD駆動機能1と同じ機能のセグメント出力に切り換え可能 ハードウェアの機能 I - 7 第1章 概 要 ポ−ト ポ−ト: 入出力ポ−ト 73本 (内 71本兼用) スタティックLCDセグメント端子 LCDセグメント出力端子 A/D入力、LCDセグメント出力 タイマ入出力 シリアル通信端子 キー割込み入力端子 ブザー出力端子 LCD駆動電源端子(VLC2-3) 昇圧用コンデンサ接続(C1) オープンドレイン出力 I - 8 7本 24本 8本 5本 6本 12本 1本 2本 1本 5本 入力ポート 5本 (すべて兼用) 外部割込み兼用 5本 D/A出力端子 A/D、D/A基準電圧入力端子 LCDコモン出力端子(COM0-3) LCD用電源端子 (VLC1) スタティックLCDコモン端子(COMS) スタティックLCD電源供給端子(VLCS,VCH) 昇圧用コンデンサ接続(C2) リセット入力端子 拡張モード設定端子 2本 3本 4本 1本 1本 2本 1本 1本 1本 ハードウェアの機能 第1章 概 要 1-3 ブロック機能概要 1-3 ブロック機能概要 ポート2(シュミット入力) TCIO8,P15 TCIO7,P14 TCIO3,P13 TCIO1,P11 TCIO0,P10 ポート1(シュミット入出力) XI XO サブクロック発振器 割込み コントロール メインクロック発振器 CPU MN101C00 ROM 48Kバイト RAM 1.7Kバイト 8ビットタイマ0 ポートA(CMOS入力) シリアルインタフェース0 8ビットタイマ2 8ビットタイマ3 A/D シリアルインタフェース2 16ビットタイマ7 タイマベースタイマ6 D/A 2ch ウオッチドッグタイマ LCD ポート5(CMOS入出力) OSC1 OSC2 P60,SEG23 P61,SEG22 P62,SEG21 P63,SEG20 P64,SEG19 P65,SEG18 P66,SEG17 P67,SEG16 P70,SEG15 P71,SEG14 P72,SEG13 P73,SEG12 P74,SEG11 P75,SEG10 P76,SEG9 P77,SEG8 P80,SEG7 P81,SEG6 P82,SEG5 P83,SEG4 P84,SEG3 P85,SEG2 P86,SEG1 P87,SEG0 PC4,VLC2 PC5,VLC3 VLC1 VLCS VCH C2 COMS COM0 COM1 COM2 COM3 SEGS0,P50 SEGS1,P51 SEGS2,P52 SEGS3,P53 SEGS4,P54 SEGS5,P55 SEGS6,P56 ポートC (CMOS入出力) DA0 DA1 PC2 CI,PC3 ポート8(CMOS入出力) 16ビットタイマ8 ポートB(Nch オープンドレイン出力) SEG24,AN7,PA7 SEG25,AN6,PA6 SEG26,AN5,PA5 SEG27,AN4,PA4 SEG28,AN3,PA3 SEG29,AN2,PA2 SEG30,AN1,PA1 SEG31,AN0,PA0 VrefVref+ DAVDD LED0,PB0 LED1,PB1 LED2,PB2 LED3,PB3 LED4,PB4 ポート0(シュミット入出力) ポート7(CMOS入出力) IRQ4,P24 IRQ3,P23 IRQ2,P22 IRQ1,P21 IRQ0,P20 ポート9(シュミット入出力) ポート6(CMOS入出力) ポート4(シュミット入出力) VDD VSS NRST MMOD P00,SBO0,TXD P01,SBIO,RXD P02,SBT0 P03,SBO2 P04,SBI2 P05,SBT2 P06,BUZZER P07 P40,KEY0 P41,KEY1 P42,KEY2 P43,KEY3 P44,KEY4 P45,KEY5 P46,KEY6 P47,KEY7 P90,KEY8 P91,KEY9 P92,KEY10 P93,KEY11 1-3-1 ブロック図 1-3-1 ブロック図 図1-3-1 ブロック機能図 ブロック機能概要 I - 9 第1章 概 要 1-4 端子 1-4 端子 75 74 73 72 71 70 69 68 67 66 65 64 63 62 61 60 59 58 57 56 55 54 53 52 51 P76,SEG9,A14 P75,SEG10,A13 P74,SEG11,A12 P73,SEG12,A11 P72,SEG13,A10 P71,SEG14,A9 P70,SEG15,A8 P67,SEG16,A7 P66,SEG17,A6 P65,SEG18,A5 P64,SEG19,A4 P63,SEG20,A3 P62,SEG21,A2 P61,SEG22,A1 P60,SEG23,A0 Vref+ PA7,AN7,SEG24 PA6,AN6,SEG25 PA5,AN5,SEG26 PA4,AN4,SEG27 PA3,AN3,SEG28 PA2,AN2,SEG29 PA1,AN1,SEG30 PA0,AN0,SEG31 Vref- 1-4-1 端子接続図 1-4-1 端子接続図 MN101C56シリーズ ― LCD版100ピン ― 50 49 48 47 46 45 44 43 42 41 40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 VCH C2 C1,PC3 DAVDD PC2 DA1 DA0 VDD OSC2 OSC1 VSS XI XO MMOD LED0,PB0 LED1,PB1 LED2,PB2 LED3,PB3 LED4,PB4 KEY0,P40 KEY1,P41 KEY2,P42 KEY3,P43 KEY4,P44 KEY5,P45 P77,SEG8,A15 P80,SEG7,D0 P81,SEG6,D1 P82,SEG5,D2 P83,SEG4,D3 P84,SEG3,D4 P85,SEG2,D5 P86,SEG1,D6 P87,SEG0,D7 COM3 COM2 COM1 COM0 VLC3,PC5 VLC2,PC4 VLC1 SEGS6,P56 SEGS5,P55 SEGS4,P54,A17 SEGS3,P53,A16 SEGS2,P52,NCS SEGS1,P51,NRE SEGS0,P50,NWE COMS VLCS 図1-4-1 端子接続図(100TQFP:TOP VIEW) I - 10 端子 P07 BUZZER,P06 SBT2,P05 SBI2,P04 SBO2,P03 SBT0,P02 RXD,SBI0,P01 TXD,SBO0,P00 IRQ4,P24 IRQ3,P23 IRQ2,P22 IRQ1,P21 IRQ0,P20 TCIO8,P15 TCIO7,P14 TCIO3,P13 TCIO1,P11 TCIO0,RMOUT,P10 NRST,P27 KEY11,P93 KEY10,P92 KEY9,P91 KEY8,P90 KEY7,P47 KEY6,P46 第1章 概 要 1-4-2 端子機能の一覧 1-4-2 端子機能の一覧 表1-4-1 端子機能一覧 (1/5) 端子 No. 端子名 入出力 兼用端子 名称 機能 電源供給端子 VDDに2.0 V∼5.5 V、VSSに0 Vを印加します。 入力 出力 クロック入力端子 クロック出力端子 高速動作クロック用のセラミック発振子、また は水晶発振子を接続する発振端子です。クロッ クを外部から入力する場合はOSC1に入力 し、OSC2は開放にしてください。STOPモード使 用時は、外部クロックで動作させることはでき ません。 入力 出力 クロック入力端子 クロック出力端子 低速動作クロック用のセラミック発振子、また は水晶発振子を接続する発振端子です。クロッ クを外部から入力する場合はXIに入力し、XOは 開放にしてください。STOPモード使用時は、外 部クロックで動作させることはできません。端 子未使用時はXIをVSSに接続し、XOは開放にして ください。 入出力 P27 リセット端子 電源投入時のリセットを行うための端子でP27 に割り付けられており、プルアップ抵抗 (TYP.50 kΩ)を内蔵しています。本端子を"L" レベルにするとLSIの内部状態が初期化されま す。この後、入力を"H"レベルにするとリセッ トは解除され、ハードウェアによるシステムク ロックの発振安定時間を経て、リセット割込み 処理が実行されます。また、P27に"0"を書き込 み、ソフトウェアでリセットした場合、"L"レ ベルが出力されます。出力形式はNチャンネル オープンドレインで、NRSTとVDDとの間にコンデ ンサを挿入する場合には、放電用ダイオード をNRSTとVDDの間に入れることを推奨します。 P00∼P07 入出力 SBO0, SBI0, SBT0, SBO1 SBI1, SBT1 BUZZER 入出力ポート0 8ビットのCMOS3ステート入出力ポートで す。P0DIRレジスタにより、1ビット単位で入 力/出力の設定が可能です。P0PLUレジスタに て1ビット単位でプルアップ抵抗の有無が選択 できます。リセット時は入力モードプルアップ 抵抗なし(出力ハイインピーダンス)となりま す。 33∼37 P10,P11 P13∼P15 入出力 TCIO0 TCIO1 TCIO3 TCIO7 TCIO8 入出力ポート1 7ビットのCMOS3ステート入出力ポートで す。P1DIRレジスタにより、1ビット単位で入 力/出力の設定が可能です。P1PLUレジスタに て1ビット単位でプルアップ抵抗の有無が選択 できます。リセット時は入力モードプルアップ 抵抗なし(出力ハイインピーダンス)となりま す。 38∼42 P20∼P24 入出力 IRQ0∼4 入力ポート2 5ビットの入力ポートです。P2PLUレジスタによ り、1ビット単位で入力/出力の設定が可能で す。P1PLUレジスタにて1ビット単位でプルアッ プ抵抗の有無が選択できます。リセット時はプ ルアップ抵抗なしとなります。 8 11 VDD VDD 10 9 OSC1 OSC2 12 13 XI XO 32 NRST 43∼50 - 端子 I - 11 第1章 概 要 表1-4-1 端子機能一覧 (2/5) 端子 No. 端子名 入出力 兼用端子 名称 機能 32 P27 入力 NRST 入力ポート2 P27はNチャンネルオープンドレインポートで す。"0"を書き込み、プログラムによりリセッ トした場合、"L"レベルが出力されます。 15∼19 PB0∼PB4 入出力 LED0∼LED4 入出力ポートB 5ビットのNチャンネルオープンドレインポート です。PBDIRレジスタにより、1ビット単位で入 力/出力の設定が可能です。リセット時は入力 モードとなります。マスクオプションにより1 ビット毎にプルアップ抵抗の接続が可能です。 出力時LED直轄駆動可能です。 52∼59 PA0∼PA7 入力 AN0∼AN7 SEG24∼SEG31 入力ポートA 8ビットの入力ポートです。PAPLUDレジスタに て、1ビット単位でプルアップ抵抗の選択がで きます。リセット時は、入力モードプルアップ 抵抗なしとなります。 PAIMDレジスタの設定によりA/D入力ポートとし て使用可能です。 出力時セグメント駆動可能です。 61∼68 P60∼P67 入出力 SEG16∼SEG23 A0∼A7 入出力ポート6 8ビットのCMOS3ステート入出力ポートで す。P6DIRレジスタにより、1ビット単位で入 力/出力の設定が可能です。P6PLUレジスタに て1ビット単位でプルアップ抵抗の有無が選択 できます。リセット時はシングルチップモー ド、入力モードプルアップ抵抗なし(出力ハイ インピーダンス)となります。プロセッサモー ド時は、A0∼A7出力モードが選択されます。ま た、出力時セグメント駆動可能です。 69∼76 P70∼P77 入出力 SEG8∼SEG15 A8∼A15 入出力ポート7 8ビットのCMOS3ステート入出力ポートで す。P7DIRレジスタにより、1ビット単位で入 力/出力の設定が可能です。P7PLUレジスタに て1ビット単位でプルアップ抵抗の有無が選択 できます。リセット時はシングルチップモー ド、入力モードプルアップ抵抗なし(出力ハイ インピーダンス)となります。プロセッサモー ド時は、A8∼A15出力モードが選択されます。 また、出力時セグメント駆動可能です。 77∼84 P80∼P87 入出力 SEG0∼SEG7 D0∼D7 入出力ポート8 8ビットのCMOS3ステート入出力ポートで す。P8DIRレジスタにより、1ビット単位で入 力/出力の設定が可能です。P8PLUレジスタに て1ビット単位でプルアップ抵抗の有無が選択 ができます。リセット時はシングルチップモー ド、入力モードプルアップ抵抗なし(出力ハイ インピーダンス)となります。プロセッサモー ド時は、D0∼D7(データ信号)で入力モード(出 力ハイインピーダンス)となります。また、出 力時セグメント駆動可能です。 I - 12 端子 第1章 概 要 表1-4-1 端子機能一覧 (3/5) 端子 No. 端子名 入出力 20∼27 P40∼P47 入出力 KEY0∼KEY7 入出力ポート4 8ビットのCMOS3ステート入出力ポートで す。P4DIRレジスタにより、1ビット単位で入 力/出力の設定が可能です。P4PLUレジスタに て1ビット単位でプルアップ抵抗の有無が選択 できます。リセット時は入力モードプルアップ 抵抗なし(出力ハイインピーダンス)となりま す。P4IMDレジスタの設定により、KEY入力割込 み端子として使用可能です。 92∼98 P50∼P56 入出力 SEGS0∼SEGS6 入出力ポート5 7ビットのCMOS3ステート入出力端子で す。LC1CTR0レジスタの設定により、1ビット毎 にセグメント出力との切り換えが可能です。リ セット時は、出力ハイインピーダンスとなりま す。 28∼31 P90∼P93 入出力 KEY8∼KEY11 入出力ポート9 4ビットのCMOS3ステート入出力ポートで す。P9DIRレジスタにより、1ビット単位で入 力/出力の設定が可能です。P9PLUレジスタに て1ビット単位でプルアップ抵抗の有無が選択 できます。リセット時は入力モードプルアップ 抵抗なし(出力ハイインピーダンス)となりま す。P9IMDレジスタの設定により、KEY入力割込 み端子として使用可能です。 5 3 90, 89 PC2 PC3 PC4, PC5 入出力 入出力ポートC 7ビットのCMOS3ステート入出力端子です。PC3 は、LC1MD0レジスタの設定により内蔵昇圧回路 を動作させる場合、コンデンサを接続してくだ さい。PC4, PC5はLC1MD1レジスタの設定によ り、LCD電源端子VLC2, VLC3との切り換えが可能で す。PCPLUレジスタの設定により1ビット単位で プルアップ抵抗の有無の選択ができます。リセ ット時は、入力端子となります。 1 VCH 昇圧電圧出力端子 LCD用内部昇圧回路の2倍昇圧電圧出力端子で す。 91 VLC1 LCD用電源入力端子 LCD電源を供給します。 VDD≧VLC1≧VLC2≧VLC3≧0 Vの電圧を印加します。 (このときV C H =V D D の電圧を外部印加して下さ い)。 100 VLCS 昇圧回路用基準 電圧入力端子 昇圧回路用基準電圧入力端子です。内蔵昇圧回 路で基準電圧を2倍昇圧し、V CH 端子へ出力しま す。 85∼88 COM0∼COM3 出力 LCDコモン出力 端子 LCD表示に必要なタイミングのコモン信号を出 力します。LCDパネルのコモン端子へ接続して ください。リセット時、LCD動作STOP時は、V SS レベルが出力されます。 99 COMS LCDスタティックコ LCDスタティックモード専用のコモン端子で モン出力端子 す。リセット時、LCD動作STOP時は、V SS レベル が出力されます。 兼用端子 名称 C1 VCL2, VLC3 出力 機能 端子 I - 13 第1章 概 要 表1-4-1 端子機能一覧 (4/5) 端子 No. 端子名 入出力 兼用端子 名称 機能 43 TXD 出力 SB0(P00) UART送信データ出 力端子 44 RXD 入力 SBI0(P01) UART受信データ入 力端子 43 46 SBO0 SBO2 出力 TXD(P01) P04 シリアルインタフ ェース送信データ 出力端子 シリアルインタフェース0, 2の送信データ出力 端子です。出力形式はCMOSプッシュプルまた はNチャンネルオープンドレイン形式を、また プルアップ抵抗の有無をプログラムにより選択 できます。P0DIRレジスタにて出力を選択して 使用してください。SBO0, 2はP00, P03に割り付 けられており、シリアルを使用しないときは通 常の入出力端子として使用できます。 44 47 SBI0 SBI2 入力 RXD(P01) P04 シリアルインタフ ェース受信データ 入力端子 シリアルインタフェース0, 2の受信データ入力 端子です。P0PLUレジスタにてプルアップ抵抗 の有無が選択できます。またP0DIRレジスタに て入力モードを選択してください。SBI0, 2 はP01, P04に割り付けられており、シリアルを 使用しないときは通常の入出力端子として使用 できます。 45 48 SBT0 SBT2 入出力 P02 P05 シリアルインタフ ェースクロック入 出力端子 シリアルインタフェース0, 2のクロック入出力 端子です。出力形式はCMOSプッシュプルまた はNチャンネルオープンドレイン形式を、また プルアップ抵抗の有無をプログラムにより選択 できます。SBT0, 2は通信モードに合わせ てP1DIRレジスタにて入力、出力を選択してく ださい。SBT0, 2はP02, P05に割り付けられてお り、シリアルを使用しないときは通常の入出力 端子として使用できます。 33 34 35 36 37 TCIO0 TCIO1 TCIO3 TCIO7 TCIO8 入出力 P10 P11 P13 P14 P15 タイマ用入出力端 子 タイマ0, 1, 3, 7, 8のイベントカウントクロック 入力およびオーバフローパルス、PWM信号出力 端子です。イベントクロック入力時P1DIRレジ スタにより入力を選択します。オーバフローパ ルスおよびPWM信号出力時はP1DIRレジスタによ り出力を選択します。入力時はP1PLUレジスタ にてプルアップ抵抗の有無を指定できます。タ イマ入出力端子として使用しないときは、通常 の入出力端子として使用できます。 49 BUZZER 出力 P06 ブザー出力 電圧ブザー駆動端子です。駆動周波数はfosc/29 ∼fosc/214, fx/23, fx/24をDLYCTRレジスタにて 選択できます。P0DIRレジスタにて出力モード を選択し、DLYCTRレジスタによりブザー出力を 選択してください。ブザー出力端子として使用 しないときは通常入出力端子として使用できま す。 I - 14 端子 シリアルインタフェースをUARTモードで使用す る場合の受信データ入力、送信データ出力端子 です。TXDはSC0ODCレジスタによりプッシュプ ルまたは、Nチャンネルオープンドレイン形式 の選択ができます。RXD, TXDはP0PLUレジスタに よりプルアップ抵抗の有無が選択できま す。TXDはP00、RXDはP01に割り付けられてお り、シリアル/UART端子として使用しないとき は通常の入出力端子として使用できます。 第1章 概 要 表1-4-1 端子機能一覧 (5/5) 端子 No. 端子名 入出力 92∼98 SEGS0 ∼SEGS6 出力 2, 3 C1 C2 6, 7 DA0, DA1 出力 52∼59 61∼84 SEG0 ∼SEG23 出力 52∼59 AN0∼AN7 入力 60 51 Vref Vref 14 MMOD 38∼42 IRQ0∼IRQ4 入力 5 DAVDD 15∼19 LED0∼LED4 出力 20∼31 KEY0 ∼KEY11 兼用端子 機能 P50∼P56 LCD セグメント 出力端子 LCD用スタティック専用セグメント端子で す。LC1CTR0レジスタの設定により、1ビット毎 に通常ポートとして使用できます。スタティッ クモード未使用時は、通常セグメント出力端子 としても使用可能です。 PC3 昇圧用コンデンサ 接続端子 内蔵昇圧回路用の外付け端子です。C1はLC1MD0 レジスタの設定により、昇圧回路STOP時に通常 ポートとして使用可能です。 アナログ出力端子 内蔵8ビットD/Aコンバータのアナログ出力端子 です。 P60∼P67 P70∼P77 P80∼P87 PA0∼PA7 LCDセグメント 出力端子 LCD用セグメント出力端子です。レジス タLC0CTR0, 1の設定により通常ポートとして使 用可能です。SEG0∼15は4ビット毎、SEG16∼23 は2ビット毎、SEG24∼31は1ビット毎にセグメ ント端子と通常ポートの切り換えが可能です。 PA0∼PA7 アナログ入力端子 8chの10ビットA/Dコンバータのアナログ入力端 子です。アナログ入力端子として使用しない場 合は通常の入力端子として使用可能です。 ADコンバータ用+ 電源 ADコンバータ用− 電源 ADコンバータ用基準電源端子です。 通常VDD=Vref , VSS=Vref で使用します。 メモリモード切り 換え入力端子 メモリ拡張のモードを設定する端子です。プロ セッサモードで使用する場合は、"H"を入力 し、それ以外の場合は"L"を入力してくださ い。 外部割込み入力 端子 有効エッジの選択が可能な外部割込み入力端子 です(IRQ2, 3は両エッジ選択可能) IRQ0∼4は、割込みとして使用しないときは通 常の入力端子として使用できます。 D/Aコンバータ用 基準+電源端子 内蔵D/Aコンバータの基準電圧ハイレベル入力 端子です。 *基準電圧ローレベルは、VSSと共通です。 PB0∼PB4 LED駆動端子 LED用の大電流Nチャンネルオープンドレイン出 力端子です。 P40∼P47 P90∼P93 キー割込み入力 端子 KEY0∼11端子入力によるOR条件での割込み入力 端子です。P4IMD, P9IMDレジスタにより、2ビッ ト単位でキー入力端子を選択できます。KEY入 力として使用しない場合は、通常入出力端子と して使用できます。 + - 入力 入力 名称 P20∼P24 + - 端子 I - 15 第1章 概 要 1-5 電気的特性 1-5 電気的特性 型名 MN101C56C 種別 CMOS集積回路 用途 汎用 機能 CMOS 8ビット 1チップ マイクロコンピュータ 1-5-1 絶対最大定格 1-5-1 絶対最大定格 項 目 略 号 定 格 1 電源電圧 VDD -0.3∼+7.0 2 プログラム電圧 VPP -0.3∼12.8 3 入力端子電圧1 VI1 -0.3∼VDD+0.3 4 入力端子電圧2 VI2 -0.3∼VSS+7.0 5 入力端子電圧3(VLCS) VI3 -0.3∼3.65 6 出力端子電圧 VO -0.3∼VDD+0.3 7 入出力端子電圧 VIO1 -0.3∼VDD+0.3 *1 8 IOL1 (peak) 30 IOH1 (peak) -10 IOL2 (peak) 20 IOH2 (peak) -10 IOL3 (avg) 20 単位 V PB 9 尖頭出力電流 10 PB 以外 11 mA 12 平均出力電流 PB 13 IOH3 (avg) -5 (いかなる100 msの 期間に対しても適用 PB されます。) 以外 IOL4 (avg) 15 IOH4 (avg) -5 16 許容損失 PD 400 17 動作周囲温度 Topr -40∼+85 18 保存温度 Tstg -55∼+125 19 EPROM書き込み時の 周囲温度 Twe +20∼+30 14 15 mW ℃ <<注>>ラッチアップ防止のため電源端子間(VDD-VSS)には、0.1 µF以上のバイパスコンデンサを LSIの近傍で少なくとも1個以上挿入してください。 *1 PB0∼PB4のみに適用 I - 16 電気的特性 第1章 概 要 1-5-2 動作条件 1-5-2 動作条件 Ta=-40 ℃∼+85 ℃ VDD=2.0 V∼5.5 V VSS=0 V 定 格 項 目 略 号 条 件 単位 MIN TYP MAX 電源電圧 1 VDD1 fosc≦20.0 MHz 4.5 − 5.5 VDD2 fosc≦8.00 MHz 2.7 − 5.5 3 VDD3 fosc≦2.00 MHz 2.0 − 5.5 4 VDD4 fx=32.768 kHz 2.0 − 5.5 VDD5 ストップモード時 1.8 − 5.5 tc1 VDD=4.5 V∼5.5 V 0.10 − − tc2 VDD=2.7 V∼5.5 V 0.25 − − 8 tc3 VDD=2.0 V∼5.5 V 1.00 − − 9 tc4 VDD=2.0 V∼5.5 V − 125 − fxtal1 VDD=4.5 V∼5.5 V 2.0 − 20.0 C11 − 20 − C12 − 20 − Rf10 − 400 − kΩ − 32.768 − MHz C21 − 20 − C22 − 20 − Rf20 − 3.5 − 2 5 動作電源電圧 RAM保持電源電圧 V 動作速度 *1 6 7 命令実行時間 µs 水晶発振1 図1-5-1 10 11 水晶周波数 外部容量 12 13 内蔵フィードバック抵抗 MHz pF 水晶発振2 図1-5-2 14 15 水晶周波数 fxtal2 外部容量 16 17 内蔵フィードバック抵抗 《注》*1 VDD=2.0 V∼5.5 V pF MΩ tc1、tc2、tc3 :OSC1をCPUクロックとした場合 tc4 :XIをCPUクロックとした場合 OSC1 400 kΩ Typ MN101C XI 3.5 MΩ Typ fxtal1 MN101C OSC2 C12 C11 命令サイクルは、クロック周波数の1/2分周 されます。フィードバック抵抗内蔵 図1-5-1 水晶発振1 fxtal2 XO C22 C21 命令サイクルは、クロック周波数の1/4分周 されます。フィードバック抵抗内蔵 図1-5-2 水晶発振2 電気的特性 I - 17 第1章 概 要 Ta=-40 ℃∼+85 ℃ VDD=2.0 V∼5.5 V VSS=0 V 定 格 項 目 略 号 条 件 単位 MIN TYP MAX 1.0 − 20.0 20.0 − 30.0 20.0 − 30.0 外部クロック入力1 OSC1(OSC2は開放) 図1-5-3 18 クロック周波数 fosc1 19 ハイレベルパルス幅 twh1 20 ローレベルパルス幅 twl1 クロックデューティ比 は45 %∼55 %として ください。 MHz ns 21 立ち上がり時間 tr1 − − 5.0 22 tf1 − − 5.0 32.768 − − 3.5 − − 3.5 − − 立ち下がり時間 外部クロック入力2 XI(XOは開放) 図1-5-4 23 クロック周蓮 fosc2 24 ハイレベルパルス幅 twh2 25 ローレベルパルス幅 twl2 26 立ち上がり時間 tr2 − − 20 27 立ち下がり時間 tf2 − − 20 クロックデューティ比 は45 %∼55 %として ください。 ns VIH1 VIL1 twh1 twl1 tr1 tf1 twc1 図1-5-3 OSC1 タイミングチャート VIH2 VIL2 twh2 twl2 tr2 tf2 twc2 図1-5-4 XI タイミングチャート I - 18 電気的特性 kHz 第1章 概 要 1-5-3 DC 特性 1-5-3 DC特性 1Ta=-40 ℃∼+85 ℃ VDD=2.0 V∼5.5 V VSS=0 V 項 目 略 号 定 格 条 件 単位 MIN TYP MAX 25 60 電源電流(出力無負荷)*1 IDD1 fosc=20.0 MHz VDD=5 V Ta=-40 ℃∼+70 ℃ (fs=fosc/2) − IDD2 fosc=8.00 MHz VDD=5 V (fs=fosc/2) − 10 25 IDD3 fx=32.768 kHz VDD=3 V (fs=fx/4) − 30 100 µA IDD4 fosc=8.00 MHz VDD=5 V (fs=fosc/2) − 1.5 3.0 mA IDD5 fx=32.768 kHz VDD=3 V Ta=25 ℃ − 4 8 6 IDD6 fx=32.768 kHz VDD=3 V Ta=-40 ℃∼+85 ℃ − − 20 7 IDD7 VDD=5 V Ta=25 ℃ − 0 2 IDD8 VDD=5 V Ta=-40 ℃∼+85 ℃ − − 50 1 2 動作時電源電流 3 4 HALT0時電源電流 5 HALT1時電源電流 ストップ時電源電流 8 mA µA 《注》 *1 Ta=25 ℃、無負荷状態で測定します。 動作時電源電流I DD1 (I DD2 )は、全入出力端子を入力モードにし、発振モード を<NORMALモード>に設定後、MMOD端子をV SS レベル、入力端子をV DD レベ ルに固定し、OSC1端子よりV DD 、V SS 電位を振幅とする20 MHz(8.39 MHz)の 矩形波を入力し測定します。 動作時電源電流I DD3 は、全入出力端子を入力モードにし、発振モードを <SLOWモード>に設定後MMOD端子をV SS レベル、入力端子をV DD レベルに固 定し、XI端子よりV DD 、V SS 電位を振幅とする32.768 kHzの矩形波を入力し 測定します。 HALT時電源電流I DD4 は、全入出力端子を入力モードにし、発振モードを <HALTモード>に設定後MMOD端子をV SS レベル、入力端子をV DD レベルに固 定し、XI端子よりV DD 、V SS 電位を振幅とする32.768 kHzの矩形波を入力し 測定します。 ストップ時電源電流I DD6 は、発振モードを<STOPモード>に設定後、MMOD 端子をV SS レベル、入力端子をV DD レベルに固定し、OSC1、XI 端子を開放に して測定します。 電気的特性 I - 19 第1章 概 要 Ta=-40 ℃∼+85 ℃ VDD=2.0 V∼5.5 V VSS=0 V 項 目 略 号 定 格 条 件 単位 MIN TYP MAX 入力端子1 MMOD 9 入力電圧ハイレベル1 VIH11 VDD=2.0 V∼5.5 V 0.8VDD − VDD 10 入力電圧ハイレベル2 VIH12 VDD=4.5 V∼5.5 V 0.7VDD − VDD 11 入力電圧ローレベル1 VIL11 VDD=2.0 V∼5.5 V − − 0.2VDD 12 入力電圧ローレベル2 VIL12 VDD=4.5 V∼5.5 V − − 0.3VDD 13 入力リーク電流 ILK1 VIN=0 V∼VDD − − ±10 V µA 入力端子2 P20、P22∼P24(シュミット入力) 14 入力電圧ハイレベル VIH2 VDD=2.0 V∼5.5 V 0.8VDD − VDD 15 入力電圧ローレベル VIL2 VDD=2.0 V∼5.5 V 0 − 0.2VDD 16 入力リーク電流 ILK2 VIN=0 V∼VDD − − ±10 17 入力電流ハイレベル IIH2 VDD=5.0 V VIN=1.5 V プルアップ抵抗ON -30 -100 -300 V µA 入力端子3-1 P21(シュミット入力) 18 入力電圧ハイレベル VIH3 0.8VD − VDD 19 入力電圧ローレベル VIL3 0 − 0.2VDD 20 入力リーク電流 ILK3 VIN=0 V∼VDD − − ±10 21 入力電流ハイレベル IIH3 VDD=5.0 V VIN=1.5 V プルアップ抵抗ON -30 -100 -300 4.5 − VDD VSS − 3.5 V 入力端子3-2 P21(ACZ) VDD = 5.0 V µA (ACZとして使用時) 22 入力電圧ハイレベル1 VDHH 23 入力電圧ローレベル1 VDLH 図1-5-5 V 24 入力電圧ハイレベル2 VDHL 1.5 − VDD 25 入力電圧ローレベル2 VDLL VSS − 0.5 26 入力リーク電流 ILK10 VIN=0 V∼VDD − − ±10 27 入力クランプ電流 IC10 VIN>VDD VIN<0 V − − ±400 µA 入力端子4 PA0∼PA7 28 入力電圧ハイレベル1 VIH41 VDD=2.0 V∼5.5 V 0.8VDD − VDD 29 入力電圧ハイレベル2 VIH42 VDD=4.5 V∼5.5 V 0.7VDD − VDD 30 入力電圧ローレベル1 VIL41 VDD=2.0 V∼5.5 V 0 − 0.2VDD 31 入力電圧ローレベル2 VIL42 VDD=4.5 V∼5.5 V 0 − 0.3VDD 32 入力リーク電流 ILK4 VIN=0 V∼VDD − − ±2 33 入力電流ハイレベル IIH4 VDD=5.0 V VIN=1.5 V プルアップ抵抗ON -30 -100 -300 V I - 20 電気的特性 µA 第1章 概 要 Ta=-40 ℃∼+85 ℃ VDD=2.0 V∼5.5 V VSS=0 V 項 目 略 号 定 格 条 件 単位 MIN TYP MAX 入出力端子5 P27(/RST)(シュミット入力) 34 入力電圧ハイレベル VIH5 VDD=2.0 V∼5.5 V 0.8VDD − VDD 35 入力電圧ローレベル VIL5 VDD=2.0 V∼5.5 V 0 − 0.15VDD 36 入力リーク電流 ILK5 VIN=0 V∼VDD − − ±10 37 入力電流ハイレベル IIH5 VDD=5.0 V VIN=1.5 V プルアップ抵抗内蔵 -30 -100 -300 V µA 入出力端子6 P00∼P07、P40∼P47、P90∼P93(シュミット入力) 38 入力電圧ハイレベル VIH6 VDD=2.0 V∼5.5 V 0.8VDD − VDD 39 入力電圧ローレベル VIL6 VDD=2.0 V∼5.5 V 0 − 0.2VDD 40 入力リーク電流 ILK6 VIN=0 V∼VDD − − ±10 41 入力電流ハイレベル IIH6 VDD=5.0 V VIN=1.5 V プルアップ抵抗ON -30 -100 -300 42 出力電圧ハイレベル VOH6 VDD=5.0 V IOH=-0.5 mA 4.5 − − 43 出力電圧ローレベル VOL6 VDD=5.0 V IOL=1.0 mA − − 0.5 V µA V 入出力端子7 P10, P11, P13∼P15(シュミット入力) 44 入力電圧ハイレベル VIH7 VDD=2.0 V∼5.5 V 0.8VDD − VDD 45 入力電圧ローレベル VIL7 VDD=2.0 V∼5.5 V 0 − 0.2VDD 46 入力リーク電流 ILK7 VIN=0 V∼VDD − − ±10 -30 -100 -300 V 47 入力電流ハイレベル IIH7 VDD=5.0 V VIN=1.5 V プルアップ抵抗ON 48 出力電圧ハイレベル VOH7 VDD=5.0 V IOH=-1.0 mA 4.5 − − 49 出力電圧ローレベル VOL7 VDD=5.0 V IOL=1.0 mA − − 0.5 µA V 電気的特性 I - 21 第1章 概 要 Ta=-40 ℃∼+85 ℃ VDD=2.0 V∼5.5 V VSS=0 V 項 目 略 号 定 格 条 件 単位 MIN TYP MAX 入出力端子8 P50∼P56 50 入力電圧ハイレベル1 VIH81 VDD=2.0 V∼5.5 V 0.8VDD − VDD 51 入力電圧ハイレベル2 VIH82 VDD=4.5 V∼5.5 V 0.7VDD − VDD 52 入力電圧ローレベル1 VIL81 VDD=2.0 V∼5.5 V 0 − 0.2VDD 53 入力電圧ローレベル2 VIL82 VDD=4.5 V∼5.5 V 0 − 0.3VDD 54 入力リーク電流 ILK8 VIN=0 V∼VDD − − ±10 55 入力電流ハイレベル IIH8 VDD=5.0 V VIN=1.5 V プルアップ抵抗ON -30 -100 -300 56 出力電圧ハイレベル VOH8 VDD=5.0 V IOH=-1.0 mA 4.5 − − 57 出力電圧ローレベル VOL8 VDD=5.0 V IOL=1.0 mA − − 0.5 V µA V 入出力端子9 P60∼P67, P70∼P77, P80∼P87, PC2∼PC5 58 入力電圧ハイレベル1 VIH91 VDD=2.0 V∼5.5 V 0.8VDD − VDD 59 入力電圧ハイレベル2 VIH92 VDD=4.5 V∼5.5 V 0.7VDD − VDD 60 入力電圧ローレベル1 VIL91 VDD=2.0 V∼5.5 V 0 − 0.2VDD 61 入力電圧ローレベル2 VIL92 VDD=4.5 V∼5.5 V 0 − 0.3VDD 62 入力リーク電流 ILK9 VIN=0 V∼VDD − − ±10 63 入力電流ハイレベル IIH9 VDD=5.0 V VIN=1.5 V プルアップ抵抗ON -30 -100 -300 64 出力電圧ハイレベル VOH9 VDD=5.0 V IOH=-0.5 mA 4.5 − − 65 出力電圧ローレベル VOL9 VDD=5.0 V IOL=1.0 mA − − 0.5 V µA V I - 22 電気的特性 第1章 概 要 Ta=-40 ℃∼+85 ℃ VDD=2.0 V∼5.5 V VSS=0 V 項 目 略 号 定 格 条 件 単位 MIN TYP MAX 入出力端子10 PB0∼PB4 (Nchオープンドレイン出力) 66 入力電圧ハイレベル1 VIH101 VDD=2.0 V∼5.5 V 0.8VDD − VDD 67 入力電圧ハイレベル2 VIH102 VDD=4.5 V∼5.5 V 0.7VDD − VDD 68 入力電圧ローレベル1 VIL101 VDD=2.0 V∼5.5 V 0 − 0.2VDD 69 入力電圧ローレベル2 VIL102 VDD=4.5 V∼5.5 V 0 − 0.3VDD 70 入力リーク電流 ILK10 VIN=0 V∼VDD − − ±10 71 出力電圧ローレベル VOL10 VDD=5.0 V IOL=15 mA − − 1.0 72 入出力耐圧 VD10 プルアップ抵抗未接続時 − − 6.0 4.9 5.0 5.1 − 3 6 − 8 15 − 15 30 − 30 60 90 180 360 kΩ − 2.5 2.75 V V µA V 昇圧出力端子1 VCH (昇圧出力) 73 出力電圧 VCH VLCS=2.5 V 無負荷時 VCH-VSS間:容量(0.1 µF接続) V 表示出力端子1 COM0∼COM3、COMS 74 RICOM1 VDD=4.5 V∼5.5 V RICOM2 VDD=2.0 V∼5.5 V 出力インピーダンス 75 (VLC1,VSSレベル出力時) (VLC1,VSSレベル出力時) kΩ 表示出力端子2 SEG0∼SEG31、SEGS0∼SEGS6 76 RISEG1 VDD=4.5 V∼5.5 V RISEG2 VDD=2.0 V∼5.5 V 出力インピーダンス 77 (VLC1,VSSレベル出力時) (VLC1,VSSレベル出力時) kΩ 表示電源端子1 VLC1、VLC2、VLC3 78 内蔵分割抵抗 RVL1 Ta=+25 ℃ (VLC3-VSS間インピーダンス) 表示電源端子2 VLCS *1 79 *1 入力電圧 VLCS VDD /2 ≦ V LCS ≦ 2.75 Vの範囲内に設定して下さい。 電気的特性 I - 23 第1章 概 要 1-5-4 ACZ 特性 1-5-4 ACZ特性 Ta=-40 ℃∼+85 ℃ VDD=5.0 V VSS=0 V 項 目 略 号 定 格 条 件 MIN TYP 単位 MAX ACZ端子 1 立ち上がり時間 trs 30 µs 図1-5-5 2 立ち下がり時間 30 tfs ← trs → ← tfs → 入力電圧レベル1 VDD VDHH VDLH (入力) VDHL VDLL VSS 入力電圧レベル2 (出力) 図1-5-5 ACゼロボルト検出回路動作 I - 24 電気的特性 第1章 概 要 1-5-5 A/D コンバータ特性 1-5-5 A/Dコンバータ特性 Ta=25 ℃ VDD=2.0 V∼5.5 V VSS=0 V 定 格 項 目 略 号 条 件 単位 MIN 1 分解能 2 非直線性誤差1 3 微分直線性誤差1 4 非直線性誤差2 5 微分直線性誤差2 6 ゼロトランジション電圧 7 フルスケール トランジション電圧 TYP MAX 10 VDD =5.0 V VSS=0 V Vref+=5.0 V Vref-=0 V TAD=1.0 µs ±3 VDD =5.0 V VSS=0 V Vref+=5.0 V Vref-=0 V fx=32.768 kHz ±5 Bits ±3 LSB 8 A/D変換時間 4900 fOSC=8 MHz TAD=1.0 µs 9.6 fx=32.768 kHz TAD=15.2 µs 10 fOSC=8 MHz TAD=1.0 µs サンプリング時間 12 30 VDD =5.0 V VSS=0 V Vref+=5.0 V Vref-=0 V TAD=1.0 µs 9 fx=32.768 kHz TAD=15.2 µs 11 ±5 100 mV 4970 183.12 427.28 2.0 18.0 30.52 274.68 Vref+ 注) 2.0 VDD Vref- 注) Vss 3.0 Vref- Vref+ µs 基準電圧 13 14 アナログ入力電圧 15 アナログ入力リーク電流 チャネルオフ時 VADIN=0 V∼5.0 V ± 2 16 基準電圧端子 入力リーク電流 Vref+オフ時 Vref-≦Vref+≦VDD ± 10 17 ラダー抵抗値 Rladd VDD=5.0 V µA 20 50 80 電気的特性 kW I - 25 第1章 概 要 1-5-6 D/A コンバータ特性 1-5-6 D/Aコンバータ特性 T=25 ℃ VDD=2.0∼5.0 V VSS=0 V 項 目 略 号 定 格 条 件 MIN TYP 単位 MAX 出力端子1 DA0、DA1 1 分解能 2 リファレンス電圧ローレベル DAVDD 3 リファレンス電圧ハイレベル VSS 4 ゼロスケール出力電圧 VZS DAVDD=5.0 V 全データ"L" -0.05 0 0.05 5 フルスケール出力電圧 VFS DAVDD=5.0 V 全データ"H" 4.93 4.98 5.03 6 アナログ出力抵抗 (最小リファレンス抵抗) ROAT 6 10 14 7 非直線性誤差 NLE ± 0.5 ± 1.0 8 微分非直線性誤差 DNLE ± 2.0 ± 3.0 9 セットリングタイム TSET 1.5 3.0 µs 10 基準電圧端子 入力リーク電流 ± 10 µA I - 26 電気的特性 8 0 1.0 4.0 全bitがONまたはOFFに セット Bits VDD V kΩ LSB 第1章 概 要 1-6 回路設計上の注意事項 1-6 回路設計上の注意事項 1-6-1 使用に際して 1-6-1 使用に際して ■VDD端子、VSS端子の接続 全てのVDD端子、VSS端子は外部でそれぞれ電源とGNDに直接接続してください。LSI(パッケージ)の端子 位置を十分に確認し、P板上に設置してください。接続方法を間違えると、大電流による配線の溶断な どマイコンの破壊につながる可能性があります。 ■動作上の注意 (1) 高電界の加わる場所(ブラウン管直下など)で使用される場合は、正常動作保証のためにパッケー ジ表面をシールドしてください。 (2) 動作温度条件を確認の上ご使用ください。製品により温度範囲保証が異なります。例えば、 +70 ℃保証に対し、それ以上の温度でご使用の場合、動作マージンがなく誤動作する恐れがあ ります。 (3) 動作電圧条件を確認の上ご使用ください。製品により、動作電圧保証が異なります。 ・保証電圧より高い電圧でご使用の場合、信頼性保証(経時変化によるトランジスタの寿命保等) ができません。 ・保証電圧より低い電圧でご使用の場合、動作マージンがなく誤動作する恐れがあります。 回路設計上の注意事項 I - 27 第1章 概 要 1-6-2 未使用端子の処置 1-6-2 未使用端子の処置 ■未使用端子(出力専用端子)の処置 出力専用の未使用端子は、開放にしてください。 出力 OPEN 図1-6-1 未使用端子(出力専用端子)の処置 ■未使用端子(入力専用端子)の処置 入力専用の未使用端子は、数10 kΩの抵抗を挿入してプルアップまたはプルダウンしてください。 入力が不安定になると、入力インバータのPchトランジスタおよびNchトランジスタが共に動作状態に なることで入力回路に貫通電流が流れ、消費電流の増大やチップ内部の電源に対しノイズ源となりま す。 数10 kΩ 入力端子 入力 入力 数10 kΩ 入力端子 図1-6-2 未使用端子(入力専用端子)の処置 電流 貫通電流 Pch 入力端子 入力 Nch 0 入力インバータの構造 5 入力電圧 (VDD=5 V時) 入力インバータ特性 図1-6-3 入力インバータ構造と入力インバータ特性 I - 28 回路設計上の注意事項 第1章 概 要 ■未使用端子(入出力端子)の処置 入出力の未使用端子は、リセット時の端子状態をよく確認の上、処置を行ってください。リセット時、 出力がハイインピーダンス状態(Pch/Nch トランジスタ共に出力OFF)の場合、入力が不定とならないよ うに、数10 kΩの抵抗を挿入し、プルアップまたはプルダウンしてください。リセット時、出力がON 状態の場合は、開放してください。 出力制御 出力制御 数10 kΩ 出力OFF データ 出力OFF データ 入力 数10 kΩ 入力 出力OFF 出力OFF Nch 数10 kΩ Nch データ データ 入力 入力 数10 kΩ 図1-6-4 未使用端子(入出力端子)の処置方法(リセット時、出力がハイインピーダンス) 回路設計上の注意事項 I - 29 第1章 概 要 1-6-3 電源の立ち上げ方 1-6-3 電源の立ち上げ方 ■マイコン電源と入力端子電圧の関係 マイコンの電源が立ち上がった後、入力端子電圧が供給されるようにしてください。この順番が逆転 すると、マイコン内部でラッチアップが発生したり、大電流による破壊の恐れがあります。 入力 入力保護抵抗 P 順方向の電液発生 N (電源 VDD) 図1-6-5 マイコン電源と入力端子電圧 ■マイコン電源とリセット入力電圧の関係 マイコンの電源が立ち上がった後、リセット端子電圧がリセット信号として十分認識できるように立 ち上げてください。 電源電圧 リセット入力電圧 リセット端子 ローレベル 入力電圧以下 0 時間 t リセットとして十分に認識できるだけの時間が必要 図1-6-6 マイコン電源とリセット入力電圧 I - 30 回路設計上の注意事項 第1章 概 要 1-6-4 マイコン用電源回路について 1-6-4 マイコン用電源回路について ■電源回路設計上の注意事項 マイコンなどMOSロジック品は、高速高集積設計を採用していますので十分余裕のある電源回路を採用 してください。ACラインノイズなどの評価、およびLEDなどの駆動時のリップル状態を確認の上、電源 方式を検討してください。 以下に、エミッタフォロアタイプを採用した電源回路の例を示します。 ■エミッタフォロアタイプを採用した電源回路の例 ノイズ除去用のコンデンサは、マイコン 電源端子にできるだけ接近させてください。 VDD + マイコン VSS ノイズ除去用 図1-6-7 電源回路の例(エミッタフォロアタイプ) 回路設計上の注意事項 I - 31 第1章 概 要 1-6-5 発振子の使用例 本LSIの発振クロックには、セラミック発振子や水晶発振子を使用することができます。 ■当社が推奨する発振子のご紹介 セラミック発振子を使用する場合の基本構成例、および当社が推奨する発振子とその回路定数例を次 に示します。 セラミック発振子 Rd OSC2 フィードバック 抵抗 Rf 700 kΩ TYP OSC1 C2 C1 MN101C56 図1-6-8 セラミック発振子接続の基本構成例 表1-6-1 推奨するセラミック発振子とその回路定数 周波数 20 MHz 16 MHz 8 MHz 4 MHz 2 MHz セラミック発振子 品番 負荷容量 C1=C2 ダンピング抵抗 Rd EFOB2005B5(チップタイプ) 33 pF±5 pF(内蔵) − EFOEX2005E4(ディスクリートタイプ) 33 pF±5 pF(内蔵) − EFOB1605B5(チップタイプ) 33 pF±5 pF(内蔵) − EFOEX1605E4(ディスクリートタイプ) 33 pF±5 pF(内蔵) − EFOS8004B5(チップタイプ) 33 pF±5 pF(内蔵) − EFOMC8004A4(ディスクリートタイプ) 33 pF±5 pF(内蔵) − EFOS4004B5(チップタイプ) 33 pF±5 pF(内蔵) − EFOMC4004A(ディスクリートタイプ) 33 pF±5 pF(内蔵) − EFOS2004B5(チップタイプ) 33 pF±5 pF(内蔵) − EFOMC2004A4(ディスクリートタイプ) 33 pF±5 pF(内蔵) − メーカ) 連絡先) ホームページ) I - 32 推奨回路定数 回路設計上の注意事項 松下電子部品株式会社 松下電子部品株式会社 セラミック事業部 TEL (06)6908-1101(大代表) http://www.maco.panasonic.co.jp/htm-bin1/macoj.html 第1章 概 要 前記の推奨値は、本LSI単体での発振評価の結果です。 セット基板上で発振評価を行った上で、必要に応じ、ダンピング抵抗を挿入してください。 水晶発振子については、当社では本LSIでの発振評価を行っておりません。回路定数は、発振子メーカ の推奨する値に設定してください。 OSC1/OSC2およびXI/XOに接続する水晶発振子またはセラミック発振子の回路定数は、発振 子、実装回路の浮遊容量などにより異なるため、必ず発振子メーカと十分ご相談の上、決定 してください。 回路設計上の注意事項 I - 33 第2章 CPU基本機能 1 2 第2章 CPU基本機能 2-1 CPU 基本機能の概要 2-1 CPU基本機能の概要 MN101C00シリーズは、機器組み込み用マイクロコンピュータとして柔軟かつ最適ハードウェア構成と シンプルで高効率な命令体系を持ち、経済性と高速性の両立を実現しています。その特徴は、次の通 りです。 1.命令語長を4ビット単位とする最小化された命令コードサイズ 命令語長は1バイトを基本とし、4ビット単位での可変長命令構成により、コードサイズの圧縮を 図っています。これにより、メモリとのデータ転送をロード/ストアに限定したシンプルな命令 セットでありながら、コードサイズの増加が抑えられています。 2.最小命令実行時間 1サイクル 100 ns 3.シンプルなアーキテクチャを追求したC言語対応の最小レジスタセット構成 命令セットはC言語コンパイラによる生成コードおよびアセンブラプログラミングによるコード を解析し、ハードウェア規模と性能とのトレードオフにより決定しています。従って、命令はC言 語向けの最小セットとなっており、シンプルな命令セットが特徴です。 【 『MN101C00シリーズLSI説明書 (アーキテクチャ説明書)』】 表2-1-1 CPU基本仕様 構造 ロード/ストアアーキテクチャ レジスタ6本 データ用:8ビット × 4 アドレス用:16ビット × 2 その他 PC:19ビット PSW:8ビット SP:16ビット 命令 命令数 37 アドレッシングモード 9 命令語長 基本部:1バイト(最小) 拡張部:0.5バイト × n(0≦n≦9) 基本性能 内部動作周波数(max) 10 MHz 命令実行 最小1サイクル レジスタ間演算 最小2サイクル ロード/ストア 最小2サイクル 条件分岐 2∼3サイクル パイプライン 3段(命令フェッチ、解読、実行) アドレス空間 256Kバイト(データは最大64Kバイト) 命令/データ共用空間 外部バス アドレス 18ビット(最大) データ 8ビット 最小バスサイクル 1クロック(100 ns) 割込み ベクタ割込み方式 割込みレベル:3レベル 低消費電力モード STOPモード HALTモード II - 2 CPU基本機能の概要 第2章 CPU基本機能 2-1-1 ブロック構成 2-1-1 ブロック構成 Data registers D0 Processor status word Address registers D1 PSW Stack pointer A0 D2 SP A1 D3 Clock generator T1 T2 Source oscillation Instruction execution controller ABUS BBUS Instruction decoder Program counter Incrementer ALU Instruction queue Interrupt controller Operand address Program address Interrupt bus Bus controller ROM bus RAM bus Peripheral expansion bus External interface Internal ROM Internal peripheral functions Internal RAM External expansion bus BR Clock generator Program counter クロック発生部 BG 水晶やセラミック発振子によるクロック発振回路を持ち、CPU各部にクロックを供 給します。 命令キューに取り込む命令の番地を生成します。通常はシーケンサの指示によりイ プログラムカウンタ ンクリメントされますが、分岐命令や割込み受付けの際は、分岐先アドレスあるい はALUの演算結果がセットされます。 Instruction queue 命令キュー プリフェッチした命令を最大2バイト分、格納します。 Instruction decoder 命令デコーダ 命令デコーダは命令キューの内容を解読し、その命令の実行に必要な制御信号を順 次生成し、チップ内の各ブロックを制御することにより命令を実行させます。 Instruction execution controller 命令実行制御部 命令デコーダの命令解読結果や割込み要求等により、CPU各部の動作を制御します。 ALU ALU部 データの算術演算、論理演算、シフト演算、あるいはレジスタ相対間接、オペラン ドアドレス計算を行います。 Internal ROM, RAM 内蔵ROM, RAM Address register アドレスレジスタ データ転送におけるメモリを指定するアドレスの格納に使用します。また、レジス タ相対間接においては、ベースアドレスが格納されます。 Data register データレジスタ 演算に用いるデータを格納します。8ビットのデータレジスタを2本連結して16ビッ トレジスタと しても使用できます。 Interrupt cotroller 割込み制御部 周辺機能からの割込み要求を検出し、CPUに対して割込み処理へ移行することを要 求します。 Bus controller バス制御部 CPU内部バスとCPU外部バスの接続を制御します。またバス使用権の調停機能を内 蔵します。 Internal peripheral functions 内蔵周辺機能 実行プログラム、データ、スタック領域にあてられます。 周辺機能(タイマ、シリアル、A/Dコンバータ、D/Aコンバータ等)が内蔵されてい ます。周辺機能は品種によって異なります。 図2-1-1 ブロック構成と機能 CPU基本機能の概要 II - 3 第2章 CPU基本機能 2-1-2 CPU 制御レジスタ 2-1-2 CPU制御レジスタ 本LSIは、メモリ・マップドI/O方式で周辺回路のレジスタをメモリ空間上(X'03F00'∼X'03FFF')に配 置しています。CPUの制御レジスタもこのメモリ空間上にマッピングされています。 表2-1-2 CPU制御レジスタ アドレス レジスタ 略 号 R/W X'3F00' CPUM R/W※1 X'3F01' MEMCTR R/W メモリ制御レジスタ X'3F09' RCCTR R/W ROMコレクション制御レジスタ R/W ROM修正アドレス設定レジスタ 名 称 CPUモード制御レジスタ X'3F0A' Reserved X'3F0B' Reserved X'3FED' Reserved X'3FC7' ∼ RCnAP X'3FCF' X'3FE0' Reserved(デバッガ用) X'3FE1' NMICR R/W ノンマスカブル割込み制御レジスタ 【 第3章】 xxxICR R/W マスカブル割込み制御レジスタ X'3FE2' ∼ 【 第3章】 X'3FFE' X'3FFF' Reserved(割込みのハード処理で割込みベクタ情報を読み出すために使用) ※1 一部のビットはRのみ II - 4 CPU基本機能の概要 第2章 CPU基本機能 2-1-3 命令実行制御部の構成 2-1-3 命令実行制御部の構成 命令実行制御部はメモリ、命令キュー、命令レジスタ、命令デコーダの4つのブロックから構成しま す。 命令は1バイト単位でフェッチし、2バイトの命令キューに一時格納されます。命令キューから1バイ ト、または0.5バイトずつ命令レジスタに転送され、命令デコーダにより解読を行います。 0 7 メモリ 1 バイト フェッチ 0 15 命令キュー 1バイトまたは、0.5バイト 7 0 命令レジスタ 命令解読 命令デコーダ CPU 制御信号 図2-1-2 命令実行制御部の構成 CPU基本機能の概要 II - 5 第2章 CPU基本機能 2-1-4 パイプライン処理 2-1-4 パイプライン処理 パイプライン処理とは、命令の読み出し、解読を命令実行と同時に処理し、1つの命令の実行が終了す ると、すぐに次の命令を行う処理を言います。パイプライン処理を使用すると連続的な命令実行が可 能になり、命令実行速度も向上します。パイプライン処理は、命令キューと命令デコーダにより行わ れます。 命令キューは、2段の命令先取りバッファであり、命令実行時の各サイクルでキューが空の場合、次の 命令をフェッチするように制御されます。命令実行の最終サイクルでは、実行する命令の第1語(オペ レーションコード)がインストラクションレジスタに格納されます。この時に、次のオペランドあるい はオペレーションコードが命令キューにフェッチされるので、次に実行する命令の第1サイクルで直接 アドレス(da)や、即値データ(imm)を必要とする場合にも、直ちに実行可能となります。 ただし、分岐命令などの一部の命令では、最終サイクルで次に実行すべきオペレーションコードをイ ンストラクションレジスタへ格納した時点で、命令キューは空になります。従って、命令キューが空 で、かつ実行する命令の第1サイクルで直接アドレス(da)や、即値データ(imm)を必要とする場合に限 り、1マシンサイクルのキュー待ちが生じます。 命令キューの制御は、ハードウェアで自動的に行われるので、プログラム作成時には意識する必要は ありません。しかし、命令実行時間を計算するときは、命令キューの動作を理解する必要があります。 命令デコーダは、マイクロプログラム制御により、命令実行の各サイクルで制御信号を生成します。 命令デコーダは、パイプライン処理を行って、制御信号を必要とする1つ前のサイクルで命令キューの 内容を解読しています。 2-1-5 アドレス用レジスタ 2-1-5 アドレス用レジスタ アドレス用レジスタは、プログラムカウンタ(PC)、アドレスレジスタ(A0,A1)、スタックポインタ(SP) により構成されています。 ■プログラムカウンタ(PC) 実行中の命令のアドレスを指すレジスタです。命令の区切りがハーフバイト(4ビット)単位で256Kバイ トの命令空間を表すため、プログラムカウンタは19ビット長です。プログラムカウンタのLSBがハーフ バイトを示すビットです。リセット時のプログラムカウンタの値は、X'04000'番地のベクタテーブル に書かれている値が格納されます。 0 18 プログラムカウンタ II - 6 CPU基本機能の概要 PC 第2章 CPU基本機能 ■アドレスレジスタ(A0、A1) アドレスのポインタとして用いるレジスタです。アドレス計算用の演算命令(加減算、比較)が使用で きます。アドレスレジスタの内容は、ポインタ(2バイトデータ)であり、メモリとの転送は常に16ビッ ト長で行われます。転送アドレスは奇数アドレスでも偶数アドレスでも転送できます。リセット時の アドレスレジスタの値は不定です。 0 15 A0 アドレスレジスタ A1 ■スタックポインタ(SP) スタック領域のトップアドレスを指すレジスタです。退避時には減算され復帰時には加算されます。 リセット時のスタックポインタの値は不定です。 0 15 スタックポインタ SP 2-1-6 演算用レジスタ 2-1-6 演算用レジスタ 演算用レジスタは、データレジスタ(D0、D1、D2、D3)により構成されています。 ■データレジスタ(D0、D1 、D2、D3) データレジスタは、8ビットの汎用レジスタです。算術演算、論理演算、シフト演算、メモリとのデー タ転送に使用できます。D0とD1 または、D2とD3をそれぞれペアにすることにより16ビットのレジスタ として取り扱うことも可能です。リセット時のデータレジスタの値は不定です。 15 データレジスタ 8 7 0 D1 D0 DW0 D3 D2 DW1 CPU基本機能の概要 II - 7 第2章 CPU基本機能 2-1-7 プロセッサステータスワード 2-1-7 プロセッサステータスワード プロセッサステータスワード(PSW)は、演算結果のフラグ、割込みマスクレベル、マスカブル割込み許 可フラグが格納された8ビットのレジスタです。PSWは、割込み発生時に自動的にスタック領域に退避 され、割込み復帰時に自動的にスタック領域から復帰します、 7 PSW 6 5 4 3 2 1 0 MIE IM1 IM0 VF NF CF ZF (リセット時: 0000 0000) ZF 0 1 ゼロフラグ 演算結果がオール'0'でない 演算結果がオール'0'である CF キャリーフラグ 0 MSBより桁上がりまたは桁下 がりが発生しない MSBより桁上がりまたは桁下 がりが発生する 1 NF ネガティブフラグ 0 1 演算結果のMSBが'0'である 演算結果のMSBが'1'である VF オーバフローフラグ 0 1 IM1∼0 オーバフローが発生しない オーバフローが発生する 割込みマスクレベル マスカブル割込みの受け付けを制御 MIE 0 1 マスカブル割込みイネーブル 全マスカブル割込み禁止 各割込み毎の(xxxLVn,xxxIE)が有効 Reserved 図2-1-3 プロセッサステータスワード(PSW) II - 8 CPU基本機能の概要 必ず0に設定してください 第2章 CPU基本機能 ■ゼロフラグ (ZF) 演算結果の全ビットが"0"となった場合にZF="1"となり、それ以外の場合ZF="0"となります。 ■キャリーフラグ (CF) 演算の結果、MSBより桁上りまたは桁下りが発生した場合にCF="1"、桁上りまたは桁下りが発生しな い場合はCF="0"となります。 ■ネガティブフラグ (NF) 演算の結果、MSBが"1"となった場合NF="1"となり、MSBが"0"となった場合、NF="0"となります。NF はデータを符号付きデータとして取り扱う場合に使用します。 ■オーバフローフラグ (VF) 算術演算の結果、符号付き数値としてオーバフローが発生するとVF="1"となり、オーバフローが発生 しない場合、VF="0"となります。VFはデータを符号付きデータとして取り扱う場合に使用します。 ■割込みマスクレベル (IM1∼IM0) 割込みマスクレベル(IM1、IM0)は、割込み要因の割込みレベルにしたがってマスカブル割込みの受け 付けを制御するフラグです。2ビットのフラグにより、レベル0からレベル3まで定義され、レベル0が 最も高い割込みマスクレベルとなります。ここで設定された割込みマスクレベルよりも、割込み制御 レジスタ(xxxICR)の割込みレベルフラグ(xxxLVn)に設定されたレベルの方が高い場合(設定値が小さい 時)のみ、その割込み要求が受理されます。割込みが受理されると、その割込みレベルフラグの内容が あらたにIM1、IM0に設定され、受理した割込み処理が終了するまで、同一あるいはそれ以下のレベル の割込みは受理されません。 表2-1-3 割込みマスクレベルと割込み受理 割込みマスクレベル マスクの 順位 受理される割込みレベル IM1 IM0 マスクレベル0 0 0 高い マスクレベル1 0 1 ・ NMI, レベル0 マスクレベル2 1 0 ・ NMI, レベル0∼1 マスクレベル3 1 1 低い NMI, レベル0∼2 ノンマスカブル割込み(NMI)のみ ■マスカブル割込み許可フラグ(MIE) マスカブル割込みの許可フラグです。MIE="1"の時、マスカブル割込みを受付可能にします。MIE="0" の時、PSW内の割込みマスクレベル(IM1、IM0)の値に関係なく全てのマスカブル割込みを禁止します。 MIEは、割込みにより変化しません。 CPU基本機能の概要 II - 9 第2章 CPU基本機能 2-1-8 アドレッシングモード 2-1-8 アドレッシングモード 本LSIは、9種類のアドレッシングモードがあります。 本LSIは以下の9種類のアドレッシングモードがあり命令ごとに使用できるモードが決められています。 (1)レジスタ直接 (2)即値 (3)レジスタ間接 (4)レジスタ相対間接 (5)スタック相対間接 (6)絶対 (7)RAMショート (8)I/Oショート (9)ハンディ アドレッシングモードは、C言語コンパイラにおいて使用頻度の高いものを備えています。特にデータ 転送命令では、全てのアドレッシングモードが使用可能です。相対値は、ハーフバイト(4ビット)単位 で指定できるので、命令コード長を短くすることができます。ハンディアドレッシングは、メモリア クセスしたアドレスを再度使用するアドレッシングで、ストア命令のみで使用できます。絶対アドレッ シングと組み合わせるとコードサイズを小さくすることができます。メモリとのデータ転送を行う場 合は、レジスタ間接、レジスタ相対間接、スタック相対間接、絶対、RAMショート、I/Oショート、ハ ンディの8種類のアドレッシングモードが使えます。演算命令では、レジスタ直接と即値の2種類のア ドレッシングモードが使用できます。詳しくは、MN101C00シリーズ命令説明書を参照しください。 本LSIでは、8ビットデータアクセスが基本です。16ビットデータアクセスでのアドレス指定 は、奇数アドレスでも偶数アドレスでも行うことができます。 II - 10 CPU基本機能の概要 第2章 CPU基本機能 表2-1-4 アドレス空間 アドレッシングモード レジスタ直接 即値 レジスタ間接 実効アドレス 説 明 Dn/DWn An/SP PSW レジスタを直接指定します。指定できる レジスタは内部レジスタです。 imm4/imm8 imm16 命令コードに付加されるオペランド値、 マスク値などを直接指定します。 (An) (d8, An) (d16, An) 15 0 アドレスレジスタによりアドレスを指定 します。 An 15 アドレスレジスタと8ビットディスプ レースメントによりアドレスを指定しま す。 0 An+d8 15 0 アドレスレジスタと16ビットディスプ レースメントによりアドレスを指定しま す。 0 H プログラムカウンタと4ビットディスプ レースメントとHビットによりアドレス を指定します。 An+d16 レジスタ相対間接 (d4, PC) 17 PC+d4 (分岐命令のみ) *1 (d7, PC) 0 H 17 PC+d7 (分岐命令のみ) (d11, PC) *1 0 H 17 PC+d11 (分岐命令のみ) (d12, PC) *1 0 H 17 PC+d12 (分岐命令のみ) (d16, PC) *1 0 H 17 PC+d16 (分岐命令のみ) *1 (d4, SP) 15 プログラムカウンタと7ビットディスプ レースメントとHビットによりアドレス を指定します。 プログラムカウンタと11ビットディスプ レースメントとHビットによりアドレス を指定します。 プログラムカウンタと12ビットディスプ レースメントとHビットによりアドレス を指定します。 プログラムカウンタと16ビットディスプ レースメントとHビットによりアドレス を指定します。 0 スタックポインタと4ビットディスプレー スメントによりアドレスを指定します。 0 スタックポインタと8ビットディスプレー スメントによりアドレスを指定します。 0 スタックポインタと16ビットディスプレー スメントによりアドレスを指定します。 SP+d4 スタック相対間接 (d8, SP) (d16, SP) 絶対 15 SP+d8 15 SP+d16 7 (abs8) 11 (abs12) (abs16) (abs18) (abs8) I/Oショート (io8) ハンディ (HA) 0 命令コードに付加されるオペランド値に よりアドレスを指定します。 指定するアドレスを最適なオペランド長 で指定できます。 abs12 15 0 abs16 0 H 17 abs18 (分岐命令のみ) RAMショート 0 abs8 *1 7 0 アドレス x'00000'から8ビットのオフセッ トで指定できます。 0 特殊レジスタ領域のTOPアドレス(x'03F00') から8ビットのオフセットで指定できます。 abs8 15 IOTOP+io8 メモリアクセスしたアドレスを再度使用 するアドレッシングで、MOV命令とMOVW命 令のみで使用できます。絶対アドレッシンクと 組み合わせることでコードサイズを小さくす ることができます。 *1 Hは、ハーフバイトビットを表しています。 CPU基本機能の概要 II - 11 第2章 CPU基本機能 2-2 メモリ空間 2-2 メモリ空間 2-2-1 メモリモード 2-2-1 メモリモード メモリ空間には、命令のプログラムエリアであるROM領域(読み出し専用のメモリ)、データの読み出 し、書き込みが可能なR A M 領域、メモリマップド方式の特殊レジスタ領域などが配置されます。 MN101C00シリーズは、メモリモデルとして3種類のメモリモード(シングルチップモード、メモリ拡張 モード、プロセッサモード)をサポートしています。メモリ空間は、各モードごとに設定が異なりま す。 内蔵メモリのみでシステムを構成するモードとしてシングルチップモードが用意されています。ROM、 RAM、ゲートアレイ等で構成された外部のデバイスを接続するモードには、メモリ拡張モードとプロ セッサモードの2つのモードが用意されています。各モードの設定方法を以下に示します。 表2-2-1 メモリモードの設定 EXMEMフラグ EXADV3∼1フラグフラグ (MEMCTRレジスタ) (EXADVレジスタ) L 0 − メモリ拡張モード L 1 1 プロセッサモード H − − メモリモード MMOD端子 シングルチップモード MMOD端子は"L"レベルまたは"H"レベルに固定しておいてください。 リセット解除後は、MMOD端子の設定変更は行わないでください。 II - 12 メモリ空間 第2章 CPU基本機能 2-2-2 シングルチップモード 2-2-2 シングルチップモード 内蔵メモリのみでシステムを構成するメモリモードを、シングルチップモードといいます。本モード は最適化されたメモリモデルで、最もパフォーマンスの高いシステムを構築することができます。 シングルチップモードは、ROM、RAMとも内蔵メモリを使用します。MN101C00シリーズでは、RAM空間と して最大12Kバイト、ROM空間として最大240Kバイトのメモリ空間を持つことができます。本LSIでは、 RAM空間に1792バイト、ROM空間に48Kバイトの内蔵メモリを搭載しています。 X'00000' abs8アドレッシング アクセス領域 256バイト 1792バイト X'00100' データ X'00700' LCD表示データ 内蔵RAM 空間 ※1 ※2 X'03F00' 特殊レジスタ領域 256バイト 128バイト 64バイト 48Kバイト X'04000' 割込み ベクタテーブル X'04080' サブルーチン ベクタテーブル X'040C0' 内蔵ROM 空間 ※1 命令コード/ テーブルデータ X'0FFFF' ※ 品種により異なります。 MMOD端子=L 図2-2-1 シングルチップモード ※1 MN101C56C MN101C56A ※2 内蔵RAM・・・X'00000'∼X'006FF' 内蔵ROM・・・X'04000'∼X'0FFFF' 内蔵RAM・・・X'00000'∼X'004FF' 内蔵ROM・・・X'04000'∼X'0BFFF' LCD表示データ空間 1792バイト 48 Kバイト 1536バイト 32 Kバイト X'02E00'∼X'02E0F':SEG0∼SEG31 X'02E20'∼X'02E22':SEGS0∼SEGS6 メモリ空間 II - 13 第2章 CPU基本機能 2-2-3 メモリ拡張モード 2-2-3 メモリ拡張モード MN101C00シリーズでは、外部にROM、RAMまたはゲートアレイ等で構成された外部のデバイスを接続し て動作させることができます。内蔵のROM、RAMを使いながら外部にメモリを拡張するモードを、メモ リ拡張モードと呼びます。 シングルチップモード時に、メモリ制御レジスタ(MEMCTR)のEXMEMフラグ(bp4)をセットすることによ りメモリ拡張モードに設定できます。端子へのアドレス出力は、アドレス拡張制御レジスタ(EXADV)で 制御します。 外部に拡張できるメモリ領域は以下の通りです。 ROM領域・・・X'20000'∼X'3FFFF' 128Kバイト RAM領域・・・X'02F00'∼X'03EFF' 256バイト X'00000' X'00100' 4Kバイト abs8アドレッシング アクセス領域 データ 内蔵RAM(1792バイト ) X'00600' 16Kバイト 外部拡張 RAM 256バイト 128バイト 64バイト X'03F00' 割込み ベクタテーブル X'04080' サブルーチン ベクタテーブル X'0FFFF' 224Kバイト X'02F00' 4Kバイト X'03EFF' 特殊レジスタ領域 X'04000' X'040C0' ※ 内蔵ROM(48Kバイト) ※ 命令コード/ テーブルデータ X'20000' 外部拡張ROM 命令コード X'3C000' ※ 品種により異なります。 【 「2-2-2 シングルチップ モード」 】 II - 14 メモリ空間 128Kバイト X'3FFFF' MMOD端子=L EXMEMフラグ=1 図2-2-2 メモリ拡張モード 第2章 CPU基本機能 2-2-4 プロセッサモード 2-2-4 プロセッサモード 内蔵RAMと外部に拡張したROM、RAMを使用するモードです。内蔵ROMが存在する場合、内蔵ROMは無効に なります。 MMOD端子を'H'にすることによりプロセッサモードに設定できます。 外部に拡張できるメモリ領域は以下の通りです。 ROM領域・・・X'04000'∼X'3FFFF' RAM領域・・・X'02F00'∼X'03EFF' 256バイト X'00000' X'00100' 240Kバイト 4Kバイト abs8アドレッシング アクセス領域 データ 16Kバイト 256バイト X'03F00' ※ 内蔵RAM(1792バイト) X'00600' 外部拡張 RAM X'02F00' 割込み ベクタテーブル X'04000' サブルーチン ベクタテーブル X'04080' X'03EFF' 4Kバイト 特殊レジスタ領域 128バイト 64バイト X'040C0' 48Kバイト 命令コード ROM化データ X'10000' 命令コード X'3FFFF' MMOD端子=H EXMEMフラグ=don't care 外部拡張メモリ 図2-2-3 プロセッサモード ※ 品種により異なります。 【 「2-2-2 シングルチップ モード」 】 メモリ空間 II - 15 II - 16 メモリ空間 P1DIR P1PLU TM1BC P0DIR P0PLU TM0BC 03F2X 03F3X 03F4X 03F5X 2 3 4 TM0MD P4PLU P4DIR P4IN P4OUT Reserved 6 SC0MD1 SC2MD1 ANCTR1 SC2MD0 ANCTR0 Reserved Reserved Reserved Reserved Reserved Reserved Reserved 03FAX 03FBX 03FCX IRQ1ICR TM8ICR T7OC2 ICR IRQ2ICR SC0RICR IRQ3ICR SC0TICR IRQ4ICR SC2ICR ADICR TM1ICR TM0ICR TM7ICR IRQ0ICR TBICR NMICR Reserved 03FFX RC0APM 03FEX RC0APL DA1DR0 SC2CKS SC0CKS TM8OC2L TM7OC2L TM6MD PAPLU PAIMD PAIN LC1MD0 DA1CTR SC2ODC SC0ODC TM8MD2 TM7MD2 TM6OC TM3BC P9PLU P9DIR P9IN P9OUT A B PCDIR PBDIR LC0CTR0 RC1APM DA2CTR TM3ICR LC0CTR1 RC1APH DA2DR0 TM8OC2H TM8PR2L TM7OC2H TM7PR2L TBCLR TM3OC PCIN PCPLU PCOUT PBIN C PBOUT Reserved Reserved LC0MD0 Reserved TXBUF0 9 RCCTR 03FDX ANBUF1 RXBUF0 TM8MD1 TM7MD1 TM6BC P8PLU P8DIR P8IN P8OUT 8 RC1APL ANBUF0 SC0STR TM8ICH TM7ICH CK1MD P7PLU P7DIR P7IN P7OUT 7 RC0APH ANCTR2 SC2TRB SC0MD2 TM8PR1H TM8ICL SC0MD0 TM8OC1H TM8PR1L 03F9X TM8OC1L TM8BCH TM7ICL CK0MD P6PLU P6DIR P6IN P6OUT ACTMD TM8BCL TM7PR1H TM1MD P5PLU P5DIR P5IN P5OUT 5 TM7BCL TM7OC1H TM7PR1L TM1OC DLYCTR 03F8X TM7OC1L TM0OC P2PLU P2IN P2OUT WDCTR 03F7X TM7BCH P1IN 03F6X P1OUT P0OUT P0IN 03F1X 1 MEM CTR 0 CPUM 03F0X D E RC2APM NFCTR RMCTR P4IMD FLOAT P7SYO EXADV F I/O ポ | ト アナログI/F制御 シリアルI/F制御 割込みI/F制御 タイマ制御 抵抗制御 入出力モード制御 PORT入力 PORT出力 CPUモード・メモリ制御 Reserved TM6ICR LC1CTR0 割込み制御 LCD制御 RC2APH ROMコレクション制御 Reserved EDGDT PSCMD CK3MD P9IMD P1OMD Reserved 注)Reservedレジスタへのアクセスは禁止です。 RC2APL TM8PR2H TM7PR2H TM3MD Reserved 第2章 CPU基本機能 2-2-5 特殊レジスタ 2-2-5 特殊レジスタ MN101C00シリーズでは、メモリ空間のx'03F00'∼x'03FFF'の領域を特殊レジスタ領域(I/O空間)に割り 当てています。本LSIの特殊レジスタは、以下のように配置されています。 表2-2-2 レジスタマップ 第2章 CPU基本機能 2-3 バスインタフェース 2-3 バスインタフェース 2-3-1 バス制御部 2-3-1 バス制御部 MN101C00シリーズは、内蔵メモリや内蔵周辺機能が接続されるバスを分離することにより、バスライ ン負荷の影響を抑え、動作の高速化を実現しています。 バス制御は、ROMバス、RAMバス、周辺拡張バス(I/Oバス)、外部拡張バスの4種類から構成されていま す。それぞれのバスは、内蔵ROM、内蔵RAM、内蔵周辺機能、外部インタフェースに接続されます。バ ス制御部の機能としては、命令の供給とデータアクセスの並行動作の実現、外部空間アクセス時の低 速デバイスへの対応、外部バスマスタデバイス接続時のバス使用権の調停機能等があります。バス制 御部の機能ブロック図を、以下に示します。 命令キュー プログラムアドレス 割込み制御 オペランドアドレス バス制御部 割込みバス メモリ制御レジスタ アドレスデコード バス アービタ ROM バス A メモリモード設定 バスアクセス(ウェイト)制御 周辺拡張バス RAM バス D A 内蔵RAM 外部インタフェース A D D 内蔵周辺機能 BR BG 内蔵 ROM 外部拡張バス A D 図2-3-1 バス制御部の機能ブロック図 外部拡張バスは、メモリ拡張モードやプロセッサモードに設定されている場合に、外部デバイスや外 部メモリとのアクセスを行います。外部拡張バスのアクセス方法は、固定ウエイトモードとハンド シェークモードの2種類が選択可能で、メモリ制御レジスタ(MEMCTR)により設定します。内蔵周辺機能 に接続されている周辺拡張バス(I/Oバス)へのウエイト設定も可能です。 バスインターフェース II - 17 第2章 CPU基本機能 2-3-2 制御レジスタ 2-3-2 制御レジスタ バスインタフェース機能を制御するレジスタは、メモリ制御レジスタ(MEMCTR)、拡張アドレス制御レ ジスタ(EXADV)の2つです。 ■メモリ制御レジスタ(MEMCTR) MEMCTR 7 6 5 4 3 2 1 0 IOW1 IOW0 IVBM EXMEM EXWH IRWE EXW1 EXW0 (リセット時:11001011) EXW1∼0 固定ウェイト数 の設定 バスサイクル (20 MHz)発振時 00 ノーウェイト 100 ns 01 1ウェイト 150 ns 10 2ウェイト 200 ns 11 3ウェイト 250 ns IRWE 割込み要求フラグのソフト書き込み設定 0 ソフト書き込み禁止 各割込み制御レジスタ(xxxICR)にデータ を書いても、割込み要求フラグ(xxxIR)の 状態は変化しません 1 ソフト書き込み許可 EXWH 固定ウェイトモード/ ハンドシェークモード切り換え 0 ハンドシェークモード 1 固定ウェイトモード *シングルチップモード時、ハンドシェ−クモード設定禁止 EXMEM 外部メモリ拡張モード切り換え 0 外部メモりに拡張しない 1 外部メモリに拡張する IVBM 割込みベクタテーブルのベースアドレス指定 0 割込みベクタベース=x'04000' 1 割込みベクタベース=x'00100' IOW1∼0 特殊レジスタ領域アクセス時の バスサイクル ウェイト数の設定 (20 MHz)発振時 00 ノーウェイト 100 ns 01 1ウェイト 150 ns 10 2ウェイト 200 ns 11 3ウェイト 250 ns 図2-3-2 メモリ制御レジスタ(MEMCTR:X'03F01'、R/W) II - 18 バスインターフェース 第2章 CPU基本機能 EXW1-0のウエイト対象空間は、メモリ拡張モード、プロセッサモード時に外部に接続される デバイスです。リセット解除時には、3ウエイトが挿入されています。 IOW1-0のウエイト対象空間は、x'3F00'-x'3FFF'の特殊レジスタ領域(I/O空間)です。リセッ ト解除時には、3ウエイトが挿入されています。 IOWのウエイト設定は、特殊レジスタやI/Oを外部に拡張するなどの特定用途向けにCPUがサ ポートしている機能です。本LSIでのウエイト設定は必ずしも必要ではありません。パフォー マンスの高いシステム構築に際しては、ノーウエイトを選択して下さい。 ■拡張アドレス制御レジスタ(EXADV) 7 EXADV 6 5 EXADV3 EXADV2 EXADV1 4 3 2 1 0 − − − − − (リセット時:000− − − − −) EXADV1 メモリ拡張モード時の"A11∼A8"アドレス出力許可 0 "A11∼A8"アドレス出力禁止 1 "A11∼A8"アドレス出力許可 EXADV2 メモリ拡張モード時の"A15∼A12"アドレス出力許可 0 "A15∼A12"アドレス出力禁止 1 "A15∼A12"アドレス出力許可 EXADV3 メモリ拡張モード時の"A17,16"アドレス出力許可 0 "A17,16"アドレス出力禁止 1 "A17,16"アドレス出力許可 図2-3-3 拡張アドレス制御レジスタ(EXADV:X'03F0E'、R/W) バスインターフェース II - 19 第2章 CPU基本機能 2-3-3 固定ウエイトモード 2-3-3 固定ウエイトモード MN101C00シリーズは、外部に低速のROM、RAMを拡張した場合、ウエイトサイクルを挿入することがで きます。ウエイト数の設定はメモリ制御レジスタ(MEMCTR)により行います。 固定ウエイトモードは、MEMCTRレジスタ内の固定ウエイト数設定フラグ(EXW1-0)に設定した挿入ウエ イト数を自動的にバスサイクルに挿入するモードです。 リセット解除時には、3 ウエイトが挿入される固定ウエイトモードとなります。システムがハンド シェークモードの場合やウエイト数を調整する場合には、MEMCTRの値を書き換えてください。 2-3-4 ハンドシェークモード 2-3-4 ハンドシェークモード ハンドシェークモードは、データ転送シーケンスにおいて、転送イネーブル信号(NRE、NWE)と、デー タアクノーレッジ信号(NDK)によるインターロック制御を行います。 ハンドシェークモードは、アクセス速度の異なる複数の外部デバイスを接続するシステム構成で、各 デバイスごとにデータアクノーレッジ信号生成回路を実装した場合、各々のデバイスに適合したウエ イト数を挿入することが可能になります。MN101C00シリーズのCPUは、データアクノーレッジ信号が返 送されるまでウエイト状態を維持することで、外部デバイスが確実にデータの受け渡しを行える時間 を確保します。 【 『MN101C00シリーズLSI説明書 (アーキテクチャ説明書)』】 II - 20 バスインターフェース 第2章 CPU基本機能 ■ノーウェイトアクセスタイミング OSC2を基準にタイミングが決まりますが、製品によりOSC1からのディレイ値は変化しますので、ほか のデバイスと同期をとる場合NREまたはNWEを基準にします。動作タイミングは、NORMALモード(OSC高 速発振選択)で分周比が2の場合(リセット解除後の初期状態)に相当します。 OSC2 A17 -0 D7 -0 NCS NRE NWE ライト リード 図2-3-4 ノーウェイトROM、RAMアクセスタイミング ■1ウェイトアクセスタイミング 2、3ウェイトも同様で、後半のサイクルを延ばしたのと同じタイミングになります。 OSC2 A17 -0 D7 -0 NCS NRE NWE ライト リード 図2-3-5 1ウェイトROM、RAMアクセスタイミング バスインターフェース II - 21 第2章 CPU基本機能 2-3-5 外部メモリの接続例 2-3-5 外部メモリの接続例 ■ROM接続例(プロセッサモード) 512KバイトROMを接続した例を示します。 ROM (512Kバイト) 本LSI A17∼A0 D7∼D0 X'00000' A17∼A0 D7∼D0 NCS NCS NRE NRE X'04000' 外部ROM領域 MMOD X'3FFFF' 図2-3-6 ROM接続例 ■SRAM接続例 4KバイトSRAMを接続した例を示します。 X'002F00'∼X'03EFF'が外部拡張RAM領域になります。 SRAM (4Kバイト) 本LSI A17∼A0 A17∼A0 X'02F00' D7∼D0 D7∼D0 NCS NCS NRE NRE NWE NWE 外部RAM領域 X'03EFF' 図2-3-7 SRAM接続例 II - 22 バスインターフェース 第2章 CPU基本機能 2-4 スタンバイ機能 2-4 スタンバイ機能 2-4-1 概要 2-4-1 概要 本LSIはシステムクロック用発振端子が2系統(高速発振、低速発振)あり、CPU動作モードとしてNORMAL モードとSLOWモード、スタンバイモードとしてHALTモードとSTOPモードの4つがあります。これらの モードを有効に活用することにより、消費電力の低減が可能です。 CPU動作モード スタンバイモード 割込み STOP0 OSC: 停止 XI : 停止 NORMALモード リセット NORMAL OSC: 発振 XI : 発振 プログラム3 プログラム5 割込み HALT 0 OSC: 発振 XI : 発振 プログラム4 STOPモード アイドル状態 OSC: 発振 プログラム1 HALTモード プログラム2 割込み SLOW OSC: 停止 XI : 発振 STOP1 OSC: 停止 XI : 停止 プログラム5 割込み SLOW モード HALT 1 OSC: 停止 XI : 発振 プログラム4 :CPU停止 :発振安定待ちが挿入されます。 OSC:高速動作用クロック XI:低速動作用クロック(32 kHz) 図2-4-1 動作モード間の遷移 スタンバイ機能 II - 23 第2章 CPU基本機能 ■ホルト状態 (HALT0,HALT1) ・CPUは停止しているが、発振器は動作している状態です。割込みによりただちに動作状態に移行でき ます。 ・H A L T 0 は、高速動作用発振器と低速動作用発振器の両方が動作します。割込み時、通常動作状態 (NORMAL)に移行します。 ■ストップ状態 (STOP0,STOP1) ・CPUと発振器の両方が止まっている状態です。割込みにより発振器の動作を開始させ、発振が安定す るのを待った後、動作状態に移行します。 ・STOP0は割込みにより、通常動作状態(NORMAL)に移行します。 ・STOP1は割込みにより、低速動作状態(SLOW)に移行します。 ■低速動作状態 (SLOW) ・低速動作用のクロックでプログラムを実行している状態です。高速動作用発振器が停止しているの で、プログラムを実行させながら低消費電力化が可能です。 ■アイドル状態(IDLE) ・低速動作状態(SLOW)から通常動作状態(NORMAL)に移行するときに、高速動作用発振器のクロックが 安定するのをプログラムで待たせるための状態です。 STOPモード、HALTモード時に消費電力を低減するには、端子からの流入出電流および入力となってい る端子のレベルが不安定にならないよう注意が必要です。出力となっている端子は、外部のレベルに 合わせて出力するか、方向制御を入力側にしてください。入力となっている端子は、外部でレベルが 固定されるように設定をしてください。 本LSIにはシステムクロック用発振回路が2系統あり、OSCが高速動作用(NORMALモード用)、XIが低速 動作用(SLOWモード用)です。NORMAL/ SLOWモード間およびスタンバイモードへの移行は、CPUモード制 御レジスタ(CPUM)で指定します。スタンバイモードからの復帰要因には、通常のリセット動作と割込 みがあります。発振安定待ちはリセット動作時とSTOPモードからの復帰時に挿入され、HALTモードか らの復帰時には挿入されません。システムクロックの発振状態はスタンバイモードに入る前の状態に 自動的に復帰します。 高速発振周波数(fosc)と低速発振周波数(fx)との関係は高速/低速動作クロックの切り換え 時の同期安定化のため、foscはfxに対して2.5倍以上の動作周波数を設定してください。 II - 24 スタンバイ機能 第2章 CPU基本機能 2-4-2 CPU モード制御レジスタ 2-4-2 CPUモード制御レジスタ 各モードへの移行は、CPUモード制御レジスタ(CPUM)のフラグを操作することにより設定します。 7 5 6 CPUM − リセット時: − 4 3 OSCSEL1 OSCSEL0 Reserved STOP 0 0 0 0 2 1 HALT OSC1 OSC0 0 0 0 0 状 態 動作モード STOP HALT OSC1 OSC0 OSCI /OSCO XI/XO システム クロック CPU NORMAL 0 0 0 0 発振 発振 OSCI 動作 IDLE 0 0 0 1 発振 発振 XI 動作 SLOW 0 0 1 1 停止 発振 XI 動作 HALT0 0 1 0 0 発振 発振 OSCI 停止 HALT1 0 1 1 1 停止 発振 XI 停止 STOP0 1 0 0 0 停止 停止 停止 停止 STOP1 1 0 1 1 停止 停止 停止 停止 図2-4-2 動作モードの制御とクロック発振・停止 (CPUM:X'3F00'、R/W) NORMALモードからHALTおよびSTOPモード移行の設定の手順は次の通りです。 (1) PSWをマスカブル割込みで復帰する場合はMIEを'1'にセットし、復帰要因となる割込みを受理で きるIM値に設定します。 (2) マスカブル割込み制御レジスタ(xxxICR)の割込み要求フラグ(xxxIR)がクリアされていることを 確認し、復帰要因となる割込み許可フラグ(xxxIE)をセットします。 (3) CPUMをHALTまたはSTOPモードに設定します。 割込み要求フラグをソフトウェアでクリアする場合には、メモリ制御(MEMCTR)のIRWEフラグ をセットして下さい。 スタンバイ機能 II - 25 第2章 CPU基本機能 2-4-3 SLOW-NORMAL 間の移行 2-4-3 SLOW-NORMAL間の移行 本LSIはCPU動作モードとしてNORMALモードとSLOWモードの2種類のモードがあります。SLOWからNORMAL への移行には一旦アイドル状態を経由する必要があります。 NORMALからSLOWモードへ移行するプログラム例を示します。 プログラム 1 MOV x'3', D0 MOV ;SLOWモードセット D0, (CPUM) NORMALからSLOWモードへの移行は低速発振クロックが十分安定して動作している場合は、CPUモード制 御レジスタへの書き込み設定のみで行うことができます。この場合、アイドル状態を経由する必要は ありません。 SLOWモードからNORMALモードへの切換え時には、高速クロックが発振を開始し、十分安定するまでの 間、アイドル状態としてプログラムで待たせる必要があります。 アイドル状態ではCPUは低速発振用クロックで動作しています。 発振安定待ち時間はリセットの場合と同一の時間が必要ですが、リセット時と異なりプログ ラムでカウントする必要があります。発振安定待ち時間は、発振子メーカと協議の上決定さ れることを推奨します。 SLOWからNORMALモードへ移行するプログラム例を示します。 プログラム 2 MOV MOV x'01', D0 D0, (CPUM) プログラム 3 MOV x'0B', D0 LOOP ADD -1, D0 BNE LOOP SUB MOV II - 26 D0, D0 D0, (CPUM) スタンバイ機能 ;IDLEモードセット ;低速クロック32 kHzから高速クロック20 MHzへの移行時、 ;32 kHz動作で約6.7 ms待たせるためのループ ;NORMALモードセット 第2章 CPU基本機能 2-4-4 スタンバイモードへの移行 2-4-4 スタンバイモードへの移行 CPU動作モードからスタンバイモードへの移行はプログラムで行い、スタンバイモードからCPU動作モー ドへは割込みで戻ります。 スタンバイモードへの移行の前に次の設定が必要になります。 (1)プロセッサステータスワード(PSW)の割込み許可フラグ(MIE)とマスカブル割込み制御レジスタ (xxxICR)の割込みイネーブルフラグ(xxxIE)をクリアし、全ての割込みを一旦禁止します。 (2)スタンバイモードからCPU動作モードに復帰させる割込み要因を特定し、復帰対象のマスカブル 割込み制御レジスタ(xxxICR)のxxxIEのみをセットします。さらにPSWのMIEフラグをセットしま す。 NORMAL/ SLOWモード 全ての割込みを禁止 復帰要因となる 割込みを許可 PSWのMIEフラグ、全てのマスカブル割込み制御レジスタ の割込みイネーブルフラグ (xxxIE)をクリア 復帰要因となるxxxIEをセット PSWのMIEフラグをセット HALT/STOP モード設定 ( HALT/ STOPモード ウオッチドッグタイマ HALT:カウント停止 STOP:リセット ) ()内の処理はハード的に行われます。 (STOPモードからの復帰 の場合、発振安定待ち ) 復帰要因となる 割込み発生 NORMAL/ SLOWモード ( ウオッチドッグタイマ HALT:カウント再開 STOP:ディスエーブル ) 割込み受理サイクル 図2-4-3 スタンバイモードへの移行・復帰シーケンス HALT、STOPモードに移行する前に、割込み許可状態でかつ使用する割込みの優先レベルがPSW に設定されたマスクレベル以上になっていない場合、マスカブル割込みではCPU動作状態に 戻れないので注意してください。 スタンバイ機能 II - 27 第2章 CPU基本機能 ■HALTモードへの移行 NORMALモードからはHALT0、SLOWモードからはHALT1に移行します。いずれも発振状態を保ったまま、 CPUのみ停止します。HALTモードからの復帰は割込みか、リセットによって行います。リセットでは、 通常のリセット動作を行い、割込みでは、HALTに入る前の状態に復帰します。ウオッチドッグタイマ がイネーブル状態でHALTモードへ移行した場合、ウオッチドッグタイマはカウントを停止します。CPU 動作状態へ復帰すると継続してカウントを再開します。 プログラム 4 MOV x'4', D0 MOV D0, (CPUM) NOP NOP NOP ;HALTモードセット ;CPUMに書き込んだ後、パイプラインの状態により数命令 ;(3命令以下)を実行します ■STOPモードへの移行 NORMALモードからはSTOP0、SLOWモードからはSTOP1に移行します。いずれも発振、CPUともに停止しま す。STOP0,1からの復帰は割込みか、リセットによって行います。 プログラム 5 MOV x'8', D0 MOV D0, (CPUM) NOP NOP NOP ;STOPモードセット ;CPUMに書き込んだ後、パイプラインの状態により数命令 ;(3命令以下)を実行します HALT、STOPモードへの移行の命令の直後には、必ずnop命令を3つ入れて下さい。 II - 28 スタンバイ機能 第2章 CPU基本機能 2-5 クロック切り換え機能 2-5 クロック切り換え機能 本LSIは、発振クロックの分周比をプログラムにより切り換えて、システムに最適な動作クロックを選 択することができます。分周比は、CPUモード制御レジスタ(CPUM)のフラグと発振周波数制御レジスタ (OSCMD)のフラグにより決定します。最速の場合には、CPUを外部クロックと同一周期で動作させるこ とができ、より広範囲のシステムクロックに対応可能です。 7 CPUM − 6 5 4 OSCSEL1 OSCSEL0 Reserved 3 2 1 0 STOP HALT OSC1 OSC0 (リセット時:−1 100000) 必ず"0"に設定して下さい Reserved OSCSEL1 0 1 OSCSEL0 分周比 NORMALモード SLOWモード 0 1 1 1 4 4 0 16 16 1 32 16 図2-5-1 CPUモード制御レジスタ(CPUM:X'03F00'、R/W) クロック切り換え機能 II - 29 第2章 CPU基本機能 CPU ÷4 高速発振 11 fosc ■ ■ ÷ 2 0 0 1 ÷2 低速発振 ■ fx 11 ■ 00 1 ■ ÷ 4 01 ÷16 1* システム クロック OSCDBL 1 OSC0 ÷ 2 0 fs ■ OSCSEL[1:0] SOSC2DS 図2-5-2 クロック切り換え回路 OSCSEL1 OSCSEL0 高速発振(OSC)入力 に対するfs分周比 (NORMALモード) 0 0 1 1 0 1 0 1 fosc/2 fosc/8 fosc/32 fosc/64 図2-5-3 OSCSELによるNORMALモード時のfs分周比設定 OSCSEL1 OSCSEL0 低速発振(XI/XO)入力 に対するfs分周比 (SLOWモード) 0 0 1 1 0 1 0 1 fx/2 fx/8 fx/32 fx/32 図2-5-4 OSCSELによるSLOWモード時のfs分周比設定 クロックの切り換えは、OSCSELフラグ、OSC0フラグを個別に設定してください。同じ特殊レ ジスタにマッピングされているフラグであっても、2回に分けて設定する必要があります。 II - 30 クロック切り換え機能 第2章 CPU基本機能 2-6 ROM コレクション 2-6 ROMコレクション 2-6-1 概要 2-6-1 概要 本LSIではROMコレクション機能を用いることにより、マスクROM上のプログラムを最大3カ所まで修正・ 変更することが可能です。 修正・変更プログラムは、外部EEPROMを用いるほか、外部からのシリアル転送を応用することにより、 外部から本LSIのRAM領域へ読み込みます。 本機能は外部にEEPROMを持つシステムに有効です。 2-6-2 修正のシーケンス 2-6-2 修正のシーケンス プログラムが修正されるまでのシーケンスを次に示します。 (1) 命令実行アドレスと修正開始アドレスを比較します。 (2) 上記アドレスが一致すれば、RCベクタテーブル(RCnV(L)、RCnV(H))に格納されたRAM領域のアド レス(修正プログラム先頭アドレス)へ間接分岐します。この処理で、6サイクル命令を実行しま す。 (3) RAM領域の修正プログラムを実行します。 (4) ROM領域のプログラムへ分岐(復帰)します。 RCnV(L) RCnV(H) 一致するとRAM上の 修正プログラム 先頭アドレスに間接分岐 label1 NG命令 修正プログラム 外部EEPROMからの 展開データ 修正開始アドレス値 label2_ JMP label2_ 復帰 内蔵ROM 内蔵RAM 図2-6-1 ROMコレクション ROMコレクション II - 31 第2章 CPU基本機能 ROMコレクションを行うためにはあらかじめ下記の設定が必要です。 (1) 修正したいプログラムの開始アドレスをROM修正アドレス設定レジスタ(RCnAPH/M/L)に設定して 下さい。 (2) 修正プログラムをRAM領域に設定して下さい。 (3) 修正プログラムの先頭アドレスをRCベクタテーブル (RCnV(L)、RCnV(H))に設定して下さい。 (4) ROMコレクション制御レジスタ(RCCTR)のRCnENフラグをセットしてROMコレクション機能を許 可して下さい。 修正プログラム先頭アドレスの命令がハーフバイト命令の場合、ROMコレクション機能によ りハーフバイトの実行命令をチェックします。したがって、ROM修正アドレス設定レジスタ には「バイト単位」のアドレス値を設定して下さい。 修正プログラム終了アドレスの命令がハーフバイト命令の場合、復帰アドレスは、「ハーフ バイト単位」のアドレス値を設定して下さい。 II - 32 ROMコレクション 第2章 CPU基本機能 2-6-3 ROM コレクション制御レジスタ 2-6-3 ROMコレクション制御レジスタ ROMコレクション機能は、ROMコレクション制御レジスタ(RCCTR)および、ROM修正アドレス設定レジス タ(RCnAPL、RCnAPM、RCnAPH)で制御します。 ROMコレクション制御レジスタ(RCCTR)は、修正が必要な3箇所のプログラムそれぞれに対し、ROMコレ クション機能の許可/禁止を制御するレジスタです。RCnENフラグをセットするとROMコレクション機 能が働きます。ROM修正アドレス設定レジスタに設定したアドレスとROMアドレス(命令実行アドレス) が一致するとRCベクタテーブル(RCnV(L)、RCnV(H))に設定されたRAM上のアドレスに間接分岐します。 ROM修正アドレス設定レジスタを設定後にRCnENフラグをセットしてください。 ■ROMコレクション制御レジスタ(RCCTR) RCCTR 7 6 5 4 3 2 1 0 − − − − − RC2EN RC1EN RC0EN (リセット時:− − − − −000) RC0EN 第1アドレスのROMコレクションの制御 0 禁止 1 許可 RC1EN 第2アドレスのROMコレクションの制御 0 禁止 1 許可 RC2EN 第3アドレスのROMコレクションの制御 0 禁止 1 許可 図2-6-2 ROMコレクション制御レジスタ(RCCTR:X'03F09'、R/W) ROMコレクション II - 33 第2章 CPU基本機能 ROM修正アドレス設定レジスタは、修正が必要な命令が格納されている開始アドレスを設定するレジス タです。本レジスタに設定した値と命令実行アドレスが一致すると、RCベクタテーブル(RCnV(L)、RCnV (H))に設定したアドレスに間接分岐します。ROMコレクション機能を有効にする場合は、本レジスタに 所望のアドレスを設定後、ROMコレクション制御レジスタ(RCCTR)のRCnENフラグをセットしてくださ い。 ■ROM修正アドレス0設定レジスタ(RC0AP) 7 RC0APL 6 5 4 3 2 1 0 RC0APL7 RC0APL6 RC0APL5 RC0APL4 RC0APL3 RC0APL2 RC0APL1 RC0APL0 (リセット時:X X X X X X X X ) 図2-6-3 ROM修正アドレス0設定レジスタ下位8ビット(RC0APL:X'03FC7'、R/W) 7 RC0APM 6 5 4 3 2 1 0 RC0APM7 RC0APM6 RC0APM5 RC0APM4 RC0APM3 RC0APM2 RC0APM1 RC0APM0 (リセット時:X X X X X X X X ) 図2-6-4 ROM修正アドレス0設定レジスタ中位8ビット(RC0APM:X'03FC8'、R/W) RC0APH 7 6 5 4 3 2 − − − − − − 1 0 RC0APH1 RC0APH0 (リセット時:−−−−−− X X ) 図2-6-5 ROM修正アドレス0設定レジスタ上位2ビット(RC0APH:X'03FC9'、R/W) ■ROM修正アドレス1設定レジスタ(RC1AP) 7 RC1APL 6 5 4 3 2 1 0 RC1APL7 RC1APL6 RC1APL5 RC1APL4 RC1APL3 RC1APL2 RC1APL1 RC1APL0 (リセット時:X X X X X X X X ) 図2-6-6 ROM修正アドレス1設定レジスタ下位8ビット(RC1APL:X'03FCA'、R/W) 7 RC1APM 6 5 4 3 2 1 0 RC1APM7 RC1APM6 RC1APM5 RC1APM4 RC1APM3 RC1APM2 RC1APM1 RC1APM0 (リセット時:X X X X X X X X ) 図2-6-7 ROM修正アドレス1設定レジスタ中位8ビット(RC1APM:X'03FCB'、R/W) RC1APH 7 6 5 4 3 2 − − − − − − 1 0 RC1APH1 RC1APH0 (リセット時:−−−−−−X X ) 図2-6-8 ROM修正アドレス1設定レジスタ上位2ビット(RC1APH:X'03FCC'、R/W) II - 34 ROMコレクション 第2章 CPU基本機能 ■ROM修正アドレス2設定レジスタ(RC2AP) 7 RC2APL 6 5 4 3 2 1 0 RC2APL7 RC2APL6 RC2APL5 RC2APL4 RC2APL3 RC2APL2 RC2APL1 RC2APL0 (リセット時:X X X X X X X X ) 図2-6-9 ROM修正アドレス2設定レジスタ下位8ビット(RC2APL:X'03FCD'、R/W) 7 RC2APM 6 5 4 3 2 1 0 RC2APM7 RC2APM6 RC2APM5 RC2APM4 RC2APM3 RC2APM2 RC2APM1 RC2APM0 (リセット時:X X X X X X X X ) 図2-6-10 ROM修正アドレス2設定レジスタ中位8ビット(RC2APM:X'03FCE'、R/W) RC2APH 7 6 5 4 3 2 − − − − − − 1 0 RC2APH1 RC2APH0 (リセット時:−−−−−−X X ) 図2-6-11 ROM修正アドレス2設定レジスタ上位2ビット(RC2APH:X'03FCF'、R/W) 複数のRCnAP(H/M/L)レジスタに同一のアドレス設定を行わないで下さい。同一のアドレスを 設定した場合は下記に示す優先順位に従います。 RC0AP>RC1AP>RC2AP ROM修正アドレス設定レジスタ、ROMコレクション制御レジスタのROMコレクション制御フラグとRCベク タテーブルとの関係を次にまとめます。 表2-6-1 ROM修正アドレス設定レジスタとの対応表 ROM修正アドレス設定レジスタ RCベクタテーブル ROMコレクション 制御フラグ 第1 修正 第2 修正 第3 修正 レジスタ略称 アドレス RC0APL X'3FC7' RC0APM X'3FC8' RC0APH X'3FC9' RC1APL X'3FCA' RC1APM X'3FCB' RC1APH X'3FCC' RC2APL X'3FCD' RC2APM X'3FCE' RC2APH X'3FCF' ベクタ略称 アドレス RC0V(L) X'0010' RC0V(H) X'0011' RC1V(L) X'0012' RC1V(H) X'0013' RC2V(L) X'0014' RC2V(H) X'0015' RC0EN RC1EN RC2EN ROMコレクション II - 35 第2章 CPU基本機能 2-6-4 ROM コレクション動作の設定例 2-6-4 ROMコレクション動作の設定例 ■ROMコレクション使用のための初期ルーチン ROMコレクション機能を使用するためには、プログラムが修正できるように次のような初期ルーチンを 組んでおく必要があります。また、外部EEPROMにROMコレクション用の設定、修正プログラムをあらか じめ格納しておいて下さい。 ROMコレクション実行のための設定ステップを以下に示します。 初期設定 ROMコレクション を使う no yes ステップ1 外部EEPROMの修正プログラムを RAM領域に展開 ステップ2 ROM修正アドレス設定レジスタ、 RCベクタテーブルを設定 ステップ3 ROMコレクション動作許可 メインプログラム 図2-6-12 ROMコレクション使用のための初期ルーチン II - 36 ROMコレクション 第2章 CPU基本機能 ■ROMコレクション動作の設定例 ROMコレクション機能を用いて、2箇所のプログラムを修正するための手順を以下に示します。 ROMコレクション実行のための設定ステップは前ページ図2-6-12 ROMコレクション使用のための初期 ルーチンを参照して下さい。 (ステップ1) 外部EEPROMの修正プログラムをRAM領域に展開して下さい。 外部EEPROM 内蔵RAM アドレス データ 06B4 06B5 06B6 06B7 06B8 06B9 06BA 06BB 06BC 06BD 06BE 06BF 06C0 06C1 06C2 0A 00 85 93 C2 91 F0 FF 0A 14 85 93 02 90 00 展開 アドレス データ 0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 000A 000B 000C 000D 000E 000F 0010 0011 0012 0013 0014 0015 0016 0017 0018 0019 03 19 09 01 B4 06 FD 08 01 BC 06 0A 00 85 93 C2 91 F0 FF 0A 14 85 93 02 90 00 プログラム管理バージョン ROM修正アドレス0設定レジスタ(RC0AP)への設定値 第1修正プログラム展開先の先頭アドレス ROM修正アドレス1設定レジスタ(RC1AP)への設定値 第2修正プログラム展開先の先頭アドレス 第1修正プログラム命令コード ハーフバイト命令調整用(実ROMでは不要) 第2修正プログラム命令コード (ステップ2) ROM修正アドレス設定レジスタ、RCベクタテーブルを設定して下さい。 【第1修正の設定】 第1番目に修正したいプログラムの開始アドレス をROM修正アドレス0設定レジスタ(RC0AP)に 設定して下さい。 RC0APL = x'19' RC0APM = x'09' RC0APH = x'01' 第1修正プログラムが格納されている内蔵RAM アドレスx'06B4'をRCベクタテーブルアドレス (RC0V(L)、RC0V(H))に設定して下さい。 RC0V(L)= x'B4' RC0V(H)= x'06' 修正したい第1プログラム(内蔵ROM) 修正開始アドレス(RC0APの設定値) アドレス 10916 10919 1091B 1091C 1091E データ cbne mov mov bra sub D900A0 A005 58 8940 B4 0, d1, 1091E 50, d0 d0, (a0) 10920 d0, d0 復帰先(戻り)アドレス 第1修正プログラム(内蔵RAM) 修正プログラム先頭アドレス(RC0Vの設定値) アドレス 006B4 006B6 006B7 データ A000 58 392C190 mov mov bra 0, d0 d0, (a0) 1091C 復帰(戻り)アドレス ROMコレクション II - 37 第2章 CPU基本機能 【第2修正の設定】 第2番目に修正したいプログラムの開始アドレス をROM修正アドレス1設定レジスタ(RC1AP)に 設定して下さい。 RC1APL = x'FD' RC1APM = x'08' RC1APH = x'01' 第2修正プログラムが格納されている内蔵RAM アドレスx'06BC'をRCベクタテーブルアドレス (RC1V(L)、RC1V(H))に設定して下さい。 RC1V(L)= x'BC' RC1V(H)= x'06' 修正したい第2プログラム(内蔵ROM) 修正開始アドレス(RC1APの設定値) アドレス 108FC 108FD 108FF 10900 10901_ データ sub mov mov addw mov 85 A011 58 EC1 A081 d1, d1 11, d0 d0, (a0) 1, a0 _Msyscom_edge, 0 復帰先(戻り)アドレス 第2修正プログラム(内蔵RAM) 修正プログラム先頭アドレス(RC1Vの設定値) アドレス 006BC 006BE 006BF データ A041 58 3920090 mov mov jmp 14, d0 d0, (a0) 10900 復帰(戻り)アドレス (ステップ3) ROMコレクション制御レジスタ(RCCTR)のビット0(RC0EN)、ビット1(RC1EN)を"1"に セットして下さい。 メインプログラムのスタート後は、ROMコレクション回路内のコンパレータで命令フェッ チアドレスとROM修正アドレス設定レジスタ(RCnAP)に設定したアドレスが常に比較され、 一致するとRCベクタテーブル(RCnV)に格納されているRAM領域のアドレスに間接分岐しま す。 RAM領域の修正プログラムを実行します。 ROM領域のプログラムへ分岐(復帰)します。 II - 38 ROMコレクション 第2章 CPU基本機能 2-7 リセット 2-7 リセット 2-7-1 リセット動作 2-7-1 リセット動作 NRST端子(P27)を"L"レベルにするとCPU内部にリセットがかかり、レジスタが初期化されます。 ■リセット状態への移行 リセット状態への移行は、次の2つの方法があります。 (1) NRST端子に"L"を入力します。 NRST端子は、少なくとも高速発振(OSC)4クロック以上の間"L"を保ってください。 NRST端子 4発振クロック (20 MHz時 200 ns) 図2-7-1 最小リセットパルス幅 (2) P2OUTレジスタのP2OUT7フラグを"0"に設定することでP27(NRST)端子に"L"レベルが出力され、プ ログラムによるリセット状態への移行(ソフトウエア・リセット)が実現できます。 LSI内部にリセットがかかりレジスタが初期化されると、P2OUT7フラグは"1"になりリセットが解 【 第4章 4-4-2. ポート2のレジスタ】 除されます。 MN101C56Cシリーズでは、高速発振をベースクロックとするNORMALモードから立ち上がりま す。 電源電圧低下回路をNRST端子に接続する場合は、瞬断に対しても充分な"L"レベル時間のパ ルスを与える回路を採用してください。また発振クロックが4クロック以下の"L"レベル時間 のパルスでもリセットが発生する可能性がありますので、ノイズ等に注意が必要です。 リセット II - 39 第2章 CPU基本機能 ■リセット時のシーケンス (1) リセット端子が"L"から"H"になると、内部の14ビットカウンタ(ウオッチドッグタイマ兼用)によ るシステムクロックのカウント動作が開始します。このカウンタが、カウントを始めてからオー バフローするまでの期間を「発振安定待ち」と呼びます。 (2) (3) リセット期間中に、内部レジスタ、特殊レジスタが初期化されます。 発振安定待ちが終了すると内部リセットが解除され、アドレスX'04000'番地のベクタテーブルに 書かれたアドレスからプログラムの実行を開始します。 VDD NRST OSC2/XO 発振安定待ち 内部RST 図2-7-2 リセット解除シーケンス II - 40 リセット 第2章 CPU基本機能 2-7-2 発振安定待ち時間 2-7-2 発振安定待ち時間 発振安定待ち時間とは、発振回路が停止状態から安定して発振するまでの必要時間のことです。リセッ ト解除時やSTOPモードからの復帰時には、自動的に発振安定待ち時間が挿入されます。STOPモードか らの復帰時には、発振安定待ち制御レジスタ(DLYCTR)を設定することにより、発振安定待ち時間を選 択することができます。リセット解除時は、発振安定待ち時間は固定です。 発振安定待ち時間をカウントするタイマは、ウオッチドッグタイマと兼用しています。リセット解除 時やSTOPモードからの復帰時以外では、暴走検出タイマとして機能します。 リセットないしSTOPモードの状態でウオッチドッグタイマは初期化され、システムクロック(fs)をク ロックソースとして初期値(x'0000')からカウントを開始します。発振安定待ち終了後は、ウオッチ ドッグタイマとして継続してカウントを続けます。【 第9章 ウオッチドッグタイマ機能】 ■発振安定待ち(ウオッチドッグタイマ)機能ブロック図 NRST STOP writeWDCTR R 1/2 1/214 HALT fs (sysclk) DLYCTR ― ― DLYS0 DLYS1 BUZS0 BUZS1 BUZS2 BUZOE 0 7 WDCTR WDEN WDTS0 WDTS1 WDTC0 WDTC1 WDTC2 ― ― R 1/215 1/220 R S fs/214 fs/210 fs/26 fs/22 MUX fs/220 fs/218 fs/216 MUX internal reset release WDIRQ 0 7 図2-7-3 発振安定待ち(ウオッチドッグタイマ)機能ブロック図 リセット II - 41 第2章 CPU基本機能 ■発振安定待ち制御レジスタ 7 DLYCTR 6 5 4 3 BUZOE BUZS2 BUZS1 BUZS0 DLYS1 2 1 0 DLYS0 - - (リセット時: 0 0 0 0 0 1 - - ) DLYS1 DLYS0 0 1 発振安定待ち周期選択 0 fs/214 1 fs/210 0 1 fs/26 fs/22 *リセット解除後の発振安定待ち周期は、fs/210になります。 BUZS2 BUZS1 0 0 1 0 1 1 BUZOE BUZS0 ブザー出力周波数選択 0 fosc/214 1 fosc/213 0 fosc/212 1 fosc/211 0 fosc/210 1 fosc/29 0 fx/24 fx/23 1 P06出力選択 0 P06ポート出力 1 P06ブザー出力 図2-7-4 発振安定待ち制御レジスタ(DLYCTR:X'03F03'、R/W) ■発振安定待ち時間の制御 STOPモードからの復帰では、発振安定待ち制御レジスタ(DLYCTR)のビット3-2 (DLYS1, DLYS0)を設定 することにより、発振安定待ち時間を2 14, 210, 26, 22×システムクロックから選択することができま す。 DLYCTRレジスタはブザー機能の制御と兼ねています。【 第10章 ブザー機能】 リセット解除時は、発振安定待ち時間は「210×システムクロック」固定になります。システムクロッ クはCPUモード制御レジスタ(CPUM)の内容により決定されます。 表2-7-1 発振安定待ち時間 DLYS1 0 0 1 1 II - 42 リセット DLYS0 0 1 0 1 発振安定待ち時間 2 14 X シ ステムクロック 10 X システムクロック 6 X システムクロック 2 X システムクロック 2 2 2 第3章 割込み機能 2 3 4 17 第3章 割込み機能 3-1 割込み機能の概要 3-1 割込み機能の概要 本LSIの割込み機能は、割込み処理プログラムに直接分岐するベクタ方式を採用することで、応答の高 速化を図っています。本LSIの割込みベクタは、リセット、ノンマスカブル割込み(NMI)と6本の外部割 込み、及び16本の内部割込み(周辺機能割込み)で構成されています。 リセットを除いた通常の割込み動作は、割込み要求、割込み受理動作、ハードウエア処理のシーケン スから成り立っています。割込みのハードウエア処理では、プログラムカウンタ(PC)、プロセッサス テータスワード(PSW)、ハンディアドレッシング情報(HA)をスタック領域に退避し、ベクタで指定され るアドレスに分岐します。割込み処理プログラム終了後には、RTI命令でこれらの退避データを復帰し ます。割込みの発生から割込み処理プログラムへの分岐には最大で12マシンサイクル、復帰は最大で 11マシンサイクルです。 割込み機能の制御は、各割込み毎に設けられた割込み制御レジスタで行います。割込み制御レジスタ では、割込み要求フラグ(IR)、割込み許可フラグ(IE)、割込みレベル指定フラグ(LV1-0)を設定しま す。 割込み要求フラグ(IR)は、割込み要因となるイベントが発生すると "1" にセットされ、割込みが受 理されるとクリアされて "0" になります。割込み要求フラグはハードウエアによって操作されるフ ラグですが、ソフトウエアによる書き換えも可能です。 割込み許可フラグ(IE)は、指定された割込みを許可するフラグです。ノンマスカブル割込み(NMI)には 割込み許可フラグはなく、割込み要求フラグがセットされると無条件に割込みが受理されます。マス カブル割込みには、割込み許可フラグが設けられています。マスカブル割込みの割込み許可フラグは、 PSWのマスカブル割込み許可フラグ(MIEフラグ)が "1" の場合に有効になります。 マスカブル割込みには、ハードウエアによりあらかじめベクタ番号が定められていますが、割込みレ ベル指定フラグ(LV1-0)の設定により、ユーザプログラムで優先順位を付与することもできます。割込 みレベルは、合計3レベルに階層化されており、同じ割込みレベルに設定した複数の割込みの優先順位 はベクタ番号の小さい方が高くなります。 マスカブル割込みは、PSWの割込みマスクレベル(IM1-0)に設定されているレベルより高い割込みレベ ル(LV1-0)の場合に受理されます。ノンマスカブル割込みにはレベルの指定はなく、常に最優先で受け 付けられます。 III - 2 割込み機能の概要 第3章 割込み機能 3-1-1 割込み機能一覧 3-1-1 割込み機能一覧 表3-1-1 割込み機能一覧表 割込みの種類 リセット割込み ノンマスカブル割込み マスカブル割込み ベクタ番号 0 1 2∼28 テーブルアドレス X'04000' X'04004' X'04008'∼X'04070' スタートアドレス ベクタテーブルで指定するアドレス 割込みレベル − − レベル0から2 (プログラムで設定) 割込み要因 外部RST端子入力 暴走検出、PI割込み 外部端子入力 内蔵周辺機能による 割込み 発生(要求)動作 CPUコアに直接入力 ノンマスカブル割込み 制御レジスタ(NMICR)か らCPUコアに入力 マスカブル割込み制御 レジスタ(xxxICR)の割 込みレベルフラグ (xxxLVn)に設定された 割込み要求レベルを CPUコアに入力 PSWの割込みマスクレ ベル(IM)とレジスタ (xxxICR)の割込み制御 により、受理が決定 受理状態 常時、受理 常時、受理 受理までの マシンサイクル 12 12 受付後のPSWの状態 全てのフラグが"0"に クリア PSWの割込みマスク レベルフラグが"00"に クリア 12 割込みレベルフラグ (xxxLVn)の内容がPSW の割込みマスクレベル に設定(受理したレベル と同等またはより優先 度の低い割込み要求を マスクします。) 割込み機能の概要 III - 3 第3章 割込み機能 3-1-2 割込み機能のブロック図 3-1-2 割込み機能のブロック図 PSW 7 6 5 4 3 2 1 0 MIEIM1IM0 レベル 判定 割込み CPUコア Vector 1 IRQNMI 7 6 5 4 3 2 1 0 IRQLVL 2 - 0 NMICR PI WDOG Vector 2 7 6 5 4 3 2 1 0 xxxIE xxxIR IRQ0ICR xxxLV1-0 xxxLV : Interrupt Level xxxIE : Interrupt Enable xxxIR : Interrupt Request 0 1 周辺機能 I/O DEC 2 Vector N Vector 28 7 6 5 4 3 2 1 0 xxxICR xxxLV1-0 xxxIE xxxIR xxxLV : Interrupt Level xxxIE : Interrupt Enable xxxIR : Interrupt Request 0 1 DEC 2 図3-1-1 割込み機能のブロック図 III - 4 割込み機能の概要 周辺機能 I/O 第3章 割込み機能 3-1-3 割込み機能の動作 3-1-3 割込み機能の動作 ■割込み処理のシーケンス リセットを除いた通常の割込み動作は、割込み要求、割込み受理動作、ハードウエア処理のシーケン スから成り立っています。割込みのハードウエア処理では、プログラムカウンタ(PC)、プロセッサス テータスワード(PSW)、ハンディアドレッシング情報(HA)をスタック領域に退避し、ベクタで指定され るアドレスに分岐します。割込み処理プログラム終了後には、RTI命令でこれらの退避データを復帰し ます。割込み処理プログラム終了後、受理時に退避したレジスタの値を復帰し、割込み発生時の元の プログラムに復帰します。 (MIEをクリアする IM0-1='00' ) リセット メイン・プログラム MIEをセットする IM1-0='11' 割込み(1)発生 (xxxLV1-0='00') (IM1-0='00') IL<IMかつ MIE='1'なので受け付けられる 割込み受理サイクル 割込み処理プログラム (1) ※1 割込み(2)発生 ( xxxLV1-0='10') RTI ※2 (IM1-0='10') (IM1-0='11') 割込み受理サイクル 割込み処理プログラム(2) RTI 割込み発生 (xxxLV1-0='11') (IM1-0='11') IM=ILなので受け付けられない ( )内の処理はハード的に行われます。 ※1:割込み処理プログラム(1)内での割込み発生は、IL<IMであれば多重割込みとして受理されます。 IL>IMであれば受理されません。 ※2:割込み処理プログラム(1)内で発生した割込み(2)がIL≧IMで受理されなかった場合、 割込み処理プログラム(1)終了後受理されます。 図3-1-2 割込み処理のシーケンス (マスカブル割込み) 割込み機能の概要 III - 5 第3章 割込み機能 ■割込みベクタアドレスと割込みグループ 割込みベクタアドレスと割込みグループの対応を次表に示します。 表3-1-2 割込みベクタアドレスと割込みグループ ベクタ番号 III - 6 割込みグループ(割込み要因) ベクタアドレス 0 X'04000' リセット 1 X'04004' ノンマスカブル割込み NMI NMICR X'03FE1' 2 X'04008' 外部割込み0 IRQ0 IRQ0ICR X'03FE2' 3 X'0400C' 外部割込み1 IRQ1 IRQ1ICR X'03FE3' 4 X'04010' 外部割込み2 IRQ2 IRQ2ICR X'03FE4' 5 X'04014' 外部割込み3 IRQ3 IRQ3ICR X'03FE5' 6 X'04018' 外部割込み4 IRQ4 IRQ4ICR X'03FE6' 7 X'0401C' Reserved − − − 8 X'04020' Reserved − − − 9 X'04024' タイマ0割込み TM0IRQ TM0ICR X'03FE9' 10 X'04028' タイマ1割込み TM1IRQ TM1ICR X'03FEA' 11 X'0402C' Reserved 12 X'04030' タイマ3割込み 13 X'04034' Reserved − − − 14 X'04038' Reserved − − − 15 X'0403C' タイマ6割込み TM6IRQ TM6ICR X'03FEF' 16 X'04040' タイムベース割込み TBIRQ TBICR X'03FF0' 17 X'04044' タイマ7割込み TM7IRQ TM7ICR X'03FF1' 18 X'04048' タイマ7コンペア2一致割込み T7OC2IRQ T7OC2ICR X'03FF2' 19 X'0404C' タイマ8割込み TM8IRQ TM8ICR X'03FF3' 20 X'04050' タイマ8コンペア2一致割込み T7OC2IRQ T7OC2ICR X'03FF4' 21 X'04054' シリアル0UART受信割込み SC0RIRQ SC0RICR X'03FF5' 22 X'04058' シリアル0割込み SC0TIRQ SC0TICR X'03FF6' 23 X'0405C' Reserved 24 X'04060' シリアル2割込み 25 X'04064' Reserved 26 X'04068' A/D変換割込み 27 X'0406C' Reserved − − − 28 X'04070' Reserved − − − 29 X'04074' Reserved − − − 30 X'04078' Reserved − − − 割込み機能の概要 − 制御レジスタ(アドレス) − TM3IRQ − − TM3ICR − SC2IRQ − SC2ICR − ADIRQ − ADICR − − X'03FEC' − X'03FF8' − X'03FFA' 第3章 割込み機能 ■割込みレベルと優先順位 本LSIは、割込みごとにベクタ番号と割込み制御レジスタ(リセット割込みを除く)が割り当てられてい ます。本LSIでは、割込みグループごとに割込みレベル(リセット割込みとノンマスカブル割込みを除 く)をプログラムによって設定することができます。割込みレベルは合計3レベルに階層化されていま す。同じ割込みレベルに設定した複数の割込みの優先順位はベクタ番号の小さい方が高くなります。 (レベル1に設定されたベクタ3の割込みとレベル2に設定されたベクタ4の割込みが同時に発生した場 合、ベクタ3の割込みが受理されます。) ベクタ1(ノンマスカブル割込み) 割 込 み レ ベ ル 設 定 範 囲 レベル 0 レベル1 レベル2 ベクタ2、5、6 ベクタ3 ベクタ4、8 優先順位 1 割込みベクタ番号 ベクタ1 2 ベクタ2 3 ベクタ5 4 ベクタ6 5 ベクタ3 6 ベクタ4 7 ベクタ8 図3-1-3 割込みレベルの例 割込み機能の概要 III - 7 第3章 割込み機能 ■割込み受理の判定 割込み要因が発生し、受理されるまでのシーケンスを次に示します。 (1) 割込み要因に対応した外部割込み制御レジスタ(IRQnICR)、内部割込み制御レジスタ(xxxICR) の割込み要求フラグ(xxxIR)が "1"になります。 (2) 割込み要求フラグに対応する割込み許可フラグ(xxxIE)が"1"である場合、割込み要求信号が CPUに対して出力されます。 (3) 割込み要求信号は、割込みに対して個別に設定された割込みレベルの情報です。割込みレベル フラグ(xxxLV1-0)に設定されたレベルがCPUに出力されます。 (4) 出力された割込み要求信号がプロセッサステータスワード(PSW)の割込みマスクレベル(IM1-0) に設定されているレベルよりも高いレベルの割込み要求であり、かつPSWの割込み許可フラグ (5) (MIE)が "1"(許可)である場合に割込みが受理されます。 割込み受理後、割込み要求フラグ(xxxIR)がクリアされます。 現在の割込みマスクレベル(IM) 7 PSW 0 ― MIE IM1 IM0 VF NF CF ZF レベル判定 IL<IMで割込み受理 0 7 xxxICR xxxLV1 xxxLV0 xxxIE xxxIR 発生した割込みレベル(IL) 図3-1-4 割込み受理の判定 割込み受理後、割込みイネーブルフラグ(xxxIE)はクリアされません。 III - 8 割込み機能の概要 第3章 割込み機能 マスカブル割込み許可フラグ(MIE)は、次の場合に"0"となり、割込みが禁止されます。 ・プログラムによりPSWのMIEに"0"を書き込んだ場合 ・リセットが入力された場合 MIEフラグは、次の場合に"1"となり、割込みが許可されます。 ・プログラムによりPSWのMIEに"1"を書き込んだ場合 割込みマスクレベル(IM1-0)は、以下の場合にその値が変更されます。 ・プログラムによりPSWのIM1-0に変更値を書き込んだ場合 ・リセット入力を受け付けた場合は、IM1-0="00"となります。 ・マスカブル割込みを受け付けた場合は、その割込みレベルの値となります。 ・割込み処理プログラムの最後で、RTI命令を実行した場合は、割込みを受け付ける前のマスクレ ベルの値に復帰します。 割込みを受理したとき、PSWのMIEは"0"にクリアされません。 ノンマスカブル割込みとマスカブル割込みが同時に発生した場合は、ノンマスカブル割込み が優先されます。 割込み機能の概要 III - 9 第3章 割込み機能 ■割込み受理の動作 本LSIは、割込みを受理するとハードウェアにより、プログラムの復帰アドレス、PSWなどをスタック 領域へ退避し、割込みベクタテーブルで指定された割込みプログラムの先頭番地に分岐します。 割込み受理時にハードウェアにより処理されるシーケンスを次に示します。 (1) スタックポインタ(SP)の値を更新します。 (SP−6)→(SP) (2) ハンディアドレスレジスタ(HA)をスタックに退避します。 HA上位→(SP+5) (3) HA下位→(SP+4) プログラムカウンタ(PC=戻り先番地)の内容をスタックに退避します。 PC(ビット18∼ビット17,ビット0)→(SP+3) PC(ビット16∼ビット9)→(SP+2) (4) PC(ビット8∼ビット1)→(SP+1) PSWをスタックに退避します。 (5) PSW→(SP) 受理した割込みのxxxLVnをPSWのIMnに 7 新 SP (割込み受理後) コピーします。 割込みレベル(xxxLVn)→IMn (6) 0 小 PSW PC8∼1 PC16∼9 PC0 ベクタテーブルのアドレスに分岐する。 reserved PC18,17 アドレス HA7∼0 HA15∼8 ■割込み復帰の動作 割込みからの復帰は、割込み処理で退避した レジスタ等の値をプログラム(POP命令)により 復帰させた後、RTI命令で割込み受理時に実行 旧 SP (割込み受理前) 大 図3-1-5 割込み時のスタックの状態 していたプログラムに復帰します。 リターン割込み命令(RTI)のシーケンスを次に示します。 (1) スタック(SP)に退避したプロセッサステータスワード(PSW)の内容を復帰します。 (2) (3) スタック(SP+1∼3)に退避したプログラムカウンタ(PC=戻り先番地)の内容を復帰します。 ハンディアドレスレジスタ(HA)をスタック(SP+4, 5)から復帰します。 (4) (5) SPの値を更新します。(SP+6)→(SP) PCが示す番地へ分岐します。 ハンディアドレスレジスタは、ハンディアドレッシング機能が割込により影響を受けないように するため、退避される内部レジスタです。 データレジスタ、アドレスレジスタ等のレジスタは、退避しませんので必要に応じてプログ ラムによりPUSH命令を使用してスタックへ退避してください。 プログラムカウンタPC(ビット18∼ビット17、ビット0)が退避されるアドレスの bp6∼bp2 はリザーブとなっています。プログラムで変更しないで下さい。 III - 10 割込み機能の概要 第3章 割込み機能 ■マスカブル割込み 割込み処理中にマスクレベルが低い割込みが発生した場合のシーケンスを次に示します。 (割込み(1):xxxLV1-0="00"、割込み(2):xxxLV1-0="10"の場合) (MIEをクリアする IM0-1='00' ) リセット メイン・プログラム MIEをセットする IM1-0='11' 割込み(1)発生 (xxxLV1-0='00') (IM1-0='00') IL<IMかつ MIE='1'なので受け付けられる 割込み受理サイクル 割込み処理プログラム (1) ※1 割込み(2)発生 ( xxxLV1-0='10') RTI ※2 (IM1-0='10') (IM1-0='11') 割込み受理サイクル 割込み処理プログラム(2) RTI 割込み発生 (xxxLV1-0='11') (IM1-0='11') IM=ILなので受け付けられない ( )内の処理はハード的に行われます。 ※1:割込み処理プログラム(1)内での割込み発生は、IL<IMであれば多重割込みとして受理されます。 IL>IMであれば受理されません。 ※2:割込み処理プログラム(1)内で発生した割込み(2)がIL≧IMで受理されなかった場合、 割込み処理プログラム(1)終了後受理されます。 図3-1-6 マスカブル割込みの処理シーケンス 割込み機能の概要 III - 11 第3章 割込み機能 ■多重割込み 本LSIは、割込み受理後、受理した割込みよりレベルの低い割込みの受理を自動的に禁止します。 割込み受理時、受理した割込みのxxxLV1-0をプロセッサステータスワード(PSW)のIM1-0にコピーしま す。従って割込み受理後は、受理した割込みよりレベルの低い割込みは自動的に禁止されますが受理 した割込みよりレベルの高い割込みは多重割込みとして受理されます。基本的に割込み処理中にかか わらずレベルでの優先順位付けで動作しますが、以下の手順で多重割込みを制御することも可能です。 1.多重割込みを禁止する場合 ・PSWのMIEを'0'にクリアする。 ・PSWのIM1-0を書き換えてマスクレベルを上げる。 のどちらかで対応できます。 2.受理した割込みよりレベルが低い割込みを許可する場合 ・PSWのIM1-0を書き換えてマスクレベルを下げる。 多重割込みが許可されるのは、PSWの割込みマスクレベル(IM)よりもレベルの高い割込みに 限られます。 IMを強制的に書き換えることで、現在処理中の割込みより優先度の低い割込みを受けること も可能ですが、多重割込みによるスタックのオーバフローに注意してください。 多重割込み許可中にマスカブル割込み制御レジスタ(xxxICR)を操作しないでください。操作 が必要な場合には、一旦PSWのMIEフラグをクリアし、割込みを禁止してください。 III - 12 割込み機能の概要 第3章 割込み機能 多重割込みのシーケンスを次に示します。 (割込み(1):xxxLV1- 0="10"、割込み(2):xxxLV1-0="00"の場合) メイン・プログラム IM1-0='11' 割込み(1)発生: (xxxLV1-0='10') (IM1-0='10') IL<IM なので受け付けられる 割込み受理サイクル 割込み処理プログラム (1) ※割込み(2)発生: ( xxxLV1-0='00') (IM1-0='00') IL<IMなので受け付けられる 割込み受理サイクル 割込み処理プログラム(2) 割込み処理プログラム(1)の再開 RTI RTI (IM1-0='10') (IM1-0='11') ( )内の処理はハード的に行われます。 図3-1-7 多重割込みの処理シーケンス 割込み機能の概要 III - 13 第3章 割込み機能 3-1-4 割込みフラグの設定 3-1-4 割込みフラグの設定 ■割込み要求フラグ(IR)のソフトウエアによる書き換え 割込み要求フラグはハードウエアによって操作されるフラグで、割込み要因となるイベントが発生す ると "1" にセットされ、割込みが受理されるとクリアされて "0" になります。割込み要求フラグを ソフトウエアで書き換えるには、MEMCTRレジスタのIRWEフラグをセットする必要があります。 ■割込みフラグの設定手順 以下に、割込み要求フラグのソフト変更も含めた、割込みフラグの設定手順とその内容を示します。 内容 設定手順 (1) 全マスカブル割込みの禁止 PSW bp6 : MIE = 0 (1) PSWのMIEフラグをクリアして、全マスカブル 割込みを禁止します。割込み制御レジスタを変 更する場合は、必ず行ってください。 (2) 割込み要因の設定 (2) 割込みエッジの選択や、タイマの割込み周期の 変更など、割込み要因の選択を行います。 (3) 割込み要求フラグの書き込み許可 (3) メモリ制御レジスタ(MEMCTR)のIRWEフラグ MEMCTR (x'3F01') bp2 : IRWE = 1 グをセットして、割込み要求フラグのソフトに よる書き込みを許可します。割込み要求フラグ のソフト変更時のみ必要です。 (4) 割込み要求フラグの書き換え xxxICR bp0 : xxxIR (5) 割込み要求フラグの書き込み禁止 MEMCTR (x'3F01') bp2 : IRWE bp5-4 (6) 割込み制御レジスタ(xxxICR)のxxxLV1-0フラ グで割込みレベルを設定します。 : xxxLV1-0 CPUの割込み受理レベルの変更が必要な場合 : IM1-0 は、PSWのIM1-0フラグを設定してください。 (7) 割込みの許可 xxxICR bp1 (7) 割込み制御レジスタ(xxxICR)のxxxIEフラグを セットして、割込みを許可します。 : xxxIE = 1 (8) 全マスカブル割込みの許可 PSW bp6 III - 14 (5) IRWEフラグをクリアして、割込み要求フラグ のソフト書き込みを禁止します。 = 0 (6) 割込みレベルの設定 xxxICR bp7-6 PSW (4) 割込み制御レジスタ(xxxICR)の割込み要求フラ グ(xxxIR)を書き換えます。 : MIE 割込み機能の概要 = 1 (8) PSWのMIEフラグをセットして、マスカブル割 込みを許可します。 第3章 割込み機能 3-2 割込み制御レジスタ 3-2 割込み制御レジスタ 3-2-1 割込み制御レジスタ一覧 3-2-1 割込み制御レジスタ一覧 表3-2-1 割込み制御レジスタ一覧 レジスタ略称 アドレス R/W レジスタ名称 参照ページ NMICR X'03FE1' R/W ノンマスカブル割込み制御レジスタ III - 16 IRQ0ICR X'03FE2' R/W 外部割込み0制御レジスタ III - 17 IRQ1ICR X'03FE3' R/W 外部割込み1制御レジスタ III - 18 IRQ2ICR X'03FE4' R/W 外部割込み2制御レジスタ III - 19 IRQ3ICR X'03FE5' R/W 外部割込み3制御レジスタ III - 20 IRQ4ICR X'03FE6' R/W 外部割込み4制御レジスタ III - 21 TM0ICR X'03FE9' R/W タイマ0割込み制御レジスタ(タイマ0コンペア一致) III - 22 TM1ICR X'03FEA' R/W タイマ1割込み制御レジスタ(タイマ1コンペア一致) III - 23 TM3ICR X'03FEC' R/W タイマ3割込み制御レジスタ(タイマ3コンペア一致) III - 24 TM6ICR X'03FEF' R/W タイマ6割込み制御レジスタ(タイマ6コンペア一致) III - 25 TBICR X'03FF0' R/W タイムベース割込み制御レジスタ(タイムベース周期) III - 26 TM7ICR X'03FF1' R/W タイマ7割込み制御レジスタ(タイマ7コンペア一致) III - 27 T7OC2ICR X'03FF2' R/W タイマ7コンペアレジスタ2一致割込み制御レジスタ III - 28 TM8ICR X'03FF3' R/W タイマ8割込み制御レジスタ(タイマ8コンペア一致) III - 29 SC0RICR X'03FF5' R/W シリアル0UART受信割込み制御レジスタ(SC0UART受信終了) III - 30 SC0TICR X'03FF6' R/W シリアル0割込み制御レジスタ(SC0転送終了) III - 31 SC2ICR X'03FF8' R/W シリアル2割込み制御レジスタ(SC2転送終了) III - 32 ADICR X'03FFA' R/W A/D変換割込み制御レジスタ(A/D変換終了) III - 33 割込み制御レジスタへの書き込みは、PSWレジスタのMIEフラグで全マスカブル割込みを禁止 してから行ってください。 割込みレベル指定フラグ(xxxLVn)をレベル3に設定すると、割込み許可フラグ、割込み要求 フラグに関係なく、そのベクタの割込みは禁止されます。 割込み制御レジスタ III - 15 第3章 割込み機能 3-2-2 割込み制御レジスタ 3-2-2 割込み制御レジスタ 割込み制御レジスタは、ノンマスカブル割込み制御レジスタ( N M I C R ) 、外部割込み制御レジスタ (IRQnICR)、内部割込み制御レジスタ(xxxICR)から構成されています。 ■ノンマスカブル割込み制御レジスタ(NMICR アドレス:X'03FE1') ノンマスカブル割込み制御レジスタ(NMICR)は、ノンマスカブル割込み要求が格納されるレジスタで す。ノンマスカブル割込みが発生すると、PSWの割込みマスクレベル(IMn)にかかわらず割込みが受け 付けられ、割込みベクタテーブルのX'04004'番地に書かれたアドレスに分岐します。ウオッチドッグ タイマオーバフロー割込み要求フラグ(WDIR)は、ウオッチドッグタイマがオーバフローした場合、"1" となります。 プログラム割込み要求フラグ(PIR)は、未定義命令を実行した場合に"1"になります。 7 6 5 NMICR 4 3 2 1 0 PIR WDIR Reserved (リセット時:- - - - - 0 0 0) Reseved WDIR 必ず0に設定してください。 ウオッチドッグ割込み要求フラグ 0 割込み要求なし 1 割込み要求発生 PIR プログラム割込み要求フラグ 0 割込み要求なし 1 割込み要求発生 図3-2-1 ノンマスカブル割込み制御レジスタ(NMICR:X'03FE1'、R/W) 本LSIは、未定義命令を実行しようとした場合、プログラム割込み要求フラグ(PIR)をセット すると共に、ノンマスカブル割込みを発生します。 ノンマスカブル割込み処理プログラムにより、PIRフラグがセットされていることを確認し た場合には、リセット端子(P27)に"0"を出力することによるソフトリセットを推奨します。 III - 16 割込み制御レジスタ 第3章 割込み機能 ■外部割込み0制御レジスタ(IRQ0ICR) 外部割込み0制御レジスタ(IRQ0ICR)は、外部割込み0の割込みレベル、有効エッジ、割込み許可、割込 み要求を制御するレジスタです。割込み制御レジスタは、PSWのマスカブル割込み許可フラグ(MIE)が "0"の状態で操作してください。 IRQ0ICR 7 6 5 4 3 2 IRQ0 LV1 IRQ0 LV0 REDG0 − − − 1 0 IRQ0IE IRQ0IR (リセット時:0 0 0 - - - 0 0 ) 外部割込み要求フラグ IRQ0IR 0 割込み要求なし 1 割込み要求発生 外部割込み許可フラグ IRQ0IE 0 割込み 禁止 1 割込み許可 外部割込み有効エッジ指定フラグ REDG0 IRQ0 LV1 0 立ち下がりエッジ 1 立ち上がりエッジ IRQ0 LV0 外部割込み割込みレベル指定フラグ 割込み要求がCPUの持つレベル0∼3までの どの割込みレベルかを設定します。 図3-2-2 外部割込み0制御レジスタ(IRQ0ICR:X'03FE2'、R/W) 割込み制御レジスタ III - 17 第3章 割込み機能 ■外部割込み1制御レジスタ(IRQ1ICR) 外部割込み1制御レジスタ(IRQ1ICR)は、外部割込み1の割込みレベル、有効エッジ、割込み許可、割込 み要求を制御するレジスタです。割込み制御レジスタは、PSWのマスカブル割込み許可フラグ(MIE)が "0"の状態で操作してください。 IRQ1ICR 7 6 5 4 3 2 IRQ1 LV1 IRQ1 LV0 REDG1 − − − 1 0 IRQ1IE IRQ1IR (リセット時:0 0 0 - - - 0 0 ) IRQ1IR 0 割込み要求なし 1 割込み要求発生 IRQ1IE 外部割込み許可フラグ 0 割込み 禁止 1 割込み許可 REDG1 IRQ1 LV1 外部割込み要求フラグ 外部割込み有効エッジ指定フラグ 0 立ち下がりエッジ 1 立ち上がりエッジ IRQ1 LV0 外部割込み割込みレベル指定フラグ 割込み要求がCPUの持つレベル0∼3までの どの割込みレベルかを設定します。 図3-2-3 外部割込み1制御レジスタ(IRQ1ICR:X'03FE3'、R/W) III - 18 割込み制御レジスタ 第3章 割込み機能 ■外部割込み2制御レジスタ(IRQ2ICR) 外部割込み2制御レジスタ(IRQ2ICR)は、外部割込み2の割込みレベル、有効エッジ、割込み許可、割込 み要求を制御するレジスタです。割込み制御レジスタは、PSWのマスカブル割込み許可フラグ(MIE)が "0"の状態で操作してください。 IRQ2ICR 7 6 5 4 3 2 IRQ2 LV1 IRQ2 LV0 REDG2 − − − 1 0 IRQ2IE IRQ2IR (リセット時:0 0 0 - - - 0 0 ) 外部割込み要求フラグ IRQ2IR 0 割込み要求なし 1 割込み要求発生 外部割込み許可フラグ IRQ2IE 0 割込み 禁止 1 割込み許可 外部割込み有効エッジ指定フラグ REDG2 IRQ3 IRQ2 LV1 0 立ち下がりエッジ 1 立ち上がりエッジ IRQ2 LV0 外部割込み割込みレベル指定フラグ 割込み要求がCPUの持つレベル0∼3までの どの割込みレベルかを設定します。 図3-2-4 外部割込み2制御レジスタ(IRQ2ICR:X'03FE4'、R/W) 割込み制御レジスタ III - 19 第3章 割込み機能 ■外部割込み3制御レジスタ(IRQ3ICR) 外部割込み3制御レジスタ(IRQ3ICR)は、外部割込み3の割込みレベル、有効エッジ、割込み許可、割込 み要求を制御するレジスタです。割込み制御レジスタは、PSWのマスカブル割込み許可フラグ(MIE)が "0"の状態で操作してください。 IRQ3ICR 7 6 5 4 3 2 IRQ3 LV1 IRQ3 LV0 REDG3 − − − 1 0 IRQ3IE IRQ3IR (リセット時:0 0 0 - - - 0 0 ) IRQ3IR 0 割込み要求なし 1 割込み要求発生 IRQ3IE 外部割込み許可フラグ 0 割込み 禁止 1 割込み許可 REDG3 IRQ3 LV1 外部割込み要求フラグ 外部割込み有効エッジ指定フラグ 0 立ち下がりエッジ 1 立ち上がりエッジ IRQ3 LV0 外部割込み割込みレベル指定フラグ 割込み要求がCPUの持つレベル0∼3までの どの割込みレベルかを設定します。 図3-2-5 外部割込み3制御レジスタ(IRQ3ICR:X'03FE5'、R/W) III - 20 割込み制御レジスタ 第3章 割込み機能 ■外部割込み4制御レジスタ(IRQ4ICR) 外部割込み4制御レジスタ(IRQ4ICR)は、外部割込み4の割込みレベル、有効エッジ、割込み許可、割込 み要求を制御するレジスタです。割込み制御レジスタは、PSWのマスカブル割込み許可フラグ(MIE)が "0"の状態で操作してください。 IRQ4ICR 7 6 5 4 3 2 IRQ4 LV1 IRQ4 LV0 REDG4 − − − 1 0 IRQ4IE IRQ4IR (リセット時:0 0 0 - - - 0 0 ) 外部割込み要求フラグ IRQ4IR 0 割込み要求なし 1 割込み要求発生 外部割込み許可フラグ IRQ4IE 0 割込み 禁止 1 割込み許可 外部割込み有効エッジ指定フラグ IRQ4 LV1 0 立ち下がりエッジ 1 立ち上がりエッジ IRQ4 LV0 外部割込み割込みレベル指定フラグ 割込み要求がCPUの持つレベル0∼3までの どの割込みレベルかを設定します。 図3-2-6 外部割込み4制御レジスタ(IRQ4ICR:X'03FE6'、R/W) 割込み制御レジスタ III - 21 第3章 割込み機能 ■タイマ0割込み制御レジスタ(TM0ICR) タイマ0割込み制御レジスタ(TM0ICR)は、タイマ0割込みの割込みレベル、割込み許可、割込み要求を 制御するレジスタです。割込み制御レジスタは、PSWのマスカブル割込み許可フラグ(MIE)が"0"の状態 で操作してください。 TM0ICR 7 6 5 4 3 2 TM0 LV1 TM0 LV0 − − − − 1 0 (リセット時:0 0 - - - - 0 0 ) TM0IE TM0IR TM0IR 割込み要求フラグ 0 割込み要求なし 1 割込み要求発生 TM0IE 割込み許可フラグ TM0 LV1 0 割込み禁止 1 割込み許可 TM0 LV0 割込みレベル指定フラグ 割込みレベルを設定する2ビットのフラグ であり、割込み要求がCPUの持つレベル 0からレベル3までのどの要求レベルに割 り付けられるかを決定します。 図3-2-7 タイマ0割込み制御レジスタ(TM0ICR:X'03FE9'、R/W) III - 22 割込み制御レジスタ 第3章 割込み機能 ■タイマ1割込み制御レジスタ(TM1ICR) タイマ1割込み制御レジスタ(TM1ICR)は、タイマ1割込みの割込みレベル、割込み許可、割込み要求を 制御するレジスタです。割込み制御レジスタは、PSWのマスカブル割込み許可フラグ(MIE)が"0"の状態 で操作してください。 TM1ICR 7 6 5 4 3 2 1 TM1 LV1 TM1 LV0 − − − − TM1IE 0 (リセット時:0 0 - - - - 0 0 ) TM1IR 割込み要求フラグ 0 割込み要求なし 1 割込み要求発生 TM1IE 割込み許可フラグ TM1 LV1 0 割込み禁止 1 割込み許可 TM1 LV0 割込みレベル指定フラグ 割込みレベルを設定する2ビットのフラグ であり、割込み要求がCPUの持つレベル 0からレベル3までのどの要求レベルに割 り付けられるかを決定します。 図3-2-8 タイマ1割込み制御レジスタ(TM1ICR:X'03FEA'、R/W) 割込み制御レジスタ III - 23 第3章 割込み機能 ■タイマ3割込み制御レジスタ(TM3ICR) タイマ3割込み制御レジスタ(TM3ICR)は、タイマ3割込みの割込みレベル、割込み許可、割込み要求を 制御するレジスタです。割込み制御レジスタは、PSWのマスカブル割込み許可フラグ(MIE)が"0"の状態 で操作してください。 TM3ICR 7 6 5 4 3 2 TM3 LV1 TM3 LV0 − − − − 1 0 (リセット時:0 0 - - - - 0 0 ) TM3IE TM3IR TM3IR 割込み要求フラグ 0 割込み要求なし 1 割込み要求発生 TM3IE 割込み許可フラグ TM3 LV1 0 割込み禁止 1 割込み許可 TM3 LV0 割込みレベル指定フラグ 割込みレベルを設定する2ビットのフラグ であり、割込み要求がCPUの持つレベル 0からレベル3までのどの要求レベルに割 り付けられるかを決定します。 図3-2-9 タイマ3割込み制御レジスタ(TM3ICR:X'03FEC'、R/W) III - 24 割込み制御レジスタ 第3章 割込み機能 ■タイマ6割込み制御レジスタ(TM6ICR) タイマ6割込み制御レジスタ(TM6ICR)は、タイマ6割込みの割込みレベル、割込み許可、割込み要求を 制御するレジスタです。割込み制御レジスタは、PSWのマスカブル割込み許可フラグ(MIE)が"0"の状態 で操作してください。 TM6ICR 7 6 5 4 3 2 TM6 LV1 TM6 LV0 − − − − 1 0 (リセット時:0 0 - - - - 0 0 ) TM6IE TM6IR TM6IR 割込み要求フラグ 0 割込み要求なし 1 割込み要求発生 TM6IE 割込み許可フラグ TM6 LV1 0 割込み禁止 1 割込み許可 TM6 LV0 割込みレベル指定フラグ 割込みレベルを設定する2ビットのフラグ であり、割込み要求がCPUの持つレベル 0からレベル3までのどの要求レベルに割 り付けられるかを決定します。 図3-2-10 タイマ6割込み制御レジスタ(TM6ICR:X'03FEF'、R/W) 割込み制御レジスタ III - 25 第3章 割込み機能 ■タイムベース割込み制御レジスタ(TBICR) タイムベース割込み制御レジスタ(TBICR)は、タイムベース割込みの割込みレベル、割込み許可、割込 み要求を制御するレジスタです。割込み制御レジスタは、PSWのマスカブル割込み許可フラグ(MIE)が "0"の状態で操作してください。 TBICR 7 6 5 4 3 2 1 0 TB LV1 TB LV0 − − − − TBIE TBIR (リセット時:0 0 - - - - 0 0 ) TB LV1 TBIR 割込み要求フラグ 0 割込み要求なし 1 割込み要求発生 TBIE 割込み許可フラグ 0 割込み禁止 1 割込み許可 TB LV0 割込みレベル指定フラグ 割込みレベルを設定する2ビットのフラグ であり、割込み要求がCPUの持つレベル 0からレベル3までのどの要求レベルに割 り付けられるかを決定します。 図3-2-11 タイムベース割込み制御レジスタ(TBICR:X'03FF0'、R/W) III - 26 割込み制御レジスタ 第3章 割込み機能 ■タイマ7割込み制御レジスタ(TM7ICR) タイマ割込み制御レジスタ(TM7ICR)は、タイマ7割込みの割込みレベル、割込み許可、割込み要求を制 御するレジスタです。割込み制御レジスタは、PSWのマスカブル割込み許可フラグ(MIE)が"0"の状態で 操作してください。 TM7ICR 7 6 5 4 3 2 TM7 LV1 TM7 LV0 − − − − 1 0 (リセット時:0 0 - - - - 0 0 ) TM7IE TM7IR TM7IR 割込み要求フラグ 0 割込み要求なし 1 割込み要求発生 TM7IE 割込み許可フラグ TM7 LV1 0 割込み禁止 1 割込み許可 TM7 LV0 割込みレベル指定フラグ 割込みレベルを設定する2ビットのフラグ であり、割込み要求がCPUの持つレベル 0からレベル3までのどの要求レベルに割 り付けられるかを決定します。 図3-2-12 タイマ7割込み制御レジスタ(TM7ICR:X'03FF1'、R/W) 割込み制御レジスタ III - 27 第3章 割込み機能 ■タイマ7コンペアレジスタ2一致割込み制御レジスタ(T7OC2ICR) タイマ7コンペアレジスタ2一致割込み制御レジスタ(T7OC2ICR)は、タイマ7コンペアレジスタ2一致割 込みの割込みレベル、割込み許可、割込み要求を制御するレジスタです。割込み制御レジスタは、PSW のマスカブル割込み許可フラグ(MIE)が"0"の状態で操作してください。 7 T7OC2ICR T7OC2 LV1 6 T7OC2 LV0 5 − 4 − 3 − 2 1 0 − T7OC2 IE T7OC2 IR (リセット時:0 0 - - - - 0 0 ) T7OC2IR 割込み要求フラグ 0 割込み要求なし 1 割込み要求発生 T7OC2IE 割込み許可フラグ T7OC2 LV1 0 割込み禁止 1 割込み許可 T7OC2 LV0 割込みレベル指定フラグ 割込みレベルを設定する2ビットのフラグ であり、割込み要求がCPUの持つレベル 0からレベル3までのどの要求レベルに割 り付けられるかを決定します。 図3-2-13 タイマ7コンペアレジスタ2一致割込み制御レジスタ(T7OC2ICR:X'03FF2'、R/W) III - 28 割込み制御レジスタ 第3章 割込み機能 ■タイマ8割込み制御レジスタ(TM8ICR) タイマ8割込み制御レジスタ(TM8ICR)は、タイマ8割込みの割込みレベル、割込み許可、割込み要求を 制御するレジスタです。割込み制御レジスタは、PSWのマスカブル割込み許可フラグ(MIE)が"0"の状態 で操作してください。 TM8ICR 7 6 5 4 3 2 TM8 LV1 TM8 LV0 − − − − 1 0 (リセット時:0 0 - - - - 0 0 ) TM8IE TM8IR TM8IR 割込み要求フラグ 0 割込み要求なし 1 割込み要求発生 TM8IE 割込み許可フラグ TM8 LV1 0 割込み禁止 1 割込み許可 TM8 LV0 割込みレベル指定フラグ 割込みレベルを設定する2ビットのフラグ であり、割込み要求がCPUの持つレベル 0からレベル3までのどの要求レベルに割 り付けられるかを決定します。 図3-2-14 タイマ8割込み制御レジスタ(TM8ICR:X'03FF3'、R/W) 割込み制御レジスタ III - 29 第3章 割込み機能 ■シリアル0UART受信割込み制御レジスタ(SC0RICR) シリアル0UART受信割込み制御レジスタ(SC0RICR)は、シリアル0UART受信割込みの割込みレベル、割込 み許可、割込み要求を制御するレジスタです。割込み制御レジスタは、PSWのマスカブル割込み許可フ ラグ(MIE)が"0"の状態で操作してください。 SC0RICR 7 6 5 4 3 2 SC0R LV1 SC0R LV0 − − − − 1 0 SC0RIE SC0RIR (リセット時:0 0 - - - - 0 0 ) SC0RIR 割込み要求フラグ 0 割込み要求なし 1 割込み要求発生 SC0RIE 割込み許可フラグ SC0R LV1 0 割込み禁止 1 割込み許可 SC0R LV0 割込みレベル指定フラグ 割込みレベルを設定する2ビットのフラグ であり、割込み要求がCPUの持つレベル 0からレベル3までのどの要求レベルに割 り付けられるかを決定します。 図3-2-15 シリアル0UART受信割込み制御レジスタ(SC0RICR:X'03FF5'、R/W) III - 30 割込み制御レジスタ 第3章 割込み機能 ■シリアル0割込み制御レジスタ(SC0TICR) シリアル0割込み制御レジスタ(SC0TICR)は、シリアル0割込みの割込みレベル、割込み許可、割込み要 求を制御するレジスタです。割込み制御レジスタは、PSWのマスカブル割込み許可フラグ(MIE)が"0"の 状態で操作してください。 SC0TICR 7 6 5 4 3 2 SC0T LV1 SC0T LV0 − − − − 1 0 SC0TIE SC0TIR (リセット時:0 0 - - - - 0 0 ) SC0TIR 割込み要求フラグ 0 割込み要求なし 1 割込み要求発生 SC0TIE 割込み許可フラグ SC0T LV1 0 割込み禁止 1 割込み許可 SC0T LV0 割込みレベル指定フラグ 割込みレベルを設定する2ビットのフラグ であり、割込み要求がCPUの持つレベル 0からレベル3までのどの要求レベルに割 り付けられるかを決定します。 図3-2-16 シリアル0割込み制御レジスタ(SC0TICR:X'03FF6'、R/W) 割込み制御レジスタ III - 31 第3章 割込み機能 ■シリアル2割込み制御レジスタ(SC2ICR) シリアル2割込み制御レジスタ(SC2ICR)は、シリアル2割込みの割込みレベル、割込み許可、割込み要 求を制御するレジスタです。割込み制御レジスタは、PSWのマスカブル割込み許可フラグ(MIE)が"0"の 状態で操作してください。 SC2ICR 7 6 5 4 3 2 SC2 LV1 SC2 LV0 − − − − 1 0 (リセット時:0 0 - - - - 0 0 ) SC2IE SC2IR SC2IR 割込み要求フラグ 0 割込み要求なし 1 割込み要求発生 SC2IE 割込み許可フラグ SC2 LV1 0 割込み禁止 1 割込み許可 SC2 LV0 割込みレベル指定フラグ 割込みレベルを設定する2ビットのフラグ であり、割込み要求がCPUの持つレベル 0からレベル3までのどの要求レベルに割 り付けられるかを決定します。 図3-2-17 シリアル2割込み制御レジスタ(SC2ICR:X'03FF8'、R/W) III - 32 割込み制御レジスタ 第3章 割込み機能 ■A/D変換割込み制御レジスタ(ADICR) A/D変換割込み制御レジスタ(ADICR)は、A/D変換割込みの割込みレベル、割込み許可、割込み要求を制 御するレジスタです。割込み制御レジスタは、PSWのマスカブル割込み許可フラグ(MIE)が"0"の状態で 操作してください。 ADICR 7 6 AD LV1 AD LV0 5 4 3 2 1 0 − − − ADIE ADIR (リセット時:0 0 - - - - 0 0 ) AD LV1 ADIR 割込み要求フラグ 0 割込み要求なし 1 割込み要求発生 ADIE 割込み許可フラグ 0 割込み禁止 1 割込み許可 AD LV0 割込みレベル指定フラグ 割込みレベルを設定する2ビットのフラグ であり、割込み要求がCPUの持つレベル 0からレベル3までのどの要求レベルに割 り付けられるかを決定します。 図3-2-18 A/D変換割込み制御レジスタ(ADICR:X'03FFA'、R/W) 割込み制御レジスタ III - 33 第3章 割込み機能 3-3 外部割込み機能の概要 3-3 外部割込み機能の概要 本LSIには、外部割込みが6本あります。外部割込み入力端子と外部割込みブロックの間には、外部割 込み入力信号を処理する回路(外部割込みインタフェース)が搭載されています。この外部割込みイン タフェースにより、様々な種類の外部割込みに対応可能です。 3-3-1 外部割込み機能の概要 3-3-1 外部割込み機能の概要 外部割込み0∼5が使用できる機能について次表に示します。 表3-3-1 外部割込み機能一覧表 外部割込み0 外部割込み1 外部割込み2 外部割込み3 外部割込み4 (IRQ4) (IRQ0) (IRQ1) (IRQ2) (IRQ3) III - 34 P24, P40-P47, P90-P93 外部割込み入力端子 P20 P21 P22 P23 指定極性エッジ 割込み ○ ○ ○ ○ 両エッジ割込み − − ○ ○ − キー入力割込み − − − − (P40-P47, P90-93) ノイズフィルタ内蔵 ○ ○ − − − ACゼロクロス検出 − ○ − − − 外部割込み機能の概要 ○ (P24) ○ 第3章 割込み機能 3-3-2 外部割込みインタフェースブロック図 3-3-2 外部割込みインタフェースブロック図 ■外部割込みインタフェース0、外部割込みインタフェース1ブロック図 PSCMD PSCEN - スタンバイモード信号 0 NFCTR } } 7 3ビットプリスケーラ fosc/27 (プリスケーラ 出力信号) S S S 1/2 1/2 1/2 fosc/210 fosc/29 fosc/28 NF0EN NF0SCK0 NF0SCK1 NF1EN NF1SCK0 NF1SCK1 P21IM 7 IRQ0ICR 0 IRQ0IR IRQ0IE - M U X REDG0 IRQ0LV0 IRQ0LV1 fosc P20/IRQ0 ノイズフィルタ0 M U X M U X 極性反転 P21/IRQ1/ACZ IRQ1IR IRQ1IE - スタンバイモード信号 ノイズフィルタ1 REDG1 IRQ1LV0 IRQ1LV1 M U X 極性反転 7 IRQ0割込み要求/ 16ビットタイマ/ データ自動転送 IRQ1ICR M U X 0 M U X M U X ACゼロクロス検出回路 0 7 IRQ1割込み要求/ 16ビットタイマ/ データ自動転送 図3-3-1 外部割込みインタフェース0、外部割込みインタフェース1ブロック図 外部割込み機能の概要 III - 35 第3章 割込み機能 ■外部割込みインタフェース2、外部割込みインタフェース3ブロック図 IRQ2ICR IRQ2IR IRQ2IE REDG2 IRQ2LV0 IRQ2LV1 P22/IRQ2 極性反転 M U X 0 7 M U X IRQ3IR IRQ3IE REDG3 IRQ3LV0 IRQ3LV1 P23/IRQ3 極性反転 エッジ検出 M U X M U X EDGSEL2 EDGSEL3 - 外部割込み機能の概要 7 0 7 IRQ3割込み要求/ 16ビットタイマ/ データ自動転送/ A/D変換 図3-3-2 外部割込みインタフェース2、外部割込みインタフェース3ブロック図 III - 36 0 IRQ2割込み要求/ 16ビットタイマ/ データ自動転送 エッジ検出 IRQ3ICR EDGDT 第3章 割込み機能 ■外部割込みインタフェース4ブロック図 IRQ4ICR IRQ4IR IRQ4IE REDG4 IRQ4LV0 IRQ4LV1 P24/IRQ4 極性反転 P9IMD P9KYEN1 P9KYEN2 - 0 7 M U X 0 7 P90/KEY8 P91/KEY9 P92/KEY10 P93/KEY11 P40/KEY0 P41/KEY1 M U X P42/KEY2 P43/KEY3 IRQ4割込み要求 P44/KEY4 P45/KEY5 P46/KEY6 P47/KEY7 P4IMD P4KYEN1 P4KYEN2 P4KYEN3 P4KYEN4 IRQ4SEL 0 7 図3-3-3 外部割込みインターフェース4ブロック図 外部割込み機能の概要 III - 37 第3章 割込み機能 3-3-3 外部割込み制御レジスタ 3-3-3 外部割込み制御レジスタ 外部割込み0∼5はそれぞれ、外部割込みインタフェース0∼5を通過した外部割込み入力信号により、 割込み要求が発生します。 外部割込みインタフェース0∼5はそれぞれ、外部割込み制御レジスタ(IRQnICR)により制御します。さ らに、外部割込みインタフェース0∼1はノイズフィルタ制御レジスタ(NFCTR)により、外部割込みイン タフェース2∼3は両エッジ割込み制御レジスタ(EDGDT)により、外部割込みインタフェース4はポート 4キー割込み制御レジスタ(P4IMD)によりそれぞれ制御します。 外部割込み0∼5を制御するレジスタの一覧を次表に示します。 表3-3-2 外部割込み制御レジスタ一覧表 外部割込み名 外部割込み0 外部割込み1 外部割込み2 外部割込み3 外部割込み4 レジスタ名 アドレス R/W レジスタ名称 IRQ0ICR X'03FE2' R/W 外部割込み0制御レジスタ III -17 NFCTR X'03F8E' R/W ノイズフィルタ制御レジスタ III -39 IRQ1ICR X'03FE3' R/W 外部割込み1制御レジスタ III -18 NFCTR X'03F8E' R/W ノイズフィルタ制御レジスタ III -39 IRQ2ICR X'03FE4' R/W 外部割込み2制御レジスタ III -19 EDGDT X'03F8F' R/W 両エッジ割込み制御レジスタ III -40 IRQ3ICR X'03FE5' R/W 外部割込み3制御レジスタ III -20 EDGDT X'03F8F' R/W 両エッジ割込み制御レジスタ III -40 IRQ4ICR X'03FE6' R/W 外部割込み4制御レジスタ III -21 P4IMD X'03F3E' R/W ポート4キー割込み制御レジスタ III -41 P9IMD X'03F3F' R/W ポート9キー割込み制御レジスタ III -42 R/W:読み出し/書き込み共に可能です。 III - 38 参照ページ 外部割込み機能の概要 第3章 割込み機能 ■ノイズフィルタ制御レジスタ(NFCTR) ノイズフィルタ制御レジスタ(NFCTR)は、IRQ0、IRQ1にノイズ除去機能を付加するかしないかの選択、 およびノイズ除去機能のサンプリング周期を選択します。また、IRQ1にACゼロクロス検出機能を付加 するかしないかの選択をするレジスタです。 7 NFCTR 6 5 4 P21IM NF1SCK1 NF1SCK0 NF1EN 3 - 2 1 0 (リセット時: 0 0 0 0 - 0 0 0 ) NF0SCK1 NF0SCK0 NF0EN NF0EN IRQ0/ノイズフィルタ動作設定 0 ノイズフィルタOFF 1 ノイズフィルタON NF0SCK1 NF0SCK0 IRQ0/ノイズサンプリング周期 0 1 0 fosc 1 fosc/2 8 0 fosc/2 9 1 fosc/2 10 NF1EN IRQ1/ノイズフィルタ動作設定 0 ノイズフィルタOFF 1 ノイズフィルタON NF1SCK1 NF1SCK0 IRQ1/ノイズサンプリング周期 0 1 P21IM 0 fosc 1 fosc/2 8 0 fosc/2 9 1 fosc/2 10 ACZ入力許可フラグ 0 ACZ入力禁止 1 ACZ入力許可 図3-3-4 ノイズフィルタ制御レジスタ(NFCTR:X'03F8E'、R/W) 外部割込み機能の概要 III - 39 第3章 割込み機能 ■両エッジ割込み制御レジスタ(EDGDT) 両エッジ割込み制御レジスタ(EDGDT)は、IRQ2、IRQ3の割込みのエッジを選択するレジスタで、両エッ ジで割込みを発生させるか、外部割込み制御レジスタ(IRQ2ICR、IRQ3ICR)により指定したエッジで割 込みを発生させるかを選択するレジスタです。 EDGDT 7 6 5 4 - - - - 3 2 EDGSEL3 EDGSEL2 1 0 - - (リセット時: - - - - 0 0 - - ) EDGSEL2 IRQ2両エッジ割込み動作設定 0 指定エッジ割込み選択 1 両エッジ割込み選択 EDGSEL3 IRQ3両エッジ割込み動作設定 0 指定エッジ割込み選択 1 両エッジ割込み選択 図3-3-5 両エッジ割込み制御レジスタ(EDGDT:X'03F8F'、R/W) III - 40 外部割込み機能の概要 第3章 割込み機能 ■ポート4キー割込み制御レジスタ(P4IMD) ポート4キー割込み制御レジスタ(P4IMD)は、キー割込みを許可するか、外部割込みIRQ4を許可するか を選択するレジスタです。また、キー割込みをポート4のどの端子で許可するかを2bit単位で選択でき ます。 P4IMD 7 6 5 4 IRQ4SEL − − − 3 2 1 0 P4KYEN4 P4KYEN3 P4KYEN2 P4KYEN1 (リセット時:0− − − 0000) P4KYEN1 P41, P40キー割込み選択 0 禁止 1 許可 P4KYEN2 P43, P42キー割込み選択 0 禁止 1 許可 P4KYEN3 P45, P44キー割込み選択 0 禁止 1 許可 P4KYEN4 P47, P46キー割込み選択 0 禁止 1 許可 IRQ4SEL IRQ4割込みソース選択 0 外部割込みIRQ4 1 P4キー割込み 図3-3-6 ポート4キー割込み制御レジスタ(P4IMD:X'03F3E'、R/W) 外部割込み機能の概要 III - 41 第3章 割込み機能 ■ポート9キー割込み制御レジスタ(P9IMD) ポート9キー割込み制御レジスタ(P9IMD)は、キー割込みを許可するか、外部割込みIRQ4を許可するか を選択するレジスタです。また、キー割込みをポート9のどの端子で許可するかを2bit単位で選択でき ます。 P9IMD 7 6 5 4 3 2 − − − − − − 1 0 P9KYEN2 P9KYEN1 (リセット時:ー− − − ー ー 00) P9KYEN1 P91, P90キー割込み選択 0 禁止 1 許可 P9KYEN2 P93, P92キー割込み選択 0 禁止 1 許可 図3-3-7 ポート9キー割込み制御レジスタ(P9IMD:X'03F3F'、R/W) III - 42 外部割込み機能の概要 第3章 割込み機能 3-3-4 指定極性エッジ割込み機能の動作と設定例 3-3-4 指定極性エッジ割込み機能の動作と設定例 ■指定極性エッジ割込み動作(外部割込み0∼4) 指定極性エッジ割込みでは、外部割込み入力端子から入力された信号について、立上がりエッジのみ または立下がりエッジのみで割込みを発生させるかを選択し、選択したエッジで割込みを発生させる ことのできる機能です。 ■指定極性エッジ割込み動作の設定例(外部割込み0∼4) P20端子から入力される信号の立ち上がりエッジで、外部割込み0(IRQ0)を発生させます。 以下に、設定手順とその内容を示します。 設定手順 内容 (1) 外部割込み0制御レジスタ(IRQ0ICR)のREDG0 フラグを"1"にして割込み有効エッジに立ち上 (1) 割込み有効エッジの指定 IRQ0ICR (x'3FE2') bp5 : REDG0 = 1 (2) 割込みレベルの設定 IRQ0ICR (x'3FE2') bp7-6 : IRQ0LV1-0 = 10 がりエッジを指定します。 (2) IRQ0ICRレジスタのIRQ0LV1-0フラグにより、 割込みレベルを設定します。 割込み要求フラグが既にセットされている可能 性があるときは、要求フラグをクリアしてくだ さい。 【 第3章 3-1-4. 割込みフラグの設定】 (3) IRQ0ICRレジスタのIRQ0IEフラグを"1"にして 割込みを許可します。 (3) 割込みの許可 IRQ0ICR (x'3FE2') bp1 : IRQ0IE = 1 P20端子から入力される信号の立ち上がりエッジで、外部割込み0が発生します。 割込みエッジの切り換え時に、割込み要求フラグがセットされている可能性がありますの で、割込み有効エッジ指定は、必ず割込み許可の前に行ってください。 外部割込み端子は、あらかじめプルアップしておくことをおすすめします。 外部割込み2、3(IRQ2、IRQ3)を用いて指定極性エッジ割込みを発生させる場合には、両 エッジ割込み制御レジスタ(EDGDT)のEDGSELnフラグを"0"に設定してください。 外部割込み機能の概要 III - 43 第3章 割込み機能 3-3-5 両エッジ割込み機能の動作と設定例 3-3-5 両エッジ割込み機能の動作と設定例 ■両エッジ割込み動作(外部割込み2、外部割込み3) 両エッジ割込みは、外部割込み入力端子から入力された信号について、立上がりエッジ、立下がりエッ ジの両エッジで割込みを発生させることのできる機能です。スタンバイモードからの復帰も可能です。 ■両エッジ割込み動作の設定例(外部割込み2、外部割込み3) P22端子から入力される信号の両エッジで、外部割込み2(IRQ2)を発生させます。 以下に、設定手順とその内容を示します。 内容 設定手順 (1) 両エッジ割込み制御レジスタ(EDGDT)の EDGSEL2フラグを"1"にして、両エッジ割込み (1) 両エッジ割込みの選択 EDGDT (x'3F8F') bp2 : EDGSEL2 = 1 (2) IRQ2ICRレジスタのIRQ2LV1-0フラグにより、 割込みレベルを設定します。 (2) 割込みレベルの設定 IRQ2ICR (x'3FE4') bp7-6 を選択します。 : IRQ2LV1-0 = 10 IRQ2ICRレジスタの割込み要求フラグが既に セットされている可能性がありますので、割 込み要求フラグ(IRQ2IR)を必ずクリアしてく ださい。 【 第3章 3-1-4. 割込みフラグの設定】 (3) IRQ2ICRレジスタのIRQ2IEフラグを"1"にして (3) 割込みの許可 IRQ2ICR (x'3FE4') bp1 : IRQ2IE 割込みを許可します。 = 1 P22端子から入力される信号の両エッジで、外部割込み2が発生します。 両エッジ割込みを選択した場合、外部割込み制御レジスタ(IRQnICR)のREDGnフラグに関係な く、両エッジで割込み要求が発生します。 割込みエッジの切り換え時に、割込み要求フラグがセットされている可能性がありますの で、必ず割込み許可の前に、割込み要求フラグをクリアしてください。また、両エッジ割込 みの選択は、必ず割込み許可の前に行ってください。 外部割込み端子は、あらかじめプルアップしておくことをおすすめします。 III - 44 外部割込み機能の概要 第3章 割込み機能 3-3-6 キー入力割込み機能の動作と設定例 3-3-6 キー入力割込み機能の動作と設定例 ■キー入力割込み動作(外部割込み4) 本LSIは、ポート4(P40∼P47、P90∼P93)の端子を2ビット単位でキー入力端子に設定することができま す。キー入力割込みは、キー入力端子のうち1つでも"L"レベルになった場合、その立ち下がりエッジ で割込みを発生させることのできる機能です。 キー入力端子は、あらかじめプルアップしておく必要があります。 外部割込み機能の概要 III - 45 第3章 割込み機能 ■キー入力割込み動作の設定例(外部割込み4) ポート4のP40∼P43端子をキー入力端子に設定して、キーが入力されると("L"レベルになると)、外部 割込み4(IRQ4)が発生します。以下に、設定手順とその内容を示します。 設定手順 内容 (1) キー入力端子の入力の設定 P4DIR (x'3F34') bp3-0 : P4DIR3-0 = 0000 (2) プルアップ抵抗の設定 P4PLU (x'3F44') bp3-0 (1) ポート4方向制御レジスタ(P4DIR)のP4DIR3-0 フラグを"0000"にして、P40∼P43端子を入力 端子に設定します。 (2) ポート4プルアップ抵抗制御レジスタ(P4PLU)の P4PLU3-0フラグを"1111"にしてP40∼P43端子に : P4PLUD3-0 = 1111 プルアップ抵抗を付加します。 (3) キー入力割込みの選択 P4IMD (x'3F3E') bp7 : IRQ4SEL (3) ポート4キー割込み制御レジスタ(P4IMD)の IRQ4SELフラグを"1"にして、外部割込み4ソー = 1 (4) キー入力端子の選択 P4IMD (x'3F3E') bp1-0 (4) ポート4キー割込み制御レジスタ(P4IMD)の P4KYEN2-1フラグを"11"にして、P40∼P43端子 : P4KYEN2-1= 11 (5) 割込みレベルの設定 IRQ4ICR (x'3FE6') bp7-6 スにポート4キー割込みを選択します。 をキー入力端子に設定します。 (5) IRQ4ICRレジスタのIRQ4LV1-0フラグにより、 割込みレベルを設定します。 : IRQ4LV1-0 = 10 割込み要求フラグが既にセットされている可能 性があるときは、要求フラグをクリアしてくだ さい。 【 第3章 3-1-4. 割込みフラグの設定】 (6) 割込みの許可 IRQ4ICR (x'3FE6') bp1 : IRQ4IE (6) IRQ4ICRレジスタのIRQ4IEフラグを"1"にして 割込みを許可します。 = 1 ※上記(3)と(4)は同時に設定可能です。 P40∼P43端子から入力される信号のうち、1つでも"L"レベルになると、その立ち下がりエッジで外 部割込み4が発生します。 キー入力の設定は、必ず、割込み許可の前に行ってください。 III - 46 外部割込み機能の概要 第3章 割込み機能 3-3-7 ノイズフィルタ機能の動作と設定例 3-3-7 ノイズフィルタ機能の動作と設定例 ■ノイズフィルタ動作(外部割込み0∼1) ノイズフィルタには、外部割込み端子(IRQ0、IRQ1)より入力される波形をサンプリングし、ノイズを 軽減するノイズ除去機能があります。サンプリング周期は、4種類(fosc、fosc/28、fosc/29、fosc/210) より選択できます。 ■ノイズ除去機能の選択(外部割込み0∼1) ノイズ除去機能は、ノイズフィルタ制御レジスタ(NFCTR)のNFnENフラグを"1"に設定することにより、 選択できます。 表3-3-3 ノイズ除去機能の付加 NFnEN IRQ0入力 (P20) IRQ1入力 (P21) 0 IRQ0ノイズフィルタOFF IRQ1ノイズフィルタOFF 1 IRQ0ノイズフィルタON IRQ1ノイズフィルタON ■サンプリング周期の設定(外部割込み0、外部割込み1) ノイズ除去機能のサンプリング周期は、NFCTRレジスタのNFnSCK1∼0フラグで設定できます。 表3-3-4 ノイズ除去機能のサンプリング周期/時間 NFnCKS1 0 1 NFnCKS0 サンプリング 周期 0 fosc 1 0 1 高速動作用発振動作時 fosc=20 MHz時 fosc=8 MHz時 20 MHz 50 ns 8 MHz 125 ns fosc/28 78.13 kHz 12.80 µs 31.25 kHz 32 µs 9 39.06 kHz 25.60 µs 15.62 kHz 64 µs 10 19.53 kHz 51.20 µs 7.81 kHz 128 µs fosc/2 fosc/2 外部割込み機能の概要 III - 47 第3章 割込み機能 ■ノイズ除去機能の動作(外部割込み0∼1) 外部割込み端子(IRQ0、IRQ1)に入力された信号を、設定されたサンプリング時間でサンプリングし、 同じレベルが3回連続すると、そのレベルをLSI内部に送ります。同じレベルが3回連続しない時は、前 回のレベルが送られます。即ち「サンプリング時間×3サンプリングクロック」以上の幅をもった信号 のみがノイズフィルタを通過することができ、それ以下の幅の信号はノイズとみなして除去します。 サンプリング タイミング IRQn端子入力信号 ノイズ除去後の信号 0 0 1 1 1 1 1 0 0 図3-3-7 ノイズ除去機能の動作 STOPモード / HALTモード / SLOWモード時にはノイズフィルタは使用できません。 III - 48 外部割込み機能の概要 第3章 割込み機能 ■ノイズフィルタ動作の設定例(外部割込み0、外部割込み1) P20端子から入力される信号にノイズ除去機能を付加し、立ち上がりエッジで外部割込み0(IRQ0)を発 生させます。サンプリングクロックは、foscとします。fosc=20 MHzで動作している状態とします。 以下に、設定手順とその内容を示します。 設定手順 内容 (1) 外部割込み0制御レジスタ(IRQ0ICR)のREDG0 (1) 割込み有効エッジの指定 IRQ0ICR (x'3FE2') bp5 : REDG0 = 1 (2) サンプリングクロックの選択 NFCTR (x'3F8E') bp2-1 : NF0SCK1-0 = 00 (3) ノイズフィルタ動作の設定 NFCTR (x'3F8E') bp0 : NF0EN (2) ノイズフィルタ制御レジスタ(NFCTR)の NF0SCK1-0フラグにより、サンプリングクロッ クにfoscを選択します。 (3) NFCTRレジスタのNF0ENフラグを"1"にしてノ イズフィルタ動作を付加します。 = 1 (4) IRQ0ICRレジスタのIRQ0LV1-0フラグにより、 (4) 割込みレベルの設定 IRQ0ICR (x'3FE2') bp7-6 フラグを"1"にして割込み有効エッジに立ち上 がりエッジを指定します。 割込みレベルを設定します。 : IRQ0LV1-0 = 10 割込み要求フラグが既にセットされている可能 性があるときは、要求フラグをクリアしてくだ さい。 【 第3章 3-1-4. 割込みフラグの設定】 (5) IRQ0ICRレジスタのIRQ0IEフラグを"1"にして (5) 割込みの許可 IRQ0ICR (x'3FE2') bp1 : IRQ0IE 割込みを許可します。 = 1 ※上記(2)∼(3)は同時に設定可能です。 P20端子から入力される信号について、ノイズフィルタ通過後の信号の立ち上がりエッジで外部割込 み0が発生します。 ノイズフィルタの設定は、必ず、割込み許可の前に行ってください。 外部割込み端子は、あらかじめプルアップしておくことをおすすめします。 外部割込み機能の概要 III - 49 第3章 割込み機能 3-3-8 AC ゼロクロス検出機能の動作と設定例 3-3-8 ACゼロクロス検出機能の動作と設定例 本LSIは、ACゼロクロス検出回路を内蔵しています。P21/ACZ端子が、ACゼロクロス検出回路の入力端 子となります。ACゼロクロス検出回路は、入力レベルが中間レベルの時"H"レベルを出力し、中間レベ ル以外の時は、"L"レベルを出力します。 ■ACゼロクロス検出機能の動作(外部割込み1) ACゼロクロス検出機能は、ACゼロクロス検出回路に入力された信号(P21/ACZ端子)が中間レベルの時 IRQ1端子を"H"にし、中間レベルでない時IRQ1端子を"L"にします。ACゼロクロス検出機能は、ノイズ フィルタ制御レジスタ(NFCTR)のP21IMフラグを"1"にすることにより設定します。 50 HZ時約10 ms 60 HZ時約8.3 ms ACライン波形 VDD VSS 理想的な IRQ1 実際の IRQ1 ポイントA 図3-3-8 ACライン波形とIRQ1発生タイミング 実際のIRQ1割込み要求は、ACライン波形の1/2VDDと交差するときに複数回発生するので、プログラ ムによるフィルタリング処理を行った上での判定が必要です。 割込み要求は、ACゼロクロス検出信号のポジエッジで発生します。 III - 50 外部割込み機能の概要 第3章 割込み機能 ■ACゼロクロス検出動作の設定例(外部割込み1) P21/ACZ端子を使用して、ACゼロクロス検出により、外部割込み1(IRQ1)を発生させます。以下に、設 定基準とその内容を示します。 設定手順 内容 (1) ACゼロクロス検出信号の選択 NFCTR (x'3F8E') bp7 : P212M = 1 (2) 割込みレベルの設定 IRQ0ICR (x'3FE3') bp7-6 (1) ノイズフィルタ制御レジスタ(NFCTR)のP21IM フラグを”1”にして、外部割込み1の発生要 因にACゼロクロス検出信号を選択します。 (2) IRQ1ICRレジスタのIRQ1LV1-0フラグにより、 割込みレベルを設定します。 : IRQ1LV1-0 = 10 割込み要求フラグが既にセットされている可能 性があるときは、要求フラグをクリアしてくだ さい。 【 第3章 3-1-4. 割込みフラグの設定】 (3) 割込みの許可 IRQ0ICR (x'3FE3') bp1 : IRQ1IE (3) IRQ1ICRレジスタのIRQ1IEフラグを"1"にして 割込みを許可します。 = 1 P21/ACZ端子から入力される信号の入力レベルが1/2VDDを交差すると外部割込み1が発生します。 外部割込み機能の概要 III - 51 第4章 I/Oポート機能 3 4 第4章 I/Oポート機能 4-1 I/O ポート機能の概要 4-1 I/Oポート機能の概要 4-1-1 I/O ポート概要図 4-1-1 I/Oポート概要図 本LSIは、特殊機能端子との兼用ポートを含めポート0∼ポート2、ポート4∼ポートCの11のI/Oポート (計79本)があります。各I/Oポートは、特殊レジスタ空間に割り付けられており、RAMと同様にバイ ト、ビット単位での操作が可能です。 ポート0 P00,TXD0,SBO0 P01,RXD0,SBI0 P02,SBT0 P03,SBO2 P04,SBI2 P05,SBT2 P06,NDK,BUZZER P07 ポート1 P10,TCIO0 P11,TCIO1 P13,TCIO3 P14,TCIO7 P15,TCIO8 ポート2 P20,IRQ0 P21,IRQ1 P22,IRQ2 P23,IRQ3 P24,IRQ4 P27,NRST ポート4 P40,KEY0 P41,KEY1 P42,KEY2 P43,KEY3 P44,KEY4 P45,KEY5 P46,KEY6 P47,KEY7 ポート5 P50,SEGS0,NWE P51,SEGS1,NRE P52,SEGS2,NCS P53,SEGS3,A16 P54,SEGS4,A17 P55,SEGS5 P56,SEGS6 A0,SEG23,P60 A1,SEG22,P61 A2,SEG21,P62 A3,SEG20,P63 A4,SEG19,P64 A5,SEG18,P65 A6,SEG17,P66 A7,SEG16,P67 ポート6 A8,SEG15,P70 A9,SEG14,P71 A10,SEG13,P72 A11,SEG12,P73 A12,SEG11,P74 A13,SEG10,P75 A14,SEG9,P76 A15,SEG8,P77 ポート7 D0,SEG7,P80 D1,SEG6,P81 D2,SEG5,P82 D3,SEG4,P83 D4,SEG3,P84 D5,SEG2,P85 D6,SEG1,P86 D7,SEG0,P87 ポート8 KEY8,P90 KEY10,P91 KEY11,P92 KEY11,P93 ポート9 SEG31,AN0,PA0 SEG30,AN1,PA1 SEG29,AN2,PA2 SEG28,AN3,PA3 SEG27,AN4,PA4 SEG26,AN5,PA5 SEG25,AN6,PA6 SEG24,AN7,PA7 ポートA LED0,PB0 LED1,PB1 LED2,PB3 LED3,PB4 LED4,PB5 ポートB PC2 C1,PC3 VLC2,PC4 VLC3,PC5 ポートC 図4-1-1 I/Oポート機能の概要 プロセッサモード、メモリ拡張モードに設定した場合、P06、P07、P50∼P54、P60∼P67、 P70∼P77、P80∼P87は、レジスタによる入出力制御はできません。 IV - 2 I/Oポート機能の概要 第4章 I/Oポート機能 4-1-2 I/O ポートのリセット時の状態 4-1-2 I/Oポートのリセット時の状態 表4-1-1 I/Oポートのリセット時の状態(シングルチップモード) ポート名 入出力モード プルアップ/プルダウン抵抗 I/Oポート、特殊機能 ポート0 入力モード プルアップ抵抗なし I/Oポート ポート1 入力モード プルアップ抵抗なし I/Oポート ポート2 入力モード P27のみプルアップ抵抗あり その他はプルアップ抵抗なし I/Oポート ポート4 入力モード プルアップ抵抗なし I/Oポート ポート5 入力モード プルアップ抵抗なし I/Oポート ポート6 入力モード プルアップ抵抗なし I/Oポート ポート7 入力モード プルアップ抵抗なし I/Oポート ポート8 入力モード プルアップ抵抗なし I/Oポート ポート9 入力モード プルアップ抵抗なし I/Oポート ポートA 入力モード プルアップ抵抗なし I/Oポート ポートB 入力モード プルアップ抵抗なし I/Oポート ポートC 入力モード プルアップ抵抗なし I/Oポート 表4-1-2 I/Oポートのリセット時の状態(プロセッサモード、メモリ拡張モード) ポート名 入出力モード プルアップ/プルダウン抵抗 I/Oポート、特殊機能 ポート0 入力モード プルアップ抵抗なし I/Oポート* ポート1 入力モード プルアップ抵抗なし I/Oポート ポート2 入力モード P27のみプルアップ抵抗あり その他はプルアップ抵抗なし I/Oポート ポート4 入力モード プルアップ抵抗なし I/Oポート ポート5 出力モード NWE、NRE、NCS、A16、A17端子 (P55,P56は入力モード) ポート6 出力モード A0−A7端子 ポート7 出力モード A8−A15端子 ポート8 入力モード D0−D7端子 ポート9 入力モード プルアップ抵抗なし I/Oポート ポートA 入力モード プルアップ抵抗なし I/Oポート ポートB 入力モード プルアップ抵抗なし I/Oポート ポートC 入力モード プルアップ抵抗なし I/Oポート * P06はNDK端子(入力モード)となります。 I/Oポート機能の概要 IV - 3 第4章 I/Oポート機能 4-1-3 I/O ポート制御レジスタ一覧 4-1-3 I/Oポート制御レジスタ一覧 ポート0∼ポート2、ポート4∼ポートCは、データを出力する出力レジスタ(PnOUT)、データを入力する 入力レジスタ(PnIN)、入出力方向を制御する方向制御レジスタ(PnDIR)、プルアップ抵抗を制御するプ ルアップ抵抗制御レジスタ(PnPLU)、特殊機能端子を制御するレジスタ(P1OMD、P4IMD、P9IMD、 PAIMD、P7SYO、FLOAT、EXADV)で制御します。 ポート0∼ポート2、ポート4∼ポートCを制御するレジスタの一覧を次表に示します。 表4-1-3 I/Oポート制御レジスタ一覧表(1/2) レジスタ略称 ポート0 ポート1 ポート2 ポート4 ポート5 ポート6 IV - 4 アドレス R/W レジスタ名称 P0OUT X'03F10' R/W ポート0出力レジスタ P0IN X'03F20' R ポート0入力レジスタ P0DIR X'03F30' R/W ポート0方向制御レジスタ P0PLU X'03F40' R/W ポート0プルアップ抵抗制御レジスタ P1OUT X'03F11' R/W ポート1出力レジスタ P1IN X'03F21' R ポート1入力レジスタ P1OMD X'03F2F' R/W ポート1出力モードレジスタ P1DIR X'03F31' R/W ポート1方向制御レジスタ P1PLU X'03F41' R/W ポート1プルアップ抵抗制御レジスタ P2OUT X'03F12' R/W ポート2出力レジスタ P2IN X'03F22' R ポート2入力レジスタ P2PLU X'03F42' R/W ポート2プルアップ抵抗制御レジスタ P4OUT X'03F14' R/W ポート4出力レジスタ P4IN X'03F24' R ポート4入力レジスタ P4DIR X'03F34' R/W ポート4方向制御レジスタ P4PLU X'03F44' R/W ポート4プルアップ抵抗制御レジスタ P4IMD X'03F3E' R/W ポート4キー割込み制御レジスタ P4OMD X'03F4E' R/W ポート4出力モードレジスタ P5OUT X'03F15' R/W ポート5出力レジスタ P5IN X'03F25' R ポート5入力レジスタ P5DIR X'03F35' R/W ポート5方向制御レジスタ P5PLU X'03F45' R/W ポート5プルアップ抵抗制御レジスタ P6OUT X'03F16' R/W ポート6出力レジスタ P6IN X'03F26' R ポート6入力レジスタ P6DIR X'03F36' R/W ポート6方向制御レジスタ P6PLU X'03F46' R/W ポート6プルアップ抵抗制御レジスタ I/Oポート機能の概要 第4章 I/Oポート機能 表4-1-4 I/Oポート制御レジスタ一覧表(2/2) レジスタ略称 ポート7 ポート8 ポート9 ポートA ポートB ポートC 端子制御 アドレス R/W レジスタ名称 P7OUT X'03F17' R/W ポート7出力レジスタ P7SYO X'03F1E' R/W ポート7同期出力制御レジスタ P7IN X'03F27' R P7DIR X'03F37' R/W ポート7方向制御レジスタ P7PLU X'03F47' R/W ポート7プルアップ抵抗制御レジスタ P8OUT X'03F18' R/W ポート8出力レジスタ P8IN X'03F28' R ポート8入力レジスタ ポート7入力レジスタ P8DIR X'03F38' R/W ポート8方向制御レジスタ P8PLU X'03F48' R/W ポート8プルアップ抵抗制御レジスタ P9OUT X'03F19' R/W ポート9出力レジスタ P9IN X'03F29' R P9DIR X'03F39' R/W ポート9方向制御レジスタ ポート9入力レジスタ P9PLU X'03F49' R/W ポート9プルアップ抵抗制御レジスタ P9IMD X'03F3F' R/W ポート9キー割込み制御レジスタ PAIN X'03F2A' R PAIMD X'03F3A' R/W ポートA入力モードレジスタ PAPLU X'03F4A' R/W ポートAプルアップ抵抗制御レジスタ PBOUT X'03F1B' R/W ポートB出力レジスタ PBIN X'03F2B' R ポートB入力レジスタ PBDIR X'03F3B' R/W ポートB方向制御レジスタ PCOUT X'03F1C' R/W ポートC出力レジスタ PCIN X'03F2C' R ポートC入力レジスタ PCDIR X'03F3C' R/W ポートC方向制御レジスタ PCPLU X'03F4C' R/W ポートCプルアップ抵抗制御レジスタ EXADV X'03F0E' R/W アドレス出力制御レジスタ FLOAT X'03F2E' R/W 端子制御レジスタ ポートA入力レジスタ I/Oポート機能の概要 IV - 5 第4章 I/Oポート機能 4-2 ポート 0の機能 4-2 ポート ポート0 4-2-1 ポート 0の説明 4-2-1 ポート ポート0 ポート0の各レジスタは、端子P00∼P07を制御します。 ■汎用ポートの設定 ポート0は、1ビット単位で入出力方向の制御を行うことができ、ポート0方向制御レジスタ(P0DIR)を 使用します。ポート0方向制御レジスタ(P0DIR)が1の時出力モードで、0の時入力モードになります。 入力データを読み込む時は、ポート0方向制御レジスタ(P0DIR)を0にし、ポート0入力レジスタ(P0IN) を読み取ることによって行います。 端子へデータを出力する時は、ポート0 方向制御レジスタ( P 0 D I R ) を1 にし、ポート0 出力レジスタ (P0OUT)に書き込むことによって行います。 ポート0は、1ビット単位でプルアップ抵抗の有無が選択でき、ポート0プルアップ抵抗制御レジスタ (P0PLU)を使用します。入力モードの時、ポート0プルアップ抵抗制御レジスタ(P0PLU)を1に設定する と、プルアップ抵抗が付加されます。 ■特殊機能端子の設定 P00は、シリアル0送信データ、およびUART0送信データの特殊出力端子と兼用しています。特殊機能端 子の選択は、シリアルインタフェース0モードレジスタ1(SC0MD1)により設定します。 P01は、シリアル0受信データ、およびUART0受信データの入力端子と兼用しています。特殊機能端子の 選択は、シリアルインタフェース0モードレジスタ1(SC0MD1)により設定します。 P02は、シリアル0クロックの入出力端子と兼用しています。特殊機能端子の選択は、シリアルインタ フェース0モードレジスタ1(SC0MD1)により設定します。 P03は、シリアル2送信データの出力端子と兼用しています。特殊機能端子の選択は、シリアルインタ フェース2モードレジスタ1(SC2MD1)により設定します。 P04は、シリアル2受信データの入力端子と兼用しています。特殊機能端子の選択は、シリアルインタ フェース2モードレジスタ1(SC2MD1)により設定します。 P05は、シリアル2クロックの入出力端子と兼用しています。特殊機能端子の選択は、シリアルインタ フェース2モードレジスタ1(SC2MD1)により設定します。 IV - 6 ポート0の機能 第4章 I/Oポート機能 P06は、ブザー出力端子と兼用しています。発振安定待ち制御レジスタ(DLYCTR)のBUZOEフラグが1の 時、ブザー出力が許可されます。また、プロセッサモード、メモリ拡張モードの時、データアクノレッ ジ信号の入力端子になります。この時、強制的に入力モードに設定されます。 P07は、プロセッサモード、メモリ拡張モードの時、システムクロックの出力端子になります。この 時、強制的に出力モードに設定されます。 ポート0の機能 IV - 7 第4章 I/Oポート機能 4-2-2 ポート 0 のレジスタ 4-2-2 ポート ポート0 7 P0OUT 6 5 4 3 2 1 0 P0OUT7 P0OUT6 P0OUT5 P0OUT4 P0OUT3 P0OUT2 P0OUT1 P0OUT0 (リセット時:XXXXXXXX) P0OUT 出力データ 0 L(VSSレベル)を出力 1 H(VDDレベル)を出力 ポート0出力レジスタ (P0OUT: X'03F10', R/W) P0IN 7 6 5 4 3 2 1 0 P0IN7 P0IN6 P0IN5 P0IN4 P0IN3 P0IN2 P0IN1 P0IN0 (リセット時:XXXXXXXX) P0IN 入力データ 0 端子がL(VSSレベル) 1 端子がH(VDDレベル) ポート0入力レジスタ (P0IN: X'03F20', R) 7 P0DIR 6 5 4 3 2 1 0 P0DIR7 P0DIR6 P0DIR5 P0DIR4 P0DIR3 P0DIR2 P0DIR1 P0DIR0 (リセット時:00000000) P0DIR 入出力モードの選択 0 入力モード 1 出力モード ポート0方向制御レジスタ (P0DIR: X'03F30', R/W) P0PLU 7 6 5 4 3 2 1 0 P0PLU7 P0PLU6 P0PLU5 P0PLU4 P0PLU3 P0PLU2 P0PLU1 P0PLU0 (リセット時:00000000) P0PLU プルアップ抵抗の付加の選択 0 付加しない 1 付加する ポート0プルアップ抵抗制御レジスタ (P0PLU: X'03F40', R/W) 図4-2-1 ポート0のレジスタ IV - 8 ポート0の機能 第4章 I/Oポート機能 4-2-3 ポート 0のブロック図 4-2-3 ポート ポート0 SC0ODCレジスタ SC0ODC0フラグ SC2ODCレジスタ SC2ODC0フラグ リセット P0PLU0,3 R D Q プルアップ抵抗制御 Write CK Read リセット データバス ポート出力データ P0DIR0,3 R D Q 入出力方向制御 Write CK Read P0OUT0,3 D Q Write CK Read P00 P03 0 M 1 U X P0IN0,3 ポート入力データ Read シリアル0受信データ入力 /UART0受信データ入力 シリアル2受信データ入力 シリアル0送信データ出力 /UART0送信データ出力 シリアル2送信データ出力 SC0MD1レジスタ SC0SBOSフラグ SC2MD1レジスタ SC2SBOSフラグ 図4-2-2 P00, P03ブロック図 リセット R D Q プルアップ抵抗制御 Write P0PLU1,4 CK Read リセット R D Q 入出力方向制御 データバス Write ポート出力データ CK Read D Q Write P0DIR1,4 P01 P04 P0OUT1,4 CK Read P0IN1,4 ポート入力データ Read シリアル0受信データ入力 /UART0受信データ入力 シリアル2受信データ入力 図4-2-3 P01, P04ブロック図 ポート0の機能 IV - 9 第4章 I/Oポート機能 SC0ODCレジスタ SC0ODC1フラグ SC2ODCレジスタ SC2ODC1フラグ リセット R D Q プルアップ抵抗制御 Write P0PLU2,5 CK Read リセット R D Q 入出力方向制御 データバス ポート出力データ Write CK D Q Write P0DIR2,5 Read P0OUT2,5 CK Read P02 P05 0 M 1 U X P0IN2,5 ポート入力データ Read シリアル0クロック入力 シリアル2クロック入力 シリアル0クロック出力 シリアル2クロック出力 SC0MD1レジスタ SC0SBTSフラグ SC2MD1レジスタ SC2SBTSフラグ 図4-2-4 P02, P05ブロック図 IV - 10 ポート0の機能 第4章 I/Oポート機能 リセット P0PLU6 R D Q プルアップ抵抗制御 Write CK Read リセット Write CK Read P06 データバス ポート出力データ P0DIR6 R D Q 入出力方向制御 Write 0 M 1 U X P0OUT6 D Q Read CK P0IN6 ポート入力データ Read データアクノレッジ信号 外部拡張制御 ブザー出力 *プロセッサモード、メモリ拡張モードのとき、 強制的に入力モードに設定されます。 DLYCTRレジスタ bp7 図4-2-5 P06ブロック図 リセット R D Q プルアップ抵抗制御 Write P0PLU7 CK Read リセット R D Q 入出力方向制御 Write CK Read P07 データバス ポート出力データ P0DIR7 D Q Write P0OUT7 CK Read 0 M 1 U X P0IN7 ポート入力データ Read システムクロック出力 外部拡張制御 *プロセッサモード、メモリ拡張モードのとき、 強制的に入力モードに設定されます。 図4-2-6 P07ブロック図 ポート0の機能 IV - 11 第4章 I/Oポート機能 4-3 ポート 1の機能 4-3 ポート ポート1 4-3-1 ポート 1の説明 4-3-1 ポート ポート1 ポート1の各レジスタは、端子P10,P11,P13∼P15を制御します。 ■汎用ポートの設定 ポート1は、1ビット単位で入出力方向の制御を行うことができ、ポート1方向制御レジスタ(P1DIR)を 使用します。ポート1方向制御レジスタ(P1DIR)が1の時出力モードで、0の時入力モードになります。 入力データを読み込む時は、ポート1方向制御レジスタ(P1DIR)を0にし、ポート1入力レジスタ(P1IN) を読み取ることによって行います。 端子へデータを出力する時は、ポート1 方向制御レジスタ( P 1 D I R ) を1 にし、ポート1 出力レジスタ (P1OUT)に書き込むことによって行います。 ポート1は、1ビット単位でプルアップ抵抗の有無が選択でき、ポート1プルアップ抵抗制御レジスタ (P1PLU)を使用します。入力モードの時、ポート1プルアップ抵抗制御レジスタ(P1PLU)を1に設定する と、プルアップ抵抗が付加されます。 ■特殊機能端子の設定 P10、P11、P13∼P15は、タイマ0、タイマ1、タイマ3、タイマ7、タイマ8の入出力端子と兼用していま す。また、P10はリモコンキャリアの出力端子とも兼用しています。P10、P11、P13∼P15は、1ビット 単位で特殊機能出力(タイマ出力)モードの選択ができ、ポート1出力モードレジスタ(P1OMD)を使用 します。ポート1出力モードレジスタ(P1OMD)が1の時タイマ出力が選択され、0の時汎用ポートとして 使用できます。 IV - 12 ポート1の機能 第4章 I/Oポート機能 4-3-2 ポート 1のレジスタ 4-3-2 ポート ポート1 7 6 P1OUT 5 4 3 2 P1OUT5 P1OUT4 P1OUT3 1 0 P1OUT1 P1OUT0 (リセット時:−−XXX−XX) P1OUT 出力データ 0 L(VSSレベル)を出力 1 H(VDDレベル)を出力 ポート1出力レジスタ (P1OUT: X'3F11', R/W) 7 6 P1IN 5 4 3 P1IN5 P1IN4 P1IN3 2 1 0 P1IN1 P1IN0 ((リセット時:−−XXX−XX) P1IN 入力データ 0 端子がL(VSSレベル) 1 端子がH(VDDレベル) ポート1入力レジスタ (P1IN: X'3F21', R) 7 6 P1DIR 5 4 3 2 P1DIR5 P1DIR4 P1DIR3 1 0 P1DIR1 P1DIR0 (リセット時:−−000−00) P1DIR 入出力モードの選択 0 入力モード 1 出力モード ポート1入力レジスタ (P1DIR: X'3F31', R/W) 7 P1PLU 6 5 4 3 P1PLU5 P1PLU4 P1PLU3 2 1 0 P1PLU1 P1PLU0 (リセット時:−−000−00) P1PLU プルアップ抵抗の付加の選択 0 付加しない 1 付加する ポート1入力レジスタ (P1PLU: X'3F41', R/W) 図4-3-1 ポート1のレジスタ(1/2) ポート1の機能 IV - 13 第4章 I/Oポート機能 7 6 P1OMD 5 4 3 P1OMD5 P1OMD4 P1OMD3 2 1 0 P1OMD1 P1OMD0 (リセット時:−−000−00) P1OMD0 0 I/Oポート 1 タイマ0出力 P1OMD1 I/Oポート 1 タイマ1出力 I/Oポート 1 タイマ3出力 I/Oポート、タイマ7出力選択 0 I/Oポート 1 タイマ7出力 P1OMD5 I/Oポート、タイマ8出力選択 0 I/Oポート 1 タイマ8出力 ポート1出力モードレジスタ (P1OMD: X'03F2F', R/W) ポート1の機能 I/Oポート、タイマ3出力選択 0 P1OMD4 IV - 14 I/Oポート、タイマ1出力選択 0 P1OMD3 図4-3-2 ポート1のレジスタ(2/2) I/Oポート、タイマ0出力選択 第4章 I/Oポート機能 4-3-3 ポート 1のブロック図 4-3-3 ポート ポート1 リセット P1PLU0 R D Q プルアップ抵抗制御 Write CK Read リセット P1DIR0 R D Q 入出力方向制御 Write CK Read P10 データバス ポート出力データ P1OUT0 D Q Write CK Read 0 M 1 U X リセット P1OMD0 R D Q 出力モード制御 Write CK Read P1IN0 ポート入力データ Read タイマ入力 タイマ出力、リモコンキャリア出力 図4-3-3 P10ブロック図 リセット R D Q プルアップ抵抗制御 Write P1PLU1,3,4,5 CK Read リセット R D Q 入出力方向制御 Write データバス ポート出力データ CK D Q Write P1DIR1,3,4,5 Read P1OUT1,3,4,5 CK Read P11,P13, P14,P15 0 M 1 U X リセット R D Q 出力モード制御 Write CK P1OMD1,3,4,5 Read P1IN1,3,4,5 ポート入力データ Read タイマ入力 タイマ出力 図4-3-4 P11, P13, P14, P15ブロック図 ポート1の機能 IV - 15 第4章 I/Oポート機能 4-4 ポート 2の機能 4-4 ポート ポート2 4-4-1 ポート 2の説明 4-4-1 ポート ポート2 ポート2の各レジスタは、端子P20∼P24、P27を制御します。 ■汎用ポートの設定 ポート2は、P27を除いて入力専用ポートです。 入力データを読み込む時は、ポート2入力レジスタ(P2IN)を読み取ることによって行います。 P27は、リセット端子です。ソフトリセットをかける時は、ポート2出力レジスタ(P2OUT)の7ビット目 に0を書き込むことによって行います。 ポート2は、P27を除いて1ビット単位でプルアップ抵抗の有無が選択でき、ポート2プルアップ抵抗制 御レジスタ(P2PLU)を使用します。プルアップ抵抗制御レジスタ(P2PLU)を1に設定すると、プルアップ 抵抗が付加されます。また、P27は常にプルアップ抵抗が付加されています。 ■特殊機能端子の設定 P20∼24は、外部割込みの端子と兼用しています。 P21は、外部割込みとACゼロクロスの入力端子と兼用しています。ACゼロクロスのデータを読む時 は、ノイズフィルタ制御レジスタ(NFCTR)のbp7を1に設定し、ポート2入力レジスタ(P2IN)の値を読み 出してください。 IV - 16 ポート2の機能 第4章 I/Oポート機能 4-4-2 ポート 2のレジスタ 4-4-2 ポート ポート2 7 P2OUT 6 5 4 3 2 1 0 (リセット時:1−−−−−−−) P2OUT7 P2OUT 出力データ 0 L(VSSレベル)を出力 1 H(VDDレベル)を出力 ポート2出力レジスタ (P2OUT: X'03F12', R/W) 7 P2IN 6 5 P2IN7 4 3 2 1 0 P2IN4 P2IN3 P2IN2 P2IN1 P2IN0 (リセット時:1−−XXXXX) P2IN 0 端子がL(VSSレベル) 1 端子がH(VDDレベル) ポート3入力レジスタ (P2IN: X'03F22', 7 P2PLU 6 5 4 3 2 1 入力データ R) 0 P2PLU4 P2PLU3 P2PLU2 P2PLU1 P2PLU0 (リセット時:−−−00000) P2PLU プルアップ抵抗の付加の選択 0 付加しない 1 付加する ポート2プルアップ抵抗制御レジスタ (P2PLU: X'03F42', R/W) 図4-4-1 ポート2のレジスタ ポート2の機能 IV - 17 第4章 I/Oポート機能 4-4-3 ポート 2のブロック図 4-4-3 ポート ポート2 リセット R D Q プルアップ抵抗制御 データバス Write P2PLU0,2,3,4 CK Read P20,P22, P23,P24 P2IN0,2,3,4 ポート入力データ シュミット入力 Read 外部割込み 図4-4-2 P20, P22, P23, P24ブロック図 リセット R D Q プルアップ抵抗制御 データバス Write P2PLU1 CK Read P21 M P2IN1 ポート入力データ U X Read 1 中間値検出回路 0 シュミット入力 NFCTRレジスタbp7 ACゼロクロス入力 外部割込み 図4-4-3 P21ブロック図 リセット データバス ポート出力データ S D Q Write P2OUT7 CK Read P27 P2IN7 ポート入力データ Read シュミット入力 リセット 図4-4-4 P27ブロック図 IV - 18 ポート2の機能 第4章 I/Oポート機能 4-5 ポート 4の機能 4-5 ポート ポート4 4-5-1 ポート 4の説明 4-5-1 ポート ポート4 ポート4の各レジスタは、端子P40∼P47を制御します。 ■汎用ポートの設定 ポート4は、1ビット単位で入出力方向の制御を行うことができ、ポート4方向制御レジスタ(P4DIR)を 使用します。ポート4方向制御レジスタ(P4DIR)が1の時出力モードで、0の時入力モードになります。 入力データを読み込む時は、ポート4方向制御レジスタ(P4DIR)を0にし、ポート4入力レジスタ(P4IN) を読み取ることによって行います。 端子へデータを出力する時は、ポート4 方向制御レジスタ( P 4 D I R ) を1 にし、ポート4 出力レジスタ (P4OUT)に書き込むことによって行います。 ポート4は、1ビット単位でプルアップ抵抗の有無が選択でき、ポート4プルアップ抵抗制御レジスタ (P4PLU)を使用します。入力モードの時、ポート4プルアップ抵抗制御レジスタ(P4PLU)を1に設定する と、プルアップ抵抗が付加されます。 ■特殊機能端子の設定 P40∼P47は、キー割込みの入力端子と兼用しています。キー入力端子の選択は、キー割込み制御レジ スタ(P4IMD)により選択します。 ポート4の機能 IV - 19 第4章 I/Oポート機能 4-5-2 ポート 4のレジスタ 4-5-2 ポート ポート4 7 P4OUT 6 5 4 3 2 1 0 P4OUT7 P4OUT6 P4OUT5 P4OUT4 P4OUT3 P4OUT2 P4OUT1 P4OUT0 (リセット時:XXXXXXXX) P4OUT 出力データ 0 L(VSSレベル)を出力 1 H(VDDレベル)を出力 ポート4出力レジスタ (P4OUT: X'03F14', R/W) P4IN 7 6 5 4 3 2 1 0 P4IN7 P4IN6 P4IN5 P4IN4 P4IN3 P4IN2 P4IN1 P4IN0 (リセット時:XXXXXXXX) P4IN 入力データ 0 端子がL(VSSレベル) 1 端子がH(VDDレベル) ポート4入力レジスタ (P4IN: X'03F24', R) 7 P4DIR 6 5 4 3 2 1 0 P4DIR7 P4DIR6 P4DIR5 P4DIR4 P4DIR3 P4DIR2 P4DIR1 P4DIR0 (リセット時:00000000) P4DIR 入出力モードの選択 0 入力モード 1 出力モード ポート4方向制御レジスタ (P4DIR: X'03F34', R/W) P4PLU 7 6 5 4 3 2 1 0 P4PLU7 P4PLU6 P4PLU5 P4PLU4 P4PLU3 P4PLU2 P4PLU1 P4PLU0 (リセット時:00000000) P4PLU プルアップ抵抗の付加の選択 0 付加しない 1 付加する ポート4プルアップ抵抗制御レジスタ (P4PLU: X'03F44', R/W) 図4-5-1 ポート4のレジスタ(1/2) IV - 20 ポート4の機能 第4章 I/Oポート機能 P4IMD 7 6 5 4 IRQ4SEL - - - 3 2 1 0 (リセット時:0 - P4KYEN1 P4KYEN1 P4KYEN1 P4KYEN1 P4KYEN1 - - P41,P40キー割込み選択 0 禁止 1 許可 P4KYEN2 P43,P42キー割込み選択 0 禁止 1 許可 P4KYEN3 P45,P44キー割込み選択 0 禁止 1 許可 P4KYEN4 0 0 0 0 ) P47,P46キー割込み選択 0 禁止 1 許可 IRQ4SEL IRQ4割込みソース選択 0 外部割込みIRQ4 1 ポート4、9キー割込み ポート4キー入力割込み制御レジスタ (P4IMD: X'03F3E') 図4-5-2 ポート4のレジスタ(2/2) ポート4の機能 IV - 21 第4章 I/Oポート機能 4-5-3 ポート 4のブロック図 4-5-3 ポート ポート4 リセット R D Q プルアップ抵抗制御 Write P4PLU0,2,4,6 CK Read リセット データバス 入出力方向制御 R D Q Write CK Read D Q ポート出力データ Write P4DIR0,2,4,6 P40,P42, P44,P46 P4OUT0,2,4,6 CK Read P4IN0,2,4,6 ポート入力データ Read リセット R D Q 入力モード制御 Write P4IMD0,2,4,6 CK Read キー入力割込み信号 図4-5-3 P40, P42, P44, P46ブロック図 リセット R D Q プルアップ抵抗制御 Write P4PLU1,3,5 CK Read リセット データバス 入出力方向制御 R D Q Write CK Read P41,P43,P45 D Q ポート出力データ P4DIR1,3,5 Write P4OUT1,3,5 CK Read P4IN1,3,5 入力モード制御 Read 入力モード制御 (P4IMD1,2,3) キー入力割込み信号 図4-5-4 P41, P43, P45ブロック図 IV - 22 ポート4の機能 第4章 I/Oポート機能 リセット R D Q プルアップ抵抗制御 Write P4PLU7 CK Read リセット データバス 入出力方向制御 R D Q Write CK Read D Q ポート出力データ Write P4DIR7 P47 P4OUT7 CK Read P4IN7 ポート入力データ Read リセット R D Q 入力モード制御 Write CK P4IMD7 Read キー入力割込み信号 入力モード制御(P4IMD4) IRQ4割込みソース選択 図4-5-5 P47ブロック図 ポート4の機能 IV - 23 第4章 I/Oポート機能 4-6 ポート 5の機能 ポート5 4-6-1 ポート 5の説明 4-6-1 ポート ポート5 ポート5の各レジスタは、端子P50∼P56を制御します。 ■汎用ポートの設定 ポート5は、1ビット単位で入出力方向の制御を行うことができ、ポート5方向制御レジスタ(P5DIR)を 使用します。ポート5方向制御レジスタ(P5DIR)が1の時出力モードで、0の時入力モードになります。 入力データを読み込む時は、ポート5方向制御レジスタ(P5DIR)を0にし、ポート5入力レジスタ(P5IN) を読み取ることによって行います。 端子へデータを出力する時は、ポート5 方向制御レジスタ( P 5 D I R ) を1 にし、ポート5 出力レジスタ (P5OUT)に書き込むことによって行います。 ポート5は、1ビット単位でプルアップ抵抗の有無が選択でき、ポート5プルアップ抵抗制御レジスタ (P5PLU)を使用します。入力モードの時、ポート5プルアップ抵抗制御レジスタ(P5PLU)を1に設定する と、プルアップ抵抗が付加されます。 ■特殊機能端子の設定 P50∼P52は、プロセッサモード、メモリ拡張モードの時、外部拡張メモリへの制御信号の出力端子に なります。P50は、ライトイネーブル信号(NWE)、P51は、リードイネーブル信号(NRE)、P52は、チップ セレクト信号(NCS)です。この時、レジスタによる入出力制御はできません。 P53、P54は、プロセッサモード、メモリ拡張モードの時、外部拡張メモリへのアドレス出力端子にな ります。但し、アドレス出力制御レジスタ(EXADV)を1に設定しなければ、アドレス出力が許可されま せん。P53はアドレスの16ビット目、P54はアドレスの17ビット目です。この時、レジスタによる入出 力制御はできません。 P50∼P56は、LCDセグメント出力端子と兼用しています。出力制御レジスタ3(LC1CTR0)の各ビットを1 に設定することにより、1ビット単位でセグメント出力端子を選択することができます。 IV - 24 ポート5の機能 第4章 I/Oポート機能 4-6-2 ポート 5 のレジスタ 4-6-2 ポート ポート5 7 P5OUT 6 5 4 3 2 1 0 P5OUT6 P5OUT5 P5OUT4 P5OUT3 P5OUT2 P5OUT1 P5OUT0 (リセット時:−XXXXXXX) P5OUT 出力データ 0 L(VSSレベル)を出力 1 H(VDDレベル)を出力 ポート5出力レジスタ (P5OUT: X'03F15', R/W) 7 P5IN 6 5 4 3 2 1 0 P5IN6 P5IN5 P5IN4 P5IN3 P5IN2 P5IN1 P5IN0 (リセット時:−XXXXXXX) P5IN 入力データ 0 端子がL(VSSレベル) 1 端子がH(VDDレベル) ポート5入力レジスタ (P4IN: X'03F25', R) 7 P5DIR 6 5 4 3 2 1 0 P5DIR6 P5DIR5 P5DIR4 P5DIR3 P5DIR2 P5DIR1 P5DIR0 (リセット時:−0000000) P5DIR 入出力モードの選択 0 入力モード 1 出力モード ポート5方向制御レジスタ (P5DIR: X'03F35', R/W) 7 P5PLU 6 5 4 3 2 1 0 P5PLU6 P5PLU5 P5PLU4 P5PLU3 P5PLU2 P5PLU1 P5PLU0 (リセット時:−0000000) P5PLU プルアップ抵抗の付加の選択 0 付加しない 1 付加する ポート5プルアップ抵抗制御レジスタ (P5PLU: X'03F45', R/W) 図4-6-1 ポート5のレジスタ(1/2) ポート5の機能 IV - 25 第4章 I/Oポート機能 7 EXADV 6 5 EXADV3 EXADV2 EXADV1 4 3 2 1 0 (リセット時:000−−−−−) EXADV1 0 アドレス出力禁止 1 アドレス出力許可 EXADV2 アドレス出力禁止 1 アドレス出力許可 ポート5の機能 P53-P54アドレス出力制御 0 アドレス出力禁止 1 アドレス出力許可 アドレス出力制御レジスタ (EXADV: X'03F0E', R/W) IV - 26 P74-P77アドレス出力制御 0 EXADV3 図4-6-2 ポート5のレジスタ(2/2) P70-P73アドレス出力制御 第4章 I/Oポート機能 4-6-3 ポート 5 のブロック図 4-6-3 ポート ポート5 リセット R D Q プルアップ抵抗制御 Write P5PLU0-2 CK Read リセット R D Q 入出力方向制御 Write CK Read P50-P52 データバス ポート出力データ P5DIR0-2 D Q Write P5OUT0-2 CK Read 0 M 1 U X P5IN0-2 ポート入力データ Read ライトイネーブル信号 /リードイネーブル信号 /チップセレクト信号 VLC1/VCH 外部拡張制御 VLC2 セグメント出力制御 セグメント出力データ VLC3 *プロセッサモード、メモリ拡張モードのとき、強制的に ライトイネーブル/リードイネーブル/チップセレクト出力モードに 設定されます。 VSS **セグメント出力選択時、ポートは強制的に入力モードに 設定され、プルアップ抵抗無しになります。 図4-6-3 P50∼P52ブロック図 ポート5の機能 IV - 27 第4章 I/Oポート機能 リセット R D Q プルアップ抵抗制御 Write P5PLU3,4 CK Read リセット R D Q 入出力方向制御 Write CK Read P53,P54 データバス ポート出力データ P5DIR3,4 D Q Write P5OUT3,4 CK Read 0 M 1 U X P5IN3,4 ポート入力データ Read アドレス入力 VLC1/VCH アドレス出力 外部拡張制御 VLC2 セグメント出力制御 セグメント出力データ VLC3 *プロセッサモードのとき、強制的にアドレス(A16,A17) 出力モードに設定されます。 VSS **セグメント出力選択時、ポートは強制的に入力モードに 設定され、プルアップ抵抗無しになります。 図4-6-4 P53, P54ブロック図 IV - 28 ポート5の機能 第4章 I/Oポート機能 リセット R D Q プルアップ抵抗制御 Write P5PLU5,6 CK Read リセット R D Q 入出力方向制御 Write CK Read P55,P56 データバス ポート出力データ P5DIR5,6 D Q Write P5OUT5,6 CK Read P5IN5,6 ポート入力データ Read VLC1/VCH VLC2 セグメント出力制御 セグメント出力データ VLC3 VSS 図4-6-5 P55, P56ブロック図 ポート5の機能 IV - 29 第4章 I/Oポート機能 4-7 ポート 6の機能 4-7 ポート ポート6 4-7-1 ポート 6の説明 4-7-1 ポート ポート6 ポート6の各レジスタは、端子P60∼P67を制御します。 ■汎用ポートの設定 ・ポート6は、1ビット単位で入出力方向の制御を行うことができ、ポート6方向制御レジスタ(P6DIR) を使用します。ポート6方向制御レジスタ(P6DIR)が1の時出力モードで、0の時入力モードになります。 入力データを読み込む時は、ポート6方向制御レジスタ(P6DIR)を0にし、ポート6入力レジスタ(P6IN) を読み取ることによって行います。 端子へデータを出力する時は、ポート6 方向制御レジスタ( P 6 D I R ) を1 にし、ポート6 出力レジスタ (P6OUT)に書き込むことによって行います。 ポート6は、1ビット単位でプルアップ抵抗の有無が選択でき、ポート6プルアップ抵抗制御レジスタ (P6PLU)を使用します。入力モードの時、ポート6プルアップ抵抗制御レジスタ(P6PLU)を1に設定する と、プルアップ抵抗が付加されます。 ■特殊機能端子の設定 P60∼P67は、プロセッサモード、メモリ拡張モードの時、外部拡張メモリへのアドレス出力端子にな ります。P60∼P67は、それぞれアドレスの0ビット目∼7ビット目に対応します。この時、レジスタに よる入出力制御はできません。 P60∼P67は、LCDセグメント出力端子と兼用しています。出力制御レジスタ1(LC0CTR0)のビット7∼4を 1に設定することにより、2ビット単位でセグメント出力端子を選択することができます。 IV - 30 ポート6の機能 第4章 I/Oポート機能 4-7-2 ポート 6のレジスタ 4-7-2 ポート ポート6 7 P6OUT 6 5 4 3 2 1 0 P6OUT7 P6OUT6 P6OUT5 P6OUT4 P6OUT3 P6OUT2 P6OUT1 P6OUT0 (リセット時:XXXXXXXX) P6OUT 出力データ 0 L(VSSレベル)を出力 1 H(VDDレベル)を出力 ポート6出力レジスタ (P6OUT: X'03F16', R/W) P6IN 7 6 5 4 3 2 1 0 P6IN7 P6IN6 P6IN5 P6IN4 P6IN3 P6IN2 P6IN1 P6IN0 (リセット時:XXXXXXXX) P6IN 入力データ 0 端子がL(VSSレベル) 1 端子がH(VDDレベル) ポート6入力レジスタ (P6IN: X'03F26', R) 7 P6DIR 6 5 4 3 2 1 0 P6DIR7 P6DIR6 P6DIR5 P6DIR4 P6DIR3 P6DIR2 P6DIR1 P6DIR0 (リセット時:00000000) P6DIR 入出力モードの選択 0 入力モード 1 出力モード ポート6方向制御レジスタ (P6DIR: X'03F36', R/W) 7 P6PLU 6 5 4 3 2 1 0 P6PLU7 P6PLU6 P6PLU5 P6PLU4 P6PLU3 P6PLU2 P6PLU1 P6PLU0 (リセット時:00000000) P6PLU プルアップ抵抗の付加の選択 0 付加しない 1 付加する ポート6プルアップ抵抗制御レジスタ (P6PLU: X'03F46', R/W) 図4-7-1 ポート6のレジスタ ポート6の機能 IV - 31 第4章 I/Oポート機能 4-7-3 ポート 6のブロック図 4-7-3 ポート ポート6 リセット R D Q プルアップ抵抗制御 Write P6PLU0-7 CK Read リセット R D Q 入出力方向制御 Write CK Read P60-P67 データバス ポート出力データ P6DIR0-7 D Q Write P6OUT0-7 CK Read 0 M 1 U X P6IN0-7 ポート入力データ Read アドレス入力 VLC1 アドレス出力 外部拡張制御 VLC2 セグメント出力制御 セグメント出力データ VLC3 *プロセッサモード、メモリ拡張モードのとき、強制的に アドレス(A0∼A7)出力モードに設定されます。 **セグメント出力選択時、ポートは強制的に入力モードに 設定され、プルアップ抵抗無しになります。 図4-7-2 P60∼P67ブロック図 IV - 32 ポート6の機能 VSS 第4章 I/Oポート機能 4-8 ポート 7の機能 4-8 ポート ポート7 4-8-1 ポート 7の説明 4-8-1 ポート ポート7 ポート7の各レジスタは、端子P70∼P77を制御します。 ■汎用ポートの設定 ポート7は、1ビット単位で入出力方向の制御を行うことができ、ポート7方向制御レジスタ(P7DIR)を 使用します。ポート7方向制御レジスタ(P7DIR)が1の時出力モードで、0の時入力モードになります。 入力データを読み込む時は、ポート7方向制御レジスタ(P7DIR)を0にし、ポート7入力レジスタ(P7IN) を読み取ることによって行います。 端子へデータを出力する時は、ポート7 方向制御レジスタ( P 7 D I R ) を1 にし、ポート7 出力レジスタ (P7OUT)に書き込むことによって行います。 ポート7は、1ビット単位でプルアップ抵抗の有無が選択でき、ポート7プルアップ抵抗制御レジスタ (P7PLU)を使用します。入力モードの時、ポート7プルアップ抵抗制御レジスタ(P7PLU)を1に設定する と、プルアップ抵抗が付加されます。 ■特殊機能端子の設定 P70∼P77は、プロセッサモード、メモリ拡張モードの時、外部拡張メモリへのアドレス出力端子にな ります。但し、アドレス出力制御レジスタ(EXADV)を1に設定しなければ、アドレス出力が許可されま せん。P70∼P77は、それぞれアドレスの8∼15ビット目になります。この時、レジスタによる入出力制 御はできません。 シングルチップモードの時、ポート7は、1ビット単位で同期出力の選択ができ、ポート7同期出力制御 レジスタ(P7SYO)を使用します。ポート7同期出力制御レジスタ(P7SYO)が1の時、同期出力になり、0の 時、汎用ポートとして使えます。同期出力を発生させるイベントは、端子制御レジスタ(FLOAT)によっ て選択できます。端子制御レジスタ(FLOAT)の1ビット目、0ビット目が00の時外部割込みIRQ2が選択さ れ、01の時タイマ7割込み、10の時,11の時タイマ1割込みが選択されます。 P70∼P77は、LCDセグメント出力端子と兼用しています。出力制御レジスタ1(LC0CTR0)のビット3、2を 1に設定することにより、4ビット単位でセグメント出力端子を選択することができます。 ポート7の機能 IV - 33 第4章 I/Oポート機能 4-8-2 ポート 7のレジスタ 4-8-2 ポート ポート7 7 P7OUT 6 5 4 3 2 1 0 P7OUT7 P7OUT6 P7OUT5 P7OUT4 P7OUT3 P7OUT2 P7OUT1 P7OUT0 (リセット時:XXXXXXXX) P7OUT 出力データ 0 L(VSSレベル)を出力 1 H(VDDレベル)を出力 ポート7出力レジスタ (P7OUT: X'03F17', R/W) P7IN 7 6 5 4 3 2 1 0 P7IN7 P7IN6 P7IN5 P7IN4 P7IN3 P7IN2 P7IN1 P7IN0 (リセット時:XXXXXXXX) P7IN 入力データ 0 端子がL(VSSレベル) 1 端子がH(VDDレベル) ポート7入力レジスタ (P7IN: X'03F27', R) 7 P7DIR 6 5 4 3 2 1 0 P7DIR7 P7DIR6 P7DIR5 P7DIR4 P7DIR3 P7DIR2 P7DIR1 P7DIR0 (リセット時:00000000) P7DIR 入出力モードの選択 0 入力モード 1 出力モード ポート7方向制御レジスタ (P7DIR: X'03F37', R/W) 7 P7PLU 6 5 4 3 2 1 0 P7PLU7 P7PLU6 P7PLU5 P7PLU4 P7PLU3 P7PLU2 P7PLU1 P7PLU0 (リセット時:00000000) P7PLU プルアップ抵抗の付加の選択 0 付加しない 1 付加する ポート7プルアップ抵抗制御レジスタ (P7PLU: X'03F47', R/W) 図4-8-1 ポート7のレジスタ(1/2) IV - 34 ポート7の機能 第4章 I/Oポート機能 7 P7SYO 6 5 4 3 2 1 0 P7SYO7 P7SYO6 P7SYO5 P7SYO4 P7SYO3 P7SYO2 P7SYO1 P7SYO0 (リセット時:00000000) P7SYO I/Oポート、同期出力端子の選択 0 I/Oポート 1 同期出力端子 ポート7同期出力制御レジスタ (P7SYO: X'03F1E', R/W) 7 6 5 4 3 2 FLOAT 1 0 SYOEVS1 SYOEVS0 (リセット時:−−−−−−00) SYOEVS1 SYOEVS0 0 1 P7同期出力イベント選択 0 外部割込みIRQ2 1 タイマ7割込み 0 未使用 1 タイマ1割込み 端子制御レジスタ (FLOAT: X'03F2E', R/W) 7 EXADV 6 5 4 EXADV3 EXADV2 EXADV1 3 2 1 0 (リセット時:000−−−−−) EXADV1 P70-P73アドレス出力制御 0 アドレス出力禁止 1 アドレス出力許可 EXADV2 P74-P77アドレス出力制御 0 アドレス出力禁止 1 アドレス出力許可 EXADV3 P53-P54アドレス出力制御 0 アドレス出力禁止 1 アドレス出力許可 アドレス出力レジスタ (EXADV: X'03F0E', R/W) 図4-8-2 ポート7のレジスタ(2/2) ポート7の機能 IV - 35 第4章 I/Oポート機能 4-8-3 ポート 7のブロック図 4-8-3 ポート ポート7 外部拡張制御 アドレス出力 リセット R D Q プルアップ抵抗制御 Write データバス 入出力方向制御 P7PLU0-7 CK Read リセット R D Q Write P7DIR0-7 CK Read P7OUT0-7 ポート出力データ D Q Write D Q CK Read CK LD 0 M 1 U X 1 0 P70-P77 M U X 同期出力値 格納レジスタ P7IN0-7 ポート入力データ Read アドレス入力 リセット R D Q 同期出力制御 Write CK 同期出力イベント P7SYO0-7 VLC1 Read VLC2 セグメント出力制御 セグメント出力データ VLC3 *プロセッサモードのとき、強制的にアドレス(A8∼A15) 出力モードに設定されます。 **メモリ拡張モードでEXADVレジスタのbp5,6が"1"のとき レジスタによる入出力制御はできません。 ***セグメント出力選択時、ポートは強制的に入力モードに 設定され、プルアップ抵抗無しになります。 図4-8-2 P70∼P77ブロック図 IV - 36 ポート7の機能 VSS 第4章 I/Oポート機能 4-9 ポート 8の機能 4-9 ポート ポート8 4-9-1 ポート 8の説明 4-9-1 ポート ポート8 ポート8の各レジスタは、端子P80∼P87を制御します。 ■汎用ポートの設定 ポート8は、1ビット単位で入出力方向の制御を行うことができ、ポート8方向制御レジスタ(P8DIR)を 使用します。ポート8方向制御レジスタ(P8DIR)が1の時出力モードで、0の時入力モードになります。 入力データを読み込む時は、ポート8方向制御レジスタ(P8DIR)を0にし、ポート8入力レジスタ(P8IN) を読み取ることによって行います。 端子へデータを出力する時は、ポート8 方向制御レジスタ( P 8 D I R ) を1 にし、ポート8 出力レジスタ (P8OUT)に書き込むことによって行います。 ポート8は、1ビット単位でプルアップ抵抗の有無が選択でき、ポート8プルアップ抵抗制御レジスタ (P8PLU)を使用します。入力モードの時、ポート8プルアップ抵抗制御レジスタ(P8PLU)を1に設定する と、プルアップ抵抗が付加されます。 ■特殊機能端子の設定 P80∼P87は、プロセッサモード、メモリ拡張モードの時、外部拡張メモリとのデータの入出力端子に なります。P80∼P87は、それぞれデータの0∼7ビット目になります。この時、レジスタによる入出力 制御はできません。 P80∼P87は、LCDセグメント出力端子と兼用しています。出力制御レジスタ1(LC0CTR0)のビット0、1を 1に設定することにより、4ビット単位でセグメント出力端子を選択することができます。 ポート8の機能 IV - 37 第4章 I/Oポート機能 4-9-2 ポート 8のレジスタ 4-9-2 ポート ポート8 7 P8OUT 6 5 4 3 2 1 0 P8OUT7 P8OUT6 P8OUT5 P8OUT4 P8OUT3 P8OUT2 P8OUT1 P8OUT0 (リセット時:XXXXXXXX) P8OUT 出力データ 0 L(VSSレベル)を出力 1 H(VDDレベル)を出力 ポート8出力レジスタ (P8OUT: X'03F18', R/W) P8IN 7 6 5 4 3 2 1 0 P8IN7 P8IN6 P8IN5 P8IN4 P8IN3 P8IN2 P8IN1 P8IN0 (リセット時:XXXXXXXX) P8IN 入力データ 0 端子がL(VSSレベル) 1 端子がH(VDDレベル) ポート8入力レジスタ (P8IN: X'03F28', R) 7 P8DIR 6 5 4 3 2 1 0 P8DIR7 P8DIR6 P8DIR5 P8DIR4 P8DIR3 P8DIR2 P8DIR1 P8DIR0 (リセット時:00000000) P8DIR 入出力モードの選択 0 入力モード 1 出力モード ポート8方向制御レジスタ (P8DIR: X'03F38', R/W) 7 P8PLU 6 5 4 3 2 1 0 P8PLU7 P8PLU6 P8PLU5 P8PLU4 P8PLU3 P8PLU2 P8PLU1 P8PLU0 (リセット時:00000000) P8PLU プルアップ抵抗の付加の選択 0 付加しない 1 付加する ポート8プルアップ抵抗制御レジスタ (P8PLU: X'03F48', R/W) 図4-9-1 ポート8のレジスタ IV - 38 ポート8の機能 第4章 I/Oポート機能 4-9-3 ポート 8のブロック図 4-9-3 ポート ポート8 リセット R D Q プルアップ抵抗制御 Write P8PLU0-7 CK Read リセット R D Q 入出力方向制御 Write CK Read P80-P87 データバス ポート出力データ P8DIR0-7 D Q Write P8OUT0-7 CK Read 0 M 1 U X P8IN0-7 ポート入力データ Read データ入力 VLC1 データ出力 外部拡張制御 VLC2 セグメント出力制御 セグメント出力データ VLC3 *プロセッサモード、メモリ拡張モードのとき、強制的に データ(D0∼D7)出力モードに設定されます。 VSS **セグメント出力選択時、ポートは強制的に入力モードに 設定され、プルアップ抵抗無しになります。 図4-9-2 P80∼P87ブロック図 ポート8の機能 IV - 39 第4章 I/Oポート機能 4-10 ポート 9の機能 4-10 ポート ポート9 4-10-1 ポート 9の説明 4-10-1 ポート ポート9 ポート9の各レジスタは、端子P90∼P93を制御します。 ■汎用ポートの設定 ポート9は、1ビット単位で入出力方向の制御を行うことができ、ポート9方向制御レジスタ(P9DIR)を 使用します。ポート9方向制御レジスタ(P9DIR)が1の時出力モードで、0の時入力モードになります。 入力データを読み込む時は、ポート9方向制御レジスタ(P9DIR)を0にし、ポート9入力レジスタ(P9IN) を読み取ることによって行います。 端子へデータを出力する時は、ポート9 方向制御レジスタ( P 9 D I R ) を1 にし、ポート9 出力レジスタ (P9OUT)に書き込むことによって行います。 ポート9は、1ビット単位でプルアップ抵抗の有無が選択でき、ポート9プルアップ抵抗制御レジスタ (P9PLU)を使用します。入力モードの時、ポート9プルアップ抵抗制御レジスタ(P9PLU)を1に設定する と、プルアップ抵抗が付加されます。 ■特殊機能端子の設定 P90∼P93は、キー割込みの入力端子と兼用しています。キー割込み入力端子の選択は、キー割込み制 御レジスタ(P9IMD)により選択します。 IV - 40 ポート9の機能 第4章 I/Oポート機能 4-10-2 ポート 9のレジスタ 4-10-2 ポート ポート9 7 6 5 4 P9OUT 3 2 1 0 P9OUT3 P9OUT2 P9OUT1 P9OUT0 (リセット時:- - - - XXXX) 出力データ P9OUT 0 L(VSSレベル)を出力 1 H(VDDレベル)を出力 ポート9出力レジスタ (P9OUT: X'03F19', R/W) 7 6 5 4 P9IN 3 2 1 0 P9IN3 P9IN2 P9IN1 P9IN0 (リセット時:- - - - XXXX) 入力データ P9IN 0 端子がL(VSSレベル) 1 端子がH(VDDレベル) ポート9入力レジスタ (P9IN: X'03F29', R) 7 6 5 4 P9DIR 3 2 1 0 P9DIR3 P9DIR2 P9DIR1 P9DIR0 (リセット時:- P9DIR - - - 0000) 入出力モードの選択 0 入力モード 1 出力モード ポート9方向制御レジスタ (P9DIR: X'03F94', R/W) 7 P9PLU 6 5 4 3 2 1 0 P9PLU3 P9PLU2 P9PLU1 P9PLU0 (リセット時:- - - - 0000) P9PLU プルアップ抵抗の付加の選択 0 付加しない 1 付加する ポート9プルアップ抵抗制御レジスタ (P9PLU: X'03F49', R/W) 図4-10-1 ポート9のレジスタ(1/2) ポート9の機能 IV - 41 第4章 I/Oポート機能 P9IMD 7 6 5 4 3 2 - - - - - - 1 0 (リセット時:- P9KYEN2 P9KYEN1 P9KYEN1 ポート9の機能 - - - 0 0 ) P91,P90キー割込み選択 禁止 1 許可 P93,P92キー割込み選択 0 禁止 1 許可 ポート9キー割込み制御レジスタ(P9IMD: X'03F3F', R/W) IV - 42 - 0 P9KYEN2 図4-10-2 ポート9のレジスタ(2/2) - 第4章 I/Oポート機能 4-10-3 ポート 9のブロック図 4-10-3 ポート ポート9 リセット P9PLU0,2 R D Q プルアップ抵抗制御 Write CK Read リセット データ バ ス 入出力方向制御 P9DIR0,2 R D Q Write CK Read P90,P92 P9OUT0,2 D Q ポート出力データ Write CK Read P9IN0,2 ポート入力データ Read リセット P9IMD0,2 R D Q 入力モード制御 Write CK Read キー入力割込信号 図4-10-3 P90, P92ブロック図 リセット R D Q プルアップ抵抗制御 Write P9PLU1,3 CK Read リセット データバス 入出力方向制御 R D Q Write CK Read D Q ポート出力データ Write P9DIR1,3 P91,P93 P9OUT1,3 CK Read P9IN1,3 入力モード制御 Read 入力モード制御 (P9IMD1,2) キー入力割込み信号 図4-10-4 P91, P93ブロック図 ポート9の機能 IV - 43 第4章 I/Oポート機能 4-11 ポート Aの機能 4-11 ポート ポートA 4-11-1 ポート Aの説明 4-11-1 ポート ポートA ポートAの各レジスタは、端子PA0∼PA7を制御します。 <汎用ポートの設定> ポートAは、全ビット入力専用ポートです。 入力データを読み込む時は、ポートA入力レジスタ(PAIN)を読み取ることによって行います。 ポートAは、1ビット単位でプルアップ抵抗の有無が選択でき、ポートAプルアップ抵抗制御レジスタ (PAPLU)を使用します。ポートAプルアップ抵抗制御レジスタ(PAPLU)を1に設定すると、プルアップ抵 抗が付加されます。 <特殊機能端子の設定> PA0∼PA7は、アナログの入力端子と兼用しています。PA0∼PA7は、1ビット単位で入力モードの選択が でき、ポートA入力モードレジスタ(PAIMD)を使用します。ポートA入力モードレジスタ(PAIMD)が1の 時、アナログ入力が許可されます。 PA0∼PA7は、LCDセグメント出力端子と兼用しています。出力制御レジスタ2(LC0CTR1)の設定により、 1ビット単位でセグメント出力端子を選択することができます。 IV - 44 ポートAの機能 第4章 I/Oポート機能 4-11-2 ポート Aのレジスタ 4-11-2 ポート ポートA PAIN 7 6 5 4 3 2 1 0 PAIN7 PAIN6 PAIN5 PAIN4 PAIN3 PAIN2 PAIN1 PAIN0 (リセット時:XXXXXXXX) PAIN 入力データ 0 端子がL(VSSレベル) 1 端子がH(VDDレベル) ポートA入力レジスタ (PAIN: X'03F2A, R) 7 PAPLU 6 5 4 3 2 1 0 PAPLU7 PAPLU6 PAPLU5 PAPLU4 PAPLU3 PAPLU2 PAPLU1 PAPLU0 (リセット時:00000000) PAPLU プルアップ抵抗の付加の選択 0 付加しない 1 付加する ポートAプルアップ抵抗制御レジスタ (PAPLU: X'03F4A, R/W) 7 PAIMD 6 5 4 3 2 1 0 PAIMD7 PAIMD6 PAIMD5 PAIMD4 PAIMD3 PAIMD2 PAIMD1 PAIMD0 (リセット時:00000000) PAIMD I/Oポート、特殊機能端子の選択 0 I/Oポート 1 特殊機能端子 ポートA入力制御レジスタ (PAIMD: X'03F3A', R/W) 図4-11-1 ポートAのレジスタ ポートAの機能 IV - 45 第4章 I/Oポート機能 4-11-3 ポート A のブロック図 4-11-3 ポート ポートA リセット R D Q プルアップ抵抗制御 Write PAPLU0-7 CK Read データバス Read PAIN0-7 PA0-PA7 ポート入力データ リセット R D Q 入力モード制御 Write CK PAIMD0-7 Read アナログ入力 VLC1/VCH VLC2 セグメント出力制御 セグメント出力データ VLC3 VSS *セグメント出力選択時、ポートは強制的に入力モードに 設定され、プルアップ抵抗無しになります。 図4-11-2 PA0∼PA7ブロック図 IV - 46 ポートAの機能 第4章 I/Oポート機能 4-12 ポート Bの機能 4-12 ポート ポートB 4-12-1 ポート Bの説明 4-12-1 ポート ポートB ポートBの各レジスタは、端子PB0∼PB4を制御します。 ■汎用ポートの設定 ポートBは、Nchオープンドレインの入出力ポートです。 1ビット単位で入出力方向の制御を行うことができ、ポートB方向制御レジスタ(PBDIR)を使用します。 ポートB方向制御レジスタ(PBDIR)が1の時、出力モードで0の時、入力モードになります。 入力データを読み込む時は、ポートB入力レジスタ(PBIN)を読み取ることによって行います。 端子へデータを出力する時は、ポートB 方向制御レジスタ( P B D I R ) を1 にし、ポートB 出力レジスタ (PBOUT)に書き込むことによって行います。 ポートBの機能 IV - 47 第4章 I/Oポート機能 4-12-2 ポート Bのレジスタ 4-12-2 ポート ポートB 7 6 5 PBOUT 4 3 2 1 0 PBOUT4 PBOUT3 PBOUT2 PBOUT1 PBOUT0 (リセット時:−−−XXXXX) PBOUT 出力データ 0 L(VSSレベル)を出力 1 H(VDDレベル)を出力 ポートB出力レジスタ (PBOUT: X'03F1B', R/W) 7 6 5 PBIN 4 3 2 1 0 PBIN4 PBIN3 PBIN2 PBIN1 PBIN0 (リセット時:−−−XXXXX) PBIN 入力データ 0 端子がL(VSSレベル) 1 端子がH(VDDレベル) ポートB入力レジスタ (PBIN: X'03F2B', R/W) 7 6 PBDIR 5 4 3 2 1 0 PBDIR4 PBDIR3 PBDIR2 PBDIR1 PBDIR0 (リセット時:−−−00000) PBDIR 0 入力モード 1 出力モード ポートB方向制御レジスタ (PBDIR: X'03F3B', R/W) 図4-12-1 ポートBのレジスタ IV - 48 ポートBの機能 入出力モードの選択 第4章 I/Oポート機能 4-12-3 ポート Bのブロック図 4-12-3 ポート ポートB リセット R D Q 入出力方向制御 データバス ポート出力データ Write PBDIR0-4 CK Read PB0-PB4 D Q Write PBOUT0-4 CK Read PBIN0-4 ポート入力データ Read Read 図4-12-2 PB0∼PB4ブロック図 ポートBの機能 IV - 49 第4章 I/Oポート機能 4-13 ポート Cの機能 4-13 ポート ポートC 4-13-1 ポート Cの説明 4-13-1 ポート ポートC ポートCの各レジスタは、端子PC2∼PC5を制御します。 ■汎用ポートの設定 ポートCは、1ビット単位で入出力方向の制御を行うことができ、ポートC方向制御レジスタ(PCDIR)を 使用します。ポートC方向制御レジスタ(PCDIR)が1の時出力モードで、0の時入力モードになります。 入力データを読み込む時は、ポートC方向制御レジスタ(PCDIR)を0にし、ポートC入力レジスタ(PCIN) を読み取ることによって行います。 端子へデータを出力する時は、ポートC 方向制御レジスタ( P C D I R ) を1 にし、ポートC 出力レジスタ (PCOUT)に書き込むことによって行います。 ポートCは、1ビット単位でプルアップ抵抗の有無が選択でき、ポートCプルアップ抵抗制御レジスタ (PCPLU)を使用します。入力モードの時、ポートCプルアップ抵抗制御レジスタ(PCPLU)を1に設定する と、プルアップ抵抗が付加されます。 ■特殊機能端子の設定 PC3は、内蔵昇圧回路用コンデンサ接続端子C1と兼用しています。C1端子の選択は、LCDモードコント ロールレジスタ2(LC1MD0)のビット2(LC1SEL)を1にすることにより選択します。 PC4、PC5は、LCD電源端子VLC2、VLC3と兼用しています。VLC2、VLC3端子の選択は、LCDモードコントロー ル2(LC1MD0)のビット4(LC1CNT0)を1にすることにより選択します。 PC3の出力レベルはVCH基準となっています。 PC3/C1兼用端子をポートとして使用する場合、内蔵昇圧機能と併用しないでください。 また、このとき、VCH=VDDに接続してください。 PC3/C1兼用端子を内蔵昇圧機能使用時の容量接続端子として使用する場合、PC3機能は 使用できません。 このとき、PC3DIR=0、PC3PLU=0に設定して下さい。 IV - 50 ポートCの機能 第4章 I/Oポート機能 4-13-2 ポート Cのレジスタ 4-13-2 ポート ポートC 7 6 PCOUT 5 4 3 2 1 0 (リセット時:−− X XXX−− ) PCOUT5 PCOUT4 PCOUT3 PCOUT2 PCOUT 出力データ 0 L(VSSレベル)を出力 1 H(VDDレベル)を出力 ポートC出力レジスタ (PCOUT: X'03F1C', R/W) 7 6 PCIN 5 4 3 2 P0IN5 PCIN4 PCIN3 PCIN2 1 0 (リセット時:−− XXXX−− ) PCIN 入力データ 0 端子がL(VSSレベル) 1 端子がH(VDDレベル) ポートC入力レジスタ (PCIN: X'03F2C', R) 7 6 PCDIR 5 4 3 2 1 0 (リセット時:−− 0000−− ) PCDIR5 PCDIR4 PCDIR3 PCDIR2 PCDIR 入出力モードの選択 0 入力モード 1 出力モード ポートC方向制御レジスタPCDIR: X'03F3C', R/W) 7 PCPLU 6 5 4 3 2 PCPLU5 PCPLU4 PCPLU3 PCPLU2 1 0 (リセット時:−− PCPLU 0000−− ) プルアップ抵抗の付加の選択 0 付加しない 1 付加する ポートCプルアップ抵抗制御レジスタ (PCPLU: X'03F4C', R/W) 図4-13-1 ポートCのレジスタ ポートCの機能 IV - 51 第4章 I/Oポート機能 4-13-3 ポート Cのブロック図 4-13-3 ポート ポートC リセット R D Q プルアップ抵抗制御 Write PCPLU2-5 CK Read リセット R D Q 入出力方向制御 データバス ポート出力データ Write PCDIR2-5 CK Read PC2-PC5 D Q Write PCOUT2-5 CK Read PCIN2-5 ポート入力データ Read 図4-13-2 PC2∼PC5ブロック図 IV - 52 ポートCの機能 第5章 プリスケーラ機能 5 17 第5章 プリスケーラ機能 5-1 プリスケーラ機能の概要 5-1 プリスケーラ機能の概要 本LSIは、各周辺機能において共通に同時使用できるプリスケーラを2本搭載しています。それぞれ、 fosc、fsをベースクロックとしてカウントするプリスケーラであり、ハードウェアは次の構成になっ ています。 プリスケーラ0 (foscベース) プリスケーラ1 (fsベース) 7bitプリスケーラ 3bitプリスケーラ プリスケーラ0が出力する分周クロックは、fosc/2、fosc/4、fosc/16、fosc/32、fosc/64、fosc/128 です。 プリスケーラ1が出力する分周クロックは、fs/2、fs/4、fs/8です。 プリスケーラは、以下に示す周辺機能において、fosc、fsベースの分周クロックを用いる時に使用し ます。 外部割込みインタフェース0 (ノイズフィルタ使用時) 外部割込みインタフェース1 (ノイズフィルタ使用時) タイマ0 (8ビットタイマカウンタ) タイマ1 (8ビットタイマカウンタ) タイマ3 (8ビットタイマカウンタ) シリアル0 (クロック同期式/全二重UART ) シリアル2 (クロック同期式 ) fosc、fsについては、第2章 2-5 クロック切り換え機能 [p. II-29] をご参照ください。 V - 2 プリスケーラ機能概要 第5章 プリスケーラ機能 5-1-1 プリスケーラ機能一覧 5-1-1 プリスケーラ機能一覧 プリスケーラブロックの出力を使用する周辺機能について、選択できる分周クロックの種類を以下に 示します。 表5-1-1 プリスケーラ出力を使用する周辺機能一覧表 入力クロックの 選択 外部割込み0 外部割込み1 タイマ0 タイマ1 タイマ3 シリアル0 シリアル2 fosc/2 − − − − − ○ ○ fosc/4 − − ○ ○ ○ ○ ○ fosc/16 − − ○ ○ ○ ○ ○ fosc/32 − − ○ − − − ○ fosc/64 − − ○ ○ ○ ○ − fosc/128 ○ ○ − ○ ○ − − fs/2 − − ○ ○ ○ ○ ○ fs/4 − − ○ − − ○ ○ fs/8 − − − ○ ○ − − タイマ3出力 − − − − − ○ ○ プリスケーラ機能概要 V - 3 第5章 プリスケーラ機能 5-1-2 プリスケーラ機能のブロック図 5-1-2 プリスケーラ機能のブロック図 fosc − − − − − bp0 − − − − − SC0CKS SC0PSC0 SC0PSC1 SC0PSC2 − − − − − fs 3bit プリスケーラ PSC1 ck 2 4 bp7 CK1MD TM1BAS TM1PSC0 TM1PSC1 bp0 M U X タイマ0 M U X タイマ1 M U X タイマ3 3 } 2 4 bp7 bp0 3 } 2 4 bp7 bp0 3 } 2 M U 4 Timer3 Out bp7 SC2CKS SC2PSC0 SC2PSC1 SC2PSC2 } 3 2 4 U Timer3 Out bp7 M X 図5-1-1 プリスケーラ機能のブロック図 プリスケーラ機能概要 シリアル0 X bp0 fosc/128 fosc/64 fosc/32 fosc/16 fosc/8 fosc/4 fosc/2 − − − − − V - 4 S 3 } − − − − − CK3MD TM3BAS TM3PSC0 TM3PSC1 S fs/8 fs/4 fs/2 CK0MD TM0BAS TM0PSC0 TM0PSC1 7bit プリスケーラ PSC0 ck シリアル2 PSCMD PSCEN bp0 − − − − − − − bp7 第5章 プリスケーラ機能 5-2 プリスケーラ制御レジスタ 5-2 プリスケーラ制御レジスタ 5-2-1 プリスケーラ制御レジスタ一覧 5-2-1 プリスケーラ制御レジスタ一覧 プリスケーラを制御するレジスタの一覧を次表に示します。 表5-2-1 プリスケーラ制御レジスタ一覧 レジスタ略称 アドレス R/W レジスタ名称 参照ページ PSCMD X'03F6F' R/W プリスケーラ制御レジスタ V-6 CK0MD X'03F56' R/W タイマ0プリスケーラ選択レジスタ V-7 CK1MD X'03F57' R/W タイマ1プリスケーラ選択レジスタ V-7 CK3MD X'03F5F' R/W タイマ3プリスケーラ選択レジスタ V-8 SC0CKS X'03F97' R/W シリアル0転送クロック選択レジスタ V-10 SC2CKS X'03FA7' R/W シリアル2転送クロック選択レジスタ V-11 R/W: 読み出し/書き込み共に可能です。 プリスケーラ制御レジスタ V - 5 第5章 プリスケーラ機能 5-2-2 プリスケーラ制御レジスタ 5-2-2 プリスケーラ制御レジスタ プリスケーラ動作の制御およびプリスケーラ出力を選択するレジスタは、プリスケーラ制御レジスタ (PSCMD)、タイマプリスケーラ選択レジスタ(CKnMD)、シリアル転送クロック選択レジスタ(SCnCKS)か ら構成されています。 ■プリスケーラ制御レジスタ(PSCMD) プリスケーラ制御レジスタ(PSCMD)は、プリスケーラのカウントを許可するか、禁止するかを制御する レジスタです。 7 6 5 PSCMD 4 3 2 1 0 PSCEN (リセット時:−−−−−−−0) PSCEN プリスケーラ0、1カウント制御 0 カウント禁止 1 カウント許可 図5-2-1 プリスケーラ制御レジスタ(PSCMD:X'03F6F'、R/W) V - 6 プリスケーラ制御レジスタ 第5章 プリスケーラ機能 タイマプリスケーラ選択レジスタは、8ビットタイマに使用するカウントクロックを選択するレジスタ です。 ■タイマプリスケーラ選択レジスタ(CK0MD) 7 6 5 4 3 2 1 0 (リセット時:−−−−−XXX) TM0PSC1 TM0PSC0 TM0BAS CK0MD TM0PSC1 TM0PSC0 0 1 − 0 1 0 TM0BAS fosc/4 0 1 fosc/16 fosc/32 fosc/64 1 0 選択クロック 1 fs/2 fs/4 図5-2-2 タイマプリスケーラ選択レジスタ(CK0MD:X'03F56'、R/W) ■タイマ1プリスケーラ選択レジスタ(CK1MD) 7 CK1MD 6 5 4 3 2 1 0 (リセット時:−−−−−XXX) TM1PSC1 TM1PSC0 TM1BAS TM1PSC1 TM1PSC0 0 1 − 0 1 0 TM1BAS fosc/4 0 1 fosc/16 fosc/64 fosc/128 1 0 選択クロック 1 fs/2 fs/8 図5-2-3 タイマ1プリスケーラ選択レジスタ(CK1MD:X'03F57'、R/W) プリスケーラ制御レジスタ V - 7 第5章 プリスケーラ機能 ■タイマ3プリスケーラ選択レジスタ(CK3MD) 7 6 5 4 3 2 1 0 (リセット時:−−−−−XXX) TM3PSC1 TM3PSC0 TM3BAS CK3MD TM3PSC1 TM3PSC0 0 1 − 0 1 0 TM3BAS fosc/4 0 1 1 図5-2-4 タイマ3プリスケーラ選択レジスタ(CK3MD:X'03F5F'、R/W) V - 8 プリスケーラ制御レジスタ fosc/16 fosc/64 fosc/128 1 0 選択クロック fs/2 fs/8 第5章 プリスケーラ機能 シリアル転送クロック選択レジスタ(SC0CKS)はシリアル転送に使用す転送クロックを選択するレジス タです。 ■シリアル0転送クロック選択レジスタ(SC0CKS) 7 6 5 4 3 2 RESERVED SC0PSC2 SC0CKS 1 0 SC0PSC1 SC0PSC0 (リセット時:−−−−XXXX) SC0PSC2 SC0PSC1 0 0 1 1 0 1 RESERVED SC0PSC0 選択クロック 0 fosc/2 1 0 fosc/16 fosc/4 fosc/32 1 0 fs/2 fs/4 1 タイマ3出力 必ず0に設定して下さい 図5-2-5 シリアル転送クロック選択レジスタ(SC0CKS、:X'03F97'、R/W) ■シリアル転送クロック選択レジスタ(SC2CKS) 7 SC2CKS 6 5 4 3 2 1 0 (リセット時:−−−−XXXX) RESERVED SC2PSC2 SC2PSC1 SC2PSC0 SC2PSC2 SC2PSC1 0 0 1 1 0 1 RESERVED SC2PSC0 選択クロック 0 fosc/2 1 0 fosc/16 fosc/4 fosc/32 1 0 1 fs/2 fs/4 タイマ3出力 必ず0に設定して下さい 図5-2-6 シリアル転送クロック選択レジスタ(SC0CKS、:X'03FA7'、R/W) プリスケーラ制御レジスタ V - 9 第5章 プリスケーラ機能 5-3 プリスケーラ機能の動作 5-3 プリスケーラ機能の動作 5-3-1 プリスケーラの動作 5-3-1 プリスケーラの動作 ■プリスケーラ動作(プリスケーラ0∼1) プリスケーラ0、プリスケーラ1はそれぞれ7ビット、3ビットのフリーランカウンタであり、基準クロッ クの分周クロックを出力します。このプリスケーラはプリスケーラ制御レジスタ(PSCMD)のPSCENフラ グにより、カウントアップ動作を開始及び停止することができます。 ■プリスケーラ動作のカウントタイミング(プリスケーラ0∼1) プリスケーラ0は、foscの立ち上がりエッジでカウントアップします。 プリスケーラ1は、fsの立ち下がりエッジでカウントアップします。 ■プリスケーラ出力分周クロックを使用できる周辺機能 プリスケーラ出力分周クロックを仕様できる周辺機能、及び分周クロックを選択制御するレジスタは 以下の通りです。 表5-3-1 プリスケーラ出力分周クロックを使用できる周辺機能 周辺機能 制御レジスタ 外部割込み0 ノイズフィルタサンプリングクロック - 外部割込み1 ノイズフィルタサンプリングクロック - タイマ0 カウントクロック CK0MD タイマ1 カウントクロック CK1MD タイマ3 カウントクロック CK3MD シリアル0 転送クロック SC0CKS シリアル2 転送クロック SC2CKS プリスケーラ出力分周クロックを使用するときは、プリスケーラのカウントを許可してから 周辺機能の動作を開始してしてください。 V - 10 プリスケーラ動作の設定例 第5章 プリスケーラ機能 ■プリスケーラ動作の設定例 (タイマ0のカウントクロック選択) 以下に、設定手順とその内容を示します。 設定手順 (1) プリスケーラ出力の選択と許可 CK0MD (x'3F56') bp2-1 : TM0PSC1-0 = 01 bp0 : TM0BAS = 1 (2) PSCMD (x'3F6F') bp0 : PSCEN = 1 内容 (1) タイマ0プリスケーラ選択レジスタ(CK0MD)の TM0PSC0-1、TM0BASフラグによりプリスケーラ 出力にfs/16を選択します。 (2) プリスケーラ制御レジスタ(PSCMD)のPSCENフ ラグを"1"にしてプリスケーラのカウントを許 可します。 プリスケーラ制御レジスタ(PSCMD)のPSCENフラグにより、プリスケーラのカウントを許可してください。 許可した時点から、プリスケーラのカウントおよび出力が開始します。 プリスケーラの設定が完了してからタイマの動作を開始してください。また、タイマ側では、タイマモー ドレジスタにより、プリスケーラ出力の選択を設定しておく必要があります。 プリスケーラ動作の設定例 V - 11 第6章 8ビットタイマ機能 6 第6章 8ビットタイマ機能 6-1 8ビットタイマ機能の概要 6-1 本LSIは、3本の汎用8ビットタイマ(タイマ0、タイマ1、タイマ3)を搭載しています。タイマ0とタイマ 1は、カスケード接続により16ビットタイマとして使用できる構成になっています。また、タイマ3は ボーレートタイマ兼用8ビットタイマです。但し、タイマ3はカスケード接続はできません。 各タイマのクロックソースには、プリスケーラからの出力を用いることにより、fosc、fsの分周クロッ クを選択することができます。また、リモコン出力回路も内蔵しています。 6-1-1 8ビットタイマ機能一覧 6-1-1 各タイマと使用できる機能について次表に示します。 表6-1-1 タイマ機能一覧 タイマ0 タイマ1 タイマ3 (8ビット) (8ビット) (8ビット) TM0IRQ TM1IRQ TM3IRQ タイマ動作 ○ ○ ○ イベントカウント ○ ○ ○ タイマパルス出力 ○ ○ ○ PWM出力 ○ - - 同期出力 - ○ - シリアル転送クロック出力 - - ○ ○ - - 割込み要因名 パルス幅測定機能 ○ カスケード接続 リモコンキャリア出力 クロックソース - ○ - ○ fosc fosc/4 fosc/16 fosc/32 fosc/64 fs/2 fs/4 fx fosc fosc/4 fosc/16 fosc/64 fosc/128 fs/2 fs/8 fx fosc fosc/4 fosc/16 fosc/64 fosc/128 fs/2 fs/8 fx TM0IO入力 TM1IO入力 TM3IO入力 fosc:マシンクロック(高速動作用発振) fx:マシンクロック(低速動作用発振) fs:システムクロック【 第2章 2-5. クロック切り換え機能】 ・タイマ3をシリアル機能のボーレートタイマとして使用する場合、 汎用タイマとしては使用できません。 ・同期出力はプロセッサモード、メモリ拡張モード時は、使用できません。 VI - 2 8ビットタイマ機能の概要 − − TM0CK0 TM0CK1 TM0CK2 TM0EN TM0PWM TM0MOD TM0MD 7 } 0 TM0IO入力 fx M U X P22/IRQ2 fosc 同期化 tm0psc M U X TM1IO入力 fx 同期化 IRQ2=H:Count Stop M U X Read/Write M U X Read 8ビットカウンタ TM0BC RST 一致検出 コンペアレジスタ TM0OC fosc tm1psc M U X OVF } プリスケーラ ブロック TM1CK0 TM1CK1 TM1CK2 TM1EN TM1CAS − − − TM1MD 7 0 RST入力 M U X S R Q 1/2 R Read M U X M U X 8ビットカウンタ TM1BC RST 一致検出 コンペアレジスタ TM1OC Read/Write TM1IO出力 TM0IRQ TM0IO出力/PWM0/ リモコンキャリアベース出力 TM1IRQ/同期出力イベント 1/2 第6章 8ビットタイマ機能 6-1-2 8ビットタイマブロック図 6-1-2 ■タイマ0、タイマ1ブロック図 図6-1-1 タイマ0、タイマ1ブロック図 8ビットタイマ機能の概要 VI - 3 プリスケーラ ブロック 8ビットタイマ機能の概要 TM3IO入力 fx M U X fosc 同期化 tm3psc M U X } VI - 4 TM3MD − − − − TM3EN TM3CK2 TM3CK1 TM3CK0 7 0 Read 8ビットカウンタ TM3BC RST 一致検出 コンペアレジスタ TM3OC Read/Write 図6-1-2 タイマ3ブロック図 TM3IRQ 1/2 R TM3IO出力/ シリアル転送クロック出力/ リモコンキャリアベース出力 第6章 8ビットタイマ機能 ■タイマ3ブロック図 タイマ3出力 タイマ0出力 MUX 1/3 デューティー 1/2 デューティー MUX RMBTMS RMDTY0 − RMOEN TM0RM − − − RMCTR 7 0 同期回路 MUX P10/ TM0IO出力/ リモコンキャリア出力 第6章 8ビットタイマ機能 ■リモコンキャリア出力ブロック図 図6-1-3 リモコンキャリア出力ブロック図 8ビットタイマ機能の概要 VI - 5 第6章 8ビットタイマ機能 6-2 8 ビットタイマ制御レジスタ 6-2 タイマ0、1、3は、それぞれバイナリカウンタ(TMnBC)、コンペアレジスタ(TMnOC)で構成されており、 モードレジスタ(TMnMD)で制御します。 タイマ0、1、3のカウントクロックソースについて、プリスケーラ出力を選択する場合は、プリスケー ラ制御レジスタ(PSCMD)および、プリスケーラ選択レジスタ(CKnMD)での制御が必要です。リモコンは、 リモコンキャリア出力制御レジスタ(RMCTR)で制御します。 6-2-1 8 ビットタイマ制御レジスタ一覧 6-2-1 タイマ0、1、3および、リモコンを制御するレジスタの一覧を次表に示します。 表6-2-1 8ビットタイマ制御レジスタ一覧表 レジスタ略称 タイマ0 アドレス R/W レジスタ名称 参照ページ TM0BC X'03F50' R タイマ0バイナリカウンタ VI - 8 TM0OC X'03F52' R/W タイマ0コンペアレジスタ VI - 7 TM0MD X'03F54' R/W タイマ0モードレジスタ VI - 9 CK0MD X'03F56' R/W タイマ0プリスケーラ選択レジスタ V - 7 PSCMD X'03F6F' R/W プリスケーラ制御レジスタ V - 6 TM0ICR X'03FE9' R/W タイマ0割込み制御レジスタ III - 23 P1OMD X'03F2F' R/W ポート1出力モードレジスタ IV - 14 P1DIR X'03F31' R/W ポート1方向制御レジスタ IV - 13 TM1BC X'03F51' R タイマ1バイナリカウンタ VI - 8 TM1OC X'03F53' R/W タイマ1コンペアレジスタ VI - 7 TM1MD X'03F55' R/W タイマ1モードレジスタ VI - 10 CK1MD X'03F57' R/W タイマ1プリスケーラ選択レジスタ V - 7 PSCMD X'03F6F' R/W プリスケーラ制御レジスタ V - 6 TM1ICR X'03FEA' R/W タイマ1割込み制御レジスタ III - 23 P1OMD X'03F2F' R/W ポート1出力モードレジスタ IV - 14 P1DIR X'03F31' R/W ポート1方向制御レジスタ IV - 13 TM3BC X'03F59' R タイマ3バイナリカウンタ VI - 8 TM3OC X'03F5B' R/W タイマ3コンペアレジスタ VI - 7 TM3MD X'03F5D' R/W タイマ3モードレジスタ VI - 11 CK3MD X'03F5F' R/W タイマ3プリスケーラ選択レジスタ V - 8 PSCMD X'03F6F' R/W プリスケーラ制御レジスタ V - 6 TM3ICR X'03FEC' R/W タイマ3割込み制御レジスタ III - 24 P1OMD X'03F2F' R/W ポート1出力モードレジスタ IV - 14 P1DIR X'03F31' R/W ポート1方向制御レジスタ IV - 13 リモコン RMCTR X'03F6E' R/W リモコンキャリア出力制御レジスタ VI - 12 タイマ1 タイマ3 R/W:読み出し/書き込み共に可能です。 R :読み出し専用レジスタです。 VI - 6 8ビットタイマ制御レジスタ 第6章 8ビットタイマ機能 6-2-2 プログラマブルタイマレジスタ 6-2-2 プログラマブルタイマレジスタ タイマ0、1、3は、それぞれ8ビットのプログラマブルタイマレジスタをもっています。 プログラマブルタイマレジスタは、コンペアレジスタとバイナリカウンタにより構成されます。 コンペアレジスタは、バイナリカウンタとの比較値を入れる8ビットのレジスタです。 ■タイマ0コンペアレジスタ(TM0OC) 7 TM0OC 6 5 4 3 2 1 0 TM0OC7 TM0OC6 TM0OC5 TM0OC4 TM0OC3 TM0OC2 TM0OC1 TM0OC0 (リセット時:X X X X X X X X ) 図6-2-1 タイマ0コンペアレジスタ(TM0OC:X'03F52'、R/W) ■タイマ1コンペアレジスタ(TM1OC) 7 TM1OC 6 5 4 3 2 1 0 TM1OC7 TM1OC6 TM1OC5 TM1OC4 TM1OC3 TM1OC2 TM1OC1 TM1OC0 (リセット時:X X X X X X X X ) 図6-2-2 タイマ1コンペアレジスタ(TM1OC:X'03F53'、R/W) ■タイマ3コンペアレジスタ(TM3OC) 7 TM3OC 6 5 4 3 2 1 0 TM3OC7 TM3OC6 TM3OC5 TM3OC4 TM3OC3 TM3OC2 TM3OC1 TM3OC0 (リセット時:X X X X X X X X ) 図6-2-3 タイマ3コンペアレジスタ(TM3OC:X'03F5B'、R/W) 8ビットタイマ制御レジスタ VI - 7 第6章 8ビットタイマ機能 バイナリカウンタは、8ビットのアップカウンタです。カウント動作停止中にコンペアレジスタに書き 込み処理を行うとバイナリカウンタは、X'00'にクリアされます。 ■タイマ0バイナリカウンタ(TM0BC) 7 TM0BC 6 5 4 3 2 1 0 TM0BC7 TM0BC6 TM0BC5 TM0BC4 TM0BC3 TM0BC2 TM0BC1 TM0BC0 (リセット時:X X X X X X X X ) 図6-2-4 タイマ0バイナリカウンタ(TM0BC:X'03F50'、R) ■タイマ1バイナリカウンタ(TM1BC) 7 TM1BC 6 5 4 3 2 1 0 TM1BC7 TM1BC6 TM1BC5 TM1BC4 TM1BC3 TM1BC2 TM1BC1 TM1BC0 (リセット時:X X X X X X X X ) 図6-2-5 タイマ1バイナリカウンタ(TM1BC:X'03F51'、R) ■タイマ3バイナリカウンタ(TM3BC) 7 TM3BC 6 5 4 3 2 1 0 TM3BC7 TM3BC6 TM3BC5 TM3BC4 TM3BC3 TM3BC2 TM3BC1 TM3BC0 (リセット時:X X X X X X X X ) 図6-2-6 タイマ3バイナリカウンタ(TM3BC:X'03F59'、R) VI - 8 8ビットタイマ制御レジスタ 第6章 8ビットタイマ機能 6-2-3 タイマモードレジスタ 6-2-3 タイマモードレジスタ タイマ0、1、3を制御する、読み出し/書き込み可能なレジスタです。 ■タイマ0モードレジスタ(TM0MD) TM0MD 7 6 - - 5 4 3 2 1 0 (リセット時: - - 0 0 0 0 0 0 ) TM0MOD TM0PWM TM0EN TM0CK2 TM0CK1 TM0CK0 TM0CK2 TM0CK1 - TM0CK0 クロックソース選択 0 0 1 1 TM0EN 0 fosc 1 tm0psc(プリスケーラ出力) 0 fx 1 同期化fx 0 1 同期化TM0IO入力 TM0IO入力 タイマ0カウント制御 0 カウント停止 1 カウント動作 TM0PWM タイマ0動作モード選択 0 タイマ通常動作 1 PWM動作 TM0MOD パルス幅測定制御 0 タイマ通常動作 1 P22/IRQ2パルス幅測定 図6-2-7 タイマ0モードレジスタ(TM0MD:X'03F54'、R/W) 8ビットタイマ制御レジスタ VI - 9 第6章 8ビットタイマ機能 ■タイマ1モードレジスタ(TM1MD) TM1MD 7 6 5 - - - 4 3 2 1 0 (リセット時: - - - 0 0 0 0 0 ) TM1CAS TM1EN TM1CK2 TM1CK1 TM1CK0 TM1CK2 TM1CK1 - TM1CK0 クロックソース選択 0 0 1 1 TM1EN tm1psc(プリスケーラ出力) 0 fx 1 同期化fx 0 1 同期化TM1IO入力 TM1IO入力 タイマ1カウント制御 カウント停止 1 カウント動作 タイマ1動作モード選択 0 タイマ通常動作 1 カスケード接続 図6-2-8 タイマ1モードレジスタ(TM1MD:X'03F55'、R/W) 8ビットタイマ制御レジスタ fosc 1 0 TM1CAS VI - 10 0 第6章 8ビットタイマ機能 ■タイマ3モードレジスタ(TM3MD) TM3MD 7 6 5 - - - 4 3 2 1 0 (リセット時: - - - 0 0 0 0 0 ) RESERVED TM3EN TM3CK2 TM3CK1 TM3CK0 TM3CK2 TM3CK1 - 0 TM3CK0 0 1 1 TM3EN クロックソース選択 0 fosc 1 tm3psc(プリスケーラ出力) 0 fx 1 同期化fx 0 1 同期化TM3IO入力 TM3IO入力 タイマ3カウント制御 0 カウント停止 1 カウント動作 TM3CAS 必ず”0”に設定して下さい 図6-2-9 タイマ3モードレジスタ(TM3MD:X'03F5D'、R/W) 8ビットタイマ制御レジスタ VI - 11 第6章 8ビットタイマ機能 ■リモコンキャリア出力制御レジスタ(RMCTR) RMCTR 7 6 5 - - - 4 3 TM0RM RMOEN 2 - 1 0 RMDTY0 RMBTMS (リセット時: - - - 0 0 - 0 0 ) RMBTMS リモコンキャリアベースタイマ選択 0 タイマ0出力選択 1 タイマ3出力選択 RMDTY0 リモコンキャリア出力デューティ選択 0 1/2デューティ 1 1/3デューティ RMOEN リモコンキャリア出力イネーブル 0 ”L”レベル出力 1 リモコンキャリア出力 TM0RM P10特殊機能出力選択 0 TM0IO 1 RMOUT 図6-2-10 リモコンキャリア出力制御レジスタ(RMCTR:X'03F6E'、R/W) VI - 12 8ビットタイマ制御レジスタ 第6章 8ビットタイマ機能 6-3 8ビットタイマ動作 6-3 6-3-1 8 ビットタイマの動作 6-3-1 タイマ動作は、一定時間ごとに繰り返し割込みを発生させることのできる機能です。 ■8ビットタイマ動作(タイマ0、タイマ1、タイマ3) タイマ割込みの発生周期は、クロックソースの選択および、コンペアレジスタ(TMnOC)の設定値により あらかじめ設定します。バイナリカウンタ(TMnBC)がコンペアレジスタの設定値と一致すると、次のカ ウントクロックで割込み要求が発生し、バイナリカウンタはクリアされ、再度X'00'からカウントアッ プを始めます。 クロックソースはタイマにより、以下の通り選ぶことができます。 表6-3-1 タイマ動作時のクロックソース(タイマ0、タイマ1、タイマ3) タイマ0 タイマ1 タイマ3 (8ビット) (8ビット) (8ビット) クロックソース 1カウント時間 fosc 50 ns ○ ○ ○ fosc/4 200 ns ○ ○ ○ fosc/16 800 ns ○ ○ ○ fosc/32 1.6 µs ○ - - fosc/64 3.2 µs ○ ○ ○ fosc/128 6.4 µs - ○ ○ fs/2 200 ns ○ ○ ○ fs/4 400 ns ○ - - fs/8 800 ns - ○ ○ fx 30.5 µs ○ ○ ○ fosc=20 MHz fx=32.768 kHz fs= fosc/2=10 MHz として算出 8ビットタイマ動作 VI - 13 第6章 8ビットタイマ機能 ■タイマ動作のカウントタイミング(タイマ0、タイマ1、タイマ3) 選択したクロックソースをカウントクロックとしてバイナリカウンタがカウントアップします。 以下の動作が8ビットタイマの全機能の基本動作となります。 カウント クロック TMnEN フラグ コンペア レジスタ N M M (D) バイナリ カウンタ 00 (A) 01 (B) 02 N-1 N 00 (C) 01 02 03 (E) 割込み要求 フラグ 図6-3-1 タイマ動作のカウントタイミング(タイマ0、タイマ1、タイマ3) (A) TMnENフラグが停止状態("0")の時にコンペアレジスタに値を書き込むと、その書込みサイクル でバイナリカウンタはX'00'にクリアされます。 (B) TMnENフラグを動作状態("1")にするとバイナリカウンタのカウントを開始します。 カウントはカウントクロックの立ち下がりで行われます。 (C) バイナリカウンタとコンペアレジスタの値が一致すると、次のカウントクロックで割込み要求 フラグがセット、バイナリカウンタはX'00'にクリアされ、再度カウントアップを開始します。 (D) TMnENフラグが動作状態("1")の時にコンペアレジスタを書き換えてもバイナリカウンタは変化 しません。 (E) TMnENフラグを停止状態("0")にするとバイナリカウンタは、動作を停止します。 バイナリカウンタとコンペアレジスタの値が一致すると、次のカウントクロックで割込み要 求フラグのセットおよび、バイナリカウンタがクリアされるので、 (コンペアレジスタの設定値)=(割込み要求発生までのカウント回数−1) としてください。 カウント動作中にコンペアレジスタの値をバイナリカウンタの値より小さい値を設定する と、バイナリカウンタは一端オーバフローまでカウントアップします。 割込みで処理する場合は、タイマを動作させる前にタイマ割込み要求フラグをクリアしてく ださい。 TMnOC=x'00'設定時のタイマn割込み要求発生は、x'01'設定時と同じ波形になります。 VI - 14 8ビットタイマ動作 第6章 8ビットタイマ機能 6-3-2 8ビットタイマ動作の設定例 6-3-2 ■タイマ動作の設定例(タイマ0、タイマ1、タイマ3) タイマ0 を用いて一定時間毎に割込みを発生させ、時計機能を実現します。クロックソースをf s / 4 (fosc=20 MHz動作時)を選択して250分周(100 µs)毎に割込みを発生します。 以下に、設定手順とその内容を示します。 内容 設定手順 (1) カウンタの停止確認 TM0MD (x'3F54') bp3 : TM0EN (2) タイマ通常動作の選択 TM0MD (x'3F54') bp4 : TM0PWM bp5 : TM0MOD = 0 (1) タイマ0モードレジスタ(TM0MD)のTM0ENフラグ を"0"にしてタイマ0をカウント停止状態にし ます。 (2) TM0MDレジスタのTM0PWMフラグとTM0MODフラグ を"0"にしてタイマ通常動作を選択します。 = 0 = 0 (3) カウントクロックソースの選択 TM0MD (x'3F54') bp2-0 : TM0CK2-0 = 001 (3) TM0MDレジスタのTM0CK2-0フラグによりク ロックソースにプリスケーラ出力を選択しま す。 (4) プリスケーラ出力の選択と許可 CK0MD (x'3F56') bp2-1 : TM0PSC1-0 = 01 bp0 : TM0BAS = 1 PSCMD (x'3F6F') bp0 : PSCEN = 1 (4) タイマ0プリスケーラ選択レジスタ(CK0MD)の TM0PSC1-0、TM0BASフラグにより、プリス ケーラ出力にfs/4を選択します。 また、プリスケーラ制御レジスタ(PSCMD)の PSCENフラグを"1"にしてプリスケーラのカウ ントを許可します。 (5) 割込み発生周期の設定 TM0OC (x'3F52') (5) タイマ0コンペアレジスタ(TM0OC)に割込み発 生周期の値を設定します。250分周なので設定 値は249(x'F9')にします。 このとき、タイマ0バイナリカウンタ(TM0BC) がx'00'に初期化されます。 = x'F9' (6) 割込みレベルの設定 TM0ICR (x'3FE9') bp7-6 : TM0LV1-0 = 10 (6) タイマ0割込み制御レジスタ(TM0ICR)の TM0LV1-0フラグにより割込みレベルを設定し ます。 割込み要求フラグが既にセットされている可能 性があるときは、要求フラグをクリアしてくだ さい。 【 第3章 3-1-4. 割込みフラグの設定】 8ビットタイマ動作 VI - 15 第6章 8ビットタイマ機能 設定手順 (7) 割込みの許可 TM0ICR (x'3FE9') bp1 : TM0IE (8) タイマの動作開始 TM0MD (x'3F54') bp3 : TM0EN 内容 = 1 (7) TM0ICRレジスタのTM0IEフラグを"1"にして 割込みを許可します。 (8) TM0MDレジスタのTM0ENフラグを"1"にして タイマ0を動作させます。 = 1 TM0BCがX'00'からカウントアップします。TM0BCがTM0OCレジスタの設定値と一致すると、次のカウ ントクロックでタイマ0割込み要求フラグがセットされ、TM0BCの値はX'00'になり再度カウントアッ プを開始します。 TMnMDレジスタのTMnENフラグを他のビットと同時に変化させた場合、バイナリカウンタが切 り換え動作によりカウントアップすることがあります。 カウントクロックソースにfxを選択した場合には、動作中にバイナリカウンタの値を読み出 すと、カウントアップの瞬間の不完全な値を読み出すことがあります。これを防ぐには、カ ウントクロックソースに同期化fxを選択してください。この場合には、タイマnはシステム クロックに同期した信号でバイナリカウンタをカウントアップしますので、バイナリカウン タを読み出したときは常に正しい値を読み出せます。但し、同期化fxでは、STOP/HALTモー ドからの復帰動作はできません。 VI - 16 8ビットタイマ動作 第6章 8ビットタイマ機能 6-4 8 ビットイベントカウント動作 6-4 6-4-1 8 ビットイベントカウントの動作 6-4-1 イベントカウント動作は、クロックソースの選択によりTMnIO入力と同期化TMnIO入力の2種類があります。 ■8ビットイベントカウントの動作 イベントカウントの動作は、TMnIO端子に入力される外部からの信号をバイナリカウンタ(TMnBC)でカウン トするものです。バイナリカウンタの値がコンペアレジスタ(TMnOC)にあらかじめ設定した値と一致する と、次のカウントクロックで割込みを発生させることができます。 表6-4-1 イベントカウント入力クロック イベント入力 タイマ0 タイマ1 タイマ3 TM0IO入力 (P10) TM1IO入力 (P11) TM3IO入力 (P13) 同期化TM0IO入力 同期化TM1IO入力 同期化TM3IO入力 ■TMnIO入力のカウントタイミング(タイマ0、タイマ1、タイマ3) TMnIO入力を選択すると、タイマnのカウントクロックはTMnIO入力信号が直接入力されます。 TMnIO入力信号の立ち下がりのタイミングでバイナリカウンタがカウントアップします。 TMnIO 入力 TMnEN フラグ コンペア レジスタ バイナリ カウンタ N M 00 01 02 N-1 N 00 01 割込み要求 フラグ 図6-4-1 TMnIO入力のカウントタイミング(タイマ0、1、3) カウントクロックソースにTMnIO入力を選択した場合には、動作中にタイマnバイナリカウン タの値を読み出すとカウントアップの瞬間の不完全な値を読み出すことがあります。これを 防ぐには、次ページの同期化TMnIO入力によるイベントカウントを使用してください。 8ビットイベントカウント動作 VI - 17 第6章 8ビットタイマ機能 ■同期化TMnIO入力のカウントタイミング(タイマ0、タイマ1、タイマ3) 同期化TMnIO入力を選択すると、タイマnのカウントクロックには同期回路出力信号が入力されます。 同期回路出力信号は、TMnIO入力信号が変化した後のシステムクロックの立ち下がりタイミングに同期 して変化します。 TMnIO 入力 システム クロック(fs) 同期回路出力 (カウントクロック) TMnEN フラグ コンペア レジスタ バイナリ カウンタ N M 00 01 02 N-1 N 00 割込み要求 フラグ 図6-4-2 同期化TMnIO入力のカウントタイミング(タイマ0、1、3) カウントクロックソースに同期化TMnIO入力を選択した場合には、タイマnはシステムクロッ クに同期した信号でタイマnバイナリカウンタをカウントアップしますので、タイマnバイナ リカウンタを読み出した時は、常に正しい値を読み出せます。 同期化TMnIO入力ではSTOP/HALTモードからの復帰動作はできません。 VI - 18 8ビットイベントカウント動作 第6章 8ビットタイマ機能 6-4-2 8ビットイベントカウントの設定例 6-4-2 ■イベントカウントの設定例(タイマ0、タイマ1、タイマ3) タイマ0を用いてTM0IO入力端子の信号の立ち下がりエッジを5回検出すると割込みを発生させます。 以下に、設定手順とその内容を示します。 内容 設定手順 = 0 (1) タイマ0モードレジスタ(TM0MD)のTM0ENフ ラグを"0"にしてタイマ0をカウント停止状態 にします。 (2) 特殊機能端子の入力の設定 P1DIR (x'3F31') bp0 : P1DIR0 = 0 (2) ポート1方向制御レジスタ(P1DIR)のP1DIR0フ ラグを"0"にして、P10端子を入力モードに設 定します。 (1) カウンタの停止確認 TM0MD (x'3F54') bp3 : TM0EN 必要に応じて、プルアップ抵抗を付加してく ださい。 【 (3) タイマ通常動作の選択 TM0MD (x'3F54') bp4 : TM0PWM bp5 : TM0MOD 第4章 I/Oポート機能】 (3) TM0MDレジスタのTM0PWMフラグとTM0MODフラ グを"0"にしてタイマ通常動作を選択します。 = 0 = 0 (4) カウントクロックソースの選択 TM0MD (x'3F54') bp2-0 : TM0CK2-0 = 110 (4) TM0MDレジスタのTM0CK2-0フラグによりク ロックソースにTM0IO入力を選択します。 (5) 割込み発生周期の設定 TM0OC (x'3F52') (5) タイマ0コンペアレジスタ(TM0OC)に割込み発 生周期の値を設定します。5回カウントするの で設定値は4にします。 このとき、タイマ0バイナリカウンタ(TM0BC) がx'00'に初期化されます。 = x'04' (6) 割込みレベルの設定 TM0ICR (x'3FE9') bp7-6 : TM0LV1-0 = 10 (6) タイマ0割込み制御レジスタ(TM0ICR)の TM0LV1-0フラグにより割込みレベルを設定し ます。 割込み要求フラグが既にセットされている可 能性があるときは、要求フラグをクリアして ください。 【 第3章 3-1-4. 割込みフラグの設定】 8ビットイベントカウント動作 VI - 19 第6章 8ビットタイマ機能 設定手順 (7) 割込みの許可 TM0ICR (x'3FE9') bp1 : TM0IE 内容 (7) TM0ICRレジスタのTM0IEフラグを"1"にして 割込みを許可します。 = 1 (8) イベントカウントの開始 TM0MD (x'3F54') bp3 : TM0EN = 1 (8) TM0MDレジスタのTM0ENフラグを"1"にして タイマ0を動作させます。 TM0BCがX'00'から、TM0IO入力の立ち下がりエッジを検出するたびにカウントアップします。TM0BC がTM0OCレジスタの設定値と一致すると、次のカウントクロックでタイマ0割込み要求フラグがセッ トされ、TM0BCの値はX'00'になり、再度カウントアップを開始します。 VI - 20 8ビットイベントカウント動作 第6章 8ビットタイマ機能 6-5 8ビットタイマパルス出力動作 6-5 6-5-1 8 ビットタイマパルス出力の動作 6-5-1 タイマパルス出力機能は、任意の周波数のパルス信号をTMnIO端子より出力することができます。 ■タイマパルス出力の動作(タイマ0、タイマ1、タイマ3) コンペアレジスタ(TMnOC)に設定した値の2倍の周期の信号を出力することができます。出力される端 子を次表に示します。 表6-5-1 タイマパルス出力端子 パルス出力端子 タイマ0 タイマ1 タイマ3 T M 0IO 出力 (P 10) T M 1IO 出力 (P 11) T M 3IO 出力 (P 13) ■タイマパルス出力のカウントタイミング(タイマ0、タイマ1、タイマ3) カウント クロック TMnEN フラグ コンペア レジスタ バイナリ カウンタ N 00 01 N-1 N 00 01 N-1 N 00 01 N-1 N 00 割込み要求 フラグ TMnIO出力 図6-5-1 タイマパルス出力のカウントタイミング(タイマ0、1、3) コンペアレジスタに設定した周期の2倍の周期の信号がTMnIO出力端子から出力されます。コンペア レジスタとバイナリカウンタとの一致により、バイナリカウンタがx'00'にクリアされると、TMnIO 出力(タイマ出力)が反転します。タイマ出力の極性反転は、カウントクロックの立ち上がりエッジ に同期して変化します。これは、出力周期を正確にするために、マイコン内部で波形成型をしてい るためです。 8ビットタイマパルス出力動作 VI - 21 第6章 8ビットタイマ機能 6-5-2 8ビットタイマパルス出力の設定例 6-5-2 ■タイマパルス出力の設定例(タイマ0、タイマ1、タイマ3) タイマ0を用いてTM0IO出力端子より50 kHzのパルスを出力します。50 kHzのパルスを出力するには、 クロックソースにfoscを選択し、タイマ0コンペアレジスタに1/2の周期(100 kHz)の値を設定します。 fosc=20 MHzで動作している状態とします。 以下に、設定手順とその内容を示します。 設定手順 (1) カウンタの停止確認 TM0MD (x'3F54') bp3 : TM0EN 内容 (1) タイマ0モードレジスタ(TM0MD)のTM0ENフ ラグを"0"にしてタイマ0をカウント停止状態 = 0 (2) 特殊機能端子の出力の設定 P1OMD (x'3F2F') bp0 : P1OMD0 = 1 P1DIR (x'3F31') bp0 : P1DIR0 = 1 にします。 (2) ポート1出力モードレジスタ(P1OMD)の P1OMD0フラグを"1"にして、P10端子を特殊機 能端子に設定します。 ポート1方向制御レジスタ(P1DIR)のP1DIR0フ ラグを"1"にして出力モードに設定します。 必要に応じて、プルアップ抵抗を付加してく ださい。 【 (3) タイマ通常動作の選択 TM0MD (x'3F54') bp4 : TM0PWM bp5 : TM0MOD 第4章 I/Oポート機能】 (3) TM0MDレジスタのTM0PWMフラグとTM0MODフラグ を"0"にしてタイマ通常動作を選択します。 = 0 = 0 (4) カウントクロックソースの選択 TM0MD (x'3F54') bp2-0 : TM0CK2-0 = 000 (4) TM0MDレジスタのTM0CK2-0フラグによりク ロックソースにfoscを選択します。 (5) タイマパルス出力周期の設定 TM0OC (x'3F52') = x'C7' (5) タイマ0コンペアレジスタ(TM0OC)にタイマパ ルス出力周期の1/2の値を設定します。 20 MHzを分周して100 kHzにするために、設定 値は200−1=199(x'C7')にします。 このとき、タイマ0バイナリカウンタ(TM0BC) がx'00'に初期化されます。 (6) タイマの動作開始 TM0MD (x'3F54') bp3 : TM0EN (6) TM0MDレジスタのTM0ENフラグを"1"にして タイマ0を動作させます。 VI - 22 8ビットタイマパルス出力動作 = 1 第6章 8ビットタイマ機能 TM0BCがX'00'からカウントアップします。TM0BCがTM0OCレジスタの設定値と一致してTM0BCがX'00' にクリアされると、TM0IO出力の信号が反転しTM0BCが再びX'00'からカウントアップします。 TMnOC=X'00'設定時のタイマパルス出力は、X'01'設定時と同じ波形になります。 バイナリカウンタの停止時にコンペアレジスタに書き込みを行うと、タイマ出力は"L"にリ セットされます。 コンペアレジスタ計算方法 コンペアレジスタ値 = タイマパルス出力周期 - 1 選択クロック周期×2 8ビットタイマパルス出力動作 VI - 23 第6章 8ビットタイマ機能 6-6 8ビット PWM 出力動作 6-6 ビットPWM PWM出力動作 PWM出力は、タイマのバイナリカウンタとコンペアレジスタの設定値の一致タイミングおよび、バイナ リカウンタのオーバフロータイミングによりPWM基本成分を生成しTMnIO端子より出力します。 6-6-1 8ビット PWM 出力の動作 6-6-1 ビットPWM PWM出力の動作 ■8ビットPWM出力の動作(タイマ0) コンペアレジスタ(TMnOC)にPWMの"H"期間のデューティを設定することで、任意のデューティのPWM波 形を生成します。周期は8ビットタイマのフルカウントオーバフローの時間となります。 PWM出力端子を次表に示します。 表6-6-1 PWM出力の出力端子 タイマ0 TM0IO出力端子 (P10) PWM出力端子 ■PWM出力のカウントタイミング( 通常時)(タイマ0) カウント クロック TMnEN フラグ コンペア レジスタ バイナリ カウンタ PWMソース 波形 N 00 01 N-1 N (B) (A) N+1 N+2 FE FF 00 01 N-1 N N+1 (C) TMnIO出力 (PWM出力) コンペアレジスタの設定時間 PWM基本成分(バイナリカウンタオーバフローの時間) 図6-6-1 PWM出力のカウントタイミング(通常時) PWMソース波形は、 (A) バイナリカウンタがX'00'からコンペア一致するまでの期間、"H"となります。 (B) コンペア一致後、"L"となり、バイナリカウンタはオーバフローするまでカウントアップ を続けます。 (C) バイナリカウンタがオーバフローすると、再び"H"となります。 端子からのPWM 出力は、PWMソース波形を1カウントクロック遅らせて出力します。 これは、出力周期を正確にするために、マイコン内部で波形成型をしているためです。 VI - 24 8ビットPWM出力動作 第6章 8ビットタイマ機能 ■PWM出力のカウントタイミング(コンペアレジスタがX'00'の時)(タイマ0) コンペアレジスタにX'00'を設定した時のカウントタイミングを次に示します。 カウント クロック TMnEN フラグ コンペア レジスタ バイナリ カウンタ 00 00 01 N-1 N N+1 N+2 FE FF 00 01 N-1 N N+1 H TMnIO出力 (PWM出力) L 図6-6-2 PWM出力のカウントタイミング(コンペアレジスタがX'00'の時) TMnENフラグが停止状態("0"の時)は、PWM出力は"H"が出力されます。 ■PWM出力のカウントタイミング(コンペアレジスタがX'FF'の時)(タイマ0) コンペアレジスタにX'FF'を設定した時のカウントタイミングを次に示します。 カウント クロック TMnEN フラグ コンペア レジスタ バイナリ カウンタ FF 00 01 N-1 N N+1 N+2 FE FF 00 01 N-1 N N+1 TMnIO出力 (PWM出力) 図6-6-3 PWM出力のカウントタイミング(コンペアレジスタがX'FF'の時) 8ビットPWM出力動作 VI - 25 第6章 8ビットタイマ機能 6-6-2 8ビット PWM 出力の設定例 6-6-2 ビットPWM PWM出力の設定例 ■PWM出力の設定例(タイマ0) タイマ0を用いてTM0IO出力端子より128 Hzで1/4デューティのPWM出力波形を出力します。低速動作用 発振(fx)は、32.768 kHzで発振しているものとします。バイナリカウンタのオーバフローの時間でPWM 出力波形の1周期の時間が決定します。コンペアレジスタの設定値でPWM出力波形の"H"の時間が決定し ます。 以下に、設定手順とその内容を示します。 TM0IO出力 128 Hz 図6-6-4 TM0IO出力端子の出力波形 設定手順 (1) カウンタの停止確認 TM0MD (x'3F54') bp3 : TM0EN 内容 = 0 (1) タイマ0モードレジスタ(TM0MD)のTM0ENフ ラグを"0"にしてタイマ0をカウント停止状態 にします。 (2) 特殊機能端子の出力の設定 P1OMD (x'3F2F') bp0 : P1OMD0 = 1 P1DIR (x'3F31') bp0 : P1DIR0 = 1 (2) ポート1出力モードレジスタ(P1OMD)の P1OMD0フラグを"1"にして、P10端子を特殊機 能端子に設定します。 ポート1方向制御レジスタ(P1DIR)のP1DIR0フ ラグを"1"にして出力モードに設定します。 必要に応じて、プルアップ抵抗を付加してく ださい。 【 (3) PWM動作の選択 TM0MD (x'3F54') bp4 : TM0PWM bp5 : TM0MOD = 1 = 0 (4) カウントクロックソースの選択 TM0MD (x'3F54') bp2-0 : TM0CK2-0 = 010 VI - 26 8ビットPWM出力動作 第4章 I/Oポート機能】 (3) TM0MDレジスタのTM0PWMフラグを"1"に、 TM0MODフラグを"0"にしてPWM動作を選択 します。 (4) TM0MDレジスタのTM0CK2-0フラグによりク ロックソースにfxを選択します。 第6章 8ビットタイマ機能 内容 設定手順 (5) PWM出力"H" 期間の設定 TM0OC (x'3F52') (6) タイマの動作開始 TM0MD (x'3F54') bp3 : TM0EN = x'40' (5) タイマ0コンペアレジスタ(TM0OC)にPWM出 力の"H"期間の値を設定します。 フルカウント256の1/4デューティにするため に、設定値は、256÷4=64(x'40')にします。 このとき、タイマ0バイナリカウンタ(TM0BC) がx'00'に初期化されます。 (6) TM0MDレジスタのTM0ENフラグを"1"にして タイマ0を動作させます。 = 1 TM0BCがX'00'からカウントアップします。PWMソース波形は、TM0BCがTM0OCレジスタの設定値と一致 するまでは"H"を出力し、一致すると、"L"を出力します。その後、TM0BCはカウントアップを続け、 オーバフローすると、PWMソース波形は、再び"H"を出力し、TM0BCは再度X'00'からカウントアップ します。TM0IO端子からの出力は、PWMソース波形を1カウントクロック遅らせたものが出力されま す。 PWM出力の初期設定での状態は、TMnMDレジスタのTMnPWMフラグによりPWM動作を選択した時 点で"L"出力から"H"出力に変化します。 8ビットPWM出力動作 VI - 27 第6章 8ビットタイマ機能 6-7 8ビットタイマによる同期出力動作 6-7 6-7-1 8 ビットタイマによる同期出力の動作 6-7-1 同期出力は、タイマのバイナリカウンタとコンペアレジスタの設定値が一致すると、次のカウントク ロックのタイミングでポート7出力ラッチデータをポート7から出力します。 ■8ビットタイマによる同期出力の動作(タイマ1) バイナリカウンタのコンペア一致による、割込み要求発生のタイミングによりポート7出力ラッチデー タがポート7の出力端子から出力されます。同期出力できるポートは、ポート7のみで、ビット単位の 設定が可能です。同期出力機能が使える8ビットタイマは、タイマ1です。 表6-7-1 同期出力ポート(タイマ1) タイマ1 同期出力ポート ポート7 ■同期出力のカウントタイミング(タイマ1) カウント クロック TMnEN フラグ コンペア レジスタ1 N ポート7出力 X ラッチデータ バイナリ カウンタ N-1 N X Z Y 00 01 N-1 N 00 Y 01 N-1 N 00 01 N-1 割込み要求 フラグ ポート7同期 出力データ X Y Z Y 図6-7-1 同期出力のカウントタイミング(タイマ1) バイナリカウンタとコンペアレジスタの一致による、割込み要求の発生タイミングでポート7出力 ラッチデータが出力端子より出力されます。 VI - 28 8ビットタイマによる同期出力動作 第6章 8ビットタイマ機能 6-7-2 8ビットタイマによる同期出力の設定例 6-7-2 ■同期出力の設定例(タイマ1) タイマ1を用いてポート7のラッチデータが一定時間(100 µs)ごとに同期出力端子より出力する設定例 を示します。タイマ2のクロックソースはfs/8(fosc=8 MHz動作時)を選択することにします。 以下に、設定手順とその内容を示します。 設定手順 (1) カウンタの停止確認 TM1MD (x'3F55') bp3 : TM1EN 内容 = 0 (2) 同期出力イベントの選択 FLOAT (x'3F2E') bp1-0 : SYOEVS1-0 =10 (3) 同期出力端子の設定 P7SYO(x'3F1E') P7DIR (x'3F37') = x'FF' = x'FF' (1) タイマ1モードレジスタ(TM1MD)のTM1ENフ ラグを"0"にしてタイマ1をカウント停止状態 にします。 (2) 端子制御レジタ(FLOAT)のSYOEVS1-0フラ グを"10"にして同期出力イベントをタイマ1割 込みに設定します。 (3) ポート7同期出力制御レジスタ(P7SYO)を x'FF'にして同期出力端子の設定をします。 (P77∼P70を同期出力端子とします。) ポート7方向制御レジスタ(P7DIR)をx'FF'にし てポート7を出力端子の設定にします。 必要に応じて、プルアップ抵抗を付加してく ださい。 【 (4) タイマ通常動作の選択 TM1MD (x'3F55') bp4 : TM1CAS 第4章 I/Oポート機能】 (4) TM1MDレジスタのTM1CASフラグを"0"にして タイマ通常動作を選択します。 = 0 (5) カウントクロックソースの選択 TM1MD (x'3F55') bp2-0 : TM1CK2-0 = 001 (5) TM1MDレジスタのTM1CK2-0フラグによりク ロックソースにプリスケーラ出力を選択しま す。 (6) プリスケーラ出力の選択と許可 CK1MD (x'3F57') bp2-1 : TM1PSC1-0 = 01 bp0 : TM1BAS = 1 PSCMD (x'3F6F') bp0 : PSCEN = 1 (6) タイマ1プリスケーラ選択レジスタ(CK1MD)の TM1PSC1-0、TM1BASフラグにより、プリス ケーラ出力にfs/8を選択します。 また、プリスケーラ制御レジスタ(PSCMD)の PSCENフラグを"1"にしてプリスケーラのカウ ントを許可します。 8ビットタイマによる同期出力動作 VI - 29 第6章 8ビットタイマ機能 設定手順 内容 (7) 同期出力イベント発生周期の設定 TM1OC (x'3F53') = x'63' (7) タイマ1コンペアレジスタ(TM1OC)に同期出力 発生周期の値を設定します。 1MHzを分周して10 kHzにするために、設定値 は、100−1=99(x'63')にします。 このとき、タイマ1バイナリカウンタ(TM1BC) がx'00'に初期化されます。 (8) タイマの動作開始 TM1MD (x'3F55') bp3 : TM1EN (8) TM1MDレジスタのTM1ENフラグを"1"にして タイマ1を動作させます。 = 1 TM1BCがX'00'からカウントアップします。ポート7出力レジスタ(P7OUT)にデータを書き込むと、 TM1BCがTM1OCレジスタの設定値と一致して、割込み要求が発生するごとに同期出力端子よりポート 7データが出力されます。 プロセッサモード、メモリ拡張モード時は、同期出力機能は使用できません。 VI - 30 8ビットタイマによる同期出力動作 第6章 8ビットタイマ機能 6-8 シリアル転送クロック出力動作 6-8 シリアル転送クロック出力動作 6-8-1 シリアル転送クロックの動作 6-8-1 シリアル転送クロックの動作 タイマの出力信号を使用してシリアル転送のクロックを作成することができます。 ■8ビットタイマによるシリアル転送クロックの動作(タイマ3) タイマ3出力はシリアル0およびシリアル2の転送クロックソースとして使用することができます。 表6-8-1 シリアル転送クロックの動作するタイマ シリアル転送クロック タイマ3 シリアル0 ○ シリアル2 ○ ■シリアル転送クロックのカウントタイミング(タイマ3) カウント クロック TMnEN フラグ コンペア レジスタ N バイナリ カウンタ 00 01 N-1 N 00 01 N-1 N 00 01 N-1 N 00 割込み要求 フラグ タイマ出力 シリアル転送 クロック 図6-8-1 シリアル転送クロックのカウントタイミング(タイマ3) シリアル転送クロックは、タイマ出力をタイマカウントクロックにより同期化したもので、コンペ アレジスタに設定した周波数の1/2になります。 その他のカウントタイミングはタイマ動作のカウントタイミングと同じです。 ボーレートの計算方法およびシリアルインタフェースの設定は、第11章 シリアルインタフェース 0および第12章 シリアルインタフェース2を参照してください。 シリアル転送クロック出力動作 VI - 31 第6章 8ビットタイマ機能 6-8-2 シリアル転送クロックの設定例 6-8-2 シリアル転送クロックの設定例 ■シリアル転送クロックの設定例(タイマ3) 全二重UART(シリアル0)送受信のクロック(転送速度)をタイマ3を用いて作成する方法を示します。ボー レートは、300 bps、タイマ3のソースクロックはfs/8(fosc=8 MHz動作時)を選択することにします。 以下に、設定手順とその内容を示します。 設定手順 (1) カウンタの停止確認 TM3MD (x'3F5D') bp3 : TM3EN 内容 = 0 (1) タイマ3モードレジスタ(TM3MD)のTM3ENフラグ を"0"にしてタイマ3をカウント停止状態にし ます。 (2) カウントクロックソースの選択 TM3MD (x'3F5D') bp2-0 : TM3CK2-0 = 001 (2) TM3MDレジスタのTM3CK2-0フラグによりクロッ クソースにプリスケーラ出力を選択します。 (3) プリスケーラ出力の選択と許可 CK3MD (x'3F5F') bp2-1 : TM3PSC1-0 = 01 bp0 : TM3BAS = 1 PSCMD (x'3F6F') bp0 : PSCEN = 1 (3) タイマ3カウントクロック選択レジスタ (CK3MD)のTM3PSC0-1、TM3BASフラグによりプ リスケーラ出力にfs/8を選択します。 また、プリスケーラ制御レジスタ(PSCMD)の PSCENフラグを"1"にしてプリスケーラのカウ ントを許可します。 (4) ボーレートの設定 TM3OC (x'3F5B') (4) タイマ3コンペアレジスタ(TM3OC)にボーレー トに関する値を設定します。 = x'67' 【 第11章 11-3-18】 このとき、タイマ3バイナリカウンタ(TM3BC) がx'00'に初期化されます。 (5) シリアル転送クロックソースの選択 SC0CKS (x'3F97') bp3 : SC0TMSEL = 0 bp2-0 : SC0PSC2-0 = 011 (5) シリアル0転送クロック選択レジスタ(SC0CKS) のSC0TMSEL、SC0PSC2-0フラグにより、シリア ル通信のためのクロックソースをタイマ3の オーバフロー2分周を選択します。 (6) シリアル転送クロックソースの設定 SC0MD1 (x'3F91') bp3 : SC0CKM = 1 (6) シリアルインタフェース0モードレジスタ1 (SC0MD1)のSC0CKMフラグを"1"にしてシリアル 通信のためのクロックソースを1/8分周する設 定にします。 VI - 32 シリアル転送クロック出力動作 第6章 8ビットタイマ機能 設定手順 (7) タイマの動作開始 TM3MD (x'3F5D') bp3 : TM3EN 内容 (7) TM3MDレジスタのTM3ENフラグを"1"にしてタイ マ3を動作させます。 = 1 TM3BCがX'00'からカウントアップします。タイマ3の出力がシリアルインタフェース0の送 受信時のクロックとなります。 コンペアレジスタの設定値の算出方法については、シリアル通信の項目を参照してくださ い。 シリアル転送クロック出力動作 VI - 33 第6章 8ビットタイマ機能 6-9 8ビットタイマによる簡易パルス幅測定動作 6-9 6-9-1 8ビットタイマによる簡易パルス幅測定の動作 6-9-1 簡易パルス幅測定は、タイマのカウントにより、外部割込み端子から入力されたパルス信号の"L"期間 のパルス幅を測定します。 ■8ビットタイマによる簡易パルス幅測定の動作(タイマ0) 外部割込み端子(簡易パルス幅測定の対象となる入力端子)の入力信号が"L"の期間のみ、タイマのバイ ナリカウンタがカウントアップします。タイマのカウント値を読み出すことで、"L"期間のパルス幅測 定が可能です。簡易パルス幅測定機能が使える8ビットタイマは、タイマ0です。 表6-9-1 簡易パルス幅測定可能な端子(タイマ0) タイマ0 簡易パルス幅測定 可能端子 外部割込み2 (P22/IRQ2) ■簡易パルス幅測定時のカウントタイミング(タイマ0) カウント クロックソース 外部割込み IRQ(n/2+2) TMnEN フラグ コンペア レジスタ バイナリ カウンタ FF 00 01 02 03 04 図6-9-1 簡易パルス幅測定時のカウントタイミング(タイマ0) TMnENフラグが動作状態("1")の時に、簡易パルス幅測定の対象となる外部割込み端子の入力信号が "L" の期間のみ、タイマがカウントアップします。 VI - 34 8ビットタイマによる簡易パルス幅測定動作 第6章 8ビットタイマ機能 6-9-2 8ビットタイマによる簡易パルス幅測定の設定例 6-9-2 ■8ビットタイマによる簡易パルス幅測定の設定例(タイマ0) タイマ0を用いて外部割込み2(IRQ2)入力端子の信号の"L"期間のパルス幅を測定します。タイマ0のク ロックソースはfoscを選択することにします。 以下に、設定手順とその内容を示します。 設定手順 (1) カウンタの停止確認 TM0MD (x'3F54') bp3 : TM0EN 内容 = 0 (1) タイマ0モードレジスタ(TM0MD)のTM0ENフ ラグを"0"にしてタイマ0をカウント停止状態 にします。 (2) パルス幅測定動作の設定 TM0MD (x'3F54') bp4 : TM0PWM = 0 bp5 : TM0MOD = 1 (2) TM0MDレジスタのTM0PWMフラグを"0"、 (3) カウントクロックソースの選択 TM0MD (x'3F54') bp2-0 : TM0CK2-0 = 000 (3) TM0MDレジスタのTM0CK2-0フラグによりク ロックソースにfoscを選択します。 (4) コンペアレジスタの設定 TM0OC (x'3F52') = x'FF' (4) タイマ0コンペアレジスタ(TM0OC)に(測定す るパルス幅の"L"期間 / foscの周期)よりも大 TM0MODフラグを"1"にして、測定するパルス の"L"期間だけタイマ動作を許可します。 きな値を設定します。 このとき、タイマ0バイナリカウンタ(TM0BC) がx'00'に初期化されます。 (5) 割込みレベルの設定 IRQ2ICR (x'3FE4') bp7-6 : IRQ2LV1-0 = 10 (5) 外部割込み2制御レジスタ(IRQ2ICR)の IRQ2LV1-0フラグにより割込みレベルを設定し ます。 割込み要求フラグが既にセットされている可 能性があるときは、要求フラグをクリアして ください。 【 (6) 割込み有効エッジの設定 IRQ2ICR (x'3FE4') bp5 : REDG2 = 1 第3章 3-1-4. 割込みフラグの設定】 (6) IRQ2ICRレジスタのREDG2フラグを"1"にして 割込み有効エッジに立ち上がりエッジを指定 します。 8ビットタイマによる簡易パルス幅測定動作 VI - 35 第6章 8ビットタイマ機能 内容 設定手順 (7) 割込みの許可 IRQ2ICR (x'3FE4') bp1 : IRQ2IE (8) タイマの動作許可 TM0MD (x'3F54) bp3 : TM0EN (7) IRQ2ICRレジスタのIRQ2IEフラグを"1"にして 割込みを許可します。 = 1 (8) TM0MDレジスタのTM0ENフラグを"1"にして タイマ0の動作を許可します。 = 1 外部割込み2(IRQ2)入力のネガエッジをトリガにして、TM0BCが X'00' からカウントアップを開始 します。IRQ2入力が "L" 期間中タイマ0はカウントアップを続け、IRQ2入力のポジエッジをトリガ にしてカウントが停止します。同時に割込み処理にて、TM0BCの値をReadすることにより、IRQ2入力 の "L" 期間を検出することができます。 VI - 36 8ビットタイマによる簡易パルス幅測定動作 第6章 8ビットタイマ機能 6-10 8ビットタイマカスケード接続動作 6-10 6-10-1 8ビットタイマカスケード接続の動作 6-10-1 8ビットタイマカスケード接続の動作 カスケード接続は、タイマ0とタイマ1を連結し、ひとつの16ビットタイマとして動作します。 ■8ビットタイマカスケード接続の動作(タイマ0+タイマ1) タイマ0とタイマ1を連結して16ビットタイマとして使用できます。カスケード接続されたタイマは、 下位8ビットに相当するタイマ0のクロックソースで動作します。 表6-10-1 カスケード接続時のタイマ機能一覧 タイマ0+タイマ1 (16ビット) 割込み要因名 タイマ動作 TM1IRQ ○ イベントカウント ○ (TM0IO入力) タイマパルス出力 ○ (TM1IO出力) PWM出力 - 同期出力 ○ シリアル転送クロック出力 パルス幅測定機能 リモコンキャリア出力 クロックソース ○ fosc fosc/4 fosc/16 fosc/32 fosc/64 fs/2 fs/4 fx TM0IO入力 fosc:マシンクロック(高速動作用発振) fx:マシンクロック(低速動作用発振) fs:システムクロック【 第2章 2-5. クロック切り換え機能】 8ビットタイマカスケード接続動作 VI - 37 第6章 8ビットタイマ機能 カスケード接続時には、バイナリカウンタ、コンペアレジスタはそれぞれ16ビットレジスタとして 動作します。動作時は、上位8ビットタイマ、下位8ビットタイマ両方のモードレジスタのTMnENフラ グを"1"にして動作状態にしてください。 また、クロックソースは下位8ビットタイマにより選択してください。 その他の設定および、カウントタイミングは8ビットタイマ単独動作時と同じです。 タイマ0+タイマ1をカスケード接続して使用する場合、割込み要求フラグはタイマ1を使用 します。タイマ0のタイマパルス出力は、"L"固定出力になります。 タイマ0の割込み要求は発生しませんが、タイマ0割込みは禁止の状態にしてください。 カスケード接続時、コンペアレジスタの書き換えによりバイナリカウンタのクリアが必要な 場合には、上位8ビットタイマ、下位8ビットタイマ両方のモードレジスタのTMnENフラグを "0"にしてカウント停止状態とし、書き換えを行って下さい。 VI - 38 8ビットタイマカスケード接続動作 第6章 8ビットタイマ機能 6-10-2 カスケード接続の設定例 6-10-2 カスケード接続の設定例 ■カスケード接続のタイマ動作の設定例(タイマ0+タイマ1) タイマ0とタイマ1をカスケード接続して16ビットタイマとして一定時間毎に割込みを発生させ、時計 機能を実現する設定例を示します。ソースクロックをfs/4(fosc=20 MHz動作時)を選択して2500分周(1 ms)毎に割込みを発生します。 以下に、設定手順とその内容を示します。 内容 設定手順 (1) カウンタの停止確認 TM0MD (x'3F54') bp3 :TM0EN TM1MD (x'3F55) bp3 : TM1EN =0 (1) タイマ0モードレジスタ(TM0MD)のTM0ENフ ラグを"0"、タイマ1モードレジスタ(TM1MD) のTM1ENフラグを"0"にしてタイマ0およびタ イマ1をカウント停止状態にします。 = 0 (2) 下位タイマ通常動作の選択 TM0MD (x'3F54') bp4 : TM0PWM = 0 bp5 : TM0MOD = 0 (2) TM0MDレジスタのTM0PWMフラグとTM0MODフラグ を"0"にしてタイマ0通常動作を選択します。 (3) カスケード接続の設定 TM1MD (x'3F55') bp4 : TM1CAS (3) TM1MDレジスタのTM1CASフラグを"1"にし てタイマ1とタイマ0をカスケードに接続しま す。 = 1 (4) カウントクロックソースの選択 TM0MD (x'3F54') bp2-0 : TM0CK2-0 = 001 (4) TM0MDレジスタのTM0CK2-0フラグによりク ロックソースにプリスケーラ出力を選択しま す。 (5) プリスケーラ出力の選択と許可 CK0MD (x'3F56') bp2-1 : TM0PSC1-0 = 01 bp0 : TM0BAS = 1 PSCMD (x'3F6F') bp0 : PSCEN = 1 (5) タイマ0プリスケーラ選択レジスタ(CK0MD)の TM0PSC1-0、TM0BASフラグにより、プリス ケーラ出力にfs/4を選択します。 また、プリスケーラ制御レジスタ(PSCMD)の PSCENフラグを"1"にしてプリスケーラのカウ ントを許可します。 (6) 割込み発生周期の設定 TMnOC(x'3F53',x'3F52') = x'09C3' (6) タイマ1コンペアレジスタ+タイマ0コンペアレ ジスタ(TM1OC+TM0OC)に割込み発生周期の 値x'09C3'(2500分周-1)を設定します。 このとき、タイマ1バイナリカウンタ+タイ マ0バイナリカウンタ(TM1BC+TM0BC)がx'0000' に初期化されます。 8ビットタイマカスケード接続動作 VI - 39 第6章 8ビットタイマ機能 設定手順 内容 (7) 下位タイマの割込み禁止 TM0ICR (x'3FE9') bp1 : TM0IE = 0 (7) タイマ0割込み制御レジスタ(TM0ICR)のTM0IE フラグを"0"にして割込みを禁止します。 (8) 上位タイマの割込みレベルの設定 TM1ICR (x'3FEA') bp7-6 : TM1LV1-0 = 10 (8) タイマ1割込み制御レジスタ(TM1ICR)の TM1LV1-0フラグにより割込みレベルを設定 します。 割込み要求フラグが既にセットされている可 能性があるときは、要求フラグをクリアして ください。 【 第3章 3-1-4. 割込みフラグの設定】 (9) 上位タイマの割込み許可 TM1ICR (x'3FEA') bp1 : TM1IE = 1 (9) TM1ICRレジスタのTM1IEフラグを"1"にして 割込みを許可します。 (10) 上位タイマの動作開始 TM1MD (x'3F55') bp3 : TM1EN (10) TM1MDレジスタのTM1ENフラグを"1"にして タイマ1を動作させます。 (11) 下位タイマの動作開始 TM0MD (x'3F54') bp3 : TM0EN = 1 (11) TM0MDレジスタのTM0ENフラグを"1"にして タイマ0を動作させます。 = 1 TM1BC+TM0BCが16ビットタイマとしてX'0000'からカウントアップします。 TM1BC+TM0BCがTM1OC+TM0OCレジスタの設定値と一致すると、次のカウントクロックでタイマ1割込み 要求フラグがセットされ、TM1BC+TM0BCの値はX'0000'になり再度カウントアップを開始します。 (TM1OC+TM0OC)レジスタの設定は、16ビットアクセス命令で操作してください。 タイマ動作は、上位タイマを下位タイマより先に動作させてください。 VI - 40 8ビットタイマカスケード接続動作 第6章 8ビットタイマ機能 6-11 リモコンキャリア出力動作 6-11 リモコンキャリア出力動作 6-11-1 リモコンキャリア出力の動作 6-11-1 リモコンキャリア出力の動作 リモコンキャリア出力機能は、リモコン用キャリアパルスを生成できます。 ■リモコンキャリア出力機能の動作(タイマ0、タイマ3) タイマ0またはタイマ3の出力信号を用いてリモコンキャリアパルスを生成できます。デューティ比は、 1/2、1/3の2種類から選択できます。リモコンキャリア出力信号はRMOUT(P10)端子より出力されます。 タイマのベース周期 タイマの ベース周期 ( タイマ出力) RMOUT (1/2デューティ) RMOUT (1/3デューティ) 図6-11-1 リモコンキャリア出力信号のデューティ比 ■リモコンキャリア出力機能のカウントタイミング(タイマ0、タイマ3) タイマの ベース周期 (タイマ出力) 出力ON RMOEN 出力OFF RMOUT (1/3デューティ) (A) 図6-11-2 リモコンキャリア出力機能のカウントタイミング(タイマ0、タイマ3) (A) キャリア出力が"H"の状態でRMOENフラグをOFFにしても、同期回路により、キャリア波形は 保持されます。 RMOENフラグをON/OFFする時は、P1OMDレジスタのP1OMD0フラグを、ONの前に"1"、OFFの後に "0"にしてください。 RMOENフラグを変更するときは、同時にベース周期、デューティを変更しないでください。 同時に変更するとキャリア波形が正しく出力されません。 リモコンキャリア出力動作 VI - 41 第6章 8ビットタイマ機能 6-11-2 リモコンキャリア出力の設定例 6-11-2 リモコンキャリア出力の設定例 ■リモコンキャリア出力機能の設定例(タイマ0、タイマ3) タイマ0を用いてRMOUT端子より"H"の期間を36.7 kHzとする1/3デューティのキャリアパルスの信号を 出力する設定例を示します。タイマ0のソースクロックはfosc(8 MHz動作時)を選択することにします。 以下に、設定手順とその内容を示します。 タイマ0のベース周期 (36.7 kHz) タイマ0の ベース周期 RMOUT出力 (1/3デューティ) 図6-11-3 RMOUT出力端子の出力波形 内容 設定手順 (1) リモコンキャリア出力禁止 RMCTR(X'3F6E') bp3 : RMOEN = 0 (1) リモコンキャリア出力制御レジスタ(RMCTR) のRMOENフラグを"0"にしてリモコンキャリ アの出力を禁止します。 (2) ベース周期設定タイマの選択 RMCTR(X'3F6E') bp0 : RMBTMS = 0 (2) RMCTRレジスタのRMBTMSフラグを"0"にし てタイマ0をベース周期の設定タイマに選択し (3) キャリア出力デューティ選択 RMCTR(X'3F6E') bp1 : RMDTY0 = 1 (3) RMCTRレジスタのRMDTY0フラグを"1"にし てデューティを1/3に選択します。 (4) カウンタの停止確認 TM0MD (x'3F54') bp3 : TM0EN (4) タイマ0モードレジスタ(TM0MD)のTM0ENフ ラグを"0"にしてタイマ0をカウント停止状態 にします。 = 0 (5) 特殊機能端子のリモコンキャリア 出力の設定 P1OMD (x'3F2F') bp0 : P1OMD0 = 1 P1DIR (x'3F31') bp0 : P1DIR0 = 1 RMCTR (x'3F6E') bp4 : TM0RM = 1 ます。 (5) ポート1出力モードレジスタ(P1OMD)の P1OMD0フラグを"1"にして、P10端子を特殊機 能端子に設定します。 ポート1方向制御レジスタ(P1DIR)のP1DIR0フ ラグを"1"にして出力モードに設定します。 RMCTRレジスタのTM0RMフラグを"1"にして リモコンキャリア出力を選択します。 VI - 42 リモコンキャリア出力動作 第6章 8ビットタイマ機能 内容 設定手順 (6) タイマ通常動作の選択 TM0MD (x'3F54') bp4 : TM0PWM bp5 : TM0MOD = 0 = 0 (6) TM0MDレジスタのTM0PWMフラグと TM0MODフラグを"0"にしてタイマ通常動作 を選択します。 (7) カウントクロックソースの選択 TM0MD (x'3F54') bp2-0 : TM0CK2-0 = 000 (7) TM0MDレジスタのTM0CK2-0フラグによりク ロックソースにfoscを選択します。 (8) リモコンキャリアのベース周期の 設定 TM0OC (x'3F52') = x'6C' (8) タイマ0コンペアレジスタ(TM0OC)にx'6C'を 書き込むことでリモコンキャリアのベース周 期を設定します。8 MHzを分周して36.7 kHzの 1/2分周(73.4 kHz)にするために、設定値は (8 MHz/73.4 kHz)−1=108(x'6C')にします。 (9) タイマの動作開始 TM0MD (x'3F54') bp3 : TM0EN (9) TM0MDレジスタのTM0ENフラグを"1"にして タイマ0のカウントを開始させます。 = 1 (10) リモコンキャリア出力許可 RMCTR(x'3F6E') bp3 : RMOEN = 1 (10) RMCTRレジスタのRMOENフラグを"1"にして リモコンキャリアの出力を許可します。 TM0BCがX'00'からカウントアップします。TM0OCで設定したベース周期のパルスがタイマ0から出力 され、それをもとに1/3デューティのリモコンキャリアパルス信号が出力されます。RMCTRレジスタ のRMOENフラグを"0"にするとリモコンキャリアパルス信号の出力が停止します。 リモコンキャリア出力動作 VI - 43 第7章 16ビットタイマ機能 6 7 8 第7章 16ビットタイマ機能 7-1 16 ビットタイマ機能の概要 7-1 16ビットタイマ機能の概要 本LSIは、2本の汎用16ビットタイマ(タイマ7, タイマ8)を搭載しています。タイマ7は「高機能16 ビットタイマ」、タイマ8は「標準16ビットタイマ」であり、高機能16ビットタイマは標準16ビットタ イマをベースに機能拡張したタイマカウンタで、完全な上位互換性があります。16ビットタイマでは コンペアレジスタはダブルバッファ構成になっています。高機能16ビットタイマはこのダブルバッファ 構成のコンペアレジスタを2本もっています。 7-1-1 16 ビットタイマ機能一覧 7-1-1 16ビットタイマ機能一覧 タイマ7, タイマ8の使用できる機能について次表に示します。 表7-1-1 16ビットタイマ機能一覧 タイマ7 タイマ8 (高機能16ビットタイマ) (標準16ビットタイマ) TM7IRQ1 TM7IRQ2 TM8IRQ1 タイマ動作 ○ ○ イベントカウント ○ ○ タイマパルス出力 ○ ○ 標準PWM出力(デューティのみ可変) ○ ○ 高性能PWM出力(デューティ/周期ともに可変) ○ × 同期出力 ○ × キャプチャ機能 ○ ○ パルス幅測定機能 ○ ○ fosc fosc/2 fosc/4 fosc/16 fs fs/2 fs/4 fs/16 fosc fosc/2 fosc/4 fosc/16 fs fs/2 fs/4 fs/16 TM7IO入力 TM8IO入力 TM7IO入力/2 TM8IO入力/2 TM7IO入力/4 TM8IO入力/4 TM7IO入力/16 TM8IO入力/16 割込み要因名 クロックソース fosc:マシンクロック(高速動作用発振) fx:マシンクロック(低速動作用発振) fs:システムクロック ・同期出力はプロセッサモード、メモリ拡張モード時は、使用できません。 VII - 2 16ビットタイマ機能の概要 TM7CK0 TM7CK1 TM7PS0 TM7PS1 TM7EN TM7CL Reserved Reserved TM7MD1 7 } } 0 M U X TM7IO入力 同期化 M U X fosc fs M U X 外部割込みインタフェース ブロックからの出力 IRQ0割込み要求信号 IRQ1割込み要求信号 IRQ2割込み要求信号 IRQ3割込み要求信号 } TM7MD2(bp1-0) T7ICT0 T7ICT1 M U X S 1/2 S 1/2 S 1/4 1 1/2 1/4 1/16 M U X キャプチャ動作 許可/禁止 T7ICEN TM7MD2(bp2) M U X キャプチャトリガ キャプチャレジスタ write動作信号 4ビットプリスケーラ 両エッジ検出 指定エッジ検出 TM7MD2(bp7) T7ICEDG TM7ICH TM7PR1H Data Load信号 一致検出 TM7OC1H RST 一致検出 TM7BCH RST Read TM7OC2H Data Load信号 TM7PR2L TM7PR2H Read M U X M U X T7PWMSL TM7MD2(bp6) OVF Read/Write 16ビット プリセットレジスタ2 TM7OC2L 16ビット アウトプット・コンペアレジスタ2 TM7BCL 16ビットバイナリカウンタ TM7OC1L 16ビット アウトプット・コンペアレジスタ1 TM7PR1L Read Read/Write 16ビット プリセットレジスタ1 TM7ICL 16ビット キャプチャレジスタ Read reset M U X S R Q TM7CL TM7MD1(bp5) 1/2 R T7ICT0 T7ICT1 T7ICEN TM7IRS1 TM7PWM TM7BCR T7PWMSL T7ICEDG TM7MD2 7 0 M U X T7OC2IRQ TM7IO出力/PWM7 TM7IRQ/ 同期出力イベント 第7章 16ビットタイマ機能 7-1-2 16 ビットタイマブロック図 7-1-2 16ビットタイマブロック図 ■タイマ7ブロック図 図7-1-1 タイマ7ブロック図 16ビットタイマ機能の概要 VII - 3 VII - 4 16ビットタイマ機能の概要 TM8IO入力 fs 図7-1-2 タイマ8ブロック図 TM8CK0 TM8CK1 TM8PS0 TM8PS1 TM8EN TM8CL ― ― TM8MD1 同期化 7 0 M U X M U X M U X M U X 両エッジ検出 S S 1/2 1/2 1/4 S 1 1/2 1/4 1/16 M U X キャプチャ動作 許可/禁止 T8ICEN TM8MD2(bp2) M U X キャプチャレジスタ write動作信号 キャプチャトリガ 4ビットプリスケーラ 暫定エッジ検出 T8ICEDG TM8MD2(bp7) 16ビットバイナリカウンタ TM8BCL RST TM8BCH 一致検出 RST Read 16ビットアウトプット・コンペアレジスタ1 TM8OC1L TM8OC1H 16ビットプリセットレジスタ1 TM8PR1L TM8PR1H Data Load信号 Read 16ビットキャプチャレジスタ TM8ICL TM8ICH Read/Write M OVF U X reset S R Q TM8CL TM8MD1(bp5) 1/2 R M U X TM8MD2 T8ICT(0) T8ICT(1) T8ICEN TM8IRS1 TM8PWM TM8BCR ― T8ICEDG 7 0 M U X TM8OUT/PWM8 TM8IRQ1/ 同期出力イベント ■タイマ8ブロック図 fosc 外部割込みインタフェース ブロックからの出力 IRQ0割込み要求信号 IRQ1割込み要求信号 IRQ2割込み要求信号 IRQ3割込み要求信号 TM8MD2(bp1-0) T8ICT(1:0) Read 第7章 16ビットタイマ機能 第7章 16ビットタイマ機能 7-2 16 ビットタイマ制御レジスタ 7-2 16ビットタイマ制御レジスタ タイマ7は、バイナリカウンタ(TM7BC)、コンペアレジスタ1(TM7OC1)およびそのダブルバッファのプリ セットレジスタ1(TM7PR1)、コンペアレジスタ2(TM7OC2)およびそのダブルバッファのプリセットレジ スタ2(TM7PR2)、キャプチャレジスタ(TM7IC)で構成されています。また、モードレジスタ1(TM7MD1)お よびモードレジスタ2(TM7MD2)で制御します。 タイマ8は、バイナリカウンタ(TM8BC)、コンペアレジスタ1(TM8OC1)、およびそのダブルバッファのプ リセットレジスタ1(TM8PR1)、キャプチャレジスタ(TM8IC)で構成されています。また、モードレジス タ1(TM8MD1)およびモードレジスタ2(TM8MD2)で制御します。 7-2-1 16 ビットタイマ制御レジスタ一覧 7-2-1 16ビットタイマ制御レジスタ一覧 タイマ7を制御するレジスタの一覧を次表に示します。 表7-2-1 16ビットタイマ制御レジスタ一覧表 レジスタ略称 TM7BCL タイマ7 タイマ8 アドレス X'03F70' R/W R レジスタ名称 タイマ7バイナリカウンタ(下位8ビット) 参照ページ VII - 8 TM7BCH X'03F71' R タイマ7バイナリカウンタ(上位8ビット) VII - 8 TM7OC1L X'03F72' R タイマ7コンペアレジスタ1(下位8ビット) VII - 6 TM7OC1H X'03F73' R タイマ7コンペアレジスタ1(上位8ビット) VII - 6 TM7PR1L X'03F74' R/W タイマ7プリセットレジスタ1(下位8ビット) VII - 7 TM7PR1H X'03F75' R/W タイマ7プリセットレジスタ1(上位8ビット) VII - 7 TM7ICL X'03F76' R タイマ7キャプチャレジスタ(下位8ビット) VII - 9 TM7ICH X'03F77' R タイマ7キャプチャレジスタ(上位8ビット) VII - 9 TM7MD1 X'03F78' R/W タイマ7モードレジスタ1 VII - 10 TM7MD2 X'03F79' R/W タイマ7モードレジスタ2 VII - 11 TM7OC2L X'03F7A' R タイマ7コンペアレジスタ2(下位8ビット) VII - 6 TM7OC2H X'03F7B' R タイマ7コンペアレジスタ2(上位8ビット) VII - 6 TM7PR2L X'03F7C' R/W タイマ7プリセットレジスタ2(下位8ビット) VII - 7 TM7PR2H X'03F7D' R/W タイマ7プリセットレジスタ2(上位8ビット) VII - 7 TM7ICR X'03FF1' R/W タイマ7割込み制御レジスタ III - 27 T7OC2ICR X'03FF2' R/W タイマ7コンペアレジスタ2一致割込み制御レジスタ III - 28 P1OMD X'03F2F' R/W ポート1出力モードレジスタ IV - 14 P1DIR X'03F31' R/W ポート1方向制御レジスタ IV - 13 TM8BCL X'03F80' R タイマ8バイナリカウンタ(下位8ビット) VII - 8 TM8BCH X'03F81' R タイマ8バイナリカウンタ(上位8ビット) VII - 8 TM8OC1L X'03F82' R タイマ8コンペアレジスタ1(下位8ビット) VII - 6 TM8OC1H X'03F83' R タイマ8コンペアレジスタ1(上位8ビット) VII - 6 TM8PR1L X'03F84' R/W タイマ8プリセットレジスタ1(下位8ビット) VII - 7 TM8PR1H X'03F85' R/W タイマ8プリセットレジスタ1(上位8ビット) VII - 7 TM8ICL X'03F86' R タイマ8キャプチャレジスタ1(下位8ビット) VII - 9 TM8ICH X'03F87' R タイマ8キャプチャレジスタ1(上位8ビット) VII - 9 TM8MD1 X'03F88' R/W タイマ8モードレジスタ1 VII - 12 TM8MD2 X'03F89' R/W タイマ8モードレジスタ2 VII - 13 TM8ICR X'03FF3' R/W タイマ8割込み制御レジスタ III - 29 P1OMD X'03F2F' R/W ポート1出力モードレジスタ IV - 14 P1DIR X'03F31' R/W ポート1方向制御レジスタ IV - 13 R/W: 読み出し/書き込み共に可能です R : 読み出し専用レジスタです 16ビットタイマ制御レジスタ VII - 5 第7章 16ビットタイマ機能 7-2-2 プログラマブルタイマレジスタ 7-2-2 プログラマブルタイマレジスタ タイマ7、タイマ8は、それぞれ16ビットのプログラマブルタイマレジスタをもっています。プログラ マブルタイマレジスタは、コンペアレジスタ、プリセットレジスタ、バイナリカウンタ、キャプチャ レジスタにより構成されます。それぞれのレジスタは、8ビットのレジスタが2本で構成されているの で、16ビットアクセスで操作してください。 コンペアレジスタは、バイナリカウンタとの比較値を入れる16ビットのレジスタです。あらかじめプ リセットレジスタに書き込んだ比較値がロードされます。 ■タイマ7コンペアレジスタ1(TM7OC1) 7 TM7OC1L 6 5 4 3 2 1 0 TM7OC1L7 TM7OC1L6 TM7OC1L5 TM7OC1L4 TM7OC1L3 TM7OC1L2 TM7OC1L1 TM7OC1L0 (リセット時:X X X X X X X X ) 図7-2-1 タイマ7コンペアレジスタ1下位8ビット(TM7OC1L:X'03F72'、R) 7 TM7OC1H 6 5 4 3 2 1 0 TM7OC1H7 TM7OC1H6 TM7OC1H5 TM7OC1H4 TM7OC1H3 TM7OC1H2 TM7OC1H1 TM7OC1H0 (リセット時:X X X X X X X X ) 図7-2-2 タイマ7コンペアレジスタ1上位8ビット(TM7OC1H:X'03F73'、R) ■タイマ7コンペアレジスタ2(TM7OC2) 7 TM7OC2L 6 5 4 3 2 1 0 TM7OC2L7 TM7OC2L6 TM7OC2L5 TM7OC2L4 TM7OC2L3 TM7OC2L2 TM7OC2L1 TM7OC2L0 (リセット時:X X X X X X X X ) 図7-2-3 タイマ7コンペアレジスタ2下位8ビット(TM7OC2L:X'03F7A'、R) 7 TM7OC2H 6 5 4 3 2 1 0 TM7OC2H7 TM7OC2H6 TM7OC2H5 TM7OC2H4 TM7OC2H3 TM7OC2H2 TM7OC2H1 TM7OC2H0 (リセット時:X X X X X X X X ) 図7-2-4 タイマ7コンペアレジスタ2上位8ビット(TM7OC2H:X'03F7B'、R) ■タイマ8コンペアレジスタ1(TM8OC1) 7 TM8OC1L 6 5 4 3 2 1 0 TM8OC1L7 TM8OC1L6 TM8OC1L5 TM8OC1L4 TM8OC1L3 TM8OC1L2 TM8OC1L1 TM8OC1L0 (リセット時: x x x x x x x x ) 図7-2-5 タイマ8コンペアレジスタ1下位8ビット(TM8OC1L:X'03F82'、R) 7 TM8OC1H 6 5 4 3 2 1 0 TM8OC1H7 TM8OC1H6 TM8OC1H5 TM8OC1H4 TM8OC1H3 TM8OC1H2 TM8OC1H1 TM8OC1H0 (リセット時: x x x x x x x x ) 図7-2-6 タイマ8コンペアレジスタ1上位8ビット(TM8OC1H:X'03F83'、R) VII - 6 16ビットタイマ制御レジスタ 第7章 16ビットタイマ機能 タイマ7プリセットレジスタ1,2は、タイマ7コンペアレジスタ1,2のバッファレジスタです。カウント 動作停止中に、タイマ7プリセットレジスタ1,2に設定値を書き込むと、タイマ7コンペアレジスタ1,2 にも同じ設定値がロードされます。また、カウント動作中に、タイマ7プリセットレジスタ1,2に設定 値を書き込むと、タイマ7バイナリカウンタのクリアのタイミングで、タイマ7プリセットレジスタ1,2 の設定値がタイマ7コンペアレジスタ1,2にロードされます。 ■タイマ7プリセットレジスタ1(TM7PR1) 7 TM7PR1L 6 5 4 3 2 1 0 (リセット時:X X X X X X X X ) TM7PR1L7 TM7PR1L6 TM7PR1L5 TM7PR1L4 TM7PR1L3 TM7PR1L2 TM7PR1L1 TM7PR1L0 図7-2-7 タイマ7プリセットレジスタ1下位8ビット(TM7PR1L:X'03F74'、R/W) 7 TM7PR1H 6 5 4 3 2 1 0 (リセット時:X X X X X X X X ) TM7PR1H7 TM7PR1H6 TM7PR1H5 TM7PR1H4 TM7PR1H3 TM7PR1H2 TM7PR1H1 TM7PR1H0 図7-2-8 タイマ7プリセットレジスタ1上位8ビット(TM7PR1H:X'03F75'、R/W) ■タイマ7プリセットレジスタ2(TM7PR2) 7 TM7PR2L 6 5 4 3 2 1 0 (リセット時:X X X X X X X X ) TM7PR2L7 TM7PR2L6 TM7PR2L5 TM7PR2L4 TM7PR2L3 TM7PR2L2 TM7PR2L1 TM7PR2L0 図7-2-9 タイマ7プリセットレジスタ2下位8ビット(TM7PR2L:X'03F7C'、R/W) 7 TM7PR2H 6 5 4 3 2 1 0 (リセット時:X X X X X X X X ) TM7PR2H7 TM7PR2H6 TM7PR2H5 TM7PR2H4 TM7PR2H3 TM7PR2H2 TM7PR2H1 TM7PR2H0 図7-2-10 タイマ7プリセットレジスタ2上位8ビット(TM7PR2H:X'03F7D'、R/W) ■タイマ8プリセットレジスタ1(TM8PR1) 7 TM8PR1L 6 5 4 3 2 1 0 TM8PR1L7 TM8PR1L6 TM8PR1L5 TM8PR1L4 TM8PR1L3 TM8PR1L2 TM8PR1L1 TM8PR1L0 (リセット時: x x x x x x x x ) 図7-2-11 タイマ8プリセットレジスタ1下位8ビット(TM8PR1L:X'03F84'、R/W) 7 TM8PR1H 6 5 4 3 2 1 0 TM8PR1H7 TM8PR1H6 TM8PR1H5 TM8PR1H4 TM8PR1H3 TM8PR1H2 TM8PR1H1 TM8PR1H0 (リセット時: x x x x x x x x ) 図7-2-12 タイマ8プリセットレジスタ1上位8ビット(TM8PR1H:X'03F85'、R/W) 16ビットタイマ制御レジスタ VII - 7 第7章 16ビットタイマ機能 バイナリカウンタは、16ビットのアップカウンタです。カウント動作停止中にプリセットレジスタに 書き込み処理を行うとバイナリカウンタは、X'0000'にクリアされます。 ■タイマ7バイナリカウンタ(TM7BC) 7 TM7BCL 6 5 4 3 2 1 0 TM7BCL7 TM7BCL6 TM7BCL5 TM7BCL4 TM7BCL3 TM7BCL2 TM7BCL1 TM7BCL0 (リセット時:X X X X X X X X ) 図7-2-13 タイマ7バイナリカウンタ下位8ビット(TM7BCL:X'03F70'、R) 7 TM7BCH 6 5 4 3 2 1 0 TM7BCH7 TM7BCH6 TM7BCH5 TM7BCH4 TM7BCH3 TM7BCH2 TM7BCH1 TM7BCH0 (リセット時:X X X X X X X X ) 図7-2-14 タイマ7バイナリカウンタ上位8ビット(TM7BCH:X'03F71'、R) ■タイマ8バイナリカウンタ(TM8BC) 7 TM8BCL 6 5 4 3 2 1 0 TM8BCL7 TM8BCL6 TM8BCL5 TM8BCL4 TM8BCL3 TM8BCL2 TM8BCL1 TM8BCL0 (リセット時: x x x x x x x x ) 図7-2-15 タイマ8バイナリカウンタ下位8ビット(TM8BCL:X'03F80'、R) 7 TM8BCH 6 5 4 3 2 1 0 TM8BCH7 TM8BCH6 TM8BCH5 TM8BCH4 TM8BCH3 TM8BCH2 TM8BCH1 TM8BCH0 (リセット時: x x x x x x x x ) 図7-2-16 タイマ8バイナリカウンタ上位8ビット(TM8BCH:X'03F81'、R) VII - 8 16ビットタイマ制御レジスタ 第7章 16ビットタイマ機能 インプットキャプチャレジスタは、キャプチャトリガによりバイナリカウンタからロードした値を保 持するレジスタです。キャプチャトリガは、外部割込み端子からの入力信号および、インプットキャ プチャレジスタへの任意の値の書き込みにより発生します。(プログラムにより直接レジスタへの書き 込みはできません。) ■タイマ7インプットキャプチャレジスタ(TM7IC) 7 TM7ICL 6 5 4 3 2 1 0 TM7ICL7 TM7ICL6 TM7ICL5 TM7ICL4 TM7ICL3 TM7ICL2 TM7ICL1 TM7ICL0 (リセット時:X X X X X X X X ) 図7-2-17 タイマ7インプットキャプチャレジスタ下位8ビット(TM7ICL:X'03F76'、R) 7 TM7ICH 6 5 4 3 2 1 0 TM7ICH7 TM7ICH6 TM7ICH5 TM7ICH4 TM7ICH3 TM7ICH2 TM7ICH1 TM7ICH0 (リセット時:X X X X X X X X ) 図7-2-18 タイマ7インプットキャプチャレジスタ上位8ビット(TM7ICH:X'03F77'、R) ■タイマ8インプットキャプチャレジスタ(TM8IC) 7 TM8ICL 6 5 4 3 2 1 0 TM8ICL7 TM8ICL6 TM8ICL5 TM8ICL4 TM8ICL3 TM8ICL2 TM8ICL1 TM8ICL0 (リセット時: x x x x x x x x ) 図7-2-19 タイマ8インプットキャプチャレジスタ下位8ビット(TM8ICL:X'03F86'、R) 7 TM8ICH 6 5 4 3 2 1 0 TM8ICH7 TM8ICH6 TM8ICH5 TM8ICH4 TM8ICH3 TM8ICH2 TM8ICH1 TM8ICH0 (リセット時: x x x x x x x x ) 図7-2-20 タイマ8インプットキャプチャレジスタ上位8ビット(TM8ICH:X'03F87'、R) 16ビットタイマ制御レジスタ VII - 9 第7章 16ビットタイマ機能 7-2-3 タイマモードレジスタ 7-2-3 タイマモードレジスタ タイマ7を制御する、読み出し/書き込み可能なレジスタです。 ■タイマ7モードレジスタ1(TM7MD1) 7 TM7MD1 6 5 4 3 2 1 0 (リセット時: 0 0 1 0 0 0 0 0 ) RESERVED RESERVED TM7CL TM7EN TM7PS1 TM7PS0 TM7CK1 TM7CK0 TM7CK1 TM7CK0 0 1 TM7PS1 0 fosc 1 fs 0 TM7IO入力 1 同期化TM7IO入力 TM7PS0 0 0 1 TM7EN クロックソース選択 カウントクロック選択 1/1クロック選択 1 1/2クロック選択 0 1/4クロック選択 1 1/16クロック選択 タイマ7カウント制御 0 カウント停止 1 カウント動作 TM7CL タイマ出力リセット制御 0 タイマ出力動作 1 タイマ出力禁止(リセット) RESERVED 必ず0に設定してください 図7-2-21 タイマ7モードレジスタ1(TM7MD1:X'03F78'、R/W) VII - 10 16ビットタイマ制御レジスタ 第7章 16ビットタイマ機能 ■タイマ7モードレジスタ2(TM7MD2) 7 TM7MD2 6 5 4 3 2 1 0 (リセット時: 0 0 0 0 0 0 0 0 ) T7ICEDG T7PWMSL TM7BCR TM7PWM TM7IRS1 T7ICEN T7ICT1 T7ICT0 T7ICT1 T7ICT0 キャプチャトリガ選択 0 IRQ0(外部割込み0) 1 IRQ1(外部割込み1) 0 IRQ2(外部割込み2) 1 IRQ3(外部割込み3) 0 1 T7ICEN インプットキャプチャ動作 許可フラグ 0 キャプチャ動作禁止 1 キャプチャ動作許可 TM7IRS1 タイマ7割込み要因選択 0 カウンタクリア 1 BCとOC1の一致 TM7PWM タイマ出力波形選択 0 タイマ出力 1 PWM出力 TM7BCR タイマ7カウンタクリア要因選択 0 フルカウントOVF 1 BCとOC1の一致 T7PWMSL PWMモード選択 0 OC1でデューティ設定 1 OC2でデューティ設定 T7ICEDG キャプチャトリガエッジ選択 0 両エッジ選択 1 指定エッジ選択 図7-2-22 タイマ7モードレジスタ2(TM7MD2:X'03F79'、R/W) 16ビットタイマ制御レジスタ VII - 11 第7章 16ビットタイマ機能 ■タイマ8モードレジスタ1(TM8MD1) 7 TM8MD1 6 5 4 3 2 1 0 (リセット時: 0 0 1 0 0 0 0 0 ) RESERVED RESERVED TM8CL TM8EN TM8PS1 TM8PS0 TM8CK1 TM8CK0 TM8CK1 TM8CK0 0 1 0 fosc 1 fs 0 TM8IO入力 1 同期化TM8IO入力 TM8PS1 TM8PS0 0 0 1 クロックソース選択 カウントクロック選択 1/1クロック選択 1 1/2クロック選択 0 1/4クロック選択 1 1/16クロック選択 TM8EN タイマ8カウント制御 0 カウント停止 1 カウント動作 TM8CL タイマ出力リセット制御 0 タイマ出力動作 1 リセット RESERVED 必ず0に設定してください 図7-2-23 タイマ8モードレジスタ1(TM8MD1:X'03F88'、R/W) VII - 12 16ビットタイマ制御レジスタ 第7章 16ビットタイマ機能 ■タイマ8モードレジスタ2(TM8MD2) 7 TM8MD2 6 5 4 3 2 1 0 (リセット時: 0 0 0 0 0 0 0 0 ) T8ICEDG RESERVED TM8BCR TM8PWM TM8IRS1 T8ICEN T8ICT1 T8ICT0 T8ICT1 T8CT0 キャプチャトリガ選択 0 IRQ0(外部割込み0) 1 IRQ1(外部割込み1) 0 1 0 IRQ2(外部割込み2) 1 IRQ3(外部割込み3) インプットキャプチャ動作 許可フラグ T8ICEN 0 キャプチャ動作禁止 1 キャプチャ動作許可 TM8IRS1 タイマ8割込み要因選択 0 カウンタクリア 1 BCとOC1の一致 TM8PWM タイマ出力波形選択 0 タイマ出力 1 PWM出力 TM8BCR タイマ8カウンタクリア要因選択 0 フルカウントOVF 1 BCとOC1の一致 必ず0に設定してください RESERVED T8ICEDG キャプチャトリガエッジ選択 0 両エッジ選択 1 指定エッジ選択 図7-2-24 タイマ8モードレジスタ2(TM8MD2:X'03F89'、R/W) 16ビットタイマ制御レジスタ VII - 13 第7章 16ビットタイマ機能 7-3 16 ビットタイマ動作 7-3 16ビットタイマ動作 7-3-1 16 ビットタイマの動作 7-3-1 16ビットタイマの動作 タイマ動作は、一定時間ごとに繰り返し割込みを発生させることのできる機能です。 ■16ビットタイマ動作 (タイマ7, タイマ8) タイマ割込みの発生周期は、クロックソースの選択および、コンペアレジスタ1(TMnOC1)の設定値によ りあらかじめ設定します。バイナリカウンタ(TMnBC)がコンペアレジスタ1の設定値と一致すると、次 のカウントクロックで割込み要求が発生します。バイナリカウンタのクリアは、TMnOC1コンペア一致 またはフルカウントオーバフローのふたつの要因から選択することができます。バイナリカウンタの クリア後は、再度X'0000'からカウントアップを始めます。 表7-3-1 16ビットタイマ割込み発生要因とバイナリカウンタクリア要因(タイマ7, タイマ8) TMnMD2レジスタ 割込み発生要因 バイナリカウンタのクリア要因 1 TMnOC1コンペア一致 TMnOC1コンペア一致 0 1 TMnOC1コンペア一致 TMnOC1コンペア一致 1 0 TMnOC1コンペア一致 フルカウントオーバフロー 0 0 フルカウントオーバフロー フルカウントオーバフロー TMnIRS1フラグ TMnBCRフラグ 1 タイマ7は、タイマ7コンペアレジスタ2(TM7OC2)の設定値により、もう一本の独立した割込み(タイマ 7コンペアレジスタ2一致割込み)を発生させることができます。このときも、バイナリカウンタは上記 の設定どおりクリアされます。 コンペアレジスタはダブルバッファの構成をとっているので、タイマのカウント動作中にプリセット レジスタの値を変更した場合、バイナリカウンタのクリアのタイミングで変更値がコンペアレジスタ に再設定されます。この機能により、タイマが動作中であっても周期を乱すことなく、連続的にコン ペア値を設定変更することができます(リロード機能)。 16ビットタイマのバイナリカウンタ(TM7BC)を読み出す場合、16ビットアクセスのMOVW命令 であっても、LSI内部では8ビット単位のデータとして扱われます。そのため、カウント動作 中に下位8ビットから上位8ビットへキャリーが発生すると、正確な数値を読み出すことがで きません。 16ビットのカウント値(TM7BC)を正確に読み出す必要がある場合には、インプットキャプチャ レジスタ(TM7IC)へのソフト書き込み機能を利用してください。TM7ICへの書き込み動作によ り、TM7BCのカウント値をTM7ICに取り込むことができ、動作中のカウント値を正確に読み出 せます。 【 7-9-1 16ビットタイマキャプチャ機能の動作 [p. VII-38] 】 VII - 14 16ビットタイマ動作 第7章 16ビットタイマ機能 クロックソースは、以下の通り選ぶことができます。 表7-3-2 タイマ動作時のクロックソース(タイマ7, タイマ8) クロックソース 1カウント時間 fosc 50 ns fosc/2 100 ns fosc/4 200 ns fosc/16 800 ns fs 100 ns fs/2 200 ns fs/4 400 ns fs/16 1.6 µs fosc=20 MHz fs= fosc/2=10 MHz として算出 ■タイマ動作のカウントタイミング(タイマ7, タイマ8) 選択したクロックソースをカウントクロックとしてバイナリカウンタがカウントアップします。 以下の動作が16ビットタイマの全機能の基本動作となります。 カウント クロック TMnEN フラグ プリセット レジスタ N M (C) (A) コンペア レジスタ N M (A) バイナリ カウンタ (D) 0000 (A) 0001 0002 N-1 N 0000 0001 0002 (B) 0003 (E) 割込み要求 フラグ 図7-3-1 タイマ動作のカウントタイミング(タイマ7, タイマ8) (A) TMnENフラグが停止状態("0")の時にプリセットレジスタに値を書き込むと、その書き込みサイ クルでコンペアレジスタにも同じ値がロードされ、バイナリカウンタは X'0000' にクリアされ ます。 (B) TMnENフラグを動作状態("1")にするとバイナリカウンタのカウントを開始します。 カウントはカウントクロックの立ち下がりで行われます。 16ビットタイマ動作 VII - 15 第7章 16ビットタイマ機能 (C) TMnENフラグが動作状態("1")の時にプリセットレジスタを書き換えてもバイナリカウンタは変 化しません。 (D) バイナリカウンタとコンペアレジスタ1の値が一致すると、次のカウントクロックでプリセット レジスタの設定値が再びコンペアレジスタにロードされます。また、割込み要求フラグがセッ トされ、バイナリカウンタは X'0000' にクリアされ、再度カウントアップを開始します。 (E) TMnENフラグを停止状態("0")にするとバイナリカウンタは、動作を停止します。 バイナリカウンタとコンペアレジスタの値が一致すると、次のカウントクロックで割込み要 求フラグのセットおよび、バイナリカウンタがクリアされるので、 (コンペアレジスタの設定値)=(割込み要求発生までのカウント回数−1) としてください。 タイマ7コンペアレジスタ2一致割込みを使用する場合、バイナリカウンタのクリア要因に TM7OC1コンペア一致を選択するときは、コンペアレジスタ2の設定値をコンペアレジスタ1の 設定値より小さな値にしてください。 割込みで処理する場合は、タイマを動作させる前にタイマ割込み要求フラグをクリアしてく ださい。 TM7OC=x'0000'設定時のタイマn割込み要求発生は、x'0001'設定時と同じ波形になります。 MEMCTRレジスタのIOW1、IOW0フラグにより、特殊レジスタ領域アクセス時に2ウェイト以上 の設定を使用している場合、タイマ停止時のプリセットレジスタの設定は、同じ値を2回書 き込んで下さい。ノーウェイト、1ウェイト設定時にはこうした対策は不要です。 (16ビットタイマ全機能に共通です) 【 第2章 2-3-2 制御レジスタ】 VII - 16 16ビットタイマ動作 第7章 16ビットタイマ機能 7-3-2 16 ビットタイマ動作の設定例 7-3-2 16ビットタイマ動作の設定例 ■タイマ動作の設定例(タイマ7, タイマ8) タイマ7を用いて一定時間毎に割込みを発生させ、時計機能を実現します。クロックソースをfosc/2 (fosc=20 MHz動作時)を選択して1000分周(100 µs)毎に割込みを発生します。 以下に、設定手順とその内容を示します。 設定手順 (1) カウンタの停止確認 TM7MD1 (x'3F78') bp4 : TM7EN 内容 = 0 (1) タイマ7モードレジスタ1(TM7MD1)のTM7EN フラグを"0"にしてタイマ7をカウント停止 状態にします。 (2) タイマクリア条件の選択 TM7MD2 (x'3F79') bp5 : TM7BCR = 1 (2) タイマ7モードレジスタ2(TM7MD2)の (3) カウントクロックソースの選択 TM7MD1 (x'3F78') bp1-0 : TM7CK1-0 = 00 bp3-2 : TM7PS1-0 = 01 (3) TM7MD1レジスタのTM7CK1-0フラグにより クロックソースにfoscを選択します。さらに、 TM7PS1-0フラグにより、カウントクロック ソースにfoscの1/2分周を選択します。 TM7BCRフラグを"1"にして、バイナリカウンタ のクリア要因にコンペア一致を選択します。 (4) タイマ7プリセットレジスタ1(TM7PR1)に割込 (4) 割込み発生周期の設定 TM7PR1 (x'3F75',x'3F74') = x'03E7' み発生周期の値を設定します。 1000分周なので設定値は、1000−1=999 (x'03E7')にします。 このときタイマ7コンペアレジスタ1(TM7OC1) に同じ値がロードされ、タイマ7バイナリカウ ンタ(TM7BC)がx'0000'に初期化されます。 (5) 割込みレベルの設定 TM7ICR (x'3FF1') bp7-6 : TM7LV1-0 = 10 (5) タイマ7割込み制御レジスタ(TM7ICR)の TM7LV1-0フラグにより割込みレベルを設定し ます。 割込み要求フラグが既にセットされている可能 性があるときは、要求フラグをクリアしてくだ さい。 【 第3章 3-1-4 割込みフラグの設定】 (6) 割込みの許可 TM7ICR (x'3FF1') bp1 : TM7IE (6) TM7ICRレジスタのTM7IEフラグを"1"にして 割込みを許可します。 = 1 16ビットタイマ動作 VII - 17 第7章 16ビットタイマ機能 設定手順 (7) タイマの動作開始 TM7MD1 (x'3F78') bp4 : TM7EN 内容 (7) TM7MD1レジスタのTM7ENフラグを"1"にして タイマ7を動作させます。 = 1 TM7BCがX'0000'からカウントアップします。TM7BCがTM7OC1レジスタの設定値と一致すると、次のカ ウントクロックでタイマ7割込み要求フラグがセットされ、TM7BCの値は X'0000' になり再度カウ ントアップを開始します。 TM7MDレジスタのTM7ENフラグを他のビットと同時に変化させた場合、バイナリカウンタが切 り換え動作によりカウントアップすることがあります。 VII - 18 16ビットタイマ動作 第7章 16ビットタイマ機能 7-4 16 ビットイベントカウント動作 7-4 16ビットイベントカウント動作 7-4-1 16 ビットイベントカウントの動作 7-4-1 16ビットイベントカウントの動作 イベントカウント動作は、クロックソースの選択によりTMnIO入力と同期化TMnIO入力の2種類があり、 それぞれを1/1(分周なし)、1/2、1/4、1/16分周したものをカウントクロックソースとしてイベントカ ウントすることができます。 ■16ビットイベントカウントの動作(タイマ7, タイマ8) イベントカウントの動作は、TMnIO端子に入力される外部からの信号をバイナリカウンタ(TMnBC)でカ ウントするものです。バイナリカウンタの値がコンペアレジスタ(TMnOC)にあらかじめ設定した値と一 致すると、次のカウントクロックで割込みを発生させることができます。 表7-4-1 イベントカウント入力クロックソース イベント入力 タイマ7 タイマ8 TM7IO入力 (P14) TM8IO入力 (P15) 同期化TM7IO入力 実際のカウントクロック として、それぞれを1/1、 1/2、1/4、1/16 分周した 信号を選択できます。 同期化TM8IO入力 ■TMnIO入力のカウントタイミング(タイマ7, タイマ8) TMnIO入力を選択すると、タイマnのカウントクロックにはTMnIO入力信号が入力されます。TMnIO入力 信号または、分周回路通過後のTMnIO入力信号の立ち下がりのタイミングでバイナリカウンタがカウン トアップします。 TMnIO 入力 TMnEN フラグ コンペア レジスタ1 バイナリ カウンタ N 0000 0001 0002 N-1 N 0000 0001 割込み要求 フラグ 図7-4-1 TMnIO入力のカウントタイミング(タイマ7, タイマ8) 動作中にタイマnバイナリカウンタの値を読み出すとカウントアップの瞬間の不完全な値を 読み出すことがあります。これを防ぐには、次ページの同期化TMnIO入力によるイベントカ ウントを使用してください。 16ビットイベントカウント動作 VII - 19 第7章 16ビットタイマ機能 ■同期化TMnIO入力のカウントタイミング(タイマ7, タイマ8) 同期化TMnIO入力を選択すると、タイマnのカウントクロックには同期回路出力信号が入力されます。 同期回路出力信号は、TMnIO入力信号が変化した後のシステムクロックの立ち下がりタイミングに同期 して変化します。同期回路出力信号、または分周回路通過後の同期回路出力信号の立ち下がりのタイ ミングでバイナリカウンタがカウントアップします。 TMnIO 入力 システム クロック(fs) 同期回路出力 (カウントクロック) TMnEN フラグ コンペア レジスタ1 バイナリ カウンタ N M 0000 0001 0002 N-1 N 0000 割込み要求 フラグ 図7-4-2 同期化TMnIO入力のカウントタイミング(タイマ7, タイマ8) タイマnはシステムクロックに同期した信号でタイマnバイナリカウンタをカウントアップし ますので、タイマnバイナリカウンタを読み出した時は、常に正しい値を読み出せます。 同期化TMnIO入力ではSTOP/HALTモードからの復帰動作はできません。 VII - 20 16ビットイベントカウント動作 第7章 16ビットタイマ機能 7-4-2 16 ビットイベントカウントの設定例 7-4-2 16ビットイベントカウントの設定例 ■イベントカウントの設定例(タイマ7, タイマ8) タイマ7を用いてTM7IO入力端子の信号の立ち下がりエッジを5回検出すると割込みを発生させます。 以下に、設定手順とその内容を示します。 設定手順 (1) カウンタの停止確認 TM7MD1 (x'3F78') bp4 : TM7EN 内容 = 0 (2) 特殊機能端子の入力の設定 P1DIR (x'3F31') bp4 : P1DIR4 = 0 (1) タイマ7モードレジスタ1(TM7MD1)のTM7EN フラグを"0"にしてタイマ7をカウント停止状態 にします。 (2) ポート1方向制御レジスタ(P1DIR)のP1DIR4 フラグを"0"にして、P14端子を入力モードに 設定します。 必要に応じて、プルアップ抵抗を付加してくだ さい。 【 第4章 ポート機能】 (3) タイマクリア条件の選択 TM7MD2 (x'3F79') bp5 : TM7BCR = 1 (3) タイマ7モードレジスタ2(TM7MD2)のTM7BCR フラグを"1"にして、バイナリカウンタのクリア 要因にコンペア一致を選択します。 (4) カウントクロックソースの選択 TM7MD1 (x'3F78') bp1-0 : TM7CK1-0 = 10 bp3-2 : TM7PS1-0 = 00 (4) TM7MD1レジスタのTM7CK1-0フラグにより クロックソースにTM7IO入力を選択します。 さらに、TM7PS1-0フラグにより、カウントク ロックソースに1/1分周(分周なし)を選択しま す。 (5) タイマ7プリセットレジスタ1(TM7PR1)に割込 (5) 割込み発生周期の設定 み発生周期の値を設定します。 TM7PR1 (x'3F75',x'3F74') = x'0004' 5回カウントするので設定値は4にします。 このとき、タイマ7コンペアレジスタ1 (TM7OC1)に同じ値がロードされ、タイマ7バイ ナリカウンタ(TM7BC)がx'0000'に初期化されま す。 16ビットイベントカウント動作 VII - 21 第7章 16ビットタイマ機能 設定手順 内容 (6) 割込みレベルの設定 TM7ICR (x'3FF1') bp7-6 : TM7LV1-0 = 10 (7) 割込みの許可 TM7ICR (x'3FF1') bp1 : TM7IE (6) タイマ7割込み制御レジスタ(TM7ICR)の TM7LV1-0フラグにより割込みレベルを 設定します。 割込み要求フラグが既にセットされている可能 性があるときは、要求フラグをクリアしてくだ さい。 【 第3章 3-1-4 割込みフラグの設定】 (7) TM7ICRレジスタのTM7IEフラグを"1"にして 割込みを許可します。 = 1 (8) イベントカウントの開始 TM7MD1 (x'3F78') bp4 : TM7EN = 1 (8) TM7MD1レジスタのTM7ENフラグを"1"にして タイマ7を動作させます。 TM7BCがX'0000'から、TM7IO入力の立ち下がりエッジを検出するたびにカウントアップします。 TM7BCがTM7OC1レジスタの設定値と一致すると、次のカウントクロックでタイマ7割込み要求フラグ がセットされ、TM7BCの値はX'0000'になり、再度カウントアップを開始します。 VII - 22 16ビットイベントカウント動作 第7章 16ビットタイマ機能 7-5 16 ビットタイマパルス出力動作 7-5 16ビットタイマパルス出力動作 7-5-1 16 ビットタイマパルス出力の動作 7-5-1 16ビットタイマパルス出力の動作 タイマパルス出力機能は、任意の周波数のパルス信号をTMnIO端子より出力することができます。 ■16ビットタイマパルス出力の動作(タイマ7, タイマ8) コンペアレジスタ1(TMnOC1)に設定した値の2倍の周期の信号、または16ビットフルカウントの2倍の周 期の信号を出力することができます。出力される端子を次表に示します。 表7-5-1 タイマパルス出力端子 パルス出力端子 タイマ7 タイマ8 TM7IO出力 (P14) TM8IO出力 (P15) タイマ割込み発生要因とタイマパルス出力の周期を制御するフラグについて次表に示します。 表7-5-2 16ビットタイマ割込み発生要因とタイマパルス出力の周期(タイマ7, タイマ8) TMnMD2レジスタ 割込み発生要因 タイマパルス出力の周期 1 TMnOC1コンペア一致 TMnOC1の設定値の2倍 0 1 TMnOC1コンペア一致 TMnOC1の設定値の2倍 1 0 TMnOC1コンペア一致 TMnBCフルカウントの2倍 0 0 フルカウントオーバフロー TMnBCフルカウントの2倍 TMnIRS1フラグ TMnBCRフラグ 1 16ビットタイマパルス出力動作VII - 23 第7章 16ビットタイマ機能 ■コンペア一致によるタイマパルス出力のカウントタイミング(タイマ7, タイマ8) カウント クロック TMnEN フラグ コンペア レジスタ1 バイナリ カウンタ N 0000 0001 N-1 N 0000 0001 N-1 N 0000 0001 N-1 N 0000 割込み要求 フラグ TMnIO出力 図7-5-1 タイマパルス出力のカウントタイミング(タイマ7, タイマ8) コンペアレジスタ1に設定した値の2倍の周期の信号がTMnIO出力端子から出力されます。コンペア一 致、またはフルカウントオーバフローにより、バイナリカウンタが x'0000' にクリアされると、 TMnIO出力(タイマ出力)が反転します。タイマ出力の極性反転は、カウントクロックの立ち上がり エッジに同期して変化します。これは、出力周期を正確にするために、マイコン内部で波形成型を しているためです。 リセット解除後の初期状態では、タイマパルス出力はリセットがかかり、"L"固定出力となっ ています。したがって、TMnMD1レジスタのTMnCLフラグを"0"にしてタイマパルス出力のリ セットを解除してください。 VII - 2416ビットタイマパルス出力動作 第7章 16ビットタイマ機能 7-5-2 16 ビットタイマパルス出力の設定例 7-5-2 16ビットタイマパルス出力の設定例 ■タイマパルス出力の設定例(タイマ7, タイマ8) タイマ7を用いてTM7IO出力端子より50 kHzのパルスを出力します。50 kHzのパルスを出力するには、 クロックソースにfoscを選択し、タイマ7コンペアレジスタに1/2の周期(100 kHz)の値を設定します。 foscは20 MHzで動作している状態とします。 以下に、設定手順とその内容を示します。 設定手順 (1) カウンタの停止確認 TM7MD1 (x'3F78') bp4 : TM7EN 内容 = 0 (2) 特殊機能端子の出力の設定 P1OMD (x'3F2F') bp4 : P1OMD4 = 1 P1DIR (x'3F31') bp4 : P1DIR4 = 1 (1) タイマ7モードレジスタ1(TM7MD1)のTM7EN フラグを"0"にしてタイマ7をカウント停止状態 にします。 (2) ポート1出力モードレジスタ(P1OMD)の P1OMD4フラグを"1"にして、P14端子を特殊機能 端子に設定します。 ポート1方向制御レジスタ(P1DIR)のP1DIR4 フラグを"1"にして出力モードに設定します。 必要に応じて、プルアップ抵抗を付加してくだ さい。 【 第4章 ポート機能】 (3) タイマパルス出力の設定 TM7MD2 (x'3F79') bp4 : TM7PWM = 0 (4) タイマクリア条件の選択 TM7MD2 (x'3F79') bp5 : TM7BCR = 1 (5) カウントクロックソースの選択 TM7MD1 (x'3F78') bp1-0 : TM7CK1-0 = 00 bp3-2 : TM7PS1-0 = 00 (3) タイマ7モードレジスタ2(TM7MD2)の TM7PWMフラグを"0"にして、タイマパルス出力 を選択します。 (4) TM7MD2レジスタのTM7BCRフラグを"1"にし て、バイナリカウンタのクリア要因にコンペア 一致を選択します。 (5) TM7MD1レジスタのTM7CK1-0フラグにより クロックソースにfoscを選択します。 さらに、TM7PS1-0フラグにより、カウントク ロックソースに1/1分周(分周なし)を選択しま す。 16ビットタイマパルス出力動作VII - 25 第7章 16ビットタイマ機能 設定手順 内容 (6) タイマパルス出力周期の設定 TM7PR1 (x'3F75',x'3F74') = x'00C7' (6) タイマ7プリセットレジスタ1(TM7PR1)にタイ マパルス出力周期の1/2の値を設定します。 20 MHzを分周して100 kHzにするために、設定 値は、200−1=199(x'C7)にします。 このとき、タイマ7コンペアレジスタ1 (TM7OC1)に同じ値がロードされ、タイマ7バ イナリカウンタ(TM7BC)がx'0000'に初期化さ れます。 (7) タイマパルス出力のリセット解除 TM7MD1 (x'3F78') bp5 : TM7CL = 0 (7) TM7MD1レジスタのTM7CLフラグを"0"にして タイマパルス出力を許可します。 (8) タイマの動作開始 TM7MD1 (x'3F78') bp4 : TM7EN (8) TM7MD1レジスタのTM7ENフラグを"1"にして タイマ7を動作させます。 = 1 TM7BCが X'0000' からカウントアップします。TM7BCがTM7OC1レジスタの設定値と一致して、TM7BC が X'0000' にクリアされると、TM7IO出力の信号が反転し、TM7BCが再び X'0000' からカウント アップします。 TMnOC1=X'0000'設定時のタイマパルス出力は、X'0001'設定時と同じ波形になります。 バイナリカウンタの停止、動作時ともに、TMnMD2レジスタのTM7CLフラグを"1"にするとタイ マ出力は"L"になります。 VII - 2616ビットタイマパルス出力動作 第7章 16ビットタイマ機能 7-6 16 ビット標準 PWM 出力動作 7-6 16ビット標準 ビット標準PWM PWM出力動作 (デューティ のみ連続可変 ) (デューティのみ連続可変 のみ連続可変) 標準PWM出力は、タイマのバイナリカウンタとコンペアレジスタの設定値の一致タイミングおよび、バ イナリカウンタのオーバフロータイミングによりPWM基本成分を生成しTMnIO端子より出力します。 7-6-1 16 ビット標準 PWM 出力の動作 7-6-1 16ビット標準 ビット標準PWM PWM出力の動作 ■16ビット標準PWM出力の動作(タイマ7, タイマ8) コンペアレジスタ1(TMnOC1)にPWMの"H"期間のデューティを設定することで、任意のデューティのPWM 波形を生成します。周期は16ビットタイマのフルカウントオーバフローの時間となります。 PWM出力端子を次表に示します。 表7-6-1 PWM出力の出力端子 PWM出力端子 タイマ7 タイマ8 TM7IO出力端子 (P14) TM8IO出力端子 (P15) ■標準PWM出力のカウントタイミング( 通常時)(タイマ7, タイマ8) カウント クロック TMnEN フラグ コンペア レジスタ1 バイナリ カウンタ PWMソース 波形 N 0000 0001 (A) N-1 N (B) N+1 N+2 FFFE FFFF 0000 0001 N-1 N N+1 (C) TMnIO出力 (PWM出力) コンペアレジスタ1の設定時間 PWM基本成分(バイナリカウンタオーバフローの時間) 図7-6-1 標準PWM出力のカウントタイミング(通常時) PWMソース波形は、 (A) バイナリカウンタが X'0000' からコンペア一致するまでの期間、"H" となります。 (B) コンペア一致後、"L" となり、バイナリカウンタはオーバフローするまでカウントアップを 続けます。 (C) バイナリカウンタがオーバフローすると、再び "H" となります。 端子からのPWM 出力は、PWMソース波形を1カウントクロック遅らせて出力します。 これは、出力周期を正確にするために、マイコン内部で波形成型をしているためです。 16ビット標準PWM出力動作 VII - 27 第7章 16ビットタイマ機能 ■標準PWM出力のカウントタイミング(コンペアレジスタ1がX'0000'の時)(タイマ7, タイマ8) コンペアレジスタ1にX'0000'を設定した時のカウントタイミングを次に示します。 カウント クロック TMnEN フラグ コンペア レジスタ1 0000 バイナリ カウンタ 0000 0001 N-1 N N+1 N+2 FFFE FFFF 0000 0001 N-1 N N+1 H TMnIO出力 (PWM出力) L 図7-6-2 標準PWM出力のカウントタイミング(コンペアレジスタ1がX'0000'の時) TMnENフラグが停止状態("0"の時)は、PWM出力は"H"が出力されます。 ■標準PWM出力のカウントタイミング(コンペアレジスタ1がX'FFFF'の時)(タイマ7, タイマ8) コンペアレジスタ1にX'FFFF'を設定した時のカウントタイミングを次に示します。 カウント クロック TMnEN フラグ コンペア レジスタ1 バイナリ カウンタ FFFF 0000 0001 N-1 N N+1 N+2 FFFE FFFF 0000 0001 N-1 N N+1 TMnIO出力 (PWM出力) 図7-6-3 標準PWM出力のカウントタイミング(コンペアレジスタ1がX'FFFF'の時) 標準PWM出力をする場合は、TMnMD2レジスタのTMnBCRフラグを"0"にして、バイナリカウンタ のクリア要因、およびPWM出力のセット("H"出力)要因にフルカウントオーバフローを選択し てください。 TM7MD2レジスタのT7PWMSLフラグにより、PWM出力のリセット("L"出力)要因にTM7OC1コンペ ア一致もしくは、TM7OC2コンペア一致を選択できます。 VII - 28 16ビット標準PWM出力動作 第7章 16ビットタイマ機能 7-6-2 16 ビット標準 PWM 出力の設定例 7-6-2 16ビット標準 ビット標準PWM PWM出力の設定例 ■標準PWM出力の設定例(タイマ7, タイマ8) タイマ7を用いてTM7IO出力端子より305.18 Hzで1/4デューティのPWM出力波形を出力します。高速動作 用発振(fosc)は、20 MHzで発振しているものとします。バイナリカウンタのオーバフローの時間でPWM 出力波形の1周期の時間が決定します。コンペアレジスタ1の設定値でPWM出力波形の"H"の時間が決定 します。 以下に、設定手順とその内容を示します。 TM7IO出力 305.18 Hz 図7-6-4 TM7IO出力端子の出力波形 設定手順 (1) カウンタの停止確認 TM7MD1 (x'3F78') bp4 : TM7EN 内容 = 0 (2) 特殊機能端子の出力の設定 P1OMD (x'3F2F') bp4 : P1OMD4 = 1 P1DIR (x'3F31') bp4 : P1DIR4 = 1 (1) タイマ7モードレジスタ1(TM7MD1)のTM7EN フラグを"0"にしてタイマ7をカウント停止状態 にします。 (2) ポート1出力モードレジスタ(P1OMD)の P1OMD4フラグを"1"にして、P14端子を特殊 機能端子に設定します。 ポート1方向制御レジスタ(P1DIR)のP1DIR4 フラグを"1"にして出力モードに設定します。 必要に応じて、プルアップ抵抗を付加してくだ さい。 【 第4章 ポート機能】 (3) PWM出力の設定 TM7MD2 (x'3F79') bp4 : TM7PWM (4) 標準PWM出力動作の設定 TM7MD2 (x'3F79') bp5 : TM7BCR = 1 (3) タイマ7モードレジスタ2(TM7MD2)の TM7PWMフラグを"1"にしてPWM出力を選択 します。 = 0 (4) TM7MD2レジスタのTM7BCRフラグを"0"にし て、バイナリカウンタのクリア要因にフルカウ ントオーバフローを選択します。 16ビット標準PWM出力動作 VII - 29 第7章 16ビットタイマ機能 設定手順 内容 (5) カウントクロックソースの選択 TM7MD1 (x'3F78') bp1-0 : TM7CK1-0 = 00 bp3-2 : TM7PS1-0 = 00 (5) TM7MD1レジスタのTM7CK1-0フラグにより クロックソースにfoscを選択します。 さらに、TM7PS1-0フラグにより、カウントク ロックソースに1/1分周(分周なし)を選択しま す。 (6) PWM出力"H" 期間の設定 TM7PR1 (x'3F75',x'3F74') = x'4000' (6) タイマ7プリセットレジスタ1(TM7PR1)にPWM 出力の"H"期間の値を設定します。 フルカウント65536の1/4デューティにするため に、設定値は、65536÷4=16384(x'4000')に します。 このとき、タイマ7コンペアレジスタ1 (TM7OC1)に同じ値がロードされ、タイマ7バ イナリカウンタ(TM7BC)がx'0000'に初期化さ れます。 (7) タイマの動作開始 TM7MD1 (x'3F78') bp4 : TM7EN (7) TM7MD1レジスタのTM7ENフラグを"1"にして タイマ7を動作させます。 = 1 TM7BCが X'0000' からカウントアップします。PWMソース波形は、TM7BCがTM7OC1レジスタの設定値 と一致するまでは"H"を出力し、一致すると、"L"を出力します。その後、TM7BCはカウントアップを 続け、オーバフローすると、PWMソース波形は、再び"H"を出力し、TM7BCは再度 X'0000' からカウ ントアップします。TM7IO端子からの出力は、PWMソース波形を1カウントクロック遅らせたものが 出力されます。 PWM出力の初期設定での状態は、TMnMD2レジスタのTMnPWMフラグによりPWM動作を選択した時 点で"L"出力から"H"出力に変化します。 VII - 30 16ビット標準PWM出力動作 第7章 16ビットタイマ機能 7-7 16 ビット高精度 PWM 出力動作 7-7 16ビット高精度 ビット高精度PWM PWM出力動作 (周期 /デューティ 連続可変 ) 周期/デューティ /デューティ連続可変 連続可変) 高精度PWM出力は、タイマのバイナリカウンタとコンペアレジスタ1の設定値の一致タイミングおよび、 バイナリカウンタとコンペアレジスタ2の一致タイミングによりPWM基本成分を生成しTM7IO端子より出 力します。 7-7-1 16 ビット高精度 PWM 出力の動作 7-7-1 16ビット高精度 ビット高精度PWM PWM出力の動作 ■16ビット高精度PWM出力の動作(タイマ7) コンペアレジスタ1(TM7OC1)にPWMの周期を、コンペアレジスタ2(TM7OC2)に"H"期間のデューティを設 定することで、任意の周期/デューティのPWM波形を生成します。高精度PWM出力機能が使える16ビット タイマはタイマ7です。 ■高精度PWM出力のカウントタイミング( 通常時)(タイマ7) カウント クロック TM7EN フラグ コンペア レジスタ1 N コンペア レジスタ2 M バイナリ カウンタ PWMソース 波形 0000 0001 (A) M-1 M M+1 M+2 N-1 N (B) 0000 0001 M-1 M M+1 (C) TM7IO出力 (PWM出力) コンペアレジスタ2の設定時間 PWM基本成分(コンペアレジスタ1の設定時間) 図7-7-1 高精度PWM出力のカウントタイミング(通常時) PWMソース波形は、 (A) バイナリカウンタが X'0000' からTM7OC2コンペア一致するまでの期間、"H" となりま す。 (B) TM7OC2コンペア一致後、"L" となり、さらにバイナリカウンタがTM7OC1コンペア一致 してクリアされるまでカウントアップを続けます。 (C) バイナリカウンタがクリアされると、再び "H" となります。 端子からのPWM 出力は、PWMソース波形を1カウントクロック遅らせて出力します。 これは、出力周期を正確にするために、マイコン内部で波形成型をしているためです。 16ビット高精度PWM出力動作 VII - 31 第7章 16ビットタイマ機能 ■高精度PWM出力のカウントタイミング(コンペアレジスタ2がX'0000'の時)(タイマ7) コンペアレジスタ2にX'0000'を設定した時のカウントタイミングを次に示します。 カウント クロック TM7EN フラグ コンペア レジスタ1 N コンペア レジスタ2 0000 バイナリ カウンタ N-1 0000 0001 N 0000 0001 H TM7IO出力 (PWM出力) L 図7-7-2 高精度PWM出力のカウントタイミング(コンペアレジスタ2がX'0000'の時) TM7ENフラグが停止状態("0"の時)は、PWM出力は"H"が出力されます。 ■高精度PWM出力のカウントタイミング(コンペアレジスタ2=コンペアレジスタ1の時)(タイマ7) コンペアレジスタ2にコンペアレジスタ1と同じ値を設定した時のカウントタイミングを次に示します。 カウント クロック TM7EN フラグ コンペア レジスタ1 N コンペア レジスタ2 N バイナリ カウンタ 0000 0001 N-1 N 0000 0001 TM7IO出力 (PWM出力) 図7-7-3 高精度PWM出力のカウントタイミング(コンペアレジスタ2=コンペアレジスタ1の時) 高精度PWM出力をする場合は、TM7MD2レジスタのTMBCRフラグを"1"にして、バイナリカウン タのクリア要因、およびPWM出力のセット("H"出力)要因にTM7OC1コンペア一致を選択してく ださい。 また、T7PWMSLフラグを"1"にして、PWM出力のリセット("L"出力)要因にTM7OC2コンペア一致 を選択してください。 VII - 32 16ビット高精度PWM出力動作 第7章 16ビットタイマ機能 7-7-2 16 ビット高精度 PWM 出力の設定例 7-7-2 16ビット高精度 ビット高精度PWM PWM出力の設定例 ■高精度PWM出力の設定例(タイマ7) タイマ7を用いてTM7IO出力端子より400 Hzで1/4デューティのPWM出力波形を出力します。クロックソー スをfosc/2(fosc=20 MHz動作時)を選択します。コンペアレジスタ1の設定値でPWM出力波形の1周期の 時間が決定します。コンペアレジスタ2の設定値でPWM出力波形の"H"の時間が決定します。 以下に、設定手順とその内容を示します。 TM7IO出力 400 Hz 図7-7-4 TM7IO出力端子の出力波形 内容 設定手順 (1) カウンタの停止確認 TM7MD1 (x'3F78') bp4 : TM7EN = 0 (2) 特殊機能端子の出力の設定 P1OMD (x'3F2F') bp4 : P1OMD4 = 1 P1DIR (x'3F31') bp4 : P1DIR4 = 1 (1) タイマ7モードレジスタ1(TM7MD1)のTM7EN フラグを"0"にしてタイマ7をカウント停止 状態にします。 (2) ポート1出力モードレジスタ(P1OMD)の P1OMD4フラグを"1"にして、P14端子を特殊 機能端子に設定します。 ポート1方向制御レジスタ(P1DIR)のP1DIR4 フラグを"1"にして出力モードに設定します。 必要に応じて、プルアップ抵抗を付加してく ださい。 【 第4章 ポート機能】 (3) PWM出力の設定 TM7MD2 (x'3F79') bp4 :TM7PWM = 1 (3) タイマ7モードレジスタ2(TM7MD2)の TM7PWMフラグを"1"にしてPWM出力を選択します。 (4) 高精度PWM出力動作の設定 TM7MD2 (x'3F79') bp5 : TM7BCR = 1 bp6 : T7PWMSL = 1 (4) TM7MD2レジスタのTM7BCRフラグを"1"にし て、バイナリカウンタのクリア要因にTM7OC1 コンペア一致を選択します。 さらに、T7PWMSLフラグを"1"にして、PWM 出力のデューティ決定要因にTM7OC2コンペア 一致を選択します。 16ビット高精度PWM出力動作 VII - 33 第7章 16ビットタイマ機能 内容 設定手順 (5) カウントクロックソースの選択 TM7MD1 (x'3F78') bp1-0 : TM7CK1-0 = 00 bp3-2 : TM7PS1-0 = 01 (5) TM7MD1レジスタのTM7CK1-0フラグにより クロックソースにfoscを選択します。 さらに、TM7PS1-0フラグにより、カウント クロックソースに1/2分周を選択します。 (6) タイマ7プリセットレジスタ1(TM7PR1)にPWM (6) PWM出力周期の設定 出力周期の値を設定します。 TM7PR1 (x'3F75',x'3F74') = x'61a7' 10 MHzを分周して400 Hzにするために、設定 値は、25000−1=24999(x'61a7')にします。 このとき、タイマ7コンペアレジスタ1 (TM7OC1)に同じ値がロードされ、タイマ7バ イナリカウンタ(TM7BC)がx'0000'に初期化さ れます。 (7) タイマ7プリセットレジスタ2(TM7PR2)にPWM (7) PWM出力"H" 期間の設定 出力の"H"期間の値を設定します。 TM7PR2 (x'3F7D',x'3F7C') = x'186a' 25000分周の1/4デューティにするために、設定 値は、25000÷4=6250(x186a')にします。 このとき、タイマ7コンペアレジスタ2 (TM7OC2)に同じ値がロードされます。 (8) タイマの動作開始 TM7MD1 (x'3F78') bp4 : TM7EN (8) TM7MD1レジスタのTM7ENフラグを"1"にして タイマ7を動作させます。 = 1 TM7BCが X'0000' からカウントアップします。PWMソース波形は、TM7BCがTM7OC2レジスタの設定値 と一致するまでは "H" を出力し、一致すると、"L" を出力します。その後、TM7BCはカウントアッ プを続け、TM7OC1レジスタの設定値と一致してTM7BCがクリアされると、PWMソース波形は、再び"H" を出力し、TM7BCは再度 X'0000' からカウントアップします。TM7IO端子からの出力は、PWMソース 波形を1カウントクロック遅らせたものが出力されます。 PWM出力の初期設定での状態は、TM7MDレジスタのTM7PWMフラグによりPWM出力を選択した時 点で"L"出力から"H"出力に変化します。 TM7OC2の設定値≦TM7OC1の設定値として使用してください。 TM7OC2の設定値>TM7OC1の設定値とすると、PWM出力は"H"固定出力になります。 VII - 34 16ビット高精度PWM出力動作 第7章 16ビットタイマ機能 7-8 16 ビットタイマによる同期出力動作 7-8 16ビットタイマによる同期出力動作 7-8-1 16 ビットタイマによる同期出力の動作 7-8-1 16ビットタイマによる同期出力の動作 同期出力は、タイマのバイナリカウンタとコンペアレジスタの設定値が一致すると、次のカウントク ロックのタイミングでポート7出力ラッチデータをポート7から出力します。 ■16ビットタイマによる同期出力の動作(タイマ7) バイナリカウンタのTM7OC1コンペア一致、またはフルカウントオーバフローによる、割込み要求発生 のタイミングによりポート7出力ラッチデータがポート7の出力端子から出力されます。同期出力に使 えるポートは、ポート7のみで、ビット単位の設定が可能です。 ■同期出力のカウントタイミング(タイマ7) カウント クロック TM7EN フラグ コンペア レジスタ1 N ポート7出力 X ラッチデータ バイナリ カウンタ N-1 N X Z Y 0000 0001 N-1 N Y 0000 0001 N-1 N 0000 0001 N-1 割込み要求 フラグ ポート7同期 出力データ X Y Z Y 図7-8-1 同期出力のカウントタイミング(タイマ7) バイナリカウンタとコンペアレジスタ1の一致による、割込み要求の発生タイミングでポート7出力 ラッチデータが出力端子より出力されます。 16ビットタイマによる同期出力動作 VII - 35 第7章 16ビットタイマ機能 7-8-2 16 ビットタイマによる同期出力の設定例 7-8-2 16ビットタイマによる同期出力の設定例 ■同期出力の設定例(タイマ7) タイマ7を用いてポート7のラッチデータが一定時間(100 µs)ごとに同期出力端子より出力する設定例 を示します。タイマ7のクロックソースはfs/4(fosc=8 MHz動作時)を選択することにします。 以下に、設定手順とその内容を示します。 設定手順 (1) カウンタの停止確認 TM7MD1 (x'3F78') bp4 : TM7EN 内容 = 0 (1) タイマ7モードレジスタ1(TM7MD1)のTM7EN フラグを"0"にしてタイマ7をカウント停止状態 にします。 (2) 同期出力イベントの選択 FLOAT (x'3F2E') bp1-0 : SYOEVS1-0 =01 (2) 端子制御レジスタ(FLOAT)のSYOEVS1-0 フラグを"01"にして同期出力イベントをタイマ (3) 同期出力端子の設定 P7SYO(x'3F1E') P7DIR (x'3F37') (3) ポート7同期出力制御レジスタ(P7SYO)をx'FF' にして同期出力端子の設定をします。 (P77∼P70を同期出力端子とします。) ポート7方向制御レジスタ(P7DIR)をx'FF'にし てポート7を出力端子の設定にします。 必要に応じて、プルアップ抵抗を付加してくだ さい。 = x'FF' = x'FF' 7割込みに設定します。 【 第4章 ポート機能】 (4) タイマクリア条件の選択 TM7MD2 (x'3F79') bp5 : TM7BCR = 1 (4) TM7MD2レジスタのTM7BCRフラグを"1"にし て、バイナリカウンタのクリア要因にコンペア 一致を選択します。 (5) カウントクロックソースの選択 TM7MD1 (x'3F78') bp1-0 : TM7CK1-0 = 01 bp3-2 : TM7PS1-0 = 10 (5) TM7MD1レジスタのTM7CK1-0フラグにより クロックソースにfsを選択します。 さらに、TM7PS1-0フラグにより、カウント クロックソースに1/4分周を選択します。 (6) タイマ7プリセットレジスタ1(TM7PR1)に同期 (6) 同期出力イベント発生周期の設定 出力イベント発生周期の値を設定します。 TM7PR1 (x'3F75',x'3F74')= x'0063' 1 MHzを分周して10 kHzにするために、設定値 は、100−1=99(x'0063')にします。 このとき、タイマ7コンペアレジスタ1 (TM7OC1)に同じ値がロードされ、タイマ7バ イナリカウンタ(TM7BC)がx'0000'に初期化さ れます。 VII - 36 16ビットタイマによる同期出力動作 第7章 16ビットタイマ機能 設定手順 (7) タイマの動作開始 TM7MD1 (x'3F78') bp4 : TM7EN 内容 (7) TM7MD1レジスタのTM7ENフラグを"1"にして タイマ7を動作させます。 = 1 TM7BCが X'0000' からカウントアップします。ポート7出力レジスタ(P7OUT)にデータを書き込む と、TM7BCがTM7OC1レジスタの設定値と一致して、割込み要求が発生するごとに同期出力端子より ポート7のデータが出力されます。 プロセッサモード、メモリ拡張モード時は、同期出力機能は使用できません。 16ビットタイマによる同期出力動作 VII - 37 第7章 16ビットタイマ機能 7-9 16 ビットタイマキャプチャ動作 7-9 16ビットタイマキャプチャ動作 7-9-1 16 ビットタイマキャプチャ機能の動作 7-9-1 16ビットタイマキャプチャ機能の動作 キャプチャ機能は、外部割込み入力信号のタイミングまたは、キャプチャレジスタへの任意の値の書 き込み動作のタイミングでバイナリカウンタの値を読み込みます。 ■外部割込み信号をトリガとしたキャプチャ機能の動作(タイマ7, タイマ8) 外部割込みインタフェースブロック通過後の外部割込み信号で、インプットキャプチャ機能のキャプ チャトリガが発生します。キャプチャトリガの選択は、タイマnモードレジスタ2(TMnMD2)と、外部割 込み制御レジスタ(IRQ0ICR, IRQ1ICR, IRQ2ICR, IRQ3ICR)で行ってください。 選択できるキャプチャトリガの種類と割込みフラグの設定を次表に示します。 表7-9-1 キャプチャトリガ キャプチャトリガ 発生要因 タイマ7モードレジスタ2 外部割込みn制御 レジスタ(IRQnICR) 両エッジ割込み制御 レジスタ (EDGDT) 外部割込みnの 割込み起動エッジ T7ICT1-0 T7ICEDG REDGn (bp5) EDGSEL3 IRQ0 立ち下がりエッジ 00 (IRQ0) 1 0 - EDGSEL2 - IRQ0 立ち下がりエッジ IRQ0 立ち上がりエッジ 00 (IRQ0) 1 1 - - IRQ0 立ち上がりエッジ IRQ0 両エッジ 00 (IRQ0) 0 0 - - IRQ0 立ち下がりエッジ 1 - - IRQ0 立ち上がりエッジ IRQ1 立ち下がりエッジ 01 (IRQ1) 1 0 - - IRQ1 立ち下がりエッジ IRQ1 立ち上がりエッジ 01 (IRQ1) 1 1 - - IRQ1 立ち上がりエッジ IRQ1 両エッジ 01 (IRQ1) 0 0 - - IRQ1 立ち下がりエッジ IRQ2 立ち下がりエッジ 10 (IRQ2) 1 IRQ2 立ち上がりエッジ 10 (IRQ2) 1 IRQ2 両エッジ (*) 10 (IRQ2) 0 1 - - IRQ1 立ち上がりエッジ 0 - 0 IRQ2 立ち下がりエッジ 1 - 0 IRQ2 立ち上がりエッジ 0 - 0 IRQ2 立ち下がりエッジ 1 - 0 IRQ2 立ち上がりエッジ IRQ3 立ち下がりエッジ 11 (IRQ3) 1 0 0 - IRQ3 立ち下がりエッジ IRQ3 立ち上がりエッジ 11 (IRQ3) 1 1 0 - IRQ3 立ち上がりエッジ IRQ3 両エッジ (*) 11 (IRQ3) 0 0 0 - IRQ3 立ち下がりエッジ 1 0 - IRQ3 立ち上がりエッジ 外部割込み2(IRQ2)と外部割込み3(IRQ3)は両エッジ割込み機能を持っていますが、インプッ トキャプチャの両エッジトリガとの併用はできません。 [ 表7-9-1(*) ] 16ビットタイマ7, 8のキャプチャトリガ信号は、fosc又はfsにより生成しています。 (タイマのクロックソースがfoscの時はfosc、fosc以外の時はfsから生成しています。) このため、外部からのイベント周波数(TMnIO入力)をカウントする場合、イベント周波数 がfsより高い場合、カウントずれを起こしますので注意が必要です。 クロック切り換え機能を使用し、発振クロックfoscを分周したシステムクロックfsを使用し ている場合などは注意が必要です。 VII - 38 16ビットタイマキャプチャ動作 第7章 16ビットタイマ機能 設定が以下の状態にあるとき、プログラムで外部割込みの有効エッジを切り換えると、割込み要求とキャ プチャトリガが発生します。 (1) 割込み端子がHレベルでかつ有効エッジが立ち下がりのとき、立ち上がりエッジに切り換えた場合 (2) 割込み端子がLレベルでかつ有効エッジが立ち上がりのとき、立ち下がりエッジに切り換えた場合 あらかじめ設定した有効エッジの割込みが発生した後に、割込みエッジを切り換えた場合には、こうした 現象は起こりません。但し、両エッジ割込み機能を用いた場合には、この限りではありません。プログラ ムでは、ノイズによる影響を充分考慮した割込みフラグの操作を行ってください。 【 第3章 3-3-4 指定極性エッジ割込み機能の動作と設定例 】 ■外部割込み信号の両エッジをトリガ選択したキャプチャ機能のカウントタイミング (タイマ7, タイマ8) カウント クロック TMnEN フラグ コンペア レジスタ バイナリ カウンタ N N 0000 0001 0111 0112 0113 0114 5555 5556 5557 5558 N-1 N 外部割込みm キャプチャトリガ キャプチャ レジスタ 0000 0111 0114 5555 5558 図7-9-1 外部割込み信号をトリガしたキャプチャ機能のカウントタイミング(タイマ7, タイマ8) 外部割込みm入力信号の両エッジでキャプチャトリガが発生します。このキャプチャトリガに同期し て、バイナリカウンタの値がインプットキャプチャレジスタに取り込まれます。キャプチャレジスタ に取り込まれる値は、キャプチャトリガの立ち下がりエッジでのバイナリカウンタの値で確定します。 キャプチャトリガ発生要因に指定エッジを選択した場合は、割込み発生指定エッジでのみキャプチャ トリガが発生します。その他のカウントタイミングはタイマ動作のカウントタイミングと同じです。 バイナリカウンタをX'0000'∼X'FFFF'をカウントするフリーカウンタとして使用する場合 は、コンペアレジスタ1にX'FFFF'を設定するか、TMnMD2レジスタのTMnBCRフラグを"0"にし てください。 インプットキャプチャレジスタの値を読み出す前にイベントが発生してもインプットキャプ チャレジスタの値は書き換えられます。 リセット解除後の初期状態では、外部割込み信号によるトリガの発生が禁止されています。 TMnMD2レジスタのTnICENフラグを"1"にして、トリガの発生を許可してください。 16ビットタイマキャプチャ動作 VII - 39 第7章 16ビットタイマ機能 ■ソフト書き込み動作をトリガとしたキャプチャ機能の動作(タイマ7, タイマ8) インプットキャプチャレジスタ(TMnIC)に任意の値の書き込み動作を行うことで、キャプチャトリガを 発生させ、そのキャプチャトリガに同期して、バイナリカウンタの値をインプットキャプチャレジス タに取り込むことができます。 カウント クロック TMnEN フラグ コンペア レジスタ N バイナリ カウンタ N 0000 0001 0111 0112 0113 0114 5555 5556 5557 5558 N-1 N システム クロック キャプチャトリガ (書き込み信号に 同期) キャプチャ レジスタ 0000 0114 5558 図7-9-2 ソフト書き込み信号をトリガとしたキャプチャ機能のカウントタイミング(タイマ7, タイマ8) インプットキャプチャレジスタへの書き込み信号に同期して、キャプチャトリガが発生します。書 き込み信号は、書き込み命令の最終サイクルで発生します。このキャプチャトリガに同期して、バ イナリカウンタの値がインプットキャプチャレジスタに取り込まれます。キャプチャレジスタに取 り込まれる値は、キャプチャトリガの立ち下がりエッジでのバイナリカウンタの値で確定します。 その他のカウントタイミングはタイマ動作のカウントタイミングと同じです。 キャプチャトリガを発生させるためのインプットキャプチャレジスタの書き込みはTMnICLレ ジスタまたは、TMnICHレジスタのどちらかの8ビットアクセスにて行ってください。 なお、このとき実際にTMnICレジスタにデータの書き込みはされません。 ソフト書き込み動作をトリガとしたキャプチャ動作については、ハード的に禁止するフラグ はありません。TMnMD2レジスタのTnICENフラグに関係なくキャプチャ動作をさせることがで きます。 VII - 40 16ビットタイマキャプチャ動作 第7章 16ビットタイマ機能 7-9-2 16 ビットタイマキャプチャ機能の設定例 7-9-2 16ビットタイマキャプチャ機能の設定例 ■キャプチャ機能の設定例(タイマ7, タイマ8) タイマ7を用いて外部割込み0入力信号の割込み発生エッジにてバイナリカウンタの値をインプットキャ プチャレジスタに取り込み、パルス幅測定を実現します。割込み発生エッジは立ち上がりエッジを指 定することにします。 以下に、設定手順とその内容を示します。 割込み処理 割込み処理 外部割込み0 IRQ0入力 測定対象パルス幅 図7-9-3 外部割込み0のパルス幅測定 設定手順 (1) カウンタの停止確認 TM7MD1 (x'3F78') bp4 : TM7EN 内容 = 0 (1) タイマ7モードレジスタ1(TM7MD1)のTM7EN フラグを"0"にしてタイマ7をカウント停止状態 にします。 (2) タイマクリア条件の選択 TM7MD2 (x'3F79') bp5 : TM7BCR = 1 (2) タイマ7モードレジスタ2(TM7MD2)の TM7BCRフラグを"1"にして、バイナリカウン タのクリア要因にコンペア一致を選択します。 (3) カウントクロックソースの選択 TM7MD1 (x'3F78') bp1-0 : TM7CK1-0 = 00 bp3-2 : TM7PS1-0 = 00 (3) TM7MD1レジスタのTM7CK1-0フラグにより クロックソースにfoscを選択します。さらに、 TM7PS1-0フラグにより、カウントクロック ソースにfoscの1/1分周(分周なし)を選択し ます。 (4) キャプチャトリガ発生割込み ソースの選択 TM7MD2 (x'3F79') bp1-0 : T7ICT1-0 = 00 (4) TM7MD2レジスタのT7ICT1-0フラグにより、 キャプチャトリガの発生要因に外部割込み0 (IRQ0)入力を選択します。 (5) 割込み発生有効エッジの選択 IRQ0ICR (x'3FE2') bp5 : REDG0 = 1 (5) 外部割込み0制御レジスタ(IRQ0ICR)のREDG0 フラグを"1"にして、割込み発生有効エッジに 立ち上がりエッジを選択します。 16ビットタイマキャプチャ動作 VII - 41 第7章 16ビットタイマ機能 内容 設定手順 (6) キャプチャトリガ発生エッジの選択 TM7MD2 (x'3F79') bp7 : T7ICEDG = 1 (6) TM7MD2レジスタのT7ICEDGフラグを"1"にし て、キャプチャトリガの発生要因に外部割込み の有効エッジを選択します。 (7) タイマ7プリセットレジスタ1(TM7PR1)に (7) コンペアレジスタの設定 x'FFFF'を設定します。 TM7PR1 (x'3F75',x'3F74') = x'FFFF' このときタイマ7コンペアレジスタ1(TM7OC1) に同じ値がロードされ、タイマ7バイナリカウ ンタ(TM7BC)がx'0000'に初期化されます。 (8) 割込みレベルの設定 IRQ0ICR (x'3FE2') bp7-6 : IRQ0LV1-0 = 10 (8) IRQ0ICRレジスタのIRQ0LV1-0フラグによ り、割込みレベルを設定します。 割込み要求フラグが既にセットされている可能 性があるときは、要求フラグをクリアしてくだ さい。 【 第3章 3-1-4 (9) 割込みの許可 IRQ0ICR (x'3FE2') bp1 : IRQ0IE 割込みフラグの設定】 (9) IRQ0ICRレジスタのIRQ0IEフラグを"1"にして 割込みを許可します。 = 1 (10) キャプチャトリガ発生の許可 TM7MD2 (x'3F79') bp2 : T7ICEN = 1 (10) TM7MD2レジスタのT7ICENフラグを"1"にし てキャプチャトリガの発生を許可します。 (11) タイマの動作開始 TM7MD1 (x'3F78') bp4 : TM7EN (11) TM7MD1レジスタのTM7ENフラグを"1"にして タイマ7を動作させます。 = 1 TM7BCが X'0000' からカウントアップします。外部割込み0入力信号の立ち上がりエッジに同期し て、その時点のTM7BCの値がTM7ICレジスタに取り込まれます。 また、同時に割込み処理にてTM7ICレジスタの値を読み込み、前のキャプチャ値(TM7ICレジスタの 値)との差を計算することで、外部割込み入力信号の立ち上がりエッジから次の立ち上がりエッジ までのパルス幅が測定できます。 VII - 42 16ビットタイマキャプチャ動作 タイムベース/ 第8章 8ビットフリーランタイマ機能 7 8 17 第8章 タイムベース/8ビットフリーランタイマ機能 8-1 タイムベース / 88ビットフリーランタイマ機能の概要 ビットフリーランタイマ機能の概要 8-1 タイムベース 本LSIは、タイムベースタイマおよび8ビットフリーランタイマ(タイマ6)をそれぞれ1本ずつ搭載して います。 タイムベースタイマは、15ビットのタイマカウンタであり、8ビットフリーランタイマとともにスタン バイモード(STOPモード)時以外に動作を停止することはできません。 8-1-1 タイムベース/ 8ビットフリーランタイマ機能一覧 8-1-1 タイムベース/ タイムベース/8 タイマ6、タイムベースタイマの使用できるクロックソースおよび割込み発生周期を以下に示します。 表8-1-1 タイマ動作時のクロックソースと割込み発生周期一覧 タイムベースタイマ タイマ6 (8ビットフリーラン) X ○ TBIRQ TM6IRQ 8ビットタイマ動作 割込み fosc fx fs fosc X 1/2 12(注1) fosc X 1/2 13(注1) fx X 1/2 12 (注2) fx X 1/2 13 (注2) クロックソース fosc fx 割込み発生周期 fosc X 1/2 7 (注1) fosc X 1/2 8 (注1) fosc X 1/2 9 (注1) fosc X 1/2 10(注1) fosc X 1/2 13(注1) fosc X 1/2 15(注1) TM6OCに書き込んだ任意の fx X 1/2 7 (注2) 値により、割込み発生周期 が決まります fx X 1/2 8 (注2) fx X 1/2 9 (注2) fx X 1/2 10 (注2) fx X 1/2 13 (注2) fx X 1/2 15 (注2) fosc:マシンクロック(高速動作用発振) fx:マシンクロック (低速動作用発振) fs:システムクロック【 第2章 2-5.クロック切り換え機能】 ・(注1)タイムベースタイマのクロックソースをfoscに選択時使用可能 ・(注2)タイムベースタイマのクロックソースをfxに選択時使用可能 ・タイムベースタイマおよびタイマ6はカウントアップ動作を停止すること はできません。 VIII - 2 タイムベース/8ビットフリーランタイマ機能の概要 fx fosc M U X 7 } } 0 ST 15 1/2 1/2 13 1/2 12 1/2 10 1/2 9 1/2 8 1/2 7 TBCLR( Write only ) TM6CK3 TM6IR0 TM6IR1 TM6IR2 TM6CLRS TM6CK0 TM6CK1 TM6CK2 TM6MD fx M U X 同期化 fs fosc M U X M U X タイムベース/8ビットフリーランタイマ機能の概要 TBIRQ RST タイムベースタイマ Read TM6BC 8ビットカウンタ 一致検出 TM6OC コンペアレジスタ Read/Write TM6IRQ タイマ6 (8ビットフリーランタイマ) 第8章 タイムベース/8ビットフリーランタイマ機能 8-1-2 タイムベース/ 8ビットフリーランタイマブロック図 8-1-2 タイムベース/ タイムベース/8 ■タイマ6、タイムベースタイマブロック図 図8-1-1 タイマ6、タイムベースタイマブロック図 VIII - 3 第8章 タイムベース/8ビットフリーランタイマ機能 8-2 タイムベース / 88ビットフリーランタイマ制御レジスタ ビットフリーランタイマ制御レジスタ 8-2 タイムベース タイマ6はバイナリカウンタ(TM6BC)、コンペアレジスタ(TM6OC)で構成されており、モードレジスタ (TM6MD)で制御します。タイムベースタイマは、モードレジスタ(TM6MD)とタイムベースタイマクリア レジスタ(TBCLR)で制御します。 8-2-1 タイムベース/ 8ビットフリーランタイマ制御レジスタ 8-2-1 タイムベース/ タイムベース/8 タイマ6、タイムベースタイマを制御するレジスタの一覧を次表に示します。 表8-2-1 レジスタ略称 タイマ6 タイム ベース タイマ タイムベース/8ビットフリーランタイマ制御レジスタ一覧 アドレス R/W レジスタ名称 TM6BC X'03F68' R タイマ6バイナリカウンタ VIII - 5 TM6OC X'03F69' R/W タイマ6コンペアレジスタ VIII - 5 TM6MD X'03F6A' R/W タイマ6モードレジスタ VIII - 6 TM6ICR X'03FEF' R/W タイマ6割込み制御レジスタ III - 25 TM6MD X'03F6A' R/W タイマ6モードレジスタ VIII - 6 TBCLR X'03F6B' W タイムベースタイマクリア制御レジスタ VIII - 5 TBICR X'03FF0' R/W タイムベース割込み制御レジスタ III - 26 R/W:読み出し/書き込み共に可能です。 R :読み出し専用レジスタです。 W :書き込み専用レジスタです。 VIII - 4 参照ページ タイムベース/8ビットフリーランタイマ制御レジスタ 第8章 タイムベース/8ビットフリーランタイマ機能 8-2-2 プログラマブルタイマレジスタ 8-2-2 プログラマブルタイマレジスタ タイマ6は8ビットのプログラマブルカウンタです。 プログラマブルカウンタは、コンペアレジスタ(TM6OC)とバイナリカウンタ(TM6BC)により構成され ています。 バイナリカウンタは、8ビットのアップカウンタです。タイマ6モードレジスタ(TM6MD)のTM6CLRSフラ グが"0"の状態でコンペアレジスタ(TM6OC)に割込み周期データを書き込むと、タイマ6バイナリカウン タ(TM6BC)がX'00'にクリアされます。 ■タイマ6バイナリカウンタ(TM6BC) 7 TM6BC 6 5 4 3 2 1 0 TM6BC7 TM6BC6 TM6BC5 TM6BC4 TM6BC3 TM6BC2 TM6BC1 TM6BC0 (リセット時:X X X X X X X X ) 図8-2-1 タイマ6バイナリカウンタ(TM6BC:X'03F68' , R) ■タイマ6コンペアレジスタ(TM6OC) 7 TM6OC 6 5 4 3 2 1 0 TM6OC7 TM6OC6 TM6OC5 TM6OC4 TM6OC3 TM6OC2 TM6OC1 TM6OC0 (リセット時:X X X X X X X X ) 図8-2-2 タイマ6コンペアレジスタ(TM6OC:X'03F69' , R/W) タイムベースタイマはカウント動作を停止することはできませんが、ソフトによりリセットをかける ことができます。タイムベースタイマクリア制御レジスタ(TBCLR)に任意の値の書き込み動作を行うこ とにより、タイムベースタイマがクリアされます。 ■タイムベースタイマクリア制御レジスタ(TBCLR) TBCLR 7 6 5 4 3 2 1 0 − − − − − − − − (書込み専用) 図8-2-3 タイムベースタイマクリア制御レジスタ(TBCLR:X'03F6B') タイムベース/8ビットフリーランタイマ制御レジスタ VIII - 5 第8章 タイムベース/8ビットフリーランタイマ機能 8-2-3 タイマモードレジスタ 8-2-3 タイマモードレジスタ タイマ6とタイムベースタイマを制御する読み出し/書き込み可能なレジスタです。 ■タイマ6モードレジスタ(TM6MD) 7 TM6MD 6 5 4 3 2 1 0 (リセット時: 0 0 0 0 0 0 0 0 ) TM6CLRS TM6IR2 TM6IR1 TM6IR0 TM6CK3 TM6CK2 TM6CK1 TM6CK0 TM6CKS0 タイムベースタイマ クロックソース選択 0 fosc 1 fx TM6CK3 TM6CK2 TM6CK1 タイマ6クロックソース選択 0 0 1 0 fosc 1 fs 0 fx 同期化fx 1 0 1 1 タイムベース選択クロック×1/2 1 0 同期化タイムベース選択クロック×1/2 1 TM6IR2 TM6IR1 TM6IR0 0 0 1 0 1 TM6CLRS タイムベース選択クロック×1/2 12 同期化タイムベース選択クロック×1/2 タイムベースタイマ 割込み周期選択 タイムベース選択クロック×1/2 7 1 0 タイムベース選択クロック×1/2 8 タイムベース選択クロック×1/2 9 1 タイムベース選択クロック×1/2 10 タイムベース選択クロック×1/2 13 タイムベース選択クロック×1/2 15 タイマ6バイナリカウンタ クリア選択フラグ 0 TM6OC書き込み時のTM6BC の初期化を許可 1 TM6OC書き込み時のTM6BC の初期化を禁止 ※TM6CLRS=0の場合TM6IRQは禁止され、 TM6CLRS=1の場合TM6IRQは許可されます。 図8-2-4 タイマ6モードレジスタ(TM6MD:X'03F6A'、R/W) VIII - 6 タイムベース/8ビットフリーランタイマ制御レジスタ 13 12 0 - 1 13 0 第8章 タイムベース/8ビットフリーランタイマ機能 8-3 8ビットフリーランタイマ機能の動作 8-3 8-3-1 8ビットフリーランタイマの動作 8-3-1 ■8ビットフリーランタイマ動作(タイマ6) タイマ割込みの発生周期は、クロックソースの選択および、コンペアレジスタ(TM6OC)の設定値により あらかじめ設定します。バイナリカウンタ(TM6BC)がコンペアレジスタの設定値と一致すると、次のカ ウントクロックで割込み要求が発生し、バイナリカウンタはクリアされ、再度X'00'からカウントアッ プを始めます。 クロックソースは、以下の通り選ぶことができます。 表8-3-1 タイマ動作時のクロックソース(タイマ6) クロックソース 1カウント時間 fosc 50 ns fx 30.5 µs 100 ns fs fosc X 1/2 12 204.8 µs fosc X 1/2 13 409.6 µs fx X 1/2 12 125 ms fx X 1/2 13 250 ms fosc = 20 MHz fx = 32.768 kHz fs = fosc/2 = 10 MHzとして算出 タイマ6は動作を停止することはできません。 8ビットフリーランタイマ機能の動作 VIII - 7 第8章 タイムベース/8ビットフリーランタイマ機能 ■8ビットフリーランタイマを1分計、1秒計として用いる場合 8ビットフリーランタイマを1分計、1秒計として用いる場合のクロックソースの選択、およびTM6OCレ ジスタの設定値を以下に示します。 表8-3-2 1分計、1秒計として用いる場合の設定(タイマ6) 割込み発生周期 1 min 1s クロックソース TM6OCレジスタ fx X 1/2 13 X'EF' fx X 1/2 12 X'07' fx X 1/2 13 X'03' fx = 32.768 kHz 表8-3-2の1分計(1 min)の設定を行った場合、TM6BCレジスタのbp1の波形の周波数(周期)が1 Hz(1 s) となるので、秒合わせに使用することができます。 TM6BC bp1 1 Hz(1 s) 図8-3-1 TM6BCレジスタbp1の波形(タイマ6) VIII - 8 8ビットフリーランタイマ機能の動作 第8章 タイムベース/8ビットフリーランタイマ機能 ■タイマ動作のカウントタイミング(タイマ6) 選択したクロックソースをカウントクロックとしてバイナリカウンタがカウントアップします。 カウント クロック TM6CLRS フラグ コンペア レジスタ N M M (B) バイナリ カウンタ 01 02/00 01 (A) 02 N-1 N 00 01 02 03 M-1 M 00 01 (D) 割込み要求 フラグ (E) (C) 図8-3-2 タイマ動作のカウントタイミング(タイマ6) (A) TM6CLRSフラグが"0"のときにコンペアレジスタに値を書き込むと、バイナリカウン タは X'00'にクリアされます。 (B) TM6CLRSフラグが"1"のときにコンペアレジスタを書き換えてもバイナリカウンタは 変化しません。 (C) TM6CLRSフラグが"1"のときにバイナリカウンタとコンペアレジスタの値が一致する と、次のカウントクロックで割込み要求フラグがセットされます。 (D) 割込み要求フラグがセットされると、バイナリカウンタは X'00' にクリアされ、 再度カウントアップを開始します。 (E) TM6CLRSフラグが"0"のときにバイナリカウンタとコンペアレジスタの値が一致して も割込み要求フラグはセットされません。 バイナリカウンタとコンペアレジスタの値が一致すると、次のカウントクロックでバイナリ カウンタがクリアされ、割込み要求フラグがセットされますので、 (コンペアレジスタの設定値)=(割込み要求発生までのカウント回数) としてください。 クロックソースにfx入力を選択し、動作中にタイマ6バイナリカウンタの値を読み出すと、 カウントアップの瞬間の不完全な値を読み出すことがあります。 これを防ぐには、同期化fx入力を選択してください。但し、同期化fx入力では STOP/HALT モードからの復帰動作はできません。 カウント動作中に、コンペアレジスタの値をバイナリカウンタの値より小さい値を設定する と、バイナリカウンタは一端オーバフローするまでカウントアップします。 8ビットフリーランタイマ機能の動作 VIII - 9 第8章 タイムベース/8ビットフリーランタイマ機能 8-3-2 8ビットフリーランタイマ動作の設定例 8-3-2 ■タイマ動作の設定例(タイマ6) タイマ6 を用いて一定時間毎に割込みを発生させ、時計機能を実現します。クロックソースをf s (fosc=20 MHz動作時)を選択して250分周(25 µs)毎に割込みを発生します。以下に、その設定手順と その内容を示します。 設定手順 内容 (1) バイナリカウンタの初期化の許可 TM6MD (x'3F6A') bp7 : TM6CLRS (1) タイマ6モードレジスタ(TM6MD)のTM6CLRSフラ グを"0"にします。このとき、タイマ6バイナ リカウンタ(T M6BC)の初期化が許可されます。 = 0 (2) TM6MDレジスタのTM6CK3-1フラグにより、ク (2) クロックソースの選択 ロックソースを選択できます。ここではfsを選 択します。 TM6MD(x'3F6A') bp3-1 : TM6CK3-1 = 001 (3) タイマ6コンペアレジスタ(TM6OC)に割込み発生 (3) 割込み発生周期の設定 TM6OC(X'3F69' ) (4) TM6MDレジスタのTM6CLRSフラグを"1"にして、 (4) 割込み要求発生の許可 TM6MD(X'3F6A') bp7 : TM6CLRS 割込み要求の発生を許可します。 = 1 (5) タイマ6割込み制御レジスタ(TM6ICR)の (5) 割込みレベルの設定 TM6ICR (x'3FEF') bp7-6 :TM6LV1-0 周期の値を設定します。このとき、TM6BCが x'00'に初期化されます。 = x'F9' TM6LV1-0フラグにより割込みレベルを設定しま す。 = 01 割込み要求フラグが既にセットされているとき は、要求フラグをクリアしてください。 【 第3章 3-1-4. 割込みフラグの設定】 (6) TM6ICRレジスタのTM6IEフラグを"1"にして割込 (6) 割込みの許可 TM6ICR (x'3FEF') bp1 :TM6IE みを許可します。 = 1 ※上記(1)∼(2)は同時に設定可能です。 TM6OCに値を設定した時点にTM6BCが x'00' へ初期化され、カウントアップします。 TM6BCがTM6OCの設定値と一致すると、次のカウントクロックでタイマ6割込み要求フラグがセットさ れ、TM6BCの値は x'00' になり再度カウントアップします。 VIII - 10 8ビットフリーランタイマ機能の動作 第8章 タイムベース/8ビットフリーランタイマ機能 TM6MDレジスタのTM6CLRSフラグを"0"に設定するとTM6OCレジスタの書き換え毎にTM6BCを初 期化できますが、この状態ではタイマ6割込みが禁止されます。タイマ6割込みを使用する場 合は、TM6OCレジスタを書き換えた後でTM6CLRSフラグを"1"に再設定する必要があります。 タイマ6クロックソース選択で、タイムベースタイマの出力またはタイムベースタイマの同 期出力を選択するときは、タイムベースタイマのクロック設定を行ってください。 8ビットフリーランタイマ機能の動作 VIII - 11 第8章 タイムベース/8ビットフリーランタイマ機能 8-4 タイムベースタイマ機能の動作 8-4 タイムベースタイマ機能の動作 8-4-1 タイムベースタイマの動作 8-4-1 タイムベースタイマの動作 ■タイムベースタイマ動作(タイムベースタイマ) 選択したクロックソースと割込み発生周期により繰り返し割込みを発生させることができます。クロッ クソースとの組み合わせによる割込み発生周期を次表に示します。 表8-4-1 タイムベースタイマ割込み発生周期選択 選択クロックソース fosc fx 割込み発生周期 fosc X 1/2 7 6.4 µs fosc X 1/2 8 12.8 µs fosc X 1/2 9 25.6 µs fosc X 1/2 10 51.2 µs fosc X 1/2 13 409.6 µs fosc X 1/2 15 1.64 ms fx X 1/2 7 3.9 ms fx X 1/2 8 7.8 ms fx X 1/2 9 15.6 ms 10 31.2 ms fx × 1/2 fosc = 20 MHz fx = 32.768 kHz VIII - 12 タイムベースタイマ機能の動作 fx X 1/2 13 250 ms fx X 1/2 15 1 s 第8章 タイムベース/8ビットフリーランタイマ機能 ■タイマ動作のカウントタイミング(タイムベースタイマ) 選択したクロックソースをカウントクロックとしてカウンタがカウントアップします。 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 fosc MUX fx 1/2 15 13 1/2 10 9 8 7 1/2 1/2 1/2 1/2 図8-4-1 タイマ動作のカウントタイミング(タイムベースタイマ) 選択した割込み周期が経過すると、タイムベース割込み制御レジスタ(TBICR)の割込み要求フラグが セットされます。 クロックソース切り換え時に割込みが発生することがあります。クロックソース切り換えを 行ってから割込みを許可してください。 タイムベースタイマは動作を停止することはできません。 タイムベースタイマクリア制御レジスタ(TBCLR)に任意の値を書き込む動作により、初期化 を行うことができます。 タイムベースタイマ機能の動作 VIII - 13 第8章 タイムベース/8ビットフリーランタイマ機能 8-4-2 タイムベースタイマ動作の設定例 8-4-2 タイムベースタイマ動作の設定例 ■タイマ動作の設定例(タイムベースタイマ) タイムベースタイマを用いて、選択した割込み周期により、繰り返し割込みを発生させることができ ます。割込み発生周期をfosc×1/213(0.977 ms :fosc=8.38 MHz選択時)として割込みを発生させます。 以下に設定手順とその内容を示します。 内容 設定手順 (1) クロックソースの選択 (1) タイマ6モードレジスタ(TM6MD)のTM6CK0フラ TM6MD(x'3F6A') bp0 : TM6CK0 グにより、クロックソースにfoscを選択しま す。 = 0 (2) TM6MDレジスタのTM6IR2-0フラグにより、割込 (2) 割込み発生周期の選択 TM6MD(x'3F6A' ) bp6-4 :TM6IR2-0 = 100 (3) タイムベースタイマの初期化 TBCLR(x'3F6B') = x'00' み発生周期に、選択クロック×1/213 を選択し ます。 (3) タイムベースタイマクリア制御レジスタ (TBCLR)に適当な値を書き込みます。 これにより、タイムベースタイマが初期化さ れます。 (4) タイムベース割込み制御レジスタ(TBICR)の TBLV1-0フラグにより割込みレベルを設定し (4) 割込みレベルの設定 TBICR (x'3FF0') bp7-6 :TBLV1-0 = 01 ます。 割込み要求フラグが既にセットされてている ときは、要求フラグをクリアしてください。 【 第3章 3-1-4. 割込みフラグの設定】 (5) TBICRレジスタのTBIEフラグを"1"にして割込 みを許可します。 (5) 割込みの許可 TBICR (x'3FF0') bp1 :TBIE = 1 ※上記(1)∼(2)は同時に設定可能です。 選択した割込み発生周期が経過すると、タイムベース割込み制御レジスタ(TBICR)の割込み要求フラ グがセットされます。 VIII - 14 タイムベースタイマ機能の動作 第9章 ウオッチドッグタイマ機能 8 9 第9章 ウオッチドッグタイマ機能 9-1 ウオッチドッグタイマ機能の概要 9-1 ウオッチドッグタイマ機能の概要 本LSIは、ウオッチドッグタイマ機能を内蔵しています。ウオッチドッグタイマ機能は、プログラムの 暴走状態を検出することを目的として使用します。ウオッチドッグタイマ制御レジスタ(WDCTR)により 制御され、ウオッチドッグタイマのオーバフローが発生するとウオッチドッグ割込み(WDIRQ)が発生し ます。ウオッチドッグ割込みが2回連続して発生した場合には、ソフトウエアによる復帰が不可能な暴 走状態であると判断し、ハードウエアによる強制的なリセットがかかります。 9-1-1 ウオッチドッグタイマ機能ブロック図 9-1-1 ウオッチドッグタイマ機能ブロック図 ■ウオッチドッグタイマ機能ブロック図 NRST STOP writeWDCTR R 1/2 1/214 HALT fs (sysclk) DLYCTR ― ― DLYS0 DLYS1 BUZS0 BUZS1 BUZS2 BUZOE 0 7 WDCTR WDEN WDTS0 WDTS1 WDTC0 WDTC1 WDTC2 ― ― R 1/215 1/220 R S fs/214 fs/210 fs/26 fs/22 MUX fs/220 fs/218 fs/216 MUX internal reset release WDIRQ 0 7 図9-1-1 ウオッチドッグタイマ機能ブロック図 ウオッチドックタイマは、発振安定待ち時間をカウントするタイマと兼用になっており、リセット解 除時やSTOPモードからの復帰時以外では暴走検出タイマとして機能します。 リセットないしSTOPモードの状態でウオッチドッグタイマは初期化され、システムクロック(fs)をク ロックソースとして初期値(x'0000')からカウントを開始します。発振安定待ち時間の設定は、発振安 定待ち制御レジスタ(DLYCTR)で行います。発振安定待ち終了後は、ウオッチドッグタイマとして継続 してカウントを続けます。 【 第2章 2-7. リセット】 IX - 2 ウオッチドッグタイマ機能の概要 第9章 ウオッチドッグタイマ機能 9-2 ウオッチドッグタイマ制御レジスタ 9-2 ウオッチドッグタイマ制御レジスタ ウオッチドッグタイマ機能の制御は、ウオッチドッグタイマ制御レジスタ(WDCTR)で行います。 ■ウオッチドッグタイマ制御レジスタ(WDCTR) WDCTR 7 6 - - 5 4 3 2 WDTC2 WDTC1 WDTC0 WDTS1 1 0 WDTS0 WDEN (リセット時: - - 0 0 0 1 1 0 ) ウオッチドックタイマイネーブル WDEN 0 ウオッチドックタイマ停止 1 ウオッチドックタイマ動作 WDTS0 暴走検出周期設定 0 216システムクロック 1 1 X 218システムクロック 220システムクロック WDTC2 WDTC1 WDTS1 0 0 0 1 0 1 1 WDTC0 8 ウオッチドックタイマクリア可能下限値 0 無し 1 27システムクロック 0 29システムクロック 1 211システムクロック 0 213システムクロック 1 215システムクロック 0 217システムクロック 219システムクロック 1 図9-2-1 ウオッチドッグタイマ制御レジスタ(WDCTR:X'03F02'、R/W) ウオッチドッグタイマ制御レジスタ IX - 3 第9章 ウオッチドッグタイマ機能 9-3 ウオッチドッグタイマの動作 9-3 ウオッチドッグタイマの動作 9-3-1 ウオッチドッグタイマ機能の動作 9-3-1 ウオッチドッグタイマ機能の動作 ウオッチドッグタイマは、システムクロック(fs)をクロックソースとしてカウントします。ウオッチ ドッグタイマがオーバフローすると、ノンマスカブル割込み(NMI)としてウオッチドッグ割込み(WDIRQ) が発生します。リセット時には、ウオッチドッグタイマは停止していますが、一旦動作を許可すると、 リセット以外では停止することができません。ウオッチドッグタイマのクリアや暴走検出時間の設定 は、ウオッチドッグタイマ制御レジスタ(WDCTR)で行います。 本LSIのウオッチドッグタイマ機能は、ウオッチドックタイマのクリアが、短い周期で繰り返すような 暴走状態も検出することが可能です。設定時間(ウオッチドックタイマ・クリア可能下限値)より短 い周期で、ウオッチドッグタイマのクリアが発生した場合には暴走状態であると判断し、ウオッチドッ グ割込み(WDIRQ)を発生します。 ウオッチドッグ割込み(WDIRQ)が2回連続して発生した場合には、ソフトウエアによる復帰が不可能な 暴走状態であると判断し、ハードウエアによる強制的なリセットがかかります。 ウオッチドッグタイマは一旦動作を開始すると停止することはできません。 ■ウオッチドッグタイマ機能の使用方法 ウオッチドッグタイマ機能を使用する場合、ウオッチドッグタイマのオーバフローが発生しないよう にプログラム中で周期的にクリアします。マイコンが何らかの要因で暴走すると、プログラム実行が 正しく行われなくなり、ウオッチドッグタイマがオーバフローし、暴走状態が検出されます。 ウオッチドックタイマ機能のプログラミング作業は、一般的にプログラムデバックの最終段 階で行います。 ■暴走検出方法 ウオッチドッグタイマ機能は、プログラムが正しく動作しているときに、一定の周期でクリアされる ことを期待して動作させます。本LSIのウオッチドックタイマ機能は、以下の2種類の暴走検出方法を 持っています。 (1) ウオッチドッグタイマのオーバフローが発生した場合 (2) ウオッチドッグタイマのクリアが、ウオッチドッグタイマ制御レジスタ(WDCTR)で設定したウ オッチドッグタイマ・クリア可能下限値より短い周期で発生した場合 暴走が検出されると、ノンマスカブル割込み(NMI)として、ウオッチドッグ割込み(WDIRQ)を発生し ます。 IX - 4 ウオッチドッグタイマの動作 第9章 ウオッチドッグタイマ機能 ■ウオッチドッグタイマのクリア方法 ウオッチドッグタイマのクリアは、ウオッチドッグタイマ制御レジスタ(WDCTR)に書き込みを行うこと により可能です。レジスタに書き込む値には関係なく、ウオッチドッグタイマがクリアされます。値 を変更しないビットセット(BSET)命令等を使用することを推奨します。 ■暴走検出周期 暴走検出周期はシステムクロック(fs)とウオッチドッグタイマ制御レジスタ(WDCTR)のbp2,1(WDTS1-0) の内容により決定されます。この設定値までにウオッチドッグタイマのクリアが行われない場合は、 暴走状態と判断し、ノンマスカブル割込み(NMI)のウオッチドッグ割込み(WDIRQ)を発生します。 表9-3-1 暴走検出周期 WDTS1 WDTS0 暴走検出周期 16 X システムクロック 0 0 2 0 1 218 X システムクロック X 20 X システムクロック 1 2 8 システムクロックはCPUモード制御レジスタ(CPUM)の内容により決定されます。 【 第2章 2-5. クロック切り換え機能】 暴走検出周期は、一般的にプログラムのメインルーチンの実行時間から決定します。メインルーチン の実行時間をある自然数(1,2,・・・)で割った値より長い暴走検出周期を設定してください。メイン ルーチンには、ウオッチドッグタイマのクリアのコマンドを、その回数で等周期になるように挿入し ます。 ■ウオッチドッグタイマ・クリア可能下限値 ウオッチドッグタイマ・クリア可能下限値はウオッチドッグタイマ制御レジスタ(WDCTR)のbp5,4,3 (WDTC2,WDTC1,WDTC0)の内容により決定されます。 表9-3-2 ウオッチドッグタイマ・クリア可能下限値 WDTC2 WDTC1 WATC0 ウオッチドッグタイマクリア可能下限値 0 0 0 無し 0 0 1 27 X システムクロック 0 1 0 29 X システムクロック 0 1 1 211 X システムクロック 1 0 0 213 X システムクロック 1 0 1 215 X システムクロック 1 1 0 217 X システムクロック 1 1 1 219 X システムクロック ウオッチドッグタイマの動作 IX - 5 第9章 ウオッチドッグタイマ機能 ■ウオッチドッグタイマ機能とCPUモードの関係 本ウオッチドッグタイマ機能は、CPUモードと以下の関係になっています。 (1) NORMAL、IDLE、SLOWモード時は、システムクロックをカウントします。 (2) (3) NORMAL、IDLE、SLOWモード時の切換には関係なくカウントを継続します。 HALTモード時は、ウオッチドッグタイマは停止されます。 (4) (5) STOPモード時は、ウオッチドッグタイマは自動的にクリアされます。 STOPモード時にウオッチドッグ割込みが発生することはありません。 (6) リセット解除後またはSTOP復帰後は、発振安定待ち時間だけカウントが進んでいます。 STOPモードを使用するシステムでは、一般的にSTOPモードになる/ならないがプログラム実行上で分 岐しますが、この場合、ウオッチドッグタイマのカウント値が異なってきますので、特にウオッチドッ グタイマ・クリア可能下限値の設定によって、ウオッチドッグ割込みがかからないように注意する必 要があります。 IX - 6 ウオッチドッグタイマの動作 第9章 ウオッチドッグタイマ機能 9-3-2 ウオッチドッグタイマの設定例 9-3-2 ウオッチドッグタイマの設定例 ウオッチドッグタイマ機能を用いて暴走検出をします。この例では、暴走検出周期を218×システムク ロック、ウオッチドッグタイマ・クリア可能下限値を29×システムクロックに設定します。 以下に、設定手順とその内容を示します。 ■初期設定プログラム(ウオッチドッグタイマ機能の初期設定例) 設定手順 内容 (1) ウオッチドッグタイマ制御レジスタ(WDCTR) (1) 暴走検出周期の設定 WDCTR (x'03F02') bp2-1 : WDTS1-0 = 01 (2) WDCTRレジスタのWDTC2-0フラグを"010"にして (2) クリア可能下限値の設定 WDCTR (x'03F02') bp5-3 : WDTC2-0 = 010 (3) ウオッチドッグタイマの動作開始 WDCTR (x'03F02') bp0 : WDEN のWDTS1- 0フラグを"01"にして暴走検出周期 に218×システムクロックを選択します。 クリア可能下限値に29×システムクロックを選 択します。 (3) WDCTRレジスタのWDENフラグを"1"にして ウオッチドッグタイマの動作を開始します。 = 1 WDENフラグを "1" に設定するコマンドは初期設定の最後にしてください。 動作を開始した後にウオッチドッグ制御レジスタ(WDCTR)を変更すると、クリア可能下限値 の設定によってはウオッチドッグ割込みが発生します。 ■プログラムのメインルーチン(ウオッチドッグタイマを周期的にクリアする設定例) 設定手順 (1) ウオッチドッグタイマの周期的クリア WDCTR (x'03F02') へのWrite動作 (c.f.) BSET (WDCTR) WDEN (bp0 :WDEN = 1) 内容 (1) ウオッチドッグタイマを29×システムクロック 以上、218×システムクロック以下の周期で クリアします。 ウオッチドッグタイマのクリアはメインルー チン内で等周期でかつ設定した周期になるよ うに挿入します。 クリアにはビットセット(BSET)命令等の値の 変化しない命令を推奨します。 ウオッチドッグタイマの動作 IX - 7 8 第9章 ウオッチドッグタイマ機能 ■割込み処理ルーチンの設定 設定手順 (1) ウオッチドッグ割込み処理 NMICR (x'03FE1') TBNZ (NMICR)WDIR,WDPRO . . . . . . . . . . . . . . . . . . . . . 内容 (1) ウオッチドッグタイマがオーバフローすると ノンマスカブル割込みが発生します。 割込み処理ルーチンでノンマスカブル割込み 制御レジスタ(NMICR)のWDIRフラグが "1" で あることを確認し、システムに適した処理を 行ってください。 WDOG 割込みがかかった直前の動作は保証できません。従って、WDOG割込みが発生した場合 はシステムを初期化するプログラムを実行して下さい。 IX - 8 ウオッチドッグタイマの動作 第10章 ブザー機能 9 10 第10章 ブザー機能 10-1 ブザー機能の概要 10-1 ブザー機能の概要 本LSIは、ブザー機能を内蔵しています。高速発振クロックfoscの1/29∼1/2 14分周または低速発振ク ロックfxの1/23∼1/24分周した方形波を出力できます。 10-1-1 ブザー機能ブロック図 10-1-1 ブザー機能ブロック図 ■ブザー機能ブロック図 fosc MUX fx DLYCTR ― ― DLYS0 DLYS1 BUZS0 BUZS1 BUZS2 BUZOE 0 R 1/2 1/214 fosc/214 fosc/213 fosc/212 fosc/211 fosc/210 fosc/29 fx/24 fx/23 MUX 7 図10-1-1 ブザー機能ブロック図 X - 2 ブザー機能の概要 BUZZER 第10章 ブザー機能 10-2 ブザー機能制御レジスタ 10-2 ブザー機能制御レジスタ ■発振安定待ち制御レジスタ 7 DLYCTR 6 5 4 3 2 BUZOE BUZS2 BUZS1 BUZS0 DLYS1 DLYS0 1 0 - - (リセット時: 0 0 0 0 0 1 - - ) DLYS1 DLYS0 1 fs/214 fs/210 0 1 fs/26 fs/22 0 0 1 発振安定待ち周期選択 *リセット解除後の発振安定待ち周期は、fs/210になります。 BUZS2 BUZS1 0 0 1 0 1 1 BUZOE BUZS0 ブザー出力周波数選択 0 fosc/214 1 fosc/213 0 fosc/212 1 fosc/211 0 fosc/210 1 fosc/29 0 fx/24 fx/23 1 P06出力選択 0 P06ポート出力 1 P06ブザー出力 図10-2-1 発振安定待ち制御レジスタ(DLYCTR:X'03F03'、R/W) ブザー機能制御レジスタ X - 3 第10章 ブザー機能 10-3 ブザー機能の動作 10-3 ブザー機能の動作 10-3-1 ブザー機能の動作 10-3-1 ブザー機能の動作 ■ブザー機能の動作 ブザー機能は、高速発振クロック(fosc)の1/29∼1/214分周または低速発振クロック(fx)の1/23,1/24分 周の方形波を出力します。ブザー出力の周波数は、発振安定待ち制御レジスタ(DLYCTR)のBUZS2,1,0フ ラグで設定できます。ブザー出力のON/OFFは、発振安定待ち制御レジスタ(DLYCTR)のBUZOEフラグで制 御します。 ■ブザー出力周波数 ブザー出力の周波数は、高速発振クロック(fosc)または低速発振クロック(fx)の周波数と発振安定待 ち制御レジスタ(DLYCTR)のビット6,5,4(BUZS2,BUZS1,BUZS0)の内容により決定されます。 表10-3-1 ブザー出力周波数 fosc fx BUZS2 BUZS1 BUZS0 ブザー出力周波数 20 MHz − 0 0 0 1.22 kHz 20 MHz − 0 0 1 2.44 kHz 20 MHz − 0 1 0 4.88 kHz 8.38 MHz − 0 1 0 2.05 kHz 8.38 MHz − 0 1 1 4.09 kHz 2 MHz − 1 0 0 1.95 kHz 2 MHz − 1 0 1 3.91 kHz − 32 kHz 1 1 0 2 kHz − 32 kHz 1 1 1 4 kHz X - 4 ブザー機能の動作 第10章 ブザー機能 10-3-2 ブザー機能の設定例 10-3-2 ブザー機能の設定例 ブザー機能を用いて2 kHzの方形波をP06端子から出力します。高速発振クロック(fosc)として、8.38 MHzを使用しているものとします。 以下に、設定手順とその内容を示します。 設定手順 内容 (1) 発振安定待ち制御レジスタ(DLYCTR)の (1) ブザー周波数の設定 DLYCTR (x'3F03') bp6-4 : BUZS2-0 = 010 BUZS2-0フラグを"010"にして、ブザー周波数 fosc/212を選択します。高速発振クロックfosc が8.38 MHzのとき、ブザー出力周波数は 2.05 kHzになります。 (2) P06端子の出力データP0OUT6を"0"に設定し、 (2) P06端子の設定 P0OUT (x'3F10') bp6 : P0OUT6 P0DIR (x'3F30') bp6 : P0DIR6 = 0 P06端子の方向制御P0DIR6を"1"に設定し、 出力モードにします。 = 1 ポート06端子からローレベルが出力されま す。 (3) ブザー出力ON DLYCTR (x'3F03') bp7 : BUZOE (3) 発振安定待ちレジスタ(DLYCTR)のBUZOEフラグ を"1"にセットすることにより、P06端子から = 1 (4) 発振安定待ちレジスタ(DLYCTR)のBUZOEフラグ (4) ブザー出力OFF DLYCTR (x'3F03') bp7 : BUZOE 設定したブザー出力周波数の方形波が出力 されます。 = 0 を"0"にクリアすることにより、P06端子の出 力がローレベルになります。 ブザー機能の動作 X - 5 第11章 シリアルインタフェース0 10 10 11 第11章 シリアルインタフェース0 11-1 シリアルインタフェース 0機能の概要 11-1 シリアルインタフェース0 本LSIのシリアルインタフェース0は、クロック同期式とUART(全二重)の兼用となっています。 11-1-1 シリアルインタフェース 0機能一覧 11-1-1 シリアルインタフェース シリアルインタフェース0 シリアルインタフェース0の機能を次表に示します。 表11-1-1 シリアルインタフェース0機能一覧 通信形態 クロック同期式 UART(全二重) SC0TIRQ SC0TIRQ(送信完了時) SC0RIRQ(受信完了時) SBO0,SBI0,SBT0 TXD0,RXD0 3線式による通信 ○ − 2線式による通信 ○(SBO0,SBT0) ○ 1線式による通信 − ○(TXD0) 転送ビット数の指定/ フレーム選択 1∼8ビット 7ビット+1STOP 7ビット+2STOP 8ビット+1STOP 8ビット+2STOP パリティビット有無選択 − ○ パリティビット制御 − 0パリティ 1パリティ 奇数パリティ 偶数パリティ スタートコンディション 有無選択 ○ "有"のみ使用可 転送先頭ビットの指定 ○ ○ 入力エッジ/出力エッジの指定 ○ − 連続動作 ○ ○ 割込み 使用端子 内部クロック1/8分周 クロックソース 最大転送レート ○ 1/8分周のみ使用可 fosc/2 fosc/4 fosc/16 fosc/64 fs/2 fs/4 タイマ3出力 外部クロック fosc/2 fosc/4 fosc/16 fosc/64 fs/2 fs/4 タイマ3出力 2.5 MHz 300 kbps (標準 300 bps∼38.4 kbps) (タイマ出力) fosc:マシンクロック(高速動作用発振) fs :システムクロック【 第2章 2-5 クロック切り換え機能】 XI - 2 シリアルインタフェース0機能の概要 SBT0/P02 M U X P O L SC0CE1 sc0psc (プリスケーラ出力) 1/8 クロック 制御回路 MUX SC0STE SC0SBIS SC0CKM SBOIOM SC0SBTS SBO0/P00 SBI0/P01 M U X M U X SC0MST SC0CKM SC0SBOS SC0SBIS SC0SBTS SC0IOM SC0MD1 SC0CMD 7 0 一致検出 送信ビットカウンタ 受信ビットカウンタ 一致検出 BUSY 発生回路 SC0NPE SC0PM0 SC0PM1 3 SC0FM0 SC0FM1 受信シフトレジスタ SC0RDB 受信バッファ RXBUF0 } スタートコンディション 検出回路 シリアルインタフェース0機能の概要 SC0CE1 Reserved SC0STE SC0DIR Reserved SC0LNG2 SC0MD0 SC0LNG0 SC0LNG1 7 0 IRQ 制御回路 オーバラン検出 ブレイク状態受信モニタ スットップビット検出回路 パリティビット制御回路 SC0CMD SC0DIR スタートコンディション 発生回路 SC0STE SC0BRKE SC0FM0 SC0FM1 送信シフトレジスタ SC0TRB 送信バッファ TXBUF0 SWAP MSB<->LSB } } Read/Write SC0FM1 SC0PM0 SC0PM1 SC0FM0 SC0NPE SC0MD2 SC0BRKE SC0BRKF 7 0 SC0RIRQ SC0TIRQ SC0TBSY SC0REMP SC0TEMP SC0RBSY SC0PEK SC0FEF SC0ERE SC0ORE SC0STR SBO0/P00 SC0SBOS 7 0 第11章 シリアルインタフェース0 11-1-2 シリアルインタフェース 0ブロック図 11-1-2 シリアルインタフェース シリアルインタフェース0 ■シリアルインタフェース0ブロック図 図11-1-1 シリアルインタフェース0ブロック図 XI - 3 第11章 シリアルインタフェース0 11-2 シリアルインタフェース 0制御レジスタ 11-2 シリアルインタフェース シリアルインタフェース0 11-2-1 シリアルインタフェース 0制御レジスタ一覧 11-2-1 シリアルインタフェース シリアルインタフェース0 シリアルインタフェース0を制御するレジスタの一覧を次表に示します。 表11-2-1 シリアルインタフェース0制御レジスタ一覧表 レジスタ略称 アドレス R/W レジスタ名称 参照ページ SC0MD0 X'03F90' R/W シリアルインタフェース0モードレジスタ0 XI - 6 SC0MD1 X'03F91' R/W シリアルインタフェース0モードレジスタ1 XI - 7 SC0MD2 X'03F92' R/W シリアルインタフェース0モードレジスタ2 XI - 8 SC0STR X'03F93' R シリアルインタフェース0状態レジスタ XI - 9 RXBUF0 X'03F94' R シリアルインタフェース0受信データバッファ XI - 5 TXBUF0 X'03F95' R/W シリアルインタフェース0送信データバッファ XI - 5 シリアル0 SC0ODC X'03F96' R/W シリアルインタフェース0ポート制御レジスタ XI - 10 SC0CKS X'03F97' R/W シリアルインタフェース0転送クロック選択レジスタ XI - 11 PSCMD X'03F6F' R/W プリスケーラ制御レジスタ V - 6 P0DIR X'03F30' R/W ポート0方向制御レジスタ IV - 8 P0PLU X'03F40' R/W ポート0プルアップ制御レジスタ IV - 8 SC0RICR X'03FF5' R/W シリアル0UART受信割込み制御レジスタ III - 30 SC0TICR X'03FF6' R/W シリアル0割込み制御レジスタ III - 31 R/W:読み出し/書き込み共に可能です。 R :読み出し専用レジスタです。 XI - 4 シリアルインタフェース0制御レジスタ 第11章 シリアルインタフェース0 11-2-2 シリアルインタフェース 0データバッファレジスタ 11-2-2 シリアルインタフェース シリアルインタフェース0 シリアルインタフェース0は、8ビットのデータバッファレジスタを送受信に各1本備えています。 ■シリアルインタフェース0受信データバッファ(RXBUF0) 7 RXBUF0 6 5 4 3 2 1 0 RXBUF07 RXBUF06 RXBUF05 RXBUF04 RXBUF03 RXBUF02 RXBUF01 RXBUF00 (リセット時:XXXXXXXX) 図11-2-1 シリアルインタフェース0受信データバッファ(RXBUF0:X'03F94'、R) ■シリアルインタフェース0送信データバッファ(TXBUF0) 7 TXBUF0 6 5 4 3 2 1 0 TXBUF07 TXBUF06 TXBUF05 TXBUF04 TXBUF03 TXBUF02 TXBUF01 TXBUF00 (リセット時:XXXXXXXX) 図11-2-2 シリアルインタフェース0送信データバッファ(TXBUF0:X'03F95'、R/W) シリアルインタフェース0制御レジスタ XI - 5 第11章 シリアルインタフェース0 11-2-3 シリアルインタフェース 0モードレジスタ 11-2-3 シリアルインタフェース シリアルインタフェース0 ■シリアルインタフェース0モードレジスタ0(SC0MD0) 7 SC0MD0 6 5 4 3 2 1 0 (リセット時:0 0 0 0 0 1 1 1 ) SC0CE1 RESERVED RESERVED SC0DIR SC0STE SC0LNG2 SC0LNG1 SC0LNG0 同期式シリアル転送 SC0LNG2 SC0LNG1 SC0LNG0 ビット数 0 0 1 0 1 1 SC0STE 0 1bit 1 2bit 0 3bit 1 4bit 0 5bit 1 6bit 0 1 8bit スタートコンディション選択 0 無 1 有 SC0DIR 7bit 転送ビット指定 0 MSB先頭 1 LSB先頭 RESERVED 必ず"0"に設定してください。 RESERVED 必ず"0"に設定してください。 送信データ出力 エッジ 受信データ入力 エッジ 0 立ち下がり 立ち上がり 1 立ち上がり 立ち下がり SC0CE1 図11-2-3 シリアルインタフェース0モードレジスタ0(SC0MD0:X'03F90'、R/W) XI - 6 シリアルインタフェース0制御レジスタ 第11章 シリアルインタフェース0 ■シリアルインタフェース0モードレジスタ1(SC0MD1) 7 SC0MD1 6 5 4 3 2 SC0IOM SC0SBTS SC0SBIS SC0SBOS SC0CKM SC0MST 1 0 - SC0CMD (リセット時:0 0 0 0 0 0 - 0 ) SC0CMD 同期式シリアル/全2重UART選択 0 同期式シリアル 1 全2重UART SC0MST クロックマスタ/スレーブ選択 0 クロックスレーブ 1 クロックマスタ SC0CKM 転送クロックの1/8分周選択 0 1/8分周しない 1 1/8分周する SC0SBOS SBO0(TXD0)端子の機能選択 0 ポート 1 シリアルデータ出力 SC0SBIS シリアル入力制御 0 ”1”入力 1 シリアル入力 SC0SBTS SBT0端子の機能選択 0 ポート 1 転送クロック入出力 SC0IOM シリアルデータ入力選択 0 SBI0(RXD0)からデータ入力 1 SBO0(TXD0)からデータ入力 図11-2-4 シリアルインタフェース0モードレジスタ1(SC0MD1:X'03F91'、R/W) シリアルインタフェース0制御レジスタ XI - 7 第11章 シリアルインタフェース0 ■シリアルインタフェース0モードレジスタ2(SC0MD2) SC0BRKFフラグは、読み出し専用です。 7 SC0MD2 6 5 4 3 SC0FM1 SC0FM0 SC0PM1 SC0PM0 SC0NPE 2 - 1 0 (リセット時:0 0 0 0 0 - 0 0 ) SC0BRKF SC0BRKE ブレーク状態送出制御 SC0BRKE 0 データ送信 1 ブレーク送信 SC0BRKF ブレーク状態受信モニタ (※R) 0 データ受信 1 ブレーク受信 ※ Readアクセスのみ可 パリティイネーブル SC0NPE 0 パリティ有 1 パリティ無 SC0PM1 SC0PM0 0 1 送信時 受信時 0 ”0”付加 ”0”チェック 1 ”1”チェック 奇数パリティ付加 奇数パリティ チェック 偶数パリティ 偶数パリティ付加 チェック 0 1 SC0FM1 SC0FMO 0 1 付加ビット指定 ”1”付加 フレームモード指定 0 データ7ビット+ストップ1ビット 1 データ7ビット+ストップ2ビット 0 データ8ビット+ストップ1ビット 1 データ8ビット+ストップ2ビット 図11-2-5 シリアルインタフェース0モードレジスタ2(SC0MD2:X'03F92'、R/W) XI - 8 シリアルインタフェース0制御レジスタ 第11章 シリアルインタフェース0 ■シリアルインタフェース0状態レジスタ(SC0STR) 全フラグ読み出し専用です。 7 SC0STR 6 5 4 3 2 1 0 SC0TBSY SC0RBSY SC0TEMP SC0REMP SC0FEF SC0PEK SC0ORE SC0ERE (リセット時:0 0 0 0 0 0 0 0 ) SC0ERE エラーモニタフラグ 0 エラー無 1 エラー有 SC0ORE オーバランエラー検出 0 エラー無 1 エラー有 SC0PEK パリティエラー検出 0 エラー無 1 エラー有 SC0FEF フレームエラー検出 0 エラー無 1 エラー有 SC0REMP 受信バッファエンプティフラグ 0 エンプティ 1 フル SC0TEMP 送信バッファエンプティフラグ 0 エンプティ 1 フル SC0RBSY シリアルバス使用状況 0 シリアル受信中以外 1 シリアル受信中 SC0TBSY シリアルバス使用状況 0 シリアル送信中以外 1 シリアル送信中 図11-2-6 シリアルインタフェース0状態レジスタ(SC0STR:X'03F93'、R) シリアルインタフェース0制御レジスタ XI - 9 第11章 シリアルインタフェース0 ■シリアルインタフェース0ポート制御レジスタ(SC0ODC) SC0ODC 7 6 5 4 3 2 - - - - - - 1 0 SC0ODC1 SC0ODC0 (リセット時: - - - - - - 0 0 ) SC0ODC0 P00 N chオープンドレイン制御 0 プッシュプル 1 N chオープンドレイン SC0ODC1 P02 N chオープンドレイン制御 0 プッシュプル 1 N chオープンドレイン 図11-2-7 シリアルインタフェース0ポート制御レジスタ(SC0ODC:X'03F96'、R/W) XI - 10 シリアルインタフェース0制御レジスタ 第11章 シリアルインタフェース0 ■シリアルインタフェース0転送クロック選択レジスタ(SC0CKS) SC0CKS 7 6 5 4 - - - - 3 2 1 0 (リセット時: - - - - X X X X ) SC0TMSEL SC0PSC2 SC0PSC1 SC0PSC0 SC0TMSEL SC0PSC2 SC0PSC1 SC0PSC0 選択クロック 0 0 - fosc/2 1 fosc/4 0 fosc/16 1 fosc/64 0 0 1 fs/2 fs/4 1 1 タイマ3出力 1 1 0 0 図11-2-8 シリアルインタフェース0転送クロック選択レジスタ(SC0CKS:X'03F97'、R/W) シリアルインタフェース0制御レジスタ XI - 11 第11章 シリアルインタフェース0 11-3 シリアルインタフェース 0の動作 11-3 シリアルインタフェース シリアルインタフェース0 シリアルインタフェース0の機能には、クロック同期式、全二重UARTシリアルインタフェースがありま す。 11-3-1 クロック同期式シリアルインタフェースの動作 11-3-1 クロック同期式シリアルインタフェースの動作 ■通信の起動要因 通信の起動要因を次表に示します。マスター通信の場合、送信データバッファTXBUF0にデータをセッ トするか、もしくはスタートコンディションを受けることで転送クロックを発生します。通信中以外 は、ノイズ等による誤動作防止のため、シリアル内部でSBT0端子からの信号の入力をマスクしていま す。このマスクは、TXBUF0にデータをセットする(TXBUF0レジスタにアクセスする)か、もしくはスター トコンディションをデータ入力端子に入力することで自動的に解除されます。したがってスレーブ通 信の場合、TXBUF0にデータをセットするか、もしくはスタートコンディションを入力してから外部ク ロックを入力してください。 表11-3-1 同期式シリアルインタフェース起動要因 起動要因 送信 マスタ通信 送信データセット 受信 ダミーデータセット スタートコンディション入力 スレーブ通信 送信データセット後 クロック入力 ダミーデータセット後 クロック入力 スタートコンディション入力後 クロック入力 ■転送ビット数の設定 転送ビット数は、1ビット∼8ビットが設定できます。SC0MD0レジスタのSC0LNG2∼0フラグ(リセット 時:111)により設定してください。SC0LNG2∼0フラグは、再設定するまで前の設定値が保持されます。 通信中以外は、ノイズ等による誤動作防止のためSBT0端子はシリアル内部でマスクされてい ます。スレーブ通信の場合は、必ずデータをTXBUF0にセットするかスタートコンディション を入力してからSBT0端子にクロックを入力してください。 XI - 12 シリアルインタフェース0の動作 第11章 シリアルインタフェース0 ■スタートコンディションの設定 スタートコンディションの有無は、SC0MD0レジスタのSC0STEフラグにより設定します。スタートコン ディションありを選択した場合、通信中にスタートコンディションが入力されると、ビットカウンター がクリアされ、通信が再起動されます。 スタートコンディションは、SC0MD0レジスタのSC0CE1フラグを"0"にすると、クロックライン(SBT0端 子)が"H"のときにデータライン(SBI0端子(3線式)もしくはSBO0端子(2線式))が"H"から"L"に変化する と認識されます。また、SC0CE1フラグを"1"にすると、クロックライン(SBT0端子)が"L"のときにデー タライン(SBI0端子(3線式)もしくはSBO0端子(2線式))が"L"から"H"に変化すると認識されます。 スタートコンディションの設定を変更する場合は、SC0MD1レジスタのSC0SBOSフラグとSC0SBISフラグ をそれぞれ"0"に設定してから行ってください。 ■転送先頭ビットの設定 転送時の先頭ビットをSC0MD0レジスタのSC0DIRフラグにより設定できます。MSBを先頭にするかLSBを 先頭にするかが選択できます。 ■送信データのバッファ 送信データバッファTXBUF0は、内部シフトレジスタにロードするデータを格納しておくための予備バッ ファです。送信するデータは、送信データバッファTXBUF0に設定してください。内部シフトレジスタ にデータが自動的にロードされます。内部シフトレジスタへの1回目のデータロードは、TXBUF0への データセットと同時に行われます。 ■受信データのバッファ 受信データバッファRXBUF0は、内部シフトレジスタで受信したデータを退避するための予備バッファ です。通信終了割込みSC0TIRQ発生後、内部シフトレジスタに格納されているデータは、自動的に受信 データバッファRXBUF0に格納されます。RXBUF0に格納できるデータ量は1バイトです。RXBUF0は通信終 了毎に上書きされるので、次の受信完了までにRXBUF0のデータを読み出してください。また、SC0TIRQ 発生と同時に受信バッファエンプティフラグSC0REMPが"1"にセットされます。SC0REMPは、RXBUF0を読 み出すと"0"にクリアされます。 通信中にスタートコンディションが入力され再起動がかかった場合、送信データは無効とな ります。送信をやり直したいときは、再度送信データをTXBUF0に設定してください。 スタートコンディション切り換えは、SC0MD1レジスタのSC0SBOSとSC0SBISフラグをともに "0"にしてから行ってください。"0"でない場合、切り換えは無効となります。 RXBUF0は、通信終了毎に上書きされます。連続受信の場合は、次の受信完了までにRXBUF0の データを読み出してください。 シリアルインタフェース0の動作 XI - 13 第11章 シリアルインタフェース0 ■送信ビット数と転送先頭ビットの関係 転送ビット数が1∼7ビットのときは、転送先頭ビット指定により送信データバッファTXBUF0へのデー タ格納方法が異なります。MSB先頭のときは、TXBUF0の上位側のビットを使用するように格納してくだ さい。転送ビット数が6ビットのとき、図11-3-1で示すようにデータ"A"∼"F"をTXBUF0のbp2∼7に格納 すると、"F"から"A"の順に転送されます。LSB先頭のときは、TXBUF0の下位側のビットを使用するよう に格納してください。転送ビット数が6ビットのとき、図11-3-2で示すようにデータ"A"∼"F"をTXBUF0 のbp0∼5に格納すると、"A"から"F"の順に転送されます。 TXBUF0 7 6 5 4 3 2 F E D C B A 1 0 図11-3-1 送信ビット数と転送先頭ビットの関係(MSB先頭時) 7 6 TXBUF0 5 4 3 2 1 0 F E D C B A 図11-3-2 送信ビット数と転送先頭ビットの関係(LSB先頭時) ■受信ビット数と転送先頭ビットの関係 転送ビット数が1∼7ビットのときは、転送先頭ビット指定により受信データバッファRXBUF0へのデー タ格納方法が異なります。MSB先頭のときは、RXBUF0の下位側のビットに格納されます。転送ビット数 が6ビットのとき、図11-3-3で示すようにデータ"A"∼"F"が"F"から"A"の順でRXBUF0のbp0∼5に格納さ れます。LSB先頭のときは、RXBUF0の上位側のビットに格納されます。転送ビット数が6ビットのとき、 図11-3-4で示すようにデータ"A"∼"F"が"A"から"F"の順でRXBUF0のbp2∼7に格納されます。 7 6 RXBUF0 5 4 3 2 1 0 F E D C B A 図11-3-3 受信ビット数と転送先頭ビットの関係(MSB先頭時) RXBUF0 7 6 5 4 3 2 F E D C B A 1 0 図11-3-4 受信ビット数と転送先頭ビットの関係(LSB先頭時) XI - 14 シリアルインタフェース0の動作 第11章 シリアルインタフェース0 ■連続通信 本シリアルは連続転送機能を備えています。送信中に、通信データバッファTXBUF0にデータを設定す ると、送信バッファエンプティフラグSC0TEMPがセットされ自動的に連続して通信します。TXBUF0への データ設定は、前のデータ設定から通信終了割込みSC0TIRQが発生するまでの間に行ってください。マ スタ通信時の場合、SC0TIRQ発生から次の転送クロック出力までの通信ブランクは3転送クロック分と なります。 ■入力エッジ/出力エッジの設定 送信データの出力エッジ、受信データの入力エッジは、SC0MD0レジスタのSC0CE1フラグにより設定し ます。送信データは、SC0CE1フラグ="0"のときクロックの立ち下がりエッジに同期して出力され、 SC0CE1フラグ="1"のときクロックの立ち上がりエッジに同期して出力されます。受信データは、 SC0CE1フラグ="0"のときクロックの立ち上がりエッジに同期して取り込まれ、SC0CE1フラグ="1"の ときはクロックの立ち下がりエッジに同期して取り込まれます。 表11-3-2 送受信データの入力エッジと出力エッジ SC0CE1 送信データ出力エッジ 受信データ入力エッジ 0 1 シリアルインタフェース0の動作 XI - 15 第11章 シリアルインタフェース0 ■クロックの設定 クロックソースは、SC0CKSレジスタにより専用プリスケーラおよびタイマの出力から選択します。専 用プリスケーラは、PSCMD(X'03F6F')レジスタにより"プリスケーラ動作"を選択すると動作を開始しま す。SC0MD1レジスタのSC0MSTフラグにより内部クロック(クロックマスタ)、もしくは外部クロック(ク ロックスレーブ)が選択できます。外部クロックを選択した場合でも、クロック周期が外部クロックを 越えない同程度の内部クロックをSC0CKSレジスタにより設定してください。これは、内部クロックに より割込みフラグSC0TIRQを発生しているためです。SC0CKSレジスタにより設定できる内部クロック ソースを次表に示します。また、SC0MD1レジスタのSC0CKMフラグにより内部クロックを更に1/8分周す ることが可能です。 表11-3-3 同期式シリアルインタフェース内部クロックソース一覧表 fosc/2 fosc/4 fosc/16 内部クロック fosc/64 fs/2 fs/4 タイマ3出力 ■データ入力端子の設定 3線式(クロック端子(SBT0端子)、データ出力端子(SBO0端子)、データ入力端子(SBI0端子))で通信する モードと2線式(クロック端子(SBT0端子)、データ入出力端子(SBO0端子))で通信するモードが選択でき ます。SBI0端子は、シリアルデータの入力にのみ使用できます。SBO0端子は、シリアルデータの入力 もしくは出力の選択が可能です。シリアルデータをSBI0端子とSBO0端子のどちらから入力するかの指 定は、SC0MD1レジスタのSC0IOMフラグにより選択できます。"SBO0端子からデータ入力"を選択した場 合は2線式の通信となるので、送信と受信の切り換えは、P0DIRレジスタのP0DIR0フラグによりSBO0端 子の方向制御をすることで行います。このとき、SBI0端子は使用しないので汎用ポートとして使用で きます。 転送速度は、最大2.5 MHzとしてください。転送クロックが2.5 MHz以上の場合、送信デー タが正常に送出できない場合があります。 受信の場合、SC0MD1レジスタのSC0IOMを"1"に設定して"SBO0端子からシリアルデータ入力" を選択すると、SBI0端子は汎用ポートとして使用できます。 XI - 16 シリアルインタフェース0の動作 第11章 シリアルインタフェース0 ■受信バッファエンプティフラグの動作 受信完了(転送クロックの最終データ受信エッジ入力)後、自動的に内部シフトレジスタから受信デー タバッファRXBUF0にデータが格納されます。RXBUF0にデータが格納されると、SC0STRレジスタの受信 バッファエンプティフラグSC0REMPが"1"にセットされます。これは受信データの読み出し待ち状態で あることを示します。SC0REMPは、RXBUF0のデータを読み出すことにより"0"にクリアされます。 ■送信バッファエンプティフラグの動作 通信中(TXBUF0にデータをセットしてから通信終了割込みSC0IRQが発生するまでの間)に再度TXBUF0に データをセットすると、SC0STRレジスタの送信バッファエンプティフラグSC0TEMPが"1"にセットされ ます。これは、次の送信データがロード待ち状態であることを示します。SC0TIRQの発生によりTXBUF0 から内部シフトレジスタにデータがロードされ、またSC0TEMPが"0"にクリアされると同時に、自動的 に次の転送が開始されます。 ■オーバランエラーとエラーモニタフラグの動作 受信完了後、受信データバッファRXBUF0のデータを読み出す前に次のデータを受信完了した場合はオー バランエラーとなり、SC0STRレジスタのSC0OREフラグが"1"にセットされます。また同時にエラーモニ タフラグSC0EREがセットされ、受信にエラーがあることを示します。SC0OREフラグは、RXBUF0のデー タを読み出さない限り状態が保持されす。SC0EREは、SC0OREフラグのクリアとともにクリアされます。 これらのエラーフラグは通信動作に影響しません。 ■受信BUSYフラグの動作 TXBUF0にデータをセットするかもしくはスタートコンディションが認識されたときにSC0MD1レジスタ のSC0SBISフラグが"1"であれば、SC0STRレジスタのSC0RBSYフラグがセットされます。通信終了割込み SC0TIRQの発生により"0"にクリアされます。また、連続通信中は、SC0RBSYフラグのセット状態が保持 されます。通信終了割込みSC0TIRQが発生したときに送信バッファエンプティフラグSC0TEMPが"0"であ れば、SC0RBSYが"0"にクリアされます。通信中にSC0SBISフラグを"0"にした場合、SC0RBSYフラグは "0"にリセットされます。 ■送信BUSYフラグの動作 TXBUF0にデータをセットするかもしくはスタートコンディションが認識されたときにSC0MD1レジスタ のSC0SBOSフラグが"1"であれば、SC0STRレジスタのSC0TBSYフラグがセットされます。通信終了割込み SC0TIRQの発生により"0"にクリアされます。また、連続通信中は、SC0TBSYフラグのセット状態が保持 されます。通信終了割込みSC0TIRQが発生したときに送信バッファエンプティフラグSC0TEMPが"0"であ れば、SC0TBSYが"0"にクリアされます。通信中にSC0SBOSフラグを"0"にした場合、SC0TBSYフラグは "0"にリセットされます。 シリアルインタフェース0の動作 XI - 17 第11章 シリアルインタフェース0 ■通信の強制リセット機能 本シリアルインタフェースは、異常動作に備えて強制リセット機能を内蔵しています。強制リセット は、SC0MD1レジスタのSC0SBOSフラグとSC0SBI0Sフラグをともに"0"(SBO0端子機能:ポート、入力 データ:"1"入力)に設定することで行えます。 強制リセットした場合、ステータスレジスタ(SC0MD2レジスタのSC0BRKFフラグ、SC0STRレジスタの全 フラグ)はリセット時の値に初期化されますが、制御レジスタの設定値は保持されます。 ■転送データの最終ビット 送信時の最終ビットのデータ出力保持期間、および受信時の最終ビットの必要最小データ入力期間は 以下の通りです。最終ビットのデータ出力保持期間以降は、"H"が出力されます。 表11-3-4 転送データの最終ビットデータ長 送信時 最終ビットデータ保持期間 マスタ時 1ビットデータ長 スレーブ時 1ビットデータ長 × 1∼1.5 受信時 最終ビットデータ入力期間 1ビットデータ長(最小) ■その他制御フラグの設定 下記フラグは、クロック同期式通信には使用しないので、設定およびモニタする必要はありません。 表11-3-5 その他制御フラグ レジスタ名 SC0MD2 SC0STR XI - 18 シリアルインタフェース0の動作 フラグ名 内容 SC0BRKF ブレーク状態受信モニタ SC0NPE パリティイネーブル SC0PM1∼0 付加ビット指定 SC0FM1∼0 フレームモード指定 SC0PEK パリティエラー検出 SC0FEF フレームエラー検出 第11章 シリアルインタフェース0 ■送信タイミング スレーブ時 マスタ時 Tmax=2.5T Tmax=2T T クロック (SBT0端子) 出力端子 (SBO0端子) 0 転送ビットカウンタ 1 2 3 4 5 6 7 SC0TBSY ▲ (TXBUF0にデータセット) 割込み (SC0TIRQ) 図11-3-5 送信タイミング(立ち下がりエッジ、スタートコンディション有) スレーブ時 マスタ時 Tmax=1.5T Tmax=2T T クロック (SBT0端子) 出力端子 (SBO0端子) 転送ビットカウンタ 0 1 2 3 4 5 6 7 SC0TBSY ▲ (TXBUF0にデータセット) 割込み (SC0TIRQ) 図11-3-6 送信タイミング(立ち下がりエッジ、スタートコンディション無) シリアルインタフェース0の動作 XI - 19 第11章 シリアルインタフェース0 スレーブ時 マスタ時 Tmax=2.5T Tmax=2T T クロック (SBT0端子) 出力端子 (SBO0端子) 0 転送ビットカウンタ 1 3 2 4 5 6 7 SC0TBSY ▲ (TXBUF0にデータセット) 割込み (SC0TIRQ) 図11-3-7 送信タイミング(立ち上がりエッジ、スタートコンディション有) スレーブ時 マスタ時 Tmax=1.5T Tmax=2T T クロック (SBT0端子) 出力端子 (SBO0端子) 転送ビットカウンタ 0 1 2 3 4 5 6 7 SC0TBSY ▲ (TXBUF0にデータセット) 割込み (SC0TIRQ) 図11-3-8 送信タイミング(立ち上がりエッジ、スタートコンディション無) XI - 20 シリアルインタフェース0の動作 第11章 シリアルインタフェース0 ■受信タイミング マスタ時 Tmax=2.5T T クロック (SBT0端子) 入力端子 (SBI0端子) 0 転送ビットカウンタ 1 2 3 4 5 6 7 SC0RBSY ▲ (TXBUF0にデータセット) 割込み (SC0TIRQ) 図11-3-9 受信タイミング(立ち上がりエッジ、スタートコンディション有) マスタ時 Tmax=1.5T T クロック (SBT0端子) 入力端子 (SBI0端子) 転送ビットカウンタ 0 1 2 3 4 5 6 7 SC0RBSY ▲ (TXBUF0にデータセット) 割込み (SC0TIRQ) 図11-3-10 受信タイミング(立ち上がりエッジ、スタートコンディション無) シリアルインタフェース0の動作 XI - 21 第11章 シリアルインタフェース0 マスタ時 Tmax=2.5T T クロック (SBT0端子) 入力端子 (SBI0端子) 0 転送ビットカウンタ 1 2 3 4 5 6 7 SC0RBSY ▲ (TXBUF0にデータセット) 割込み (SC0TIRQ) 図11-3-11 受信タイミング(立ち下がりエッジ、スタートコンディション有) マスタ時 Tmax=1.5T T クロック (SBT0端子) 入力端子 (SBI0端子) 転送ビットカウンタ 0 1 2 3 4 5 6 7 SC0RBSY ▲ (TXBUF0にデータセット) 割込み (SC0TIRQ) 図11-3-12 受信タイミング(立ち下がりエッジ、スタートコンディション無) XI - 22 シリアルインタフェース0の動作 第11章 シリアルインタフェース0 ■送受信の同時処理 同時に送受信するときは、SC0MD0レジスタのSC0CE1フラグを"0"または"1"に設定してください。送信 データの出力エッジの逆エッジタイミングでデータを受信するので、受信データ入力エッジの極性は、 通信相手の送信データの出力エッジの逆の極性になるように設定してください。 SBT0端子 クロックの立ち上がりに同期してデータを受信する。 SBI0端子 クロックの立ち下がりに同期してデータを出力する。 SBO0端子 図11-3-13 送受信タイミング(受信:立ち上がりエッジ、送信:立ち下がりエッジ) SBT0端子 クロックの立ち下がりに同期してデータを受信する。 SBI0端子 クロックの立ち上がりに同期してデータを出力する。 SBO0端子 図11-3-14 送受信タイミング(受信:立ち下がりエッジ、送信:立ち上がりエッジ) シリアルインタフェース0の動作 XI - 23 第11章 シリアルインタフェース0 ■端子の設定(3線式、送信時) 3線式(SBO0端子、SBI0端子、SBT0端子)による同期式シリアルインタフェースの送信処理の各端子の設 定を次表に示します。 表11-3-6 同期式シリアルインタフェース端子の設定表(3線式、送信時) データ出力端子 データ入力端子 SBO0端子 SBI0端子 クロック入出力端子 項目 SBT0端子 内部クロック ポート端子名 P00 外部クロック P01 P02 SBI0/SBO0独立 SBI0/SBO0端子 の設定 − SC0MD1(SC1IOM) シリアルデータ出力 "1"入力 SC0MD1(SC0SBOS) SC0MD1(SC0SBIS) シリアルクロック入出力 シリアルクロック入出力 機能設定 プッシュプル/ Nチャンオープンドレイン 形式設定 − SC0ODC(SC0ODC0) SC0MD1(SC0SBTS) プッシュプル/ Nチャンオープンドレイン プッシュプル/ Nチャンオープンドレイン SC0ODC(SC0ODC1) 出力モード 出力モード 入出力設定 入力モード − P0DIR(P0DIR0) P0DIR(P0DIR2) 付加する/しない 付加する/しない プルアップ設定 付加する/しない − P0PLU(P0PLU0) P0PLU(P0PLU2) ■端子の設定(3線式、受信時) 3線式(SBO0端子、SBI0端子、SBT0端子)による同期式シリアルインタフェースの受信処理の各端子の設 定を次表に示します。 表11-3-7 同期式シリアルインタフェース端子の設定表(3線式、受信時) データ出力端子 データ入力端子 SBO0端子 SBI0端子 クロック入出力端子 項目 SBT0端子 内部クロック ポート端子名 P00 P01 外部クロック P02 SBI0/SBO0独立 SBI0/SBO0端子 の設定 − SC0MD1(SC0IOM) ポート シリアルデータ入力 シリアルクロック入出力 シリアルクロック入出力 SC0MD1(SC0SBOS) SC0MD1(SC0SBIS) SC0MD1(SC0SBTS) − − 機能設定 形式設定 プッシュプル/ Nチャンオープンドレイン プッシュプル/ Nチャンオープンドレイン SC0ODC(SC0ODC1) 入力モード 入出力設定 出力モード P0DIR(P0DIR1) P0DIR(P0DIR2) 付加する/しない プルアップ設定 入力モード − − 付加する/しない − P0PLU(P0PLU2) XI - 24 シリアルインタフェース0の動作 第11章 シリアルインタフェース0 ■端子の設定(3線式、送受信時) 3線式(SBO0端子、SBI0端子、SBT0端子)による同期式シリアルインタフェースの送受信処理の各端子の 設定を次表に示します。 表11-3-8 同期式シリアルインタフェース端子の設定表(3線式、送受信時) データ出力端子 データ入力端子 SBO0端子 SBI0端子 クロック入出力端子 項目 SBT0端子 内部クロック ポート端子名 SBI0/SBO0端子 の設定 P00 P01 外部クロック P02 SBI0/SBO0独立 − SC0MD1(SC0IOM) シリアルデータ出力 シリアルデータ入力 シリアルクロック入出力 シリアルクロック入出力 SC0MD1(SC0SBOS) SC0MD1(SC0SBIS) SC0MD1(SC0SBTS) 機能設定 形式設定 プッシュプル/ Nチャンオープンドレイン − SC0ODC(SC0ODC0) プッシュプル/ Nチャンオープンドレイン プッシュプル/ Nチャンオープンドレイン SC0ODC(SC0ODC1) 出力モード 入力モード P0DIR(P0DIR0) P0DIR(P0DIR1) 出力モード 入力モード 入出力設定 付加する/しない プルアップ設定 P0DIR(P0DIR2) 付加する/しない 付加する/しない − P0PLU(P0PLU0) P0PLU(P0PLU2) シリアルインタフェース0の動作 XI - 25 第11章 シリアルインタフェース0 ■端子の設定(2線式、送信時) 2線式(SBO0端子、SBT0端子)による同期式シリアルインタフェースの送信処理の各端子の設定を次表に 示します。SBI0端子は使用しないのでポートとして使用できます。 表11-3-9 同期式シリアルインタフェース端子の設定表(2線式、送信時) データ出力端子 クロック入出力端子 項目 SBT0端子 SBO0端子 SBI0端子 内部クロック ポート端子名 P00 SBI0/SBO0端子 の設定 SBI0/SBO0接続 外部クロック P02 − SC0MD1(SC0IOM) シリアルデータ出力 "1"入力 シリアルクロック入出力 シリアルクロック入出力 SC0MD1(SC0SBOS) SC0MD1(SC0SBIS) SC0MD1(SC0SBTS) 機能設定 プッシュプル/ Nチャンオープンドレイン 形式設定 − SC0ODC(SC0ODC0) プッシュプル/ Nチャンオープンドレイン プッシュプル/ Nチャンオープンドレイン SC0ODC(SC0ODC1) 出力モード 出力モード 入出力設定 入力モード − P0DIR(P0DIR0) P0DIR(P0DIR2) 付加する/しない 付加する/しない プルアップ設定 付加する/しない − P0PLU(P0PLU0) P0PLU(P0PLU2) ■端子の設定(2線式、受信時) 2線式(SBO0端子、SBT0端子)による同期式シリアルインタフェースの受信処理の各端子の設定を次表に 示します。SBI0端子は使用しないのでポートとして使用できます。 表11-3-10 同期式シリアルインタフェース端子の設定表(2線式、受信時) データ入力端子 クロック入出力端子 項目 SBT0端子 SBO0端子 SBI0端子 内部クロック ポート端子名 P00 SBI0/SBO0端子 の設定 SBI0/SBO0接続 外部クロック P02 − SC0MD1(SC0IOM) ポート シリアルデータ入力 シリアルクロック入出力 シリアルクロック入出力 SC0MD1(SC0SBOS) SC0MD1(SC0SBIS) SC0MD1(SC0SBTS) − − 機能設定 形式設定 プッシュプル/ Nチャンオープンドレイン プッシュプル/ Nチャンオープンドレイン SC0ODC(SC0ODC1) 入力モード 入出力設定 出力モード P0DIR(P0DIR0) P0DIR(P0DIR2) 付加する/しない プルアップ設定 入力モード − − 付加する/しない − P0PLU(P0PLU2) XI - 26 シリアルインタフェース0の動作 第11章 シリアルインタフェース0 11-3-2 同期式シリアルインタフェースの設定例 11-3-2 同期式シリアルインタフェースの設定例 ■送受信処理の設定例 シリアル0を用いてクロック同期式シリアル通信の送受信処理の設定例を示します。送受信処理の条件 を次表に示します。 表11-3-11 同期式シリアルインタフェース送受信処理の条件例 設 定 項 目 設定内容 設 定 項 目 設定内容 SBI0/SBO0端子の設定 独立 (3線式) クロックソース fs/2 転送ビット数 8ビット クロックソース1/8分周 1/8分周する スタートコンディション 無 SBT0/SBO0端子の形式 N-chオープンドレイン 転送先頭ビット MSB SBT0端子のプルアップ抵抗 付加 入力エッジ 立ち下がり SBO0端子のプルアップ抵抗 付加 出力エッジ 立ち上がり シリアル0通信終了割込み 許可する クロック 内部クロック 以下に、設定手順とその内容を示します。 内容 設定手順 (1) プリスケーラの動作 PSCMD(x'3F6F') bp0 :PSCEN (1) PSCMDレジスタのPSCENフラグを"1"にして プリスケーラ動作を選択します。 = 1 (2) クロックソースの選択 SC0CKS(x'3F97') bp2-0 bp3 (2) SC0CKSレジスタにてクロックソースを選択し ます。bp3-0を"0100"に設定してfs/2を選択し :SC0PSC2-0 = 100 :SC0TMSEL = 0 (3) 端子形式制御 ます。 (3) SC0ODCレジスタのSC0ODC1-0フラグを"11" SC0ODC(x'3F96') bp1-0 :SC0ODC1-0 = 11 にしてSBO0/SBT0端子の形式にN-chオープン ドレインを選択します。P0PLUレジスタの P0PLU(x'3F40') bp2,0 :P0PLU2,0 P0PLU2,0フラグを"1,1"にしてプルアップ抵抗 有を選択します。 = 1,1 (4) 端子の方向制御 P0DIR(x'3F30') bp2-0 :P0DIR2-0 (5) 転送ビット数の選択 SC0MD0(x'3F90') (4) ポート0端子の方向制御レジスタ(P0DIR)の = 101 P0DIR2-0フラグを"101"にして、P00とP02を出 力モードに、P01を入力モードに設定します。 (5) シリアル0モードレジスタ(SC0MD0)の SC0LNG2-0フラグを"111"にして転送ビット数 を8ビットに設定します。 シリアルインタフェース0の動作 XI - 27 第11章 シリアルインタフェース0 設定手順 内容 (6) スタートコンディションの選択 SC0MD0(x'3F90') bp3 :SC0STE :SC0DIR (7) SC0MD0レジスタのSC0DIRフラグを"0"にして転送 ビットの先頭をMSBに設定します。 = 0 (8) SC0MD0レジスタのSC0CE1フラグを"1"にして送 (8) 転送エッジ選択 SC0MD0(x'3F90') bp7 :SC0CE1 = 1 :SC0BRKE 信データ出力エッジを"立ち上がり"に、受信デー タ入力エッジを"立ち下がり"に設定します。 (9) SC0MD2レジスタのSC0BRKEフラグを"0"にして (9) 出力データ制御 SC0MD2(x'3F92') bp0 タートコンディション無を選択します。 = 0 (7) 転送先頭ビット選択 SC0MD0(x'3F90') bp4 (6) SC0MD0レジスタのSC0STEフラグを"0"にしてス シリアルデータ送信を選択します。 = 0 (10) その他モードレジスタ設定 SC0MD2(x'3F92') (10) UART通信時の設定フラグであり、同期式シリア ル通信では設定する必要はありません。 bp7-3 (11) SC0MD1レジスタのSC0CMDフラグを"0"にして (11) 通信形式の選択 SC0MD1(x'3F91') bp0 :SC0CMD 同期式シリアルを選択します。 = 0 (12) SC0MD1レジスタのSC0MSTフラグを"1"にしてク (12) 転送クロックの選択 SC0MD1(x'3F91') bp2 bp3 :SC0MST :SC0CKM = 1 = 1 = 1 bp5 bp6 :SC0SBIS :SC0SBTS = 1 = 1 bp7 :SC0IOM = 0 (14) 割込みレベルの設定 SC0TICR(x'3FF6') bp7-6 XI - 28 分周を選択します。 (13) SC0MD1レジスタのSC0SBOS、SC0SBIS、SC0SBTS フラグを"1"にしてSBO0端子をシリアルデータ出 (13) 端子機能制御 SC0MD1(x'3F91') bp4 :SC0SBOS ロックマスタ(内部クロック)を選択します。 SC0CKMフラグを"1"にしてソースクロックの1/8 :SC0TLV1-0 = 10 シリアルインタフェース0の動作 力に、SBI0端子をシリアルデータ入力に、SBT0 端子をシリアルクロック入出力に設定します。 SC0IOMフラグを"0"にすることでSBI0端子からシ リアルデータ入力に設定します。 (14) シリアル0送信割込み制御レジスタ(SC0TICR)の SC0TLV1-0フラグにより割込みレベルを設定しま す。(レベル2に設定) 第11章 シリアルインタフェース0 設定手順 内容 (15) SC0TICRレジスタのSC0TIEフラグを"1"にして (15) 割込みの許可 SC0TICR(x'3FF6') bp1 :SC0TIE = 1 割込みを許可します。 割込み要求フラグ(SC0TICRレジスタのSC0TIR) が既にセットされている場合は、SC0TIRをクリ アしてから割込みを許可してください。 【 第3章 3-1-4 (16) シリアル送信開始 送信データ → TXBUF0(x'3F95') 受信データ → SBI0端子に入力 割込みフラグの設定】 (16) シリアル送信データバッファTXBUF0に送信デー タを設定します。内部クロックが発生し送信お よび受信が開始されます。送信が終了すると、 シリアル0送信割込み(SC0TIRQ)が発生します。 ※上記(5)∼(8)、(9)∼(10)、(11)∼(13)はそれぞれ同時に設定可能です。 3線式で受信のみを行う場合は、SC0MD1レジスタのSC0SBOSを"0"に設定してポートを選択し てください。SBO0端子は汎用ポートとして使用できます。 SBO0/SBI0端子を接続し2線式で通信する場合は、SBO0端子からシリアルデータを入出力しま す。入出力の切り換えはポートの方向制御レジスタP0DIRで行います。受信の場合は、SC0MD1 レジスタのSC0SBISを必ず"1"にして"シリアルデータ入力"を選択してください。SBI0端子は 汎用ポートとして使用できます。 本シリアルは、通信の強制リセット機能を備えています。通信を強制的に中断したい場合 は、SC0MD1レジスタのSC0SBOSとSC0SBISを共に"0"に設定することにより行います。 各フラグの設定は、設定手順に記載の順番で行ってください。通信の起動は、全ての制御レ ジスタ(表11-2-1参照、但しTXBUF0、RXBUF0は除く)の設定が終了した後に行ってください。 SC0CKSレジスタによる転送クロックの設定は、転送レートが2.5 MHzを越えない範囲で選択 してください。 シリアルインタフェース0の動作 XI - 29 第11章 シリアルインタフェース0 11-3-3 UART シリアルインタフェースの動作 11-3-3 UARTシリアルインタフェースの動作 シリアル0は全二重のUART通信が可能です。次表にUARTシリアルインタフェース機能一覧を示します。 表11-3-12 UARTシリアルインタフェース機能一覧表 通信形態 割込み SC0TIRQ(送信),SC0RIRQ(受信) 使用端子 TXD0(出力,入力) RXD0(入力) 転送先頭ビットの指定 MSB先頭/LSB先頭 パリティビット有無選択 ○ パリティビット制御 0パリティ 1パリティ 奇数パリティ 偶数パリティ フレーム選択 7ビット+1STOP 7ビット+2STOP 8ビット+1STOP 8ビット+2STOP 連続動作 最大転送レート XI - 30 UART(全二重) シリアルインタフェース0の動作 ○ 300 kbps (標準 300 bps∼38.4 kbps) (ボーレートタイマ使用) 第11章 シリアルインタフェース0 ■通信起動要因 送信は、送信データバッファTXBUF0にデータをセットすると、スタートコンディションが発生し転送 が開始されます。受信は、スタートコンディションを受けることで開始されます。受信の場合、スター トビットの"L"のデータ長が0.5ビット長以上のときスタートコンディションと認識します。 ■送信機能 送信データバッファTXBUF0にデータをセットすると自動的にデータの送信が開始されます。送信が完 了するとシリアル0送信割込みSC0TIRQが発生します。 ■受信機能 スタートコンディションを認識すると、転送ビット数をカウントする転送ビットカウンタがクリアさ れた後に受信が開始されます。受信が完了するとシリアル0受信割込みSC0RIRQが発生します。 ■全二重通信機能 送信と受信を独立して同時に行う全二重通信が可能です。この場合、送信と受信で取り扱うデータの フレームモード、パリティビットの極性は同一である必要があります。 ■転送ビット数の設定 転送ビット数は、SC0MD2レジスタのSC0FM1∼0フラグによりフレームモードを指定すると自動的に設定 されます。SC0MD1レジスタのSC0CMDフラグを"1"にセットし、UART通信を選択すると、SC0MD0レジスタ の同期式シリアル転送ビット数選択フラグSC0LNG2∼0の設定は無効となります。 ■データ入力端子の設定 2線式(データ出力端子(TXD0端子)、データ入力端子(RXD0端子))で通信するモードと1線式(データ入出 力端子(TXD0端子))で通信するモードが選択できます。RXD0端子は、シリアルデータの入力にのみ使用 できます。TXD0端子は、シリアルデータの入力もしくは出力の選択が可能です。シリアルデータをRXD0 端子とTXD0端子のどちらから入力するかの指定は、SC0MD1レジスタのSC0IOMフラグにより選択できま す。"TXD0端子からデータ入力"を選択した場合は1線式の通信となるので、送信と受信の切り換えは、 P0DIRレジスタのP0DIR0フラグによりTXD0端子の方向制御をすることで行います。このとき、RXD0端子 は使用しないので汎用ポートとして使用できます。 ■受信バッファエンプティフラグの動作 受信終了割込みSC0RIRQが発生すると自動的に内部シフトレジスタからRXBUF0にデータが格納されま す。シフトレジスタRXBUF0にデータが格納されると、SC0STRレジスタの受信バッファエンプティフラ グSC0REMPが"1"にセットされます。これは受信データの読み出し待ち状態であることを示します。 SC0REMPは、RXBUF0のデータを読み出すことにより"0"にクリアされます。 シリアルインタフェース0の動作 XI - 31 第11章 シリアルインタフェース0 ■受信BUSYフラグの動作 スタートコンディションが認識されると、SC0STRレジスタのSC0RBSYフラグが"1"にセットされます。 受信終了割込みSC0RIRQの発生により"0"にクリアされます。受信中にSC0SBISフラグを"0"にした場 合、SC0RBSYフラグは"0"にリセットされます。 ■送信BUSYフラグの動作 TXBUF0にデータをセットすると、SC0STRレジスタのSC0TBSYフラグが"1"にセットされます。送信終了 割込みSC0TIRQの発生により"0"にクリアされます。また、連続通信中は、SC0TBSYフラグのセット状態 が保持されます。送信終了割込みSC0TIRQが発生したときに送信バッファエンプティフラグSC0TEMPが "0"であれば、SC0TBSYが"0"にクリアされます。送信中にSC0SBOSフラグを"0"にした場合、SC0TBSYフ ラグは"0"にリセットされます。 ■フレームモードとパリティチェックの設定 UART通信時のデータフォーマットを次に示します。 フレーム スタート ビット パリティ ストップ ビット ビット キャラクタビット 図11-3-15 UARTシリアルインタフェースの送受信データフォーマット 送受信データは、スタートビット、キャラクタビット、パリティビット、ストップビットから構成さ れています。設定できる種類を次表に示します。 表11-3-13 UARTシリアルインタフェースの送受信データの種類 XI - 32 スタートビット 1ビット キャラクタビット 7、8ビット パリティビット 0固定、1固定、偶数、奇数、なし ストップビット 1、2ビット シリアルインタフェース0の動作 第11章 シリアルインタフェース0 フレームモードは、SC0MD2レジスタのSC0FM1∼0フラグにより設定します。設定可能な種類を次表に示 します。SC0MD1レジスタのSC0CMDフラグを"1"にセットし、UART通信を選択すると、SC0MD0レジスタの SC0LNG2∼0フラグの転送ビット数は無効となります。 表11-3-14 UARTシリアルインタフェースのフレームモードの種類 SC0MD2レジスタ フレームモードの種類 SC0FM1 SC0FM0 0 0 キャラクタビット7ビット+ストップビット1ビット 0 1 キャラクタビット7ビット+ストップビット2ビット 1 0 キャラクタビット8ビット+ストップビット1ビット 1 1 キャラクタビット8ビット+ストップビット2ビット パリティビットは、送受信データのビット誤りを検出するためのビットです。パリティビットの種類 を次表に示します。パリティビットは、SC0MD2レジスタのSC0NPE、SC0PM1∼0フラグにより設定しま す。 表11-3-15 UARTシリアルインタフェースのパリティビットの種類 SC0MD2レジスタ パリティビットの種類 内 容 SC0NPE SC0PM1 SC0PM0 0 0 0 0固定 パリティビットを"0"にする 0 0 1 1固定 パリティビットを"1"にする 0 1 0 奇数パリティ キャラクタビットとパリティビットの"1"の数 の総和が奇数個になるように制御 0 1 1 偶数パリティ キャラクタビットとパリティビットの"1"の数 の総和が偶数個になるように制御 1 − − なし パリティビットを付加しない ■ブレーク状態送出制御の設定 SC0MD2レジスタのSC0BRKEフラグによりブレ−ク状態を送出することができます。SC0BRKEを"1"に設定 しブレーク送信にすると、スタートビットからストップビットまで全て"0"が送出されます。 シリアルインタフェース0の動作 XI - 33 第11章 シリアルインタフェース0 ■受信エラー 受信時のエラーには、オーバランエラー、パリティエラー、フレーミングエラーの3種類があります。 受信エラーは、SC0STRレジスタのSC0ORE、SC0PEK、SC0FEFフラグを見ることにより判定できます。ま た、このうち1つでもエラー判定されるとSC0STRレジスタのSC0EREフラグが"1"にセットされます。受 信エラーフラグのうちSC0PEKとSC0FEFフラグは、受信終了割込みSC0RIRQ発生時に更新されます。 SC0OREフラグは、一度セットされると受信データバッファRXBUF0のデータを読み出さない限り状態が 保持されます。受信エラーフラグの判定は次の通信が完了するまでに行ってください。これらのエラー フラグは通信動作に影響しません。受信エラーの発生要因を次表に示します。 表11-3-16 UARTシリアルインタフェースの受信エラーの種類の要因 フラグ名 SC0ORE SC0PEK SC0FEF 受信エラーの種類 オーバランエラー パリティエラー フレーミングエラー 受信エラーの要因 受信バッファを読み取る前に次のデータを受信した 0固定時 パリティビットが"1"の時 1固定時 パリティビットが"0"の時 奇数パリティ キャラクタビットとパリティビット の"1"の数の総和が偶数個の時 偶数パリティ キャラクタビットとパリティビット の"1"の数の総和が奇数個の時 ストップビットが検出されない ■ブレ−ク状態受信の判定 ブレ−ク状態の受信を判定することができます。スタートビットからストップビットまで、受信した 全てのデータが"0"の場合、SC0MD2レジスタのSC0BRKFフラグがセットされブレーク状態であると判定 します。SC0BRKFフラグは、受信完了割込みSC0RIRQ発生時にセットされます。 ■連続通信 本シリアルは連続転送機能を備えています。送信中に、送信データバッファTXBUF0にデータを設定す ると、送信バッファエンプティフラグSC0TEMPがセットされ自動的に連続して通信します。この場合、 通信ブランクはありません。T X B U F 0 への次のデータ設定は、前のデータ設定から送信終了割込み SC0TIRQが発生するまでの間に行ってください。 XI - 34 シリアルインタフェース0の動作 第11章 シリアルインタフェース0 ■クロックの設定 UART通信時は転送クロックを必要としませんが、本シリアルインタフェース内部でのデータ送受信タ イミングを決定するために、クロックの設定が必要となります。 SC0CKSレジスタでボーレートタイマとして使用するタイマを選択し、SC0MD1レジスタのSC0MSTフラグ を"1"に設定し、内部クロック(クロックマスタ)を選択してください。 UART通信時、SC0MD1レジスタのSC0MSTフラグは必ず"1"に設定してください。 "0"に設定すると、通信が不可能になります。 シリアルインタフェース0の動作 XI - 35 第11章 シリアルインタフェース0 以下の項目は、クロック同期式シリアルの場合と同じです。下記ページを参照してください。 ■転送先頭ビットの設定 参照ページ:XI-13 ■送信データのバッファ 参照ページ:XI-13 ■受信データのバッファ 参照ページ:XI-13 ■送信ビット数と転送先頭ビットの関係 参照ページ:XI-14 ■受信ビット数と転送先頭ビットの関係 参照ページ:XI-14 ■送信バッファエンプティフラグの動作 参照ページ:XI-17 ■通信の強制リセット機能 参照ページ:XI-18 XI - 36 シリアルインタフェース0の動作 第11章 シリアルインタフェース0 ■送信タイミング T パリティ ストップ ストップ ビット ビット ビット TXD0端子 SC0TBSY ▲ TXBUF0にデータセット 割込み (SC0TIRQ) 図11-3-16 送信タイミング(パリティビット有) T ストップ ストップ ビット ビット TXD0端子 SC0TBSY ▲ TXBUF0にデータセット 割込み (SC0TIRQ) 図11-3-17 送信タイミング(パリティビット無) シリアルインタフェース0の動作 XI - 37 第11章 シリアルインタフェース0 ■受信タイミング Tmin=0.5T T パリティ ストップ ストップ ビット ビット ビット RXD0端子 SC0RBSY ▼ スタートコンディション入力 割込み (SC0RIRQ) 図11-3-18 受信タイミング(パリティビット有) Tmin=0.5T T ストップ ストップ ビット ビット RXD0端子 SC0RBSY ▼ スタートコンディション入力 割込み (SC0RIRQ) 図11-3-19 受信タイミング(パリティビット無) XI - 38 シリアルインタフェース0の動作 第11章 シリアルインタフェース0 ■転送速度の設定 転送速度は、ボーレートタイマ(タイマ3)を用いることにより任意に設定できます。転送速度の設定例 を以下に示します。ボーレートタイマの設定の詳細は、第6章 6-8.シリアル転送クロック出力動作 を 参照してください。 表11-3-17 UARTシリアルインタフェース転送速度の設定レジスタ一覧 設 定 内 容 レジスタ名 参照ページ シリアル0クロックソースの設定 SC0CKS XI-11 タイマ3クロックソースの設定 TM3MD XI-11 タイマ3コンペアレジスタの設定 TM3OC VI-7 タイマのコンペアレジスタに設定する値は次によって求めます。 オーバフロー周期=(コンペアレジスタの設定値+1)×タイマクロック周期 ボーレート=1/(オーバフロー周期×2×8) ("8"はクロックソース1/8分周を示します。) よって上記の2式より コンペアレジスタ設定値=タイマクロック周波数/(ボーレート×2×8)-1 となります。 例えばタイマのクロックソースfs/4(fosc=8 MHz、fs=fosc/2)でボーレートを300 bpsにしたいときに は、設定値は以下のようになります。 コンペアレジスタの設定値 =(8×106/2/4)/(300×2×8)-1 =207 =x'CF' 次項に標準的な転送速度時のタイマのクロックソースとコンペアレジスタに設定する値を示します。 転送レートは300 kbpsを越えない範囲で選択してください。 シリアルインタフェース0の動作 XI - 39 第11章 シリアルインタフェース0 表11-3-18-1 UARTシリアルインタフェース転送速度の設定値一覧(10進) 転送速度(bps) fosc クロックソース (MHz) (タイマ) 4.00 4.19 8.00 8.38 12.00 16.00 16.76 20.00 fosc fosc/4 fosc/16 fosc/64 fosc/128 fs/2 fs/8 fosc fosc/4 fosc/16 fosc/64 fosc/128 fs/2 fs/8 fosc fosc/4 fosc/16 fosc/64 fosc/128 fs/2 fs/8 fosc fosc/4 fosc/16 fosc/64 fosc/128 fs/2 fs/8 fosc fosc/4 fosc/16 fosc/64 fosc/128 fs/2 fs/8 fosc fosc/4 fosc/16 fosc/64 fosc/128 fs/2 fs/8 fosc fosc/4 fosc/16 fosc/64 fosc/128 fs/2 fs/8 fosc fosc/4 fosc/16 fosc/64 fosc/128 fs/2 fs/8 300 設定値 − 207 51 12 − 207 51 − 217 53 − − 217 53 − − 103 25 12 − 103 − − 108 26 − − 108 − − 155 38 − − 155 − − 207 51 25 − 207 − − 217 53 26 − 217 − − − 64 31 − − 960 計算値 − 300 300 300 − 300 300 − 300 303 − − 300 303 − − 300 300 300 − 300 − − 300 303 − − 300 − − 300 300 − − 300 − − 300 300 300 − 300 − − 300 303 303 − 300 − − − 300 315 − − 設定値 − 64 − − − 64 − − 67 16 − − 67 − − 129 − − − 129 − − 135 33 − − 135 33 − 194 − − − 194 − − − 64 − − − 64 − − 67 16 − − 67 − − − − − − − 1200 計算値 − 962 − − − 962 − − 963 963 − − 963 − − 962 − − − 962 − − 963 963 − − 963 963 − 962 − − − 962 − − − 962 − − − 962 − − 963 963 − − 963 − − − − − − − 設定値 207 51 12 − − 51 12 217 − − − − − − − 103 25 − − 103 25 − 108 − − − 108 − − 155 38 − − 155 38 − 207 51 12 − 207 51 − 217 − − − 217 − − − 64 − − − − 2400 計算値 1202 1202 1202 − − 1202 1202 1201 − − − − − − − 1202 1202 − − 1202 1202 − 1201 − − − 1201 − − 1202 1202 − − 1202 1202 − 1202 1202 1202 − 1202 1202 − 1201 − − − 1201 − − − 1202 − − − − 設定値 103 25 − − − 25 − 108 − 6 − − − − 207 51 12 − − 51 12 217 − 13 − − − 13 − 77 − − − 77 − − 103 25 − − 103 25 − 108 − − − 108 − − 129 − − − 129 − 4800 計算値 2404 2404 − − − 2404 − 2403 − 2338 − − − − 2404 2404 2404 − − 2404 2404 2403 − 2338 − − − 2338 − 2404 − − − 2404 − − 2404 2404 − − 2404 2404 − 2403 − − − 2403 − − 2404 − − − 2404 − *タイマクロックソース fs/2, fs/8 の時の設定値, 計算値は、fs=fosc/2の場合です。 XI - 40 シリアルインタフェース0の動作 設定値 51 12 − − − 12 − 54 − − − − − − 103 25 − − − 25 − 108 − − − − − − 155 38 − − − 38 − 207 51 12 − − 51 12 − 54 − − − 54 − − 64 − − − 64 − 計算値 4808 4808 − − − 4808 − 4761 − − − − − − 4808 4808 − − − 4808 − 4805 − − − − − − 4808 4808 − − − 4808 − 4808 4808 4808 − − 4808 4808 − 4761 − − − 4761 − − 4808 − − − 4808 − 第11章 シリアルインタフェース0 表11-3-18-2 UARTシリアルインタフェース転送速度の設定値一覧(10進) 転送速度(bps) fosc クロックソース (MHz) (タイマ) 4.00 4.19 8.00 8.38 12.00 16.00 16.76 20.00 fosc fosc/4 fosc/16 fosc/64 fosc/128 fs/2 fs/8 fosc fosc/4 fosc/16 fosc/64 fosc/128 fs/2 fs/8 fosc fosc/4 fosc/16 fosc/64 fosc/128 fs/2 fs/8 fosc fosc/4 fosc/16 fosc/64 fosc/128 fs/2 fs/8 fosc fosc/4 fosc/16 fosc/64 fosc/128 fs/2 fs/8 fosc fosc/4 fosc/16 fosc/64 fosc/128 fs/2 fs/8 fosc fosc/4 fosc/16 fosc/64 fosc/128 fs/2 fs/8 fosc fosc/4 fosc/16 fosc/64 fosc/128 fs/2 fs/8 9600 設定値 計算値 9615 25 − − − − − − − − − − − − 9699 26 − − − − − − − − − − − − 9615 51 9615 12 − − − − − − 9615 12 − − 9523 54 − − − − − − − − − − − − 9615 77 − − − − − − − − − − − − 9615 103 9615 25 − − − − − − 25 9615 − − 108 9610 26 9699 − − − − − − 26 9699 − − 129 9615 − − − − − − − − − − − − 19200 設定値 計算値 19231 12 − − − − − − − − − − − − − − − − − − − − − − − − − − 19231 25 − − − − − − − − − − − − 19398 26 − − − − − − − − − − − − 19231 38 − − − − − − − − − − − − 19231 51 19231 12 − − − − − − − − − − 19045 54 − − − − − − − − − − − − 19231 64 − − − − − − − − − − − − 28800 設定値 計算値 − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − 28846 25 − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − 31250 設定値 計算値 31250 7 31250 1 − − − − − − 31250 1 − − − − − − − − − − − − − − − − 31250 15 31250 3 − − − − − − 31250 3 − − − − − − − − − − − − − − − − 31250 23 31250 5 − − − − − − 31250 5 − − 31250 31 31250 7 − − − − − − 31250 7 − − − − − − − − − − − − − − − − 31250 39 31250 9 − − − − − − 31250 9 − − 38400 設定値 計算値 − − − − − − − − − − − − − − − − − − − − − − − − − − − − 38462 12 − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − 38462 25 − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − *タイマクロックソース fs/2, fs/8 の時の設定値, 計算値は、fs=fosc/2の場合です。 シリアルインタフェース0の動作 XI - 41 第11章 シリアルインタフェース0 ■端子の設定(1,2線式、送信時) UARTシリアルインタフェースの送信処理の各端子の設定を次表に示します。端子の設定は、TXD0端子 とRXD0端子の独立/接続に関わらず共通となります。 表11-3-19 UARTシリアルインタフェース端子の設定表(1,2線式、送信時) データ出力端子 データ入力端子 TXD0端子 RXD0端子 P00 P01 項目 ポート端子名 TXD0/RXD0端子の独立/接続 TXD0/RXD0端子 の設定 SC0MD1(SC0IOM) シリアルデータ出力 "1"入力 SC0MD1(SC0SBOS) SC0MD1(SC0SBIS) 機能設定 形式設定 プッシュプル/ Nチャンオープンドレイン − SC0ODC(SC0ODC0) 出力モード 入出力設定 − P0DIR(P0DIR0) 付加する/しない プルアップ設定 − P0PLU(P0PLU0) ■端子の設定(2線式、受信時) 2線式(TXD0端子、RXD0端子)によるUARTシリアルインタフェースの受信処理の各端子の設定を次表に示 します。 表11-3-20 UARTシリアルインタフェース端子の設定表(2線式、受信時) データ出力端子 データ入力端子 TXD0端子 RXD0端子 P00 P01 項目 ポート端子名 TXD0/RXD0端子の独立/接続 TXD0/RXD0端子 の設定 SC0MD1(SC0IOM) ポート シリアルデータ入力 SC0MD1(SC0SBOS) SC0MD1(SC0SBIS) − − − 入力モード − P0DIR(P0DIR1) − − 機能設定 形式設定 入出力設定 プルアップ設定 XI - 42 シリアルインタフェース0の動作 第11章 シリアルインタフェース0 ■端子の設定(1線式、受信時) 1線式(TXD0端子)によるUARTシリアルインタフェースの受信処理の各端子の設定を次表に示します。 RXD0端子は使用しないのでポートとして使用できます。 表11-3-21 UARTシリアルインタフェース端子の設定表(1線式、受信時) データ出力端子 データ入力端子 TXD0端子 RXD0端子 P00 P01 項目 ポート端子名 TXD0/RXD0端子の接続 TXD0/RXD0端子 の設定 SC0MD1(SC0IOM) ポート シリアルデータ入力 SC0MD1(SC0SBOS) SC0MD1(SC0SBIS) − − 入力モード − P0DIR(P0DIR0) − − − 機能設定 形式設定 入出力設定 プルアップ設定 ■端子の設定(2線式、送受信時) 2線式(TXD0端子、RXD0端子)によるUARTシリアルインタフェースの送受信処理の各端子の設定を次表に 示します。 表11-3-22 UARTシリアルインタフェース端子の設定表(2線式、送受信時) データ出力端子 データ入力端子 TXD0端子 RXD0端子 P00 P01 項目 ポート端子名 TXD0/RXD0端子 の設定 TDX0/RXD0端子の独立 SC0MD1(SC0IOM) シリアルデータ出力 シリアルデータ入力 SC0MD1(SC0SBOS) SC0MD1(SC0SBIS) 機能設定 形式設定 プッシュプル/ Nチャンオープンドレイン − SC0ODC(SC0ODC0) 出力モード 入力モード P0DIR(P0DIR0) P0DIR(P0DIR1) 入出力設定 付加する/しない プルアップ設定 − P0PLU(P0PLU0) シリアルインタフェース0の動作 XI - 43 第11章 シリアルインタフェース0 11-3-4 UART シリアルインタフェースの設定例 11-3-4 UARTシリアルインタフェースの設定例 ■送受信処理の設定例 シリアル0を用いてUART送受信処理の設定例を示します。送受信処理の条件を次表に示します。 表11-3-23 UARTインタフェース送信処理の条件例 設 定 項 目 設定内容 TXD0/RXD0端子の設定 独立 (2線式) フレームモード指定 8ビット+2ストップビット 転送先頭ビット MSB クロックソース タイマ3 TXD0/RXD0端子の形式 N-chオープンドレイン TXD0端子のプルアップ抵抗 付加する パリティビット付加/チェック "0"付加/チェック シリアル0送信終了割込み 許可する シリアル0受信終了割込み 許可する 以下に、設定手順とその内容を示します。 設定手順 内容 (1) PSCMDレジスタのPSCENフラグを"1"にして プリスケーラ動作を選択します。 (1) プリスケーラの動作 PSCMD(x'3F6F') bp0 :PSCEN = 1 (2) SC0CKSレジスタのbp3-0フラグを"0111"にして クロックソースにタイマ3出力を選択しま (2) クロックソースの選択 SC0CKS(x'3F97') bp2-0 bp3 :SC0PSC2-0 = 111 :SC0TMSEL = 0 (3) SC0ODCレジスタのSC0ODC0フラグを"1"にして (3) 端子形式制御 SC0ODC(x'3F96') bp0 :SC0ODC0 P0PLU(x'3F40') bp0 :P0PLU0 = 1 = 1 (4) ポート0端子の方向制御レジスタ(P0DIR)の = 01 (5) スタートコンディションの選択 SC0MD0(x'3F90') bp3 :SC0STE XI - 44 シリアルインタフェース0の動作 TXD0端子の形式にN-chオープンドレインを選 択します。P0PLUレジスタP0PLU0フラグを"1" にしてプルアップ抵抗有を選択します。 (4) 端子の方向制御 P0DIR(x'3F30') bp1-0 :P0DIR1-0 す。 P0DIR1-0フラグを"01"にしてP00を出力モード に、P01を入力モードにします。 (5) SC0MD0レジスタのSC0STEフラグを"1"にして スタートコンディション有を選択します。 = 1 第11章 シリアルインタフェース0 内容 設定手順 (6) SC0MD0レジスタのSC0DIRフラグを"0"にし て転送ビットの先頭をMSBに設定します。 (6) 転送先頭ビット選択 SC0MD0(x'3F90') bp4 :SC0DIR = 0 (7) SC0MD2レジスタのSC0BRKEフラグを"0"に してシリアルデータ送信を選択します。 (7) 出力データ制御 SC0MD2(x'3F92') bp0 :SC0BRKE = 0 (8) 付加パリティビットの選択 SC0MD2(x'3F92') bp3 :SC0NPE bp5-4 :SC0PM1-0 = 0 :SC0FM1-0 (9) SC0MD2レジスタのSC0FM1-0フラグを"11"に =11 :SC0CMD て全二重UARTを選択します。 = 1 (11) SC0MD1レジスタのSC0CKMフラグを"1"にし (11) クロックの分周選択 SC0MD1(x'3F91') bp3 bp2 :SC0CKM :SC0MST = 1 = 1 bp5 bp7 :SC0SBIS :SC0IOM てソースクロックの1/8分周を選択します。 なお、SC0MSTフラグは必ず"1"に設定し、ク ロックマスタを選択してください。 (12) SC0MD1レジスタのSC0SBOS,SC0SBISフラグ を"1"にしてTXD0端子をシリアルデータ出 (12) 端子機能制御 SC0MD1(x'3F91') bp4 :SC0SBOS してフレームモードに8ビット+2ストップ ビットを選択します。 (10) SC0MD1レジスタのSC0CMDフラグを"1"にし (10) 通信形式選択 SC0MD1(x'3F91') bp0 "0"にしてパリティビット付加を許可します。 = 00 (9) フレームモードの指定 SC0MD2(x'3F92') bp7-6 (8) SC0MD2レジスタのSC0PM1-0のフラグを"00" にして0パリティを選択し、SC0NPEフラグを = 1 = 1 = 0 力、RXD0端子をシリアルデータ入力に設定し ます。 (13) SC0RICRレジスタのSC0RIEフラグを"1"、 SC0TICRレジスタのSC0TIEフラグを"1"にして (13) 割込みの許可 SC0RICR(x'3FF5') bp1 :SC0RIE = 1 SC0TICR(x'3FF6') bp1 :SC0TIE 割込み要求を許可します。 割込み要求フラグが既にセットされている可 = 1 能性があるときは要求フラグをクリアしてく ださい。 【 第3章 3-1-4. 割込みフラグの設定】 シリアルインタフェース0の動作 XI - 45 第11章 シリアルインタフェース0 設定手順 (14) ボーレートタイマの設定 内容 (14) TM3MDレジスタ、TM3OCレジスタによりボー レートを設定し、TM3ENフラグを"1"にしてタ イマ3を動作させます。 【 第6章 6-8.シリアル転送クロック出力動作】 (15) シリアル通信開始 送信データ → 受信データ → TXBUF0(x'3F95') RXD0端子に入力 (15) シリアル送信データバッファ(TXBUF0)に送信 データを設定すると送信が開始されます。 送信が終了すると、シリアル0送信割込み (SC0TIRQ)が発生します。 また、RXD0端子からシリアルデータが入力さ れ、スタートコンディションが認識されると、 受信データを取り込みます。 受信が完了すると、シリアル受信データバッ ファRXBUF0に受信データが取り込まれ、シリ アル0受信割込み(SC0RICR)が発生します。 ※(5)∼(6)、(7)∼(9)、(10)∼(12)はそれぞれ同時に設定可能です。 TXD0/RXD0端子を接続し1線式で通信する場合は、TXD0端子からシリアルデータを入出力しま す。入出力の切り換えはポートの方向制御レジスタP0DIRで行います。受信の場合は、SC0MD1 レジスタのSC0SBI0Sを必ず"1"にして"シリアルデータ入力"を選択してください。RXD0端子 は汎用ポートとして使用できます。 本シリアルは、通信の強制リセット機能を備えています。通信を強制的に中断したい場合 は、SC0MD1レジスタのSC0SBOSとSC0SBISを共に"0"に設定することにより行います。 各フラグの設定は、設定手順に記載の順番で行ってください。通信の起動は、全ての制御レ ジスタ(表11-2-1参照、但しTXBUF0、RXBUF0は除く)の設定が終了した後に行ってください。 ボーレートタイマとして使用できるタイマは、タイマ3のみです。ボーレートの設定は、 「第6章 6-8.シリアル転送クロック出力動作」を参照してください。 XI - 46 シリアルインタフェース0の動作 第12章 シリアルインタフェース2 11 12 第12章 シリアルインタフェース2 12-1 シリアルインタフェース 2機能の概要 12-1 シリアルインタフェース2 本LSIのシリアルインタフェース2は、クロック同期式シリアル通信可能です。 12-1-1 シリアルインタフェース 2機能一覧 12-1-1 シリアルインタフェース シリアルインタフェース2 シリアルインターフェース2の機能を次表に示します。 表12-1-1 シリアルインタフェース2機能一覧 通信形態 割込み 使用端子 クロック同期式 SC2IRQ SBO2,SBI2,SBT2 3線式による通信 ○ 2線式による通信 ○(SBO2,SBT2) スタートコンディション有無選択 転送ビット数の指定 転送先頭ビットの指定 入力エッジ/出力エッジの指定 ○ 1∼8ビット ○ ○ クロックソース fosc/2 fosc/4 fosc/16 fosc/32 fs/2 fs/4 タイマ3出力 外部クロック 最大転送レート 2.5 MHz fosc:マシンクロック(高速動作用発振) fs :システムクロック【 第2章 2-5. クロック切り換え機能】 XII - 2 シリアルインタフェース2機能の概要 sc2psc (プリスケーラ出力) SBT2/P05 SC2SBTS SBI2/P04 SBO2/P03 M U X P O L SC2STE SC2DIR SC2CE1 SC2BSY SC2SBTS SC2IOM SC2SBIS SC2STE SC2SBOS SC2LNG1 SC2LNG0 SC2LNG2 3 SC2MD0 IRQ制御回路 スタートコンディション 発生回路 SC2STE SC2DIR - 7 0 シフトレジスタ SC2TRB MSB←→LSB 転送ビットカウンタ SWAP SC2MST - - SC2MD1 BUSY 発生回路 スタートコンディション 検出回路 クロック 制御回路 SC2CE1 SC2SBIS SC2IOM } Read/Write 7 0 SC2IRQ SBO2/P03 SC2SBOS 第12章 シリアルインタフェース2 12-1-2 シリアルインタフェース 2ブロック図 12-1-2 シリアルインタフェース シリアルインタフェース2 ■シリアルインタフェース2ブロック図 図12-1-1 シリアルインタフェース2ブロック図 シリアルインタフェース2機能の概要 XII - 3 第12章 シリアルインタフェース2 12-2 シリアルインタフェース 2制御レジスタ 12-2 シリアルインタフェース シリアルインタフェース2 12-2-1 シリアルインタフェース 2制御レジスタ一覧 12-2-1 シリアルインタフェース シリアルインタフェース2 シリアルインタフェース2を制御するレジスタの一覧を次表に示します。 表12-2-1 シリアルインタフェース2制御レジスタ一覧表 レジスタ略称 アドレス R/W SC2MD0 X'03FA0' R/W シリアルインタフェース2モードレジスタ0 レジスタ名称 XII - 6 SC2MD1 X'03FA1' R/W シリアルインタフェース2モードレジスタ1 XII - 7 SC2TRB X'03FA2' R/W シリアルインタフェース2送受信シフトレジスタ XII - 5 SC2ODC X'03FA6' R/W シリアルインタフェース2ポート制御レジスタ XII - 8 シリアル2 SC2CKS X'03FA7' R/W シリアルインタフェース2転送クロック選択レジスタ XII - 8 PSCMD X'03F6F' R/W プリスケーラ制御レジスタ V-6 P0DIR X'03F30' R/W ポート0方向制御レジスタ IV - 8 P0PLU X'03F40' R/W ポート0プルアップ制御レジスタ IV - 8 SC2ICR X'03FF8' R/W シリアル2割込み制御レジスタ III - 32 R/W:読み出し/書き込み共に可能です。 XII - 4 シリアルインタフェース2制御レジスタ 参照ページ 第12章 シリアルインタフェース2 12-2-2 シリアルインタフェース 2データレジスタ 12-2-2 シリアルインタフェース シリアルインタフェース2 シリアルインタフェース2は、8ビットのシリアルデータレジスタを持っています。 ■シリアルインタフェース2送受信シフトレジスタ(SC2TRB) 7 SC2TRB 6 5 4 3 2 1 0 SC2TRB7 SC2TRB6 SC2TRB5 SC2TRB4 SC2TRB3 SC2TRB2 SC2TRB1 SC2TRB0 (リセット時:XXXXXXXX) 図12-2-1 シリアルインタフェース2送受信シフトレジスタ(SC2TRB:X'03FA2'、R/W) シリアルインタフェース2制御レジスタ XII - 5 第12章 シリアルインタフェース2 12-2-3 シリアルインタフェース 2モードレジスタ 12-2-3 シリアルインタフェース シリアルインタフェース2 ■シリアルインタフェース2モードレジスタ0(SC2MD0) 7 SC2MD0 6 SC2BSY SC2CE1 5 - 4 3 2 1 0 (リセット時:0 0 - 0 0 1 1 1 ) SC2DIR SC2STE SC2LNG2 SC2LNG1 SC2LNG0 同期式シリアル転送 SC2LNG2 SC2LNG1 SC2LNG0 ビット数 0 0 1 0 1 1 SC2STE 0 1bit 1 2bit 0 3bit 1 4bit 0 5bit 1 6bit 0 1 7bit スタートコンディション選択 0 なし 1 あり SC2DIR 8bit 転送ビット指定 0 MSB先頭 1 LSB先頭 送信データ出力 エッジ 受信データ入力 エッジ 0 立ち下がり 立ち上がり 1 立ち上がり 立ち下がり SC2CE1 SC2BSY シリアルバス使用状況 0 シリアル転送中以外 1 シリアル転送中 図12-2-2 シリアルインタフェース2モードレジスタ0(SC2MD0:X'03FA0'、R/W) XII - 6 シリアルインタフェース2制御レジスタ 第12章 シリアルインタフェース2 ■シリアルインタフェース2モードレジスタ1(SC2MD1) 7 SC2MD1 6 5 4 SC2IOM SC2SBTS SC2SBIS SC2SBOS 3 2 1 0 − SC2MST − − (リセット時:0 0 0 0 - 0 - - ) SC2MST クロックマスタ/スレーブ選択 0 スレーブ 1 マスタ SC2SBOS SBO2端子の機能選択 0 ポート 1 シリアルデータ出力 SC2SBIS シリアル入力制御 0 ”1”入力 1 シリアル入力 SC2SBTS SBT2端子の機能選択 0 ポート 1 転送クロック入出力 SC2IOM シリアルデータ入力選択 0 SBI2からデータ入力 1 SBO2からデータ入力 図12-2-3 シリアルインタフェース2モードレジスタ1(SC2MD1:X'03FA1'、R/W) シリアルインタフェース2制御レジスタ XII - 7 第12章 シリアルインタフェース2 ■シリアルインタフェース2ポート制御レジスタ(SC2ODC) SC2ODC 7 6 5 4 3 2 - - - - - - 1 0 (リセット時: - - - - - - 0 0 ) SC2ODC1 SC2ODC0 SC2ODC0 P03 N chオープンドレイン制御 0 プッシュプル 1 N chオープンドレイン SC2ODC1 P05 N chオープンドレイン制御 0 プッシュプル 1 N chオープンドレイン 図12-2-4 シリアルインタフェース2ポート制御レジスタ(SC2ODC:X'03FA6'、R/W) ■シリアルインタフェース2転送クロック選択レジスタ(SC2CKS) 7 6 5 4 3 2 1 0 (リセット時:- - - - X X X X ) RESERVED SC2PSC2 SC2PSC1 SC2PSC0 SC2CKS SC2PSC2 SC2PSC1 0 0 1 1 0 1 RESERVED SC2PSC0 選択クロック 0 fosc/2 1 fosc/4 0 fosc/16 1 fosc/32 0 fs/2 1 fs/4 タイマ3出力 必ず"0"に設定してください。 図12-2-5 シリアルインタフェース2転送クロック選択レジスタ(SC2CKS:X'03FA7'、R/W) XII - 8 シリアルインタフェース2制御レジスタ 第12章 シリアルインタフェース2 12-3 シリアルインタフェース 2の動作 12-3 シリアルインタフェース シリアルインタフェース2 シリアルインタフェース2は、クロック同期式シリアルインタフェースです。 12-3-1 クロック同期式シリアルインタフェースの動作 12-3-1 クロック同期式シリアルインタフェースの動作 ■通信開始の起動要因 通信の起動要因を次表に示します。マスタ通信の場合、送受信シフトレジスタSC2TRBにデータをセッ トするか、もしくはスタートコンディションを受けることで転送クロックを発生します。通信中以外 は、ノイズ等による誤動作防止のため、シリアルインタフェース内部でSBT2端子からの信号の入力を マスクしています。このマスクは、SC2TRBにデータをセットする(SC2TRBレジスタへの書き込み動作を 行う)か、もしくはスタートコンディションをデータ入力端子に入力することで自動的に解除されま す。したがってスレーブ通信の場合、SC2TRBにデータをセットするかスタートコンディションを入力 してから外部クロックを入力しください。 表12-3-1 同期式シリアルインタフェース起動要因 起動要因 送信 マスタ通信 送信データセット 受信 ダミーデータセット スタートコンディション入力 スレーブ通信 送信データセット後 クロック入力 ダミーデータセット後 クロック入力 スタートコンディション入力後 クロック入力 ■転送ビット数の設定 転送ビット数は、1ビット∼8ビットが選択できます。SC2MD0レジスタのSC2LNG2∼0フラグ(リセット 時:111)で設定してください。SC2LNG2∼0フラグは、再設定するまで前の設定値が保持されます。 通信中以外は、ノイズ等による誤動作防止のため、SBT2端子はシリアルインタフェース内部 でマスクされています。スレーブ通信の場合は、必ずデータをSC2TRBにセットするかスター トコンディションを入力してからSBT2端子にクロックを入力してください。 シリアルインタフェース2の動作 XII - 9 第12章 シリアルインタフェース2 ■スタートコンディションの設定 スタートコンディションの有無の選択ができます。SC2MD0レジスタのSC2STEフラグで設定してくださ い。スタートコンディション有を選択した場合、通信中スタートコンディションが入力されると同時 にビットカウンターがクリアされ、その後自動的に通信が再起動されます。スタートコンディション は、クロックライン(SBT2端子)が"H"のときにデータライン(SBI2端子(3線式)もしくはSBO2端子(2線 式))が"H"から"L"に変化すると認識されます。 ■転送先頭ビットの設定 転送時の先頭ビットをSC2MD0レジスタのSC2DIRフラグで設定することができます。MSBを先頭にするか LSBを先頭にするかが選択できます。 ■送信、受信データのバッファ 送信および受信のデータレジスタは共通であり、送受信シフトレジスタSC2TRBを使用します。送信す るデータは、SC2TRBにセットしてください。転送クロックにより、1ビットずつシフトしながらデータ を送出します。また、受信データは、1ビットずつシフトしながらSC2TRBに格納されます。 ■送信ビット数と転送先頭ビットの関係 転送ビット数が1∼7ビットのときは、転送先頭ビット指定により送受信シフトレジスタSC2TRBへのデー タ格納方法が異なります。MSB先頭のときは、SC2TRBの上位側のビットを使用するように格納してくだ さい。転送ビット数が6ビットのとき、図12-3-1-1で示すようにデータ"A"∼"F"をSC2TRBのbp2∼7に格 納すると、"F"から"A"の順に転送されます。LSB先頭のときは、SC2TRBの下位側のビットを使用するよ うに格納してください。転送ビット数が6ビットのとき、図12-3-1-2で示すようにデータ"A"∼"F"を SC2TRBのbp0∼5に格納すると、"A"から"F"の順に転送されます。 SC2TRB 7 6 5 4 3 2 F E D C B A 1 0 図12-3-1-1 送信ビット数と転送先頭ビットの関係(MSB先頭時) 7 SC2TRB 6 5 4 3 2 1 0 F E D C B A 図12-3-1-2 送信ビット数と転送先頭ビットの関係(LSB先頭時) XII - 10 シリアルインタフェース2の動作 第12章 シリアルインタフェース2 ■受信ビット数と転送先頭ビットの関係 転送ビット数が1∼7ビットのときは、転送先頭ビット指定により送受信シフトレジスタSC2TRBへのデー タ格納方法が異なります。MSB先頭のときは、SC2TRBの下位側のビットに格納されます。転送ビット数 が6ビットのとき、図12-3-1-3で示すようにデータ"A"∼"F"が"F"から"A"の順でSC2TRBのbp0∼5に格納 されます。LSB先頭のときは、SC2TRBの上位側のビットに格納されます。転送ビット数が6ビットのと き、図12-3-1-4で示すようにデータ"A"∼"F"が"A"から"F"の順でSC2TRBのbp2∼7に格納されます。 7 6 SC2TRB 5 4 3 2 1 0 F E D C B A 図12-3-1-3 受信ビット数と転送先頭ビットの関係(MSB先頭時) SC2TRB 7 6 5 4 3 2 F E D C B A 1 0 図12-3-1-4 受信ビット数と転送先頭ビットの関係(LSB先頭時) シリアルインタフェース2の動作 XII - 11 第12章 シリアルインタフェース2 ■クロックの設定 クロックソースは、SC2CKSレジスタにより専用プリスケーラおよびタイマ3の出力から選択します。専 用プリスケーラは、PSCMD(X'03F6F)レジスタにより”プリスケーラ動作”を選択すると動作を開始し ます。SC2MD1レジスタのSC2MSTフラグにより内部クロック(クロックマスタ)、もしくは外部クロック (クロックスレーブ)が選択できます。外部クロックを選択した場合でも、クロック周期が外部クロッ クと同程度の内部クロックをSC2CKSレジスタにより設定してください。これは、内部クロックにより 割込みフラグSC2IRQを発生しているためです。SC2CKSレジスタにより設定できる内部クロックソース を次表に示します。 表12-3-2 同期式シリアルインタフェース内部クロックソース一覧表 シリアル2 fosc/2 fosc/4 fosc/16 クロックソース (内部クロック) fosc/32 fs/2 fs/4 タイマ3出力 ■BUSYフラグの動作 送受信シフトレジスタSC2TRBにデータをセットするか、もしくはスタートコンディションが認識され ると、BUSYフラグSC2BSYがセットされます。通信終了割込みSC2IRQの発生によりクリアされます。 ■入力エッジ/出力エッジの設定 送信データの出力エッジ、受信データの入力エッジは、SC2MD0レジスタのSC2CE1フラグで設定するこ とができます。送信時のデータは、SC2CE1フラグ="0"のときクロックの立ち下がりエッジに同期して 出力され、SC2CE1フラグ="1"のときクロックの立ち上がりエッジに同期して出力されます。受信時の データは、SC2CE1="0"のときクロックの立ち上がりエッジに同期して取り込まれ、SC2CE1フラグ="1" のときはクロックの立ち下がりエッジで取り込まれます。 表12-3-3 送受信データの入力エッジと出力エッジ SC2CE1 送信データ出力エッジ 0 1 XII - 12 シリアルインタフェース2の動作 受信データ入力エッジ 第12章 シリアルインタフェース2 ■データ入力端子の設定 3線式(クロック端子(SBT2端子)、データ出力端子(SBO2端子)、データ入力端子(SBI2端子))で通信する モードと2線式(クロック端子(SBT2端子)、データ入出力端子(SBO2端子))で通信するモードが選択でき ます。SBI2端子は、シリアルデータの入力にのみ使用できます。SBO2端子は、シリアルデータの入力 もしくは出力の選択が可能です。シリアルデータをSBI2端子とSBO2端子のどちらから入力するかの指 定は、SC2MD1レジスタのSC2IOMフラグにより選択できます。"SBO2端子からデータ入力"を選択した場 合は2線式の通信となるので、送信と受信の切換は、P0DIRレジスタのP0DIR3フラグによりSBO2端子の 方向制御をすることで行います。このとき、SBI2端子は使用しないので汎用ポートとして使用できま す。 転送速度は、最大2.5 MHzとしてください。転送クロックが2.5 MHz以上の場合、送信デー タが正常に送出できない場合があります。 ■通信の強制リセット機能 本シリアルインターフェースは、異常動作に備えて強制リセット機能を内蔵しています。強制リセッ トは、SC2MD1レジスタのSC2SBOSフラグとSC2SBISフラグを共に"0"(SBO2端子機能:ポート、入力デー タ:"1"入力)に設定することで行えます。強制リセットした場合、SC2MD0レジスタのSC2BSYフラグは クリアされますが、その他制御レジスタの設定値は保持されます。 ■転送データの最終ビット 送信時の最終ビットのデータ出力保持期間、および受信時の最終ビットの必要最小データ入力期間は 以下の通りです。スレーブ時には内部クロックの設定が必要です。これはデータ送信時のデータホー ルド時間を確保するためです。最終ビットのデータ出力保持期間以降は、"H"が出力されます。 表12-3-4 転送データの最終ビットデータ長 送信時 最終ビットデータ保持期間 マスタ時 1ビットデータ長 スレーブ時 [外部クロックの1ビットデータ長 X 1/2] + [内部クロック周期 X (1/2∼1) ] 受信時 最終ビットデータ入力期間 1ビットデータ長(最小) シリアルインタフェース2の動作 XII - 13 第12章 シリアルインタフェース2 ■送信タイミング スレーブ時 マスタ時 Tmax=2.5T Tmax=1.5T T クロック (SBT端子) 出力端子 (SBO端子) 0 転送ビットカウンタ 1 2 3 4 5 6 7 SC2BSY ▲ (SC2TRBにデータセット) 割込み (SC2IRQ) 図12-3-2 送信タイミング(立ち下がりエッジ、スタートコンディションあり) スレーブ時 マスタ時 Tmax=1.5T Tmax=1.5T T クロック (SBT2端子) 出力端子 (SBO2端子) 転送ビットカウンタ 0 1 2 3 4 5 6 7 SC2BSY ▲ (SC2TRBにデータセット) 割込み (SC2IRQ) 図12-3-3 送信タイミング(立ち下がりエッジ、スタートコンディションなし) XII - 14 シリアルインタフェース2の動作 第12章 シリアルインタフェース2 スレーブ時 マスタ時 Tmax=2.5T Tmax=1.5T T クロック (SBT端子) 出力端子 (SBO端子) 0 転送ビットカウンタ 1 3 2 4 5 6 7 SC2BSY ▲ (SC2TRBにデータセット) 割込み (SC2IRQ) 図12-3-4 送信タイミング(立ち上がりエッジ、スタートコンディションあり) スレーブ時 マスタ時 Tmax=1.5T Tmax=1.5T T クロック (SBT2端子) 出力端子 (SBO2端子) 転送ビットカウンタ 0 1 2 3 4 5 6 7 SC2BSY ▲ (SC2TRBにデータセット) 割込み (SC2IRQ) 図12-3-5 送信タイミング(立ち上がりエッジ、スタートコンディションなし) シリアルインタフェース2の動作 XII - 15 第12章 シリアルインタフェース2 ■受信タイミング マスタ時 Tmax=2.5T T クロック (SBT端子) 入力端子 (SBI端子) 0 転送ビットカウンタ 1 2 3 4 5 6 7 SC2BSY ▲ (SC2TRBにデータセット) 割込み (SC2IRQ) 図12-3-6 受信タイミング(立ち上がりエッジ、スタートコンディションあり) マスタ時 Tmax=1.5T T クロック (SBT2端子) 入力端子 (SBI2端子) 転送ビットカウンタ 0 1 2 3 4 5 6 7 SC2BSY ▲ (SC2TRBにデータセット) 割込み (SC2IRQ) 図12-3-7 受信タイミング(立ち上がりエッジ、スタートコンディションなし) XII - 16 シリアルインタフェース2の動作 第12章 シリアルインタフェース2 マスタ時 Tmax=2.5T T クロック (SBT端子) 入力端子 (SBI端子) 0 転送ビットカウンタ 1 2 3 4 5 6 7 SC2BSY ▲ (SC2TRBにデータセット) 割込み (SC2IRQ) 図12-3-8 受信タイミング(立ち下がりエッジ、スタートコンディションあり) マスタ時 Tmax=1.5T T クロック (SBT2端子) 入力端子 (SBI2端子) 転送ビットカウンタ 0 1 2 3 4 5 6 7 SC2BSY ▲ (SC2TRBにデータセット) 割込み (SC2IRQ) 図12-3-9 受信タイミング(立ち下がりエッジ、スタートコンディションなし) シリアルインタフェース2の動作 XII - 17 第12章 シリアルインタフェース2 ■送受信の同時処理 送受信を同時に行う場合の受信のタイミングは、送信データの出力エッジの逆エッジタイミングとな ります。 SBT2端子 クロックの立ち上がりに同期してデータを受信する。 SBI2端子 クロックの立ち下がりに同期してデータを出力する。 SBO2端子 図12-3-10 送受信タイミング(受信:立ち上がりエッジ、送信:立ち下がりエッジ) SBT2端子 クロックの立ち下がりに同期してデータを受信する。 SBI2端子 クロックの立ち上がりに同期してデータを出力する。 SBO2端子 図12-3-11 送受信タイミング(受信:立ち下がりエッジ、送信:立ち上がりエッジ) XII - 18 シリアルインタフェース2の動作 第12章 シリアルインタフェース2 ■端子の設定(3線式、送信時) 3線式(SBO2端子、SBI2端子、SBT2端子)による同期式シリアルインタフェースの送信処理の各端子の設 定を次表に示します。 表12-3-5 同期式シリアルインタフェース端子の設定表(3線式、送信時) 項目 ポート端子名 データ出力端子 データ入力端子 SBO2端子 SBI2端子 P03 P04 形式設定 P05 シリアルデータ出力 "1"入力 シリアルクロック入出力 SC2MD1(SC2SBOS) SC2MD1(SC2SBIS) SC2MD1(SC2SBTS) プッシュプル/ Nチャンオープンドレイン 出力モード P0DIR(P0DIR3) P0PLU(P0PLU3) 外部クロック − − プッシュプル/ Nチャンオープンドレイン シリアルクロック入出力 プッシュプル/ Nチャンオープンドレイン SC2ODC(SC2ODC1) − 付加する/しない プルアップ設定 内部クロック SC2MD1(SC2IOM) SC2ODC(SC2ODC0) 入出力設定 SBT2端子 SBI2/SBO2独立 SBI2/SBO2端子の 設定 機能設定 クロック入出力端子 出力モード P0DIR(P0DIR5) 付加する/しない − 入力モード 付加する/しない P0PLU(P0PLU5) シリアルインタフェース2の動作 XII - 19 第12章 シリアルインタフェース2 ■端子の設定(3線式、受信時) 3線式(SBO2端子、SBI2端子、SBT2端子)による同期式シリアルインタフェースの受信処理の各端子の設 定を次表に示します。 表12-3-6 同期式シリアルインタフェース端子の設定表(3線式、受信時) 項目 データ出力端子 データ入力端子 SBO2端子 SBI2端子 P03 P04 ポート端子名 形式設定 SBT2端子 内部クロック − SC2MD1(SC2IOM) ポート シリアルデータ入力 シリアルクロック入出力 SC2MD1(SC2SBOS) SC2MD1(SC2SBIS) SC2MD1(SC2SBTS) − 外部クロック P05 SBI2/SBO2独立 SBI2/SBO2端子の 設定 機能設定 クロック入出力端子 − プッシュプル/ Nチャンオープンドレイン シリアルクロック入出力 プッシュプル/ Nチャンオープンドレイン SC2ODC(SC2ODC1) 入出力設定 − プルアップ設定 − 入力モード 出力モード P0DIR(P0DIR4) P0DIR(P0DIR5) 付加する/しない XII - 20 シリアルインタフェース2の動作 − P0PLU(P0PLU5) 入力モード 付加する/しない 第12章 シリアルインタフェース2 ■端子の設定(3線式、送受信時) 3線式(SBO2端子、SBI2端子、SBT2端子)による同期式シリアルインタフェースの送受信処理の各端子の 設定を次表に示します。 表12-3-7 同期式シリアルインタフェース端子の設定表(3線式、送受信時) 項目 ポート端子名 データ出力端子 データ入力端子 SBO2端子 SBI2端子 P03 P04 形式設定 P05 シリアルデータ出力 シリアルデータ入力 シリアルクロック入出力 SC2MD1(SC2SBOS) SC2MD1(SC2SBIS) SC2MD1(SC2SBTS) プッシュプル/ Nチャンオープンドレイン − プッシュプル/ Nチャンオープンドレイン シリアルクロック入出力 プッシュプル/ Nチャンオープンドレイン SC2ODC(SC2ODC1) 出力モード 入力モード 出力モード P0DIR(P0DIR3) P0DIR(P0DIR4) P0DIR(P0DIR5) P0PLU(P0PLU3) 外部クロック − 付加する/しない プルアップ設定 内部クロック SC2MD1(SC2IOM) SC2ODC(SC2ODC0) 入出力設定 SBT2端子 SBI2/SBO2独立 SBI2/SBO2端子の 設定 機能設定 クロック入出力端子 付加する/しない − 入力モード 付加する/しない P0PLU(P0PLU5) シリアルインタフェース2の動作 XII - 21 第12章 シリアルインタフェース2 ■端子の設定(2線式、送信時) 2線式(SBO2端子、SBT2端子)による同期式シリアルインタフェースの送信処理の各端子の設定を次表に 示します。SBI2端子は使用しないので汎用ポートとして使用できます。 表12-3-8 同期式シリアルインタフェース端子の設定表(2線式、送信時) 項目 ポート端子名 データ入出力端子 シリアル未使用端子 SBO2端子 SBI2端子 P03 P04 プルアップ設定 XII - 22 P05 シリアルデータ出力 "1"入力 シリアルクロック入出力 SC2MD1(SC2SBOS) SC2MD1(SC2SBIS) SC2MD1(SC2SBTS) 出力モード P0DIR(P0DIR3) 付加する/しない P0PLU(P0PLU3) シリアルインタフェース2の動作 外部クロック − − SC2ODC(SC2ODC0) 入出力設定 内部クロック SC2MD1(SC2IOM) プッシュプル/ Nチャンオープンドレイン 形式設定 SBT2端子 SBI2/SBO2接続 SBI2/SBO2端子の 設定 機能設定 クロック入出力端子 プッシュプル/ Nチャンオープンドレイン シリアルクロック入出力 プッシュプル/ Nチャンオープンドレイン SC2ODC(SC2ODC1) − − 出力モード 入力モード P0DIR(P0DIR5) 付加する/しない P0PLU(P0PLU5) 付加する/しない 第12章 シリアルインタフェース2 ■端子の設定(2線式、受信時) 2線式(SBO2端子、SBT2端子)による同期式シリアルインタフェースの受信処理の各端子の設定を次表に 示します。SBI2端子は使用しないので汎用ポートとして使用できます。 表12-3-9 同期式シリアルインタフェース端子の設定表(2線式、受信時) 項目 データ入出力端子 シリアル未使用端子 SBO2端子 SBI2端子 P03 P04 ポート端子名 形式設定 SBT2端子 内部クロック − SC2MD1(SC2IOM) ポート シリアルデータ入力 シリアルクロック入出力 SC2MD1(SC2SBOS) SC2MD1(SC2SBIS) SC2MD1(SC2SBTS) − 外部クロック P05 SBI2/SBO2接続 SBI2/SBO2端子の 設定 機能設定 クロック入出力端子 − プッシュプル/ Nチャンオープンドレイン シリアルクロック入出力 プッシュプル/ Nチャンオープンドレイン SC2ODC(SC2ODC1) 入出力設定 プルアップ設定 入力モード P0DIR(P0DIR3) − − − 出力モード 入力モード P0DIR(P0DIR5) 付加する/しない 付加する/しない P0PLU(P0PLU5) シリアルインタフェース2の動作 XII - 23 第12章 シリアルインタフェース2 12-3-2 同期式シリアルインタフェースの設定例 12-3-2 同期式シリアルインタフェースの設定例 ■送受信処理の設定例 シリアル2を用いて送受信処理の設定例を示します。処理の条件を次表に示します。 表12-3-10 同期式シリアルインタフェース送受信処理の条件例 設 定 項 目 設定内容 設 定 項 目 設定内容 SBI2/SBO2端子の設定 独立 (3線式) クロック 内部クロック 転送ビット数 8ビット クロックソース fs/2 スタートコンディション 有り SBT2/SBO2端子の形式 N-chオープンドレイン 転送先頭ビット MSB SBT2端子のプルアップ抵抗 付加 入力エッジ 立ち下がり SBO2端子のプルアップ抵抗 付加 出力エッジ 立ち上がり シリアル2割込み 発生させる 以下に、設定手順とその内容を示します。 設定手順 内容 (1) プリスケーラの動作 PSCMD(x'3F6F') bp0 :PSCEN (1) PSCMDレジスタのPSCENフラグを"1"にして プリスケーラ動作を選択します。 = 1 (2) クロックソースの選択 SC2CKS(x'3FA7') bp2-0 bp3 (2) SC2CKSレジスタのSC2PSC2-0フラグを"100" にしてクロックソースにfs/2を選択します。 :SC2PSC2-0 = 100 = 0 (3) 端子形式制御 (3) SC2ODCレジスタのSC2ODC1-0フラグを"11" SC2ODC(x'3FA6') bp1-0 :SC2ODC1-0 = 11 にしてSBO2/SBT2端子の形式にN-chオープン ドレインを選択します。P0PLUレジスタの P0PLU(x'3F40') bp5,3 :P0PLU5,3 P0PLU5,3フラグを"1,1"にしてプルアップ抵 抗有を選択します。 = 1,1 (4) 端子の方向制御 P0DIR(x'3F30') bp5-3 :P0DIR5-3 (4) ポート0端子の方向制御レジスタ(P0DIR)の = 101 (5) 転送ビット数の選択 SC2MD0(x'3FA0') bp2-0 :SC2LNG2-0 = 111 XII - 24 SC2CKSレジスタのbp3は必ず"0"に設定してく ださい。 シリアルインタフェース2の動作 P0DIR5-3フラグを"101"にして、P05とP03を出 力モードに、P04を入力モードに設定します。 (5) シリアル2モードレジスタ(SC2MD0)の SC2LNG2-0フラグを"111"にして転送ビット数 を8ビットに設定します。 第12章 シリアルインタフェース2 設定手順 内容 (6) スタートコンディションの選択 SC2MD0(x'3FA0') bp3 :SC2STE (6) SC2MD0レジスタのSC2STEフラグを"1"にして スタートコンディション有を選択します。 = 1 (7) 転送先頭ビット選択 SC2MD0(x'3FA0') bp4 :SC2DIR (7) SC2MD0レジスタのSC2DIRフラグを"0"にして 転送ビットの先頭をMSBに設定します。 = 0 (8) 転送エッジ選択 SC2MD0(x'3FA0') bp6 :SC2CE1 (8) SC2MD0レジスタのSC2CE1フラグを"1"にして 送信データ出力エッジを"立ち上がり"に、受信 データ入力エッジを"立ち下がり"に設定しま = 1 す。 (9) 転送クロックの選択 SC2MD1(x'3FA1') bp2 :SC2MST (9) SC2MD1レジスタのSC2MSTフラグを"1"にして クロックマスタ(内部クロック)を選択します。 = 1 (10) 端子機能制御 SC2MD1(x'3FA1') bp4 :SC2SBOS (10) SC2MD1レジスタのSC2SBOS、SC2SBIS、SC2SBTS フラグを"1"にしてSBO2端子をシリアルデータ出 = 1 bp5 bp6 :SC2SBIS :SC2SBTS = 1 = 1 bp7 :SC2IOM = 0 力に、SBI2端子をシリアルデータ入力に、SBT2 端子をシリアルクロック入出力に設定します。 SC2IOMフラグを"0"にしてSBI2端子からシリアル データ入力に設定します。 (11) 割込みレベルの設定 SC2ICR(x'3FF8') bp7-6 :SC2LV1-0 (11) シリアル2割込み制御レジスタ(SC2ICR)の SCLV1-0フラグにより割込みレベルを設定しま す。 = 10 (12) 割込みの許可 SC2ICR(x'3FF8') bp1 :SC2IE (12) SC2ICRレジスタのSC2IEフラグ"1"に割込みを許 可します。割込み要求フラグ(SC2ICRレジスタの SC2IR)が既にセットされている場合は、SC2IR = 1 をクリアしてから割込みを許可してください。 【 第3章 3-1-4. 割込みフラグの設定】 (13) シリアル送信開始 送信データ → SC2TRB(x'3FA2') (13) シリアル送受信シフトレジスタSC2TRBに送信 データを設定します。内部クロックが発生し、 送信および受信が開始されます。通信が終了す ると、シリアル2割込みSC2IRQが発生します。 ※上記(5)∼(8)は同時に設定可能です。 シリアルインタフェース2の動作 XII - 25 第12章 シリアルインタフェース2 送信のみを行う場合は、SC2MD1レジスタのSC2SBISを"0"に設定して入力するデータを"1"固 定とします。SBI2端子は汎用ポートとして使用できます。 受信のみを行う場合は、SC2MD1レジスタのSC2SBOSを"0"に設定してポートを選択してくださ い。SBO2端子は汎用ポートとして使用できます。 SBO2/SBI2端子連結し2線式で通信する場合は、SBO2端子からシリアルデータを入出力しま す。入出力の切り換えはポートの方向制御レジスタP0DIRで行います。 本シリアルは、通信の強制リセット機能を備えています。通信を強制的に中断したい場合 は、SC2MD1レジスタのSC2SBOSとSC2SBISを"0"に設定することで行えます。 各フラグの設定は、設定手順に記載の順番で行ってください。通信の起動は、全ての制御レ ジスタ(表12-2-1:SC2TRBは除く)の設定が終了した後に行ってください。 SC2CKSレジスタによる転送クロックの設定は、転送レートが2.5 MHzを越えない範囲で選択 してください。 XII - 26 シリアルインタフェース2の動作 第13章 LCD機能 12 13 14 第13章 LCD機能 13-1 LCD 機能概要 13-1 LCD機能概要 本LSIのLCD 駆動回路は、駆動電圧の異なる2種類のLCD パネルを同時に駆動できます。LCD1はスタ ティック/ダイナミック駆動(兼用)が可能です。また、LCD2はスタティック/スタティック独立/ダイナ ミック駆動(兼用)が可能です。 LCD1は、セグメント端子32本、コモン端子を4本備えています。また、LCD2は、セグメント端子7本、 スタティック独立駆動用コモン端子を1本備えています。LCD2のセグメント端子は、LCD1のセグメント 端子に連結することが可能です。LCD1とLCD2を連結駆動することで、最大39本のセグメント出力を制 御可能です。 13-1-1 LCD 機能一覧 13-1-1 LCD機能一覧 LCD駆動回路の機能を次表に示します。 表13-1-1 LCD機能一覧 LCD1 LCD2 スタティック 1/2デューティ 1/3デューティ 1/4デューティ スタティック スタティック独立駆動 1/2デューティ 1/3デューティ 1/4デューティ セグメント出力端子 SEG0∼SEG31 SEGS0∼SEGS6 コモン出力端子 COM0∼COM3 COM0∼COM3 または COMS VLC1∼VLC3 VLC1∼VLC3 または VCH ○ ○ 注1) デューティ LCD電源 分割抵抗接続の選択 LCD電源2倍昇圧の選択 ○ 注2) × クロックソースの内部分周 LCDCLK LCDCLK/2 LCDCLK/4 LCDCLK/8 クロックソース (LCDCLK) fosc/211 fosc/212 fosc/213 fosc/214 fosc/215 fosc/216 fosc/217 fosc/218 fx/26 fx/27 fx/28 fx/29 fosc :マシンクロック(高速動作用発振) fx :マシンクロック(低速動作用発振) LCDCLK :LCDクロックソース(LC0CK0∼LC0CK3で選択したクロックソース) 注1) LCD1との連結モード時のみ、使用可能です。 注2) スタティック独立駆動時のみ、使用可能です。 XIII - 2 LCD機能概要 第13章 LCD機能 LCD2において、2倍昇圧電圧によるスタティック駆動を使用しない場合は、VCH端子およびVLCS 端子をV DDに固定するようにしてください。 13-1-2 スタンバイモード併用時の LCD 動作 13-1-2 スタンバイモード併用時の スタンバイモード併用時のLCD LCD動作 スタンバイモード使用時には、LCD1、LCD2駆動動作が制限されることがあります。 スタンバイモードとLCD1、LCD2動作の関係を次表に示します。 表13-1-2 スタンバイモード時のLCD1、LCD2動作 LCDクロック CPUモード foscベース fxベース NORMAL ○ ○ SLOW ○ ○ HALT0 △ △ HALT1 × △ STOP × × CPU動作モード スタンバイモード ○:LCD動作可能 △:表示データの維持可能 ×:LCD動作不可能 LCD動作不可能なCPUモードへ移行する場合、LCDをOFFし、セグメント出力からポートに切り 換え、その後、CPUモードの移行を行ってください。 13-1-3 LCD 最大画素数 13-1-3 LCD最大画素数 表示可能な最大画素数を、次表に示します。(LCD1、LCD2連結時) 表13-1-3 表示可能な最大画素数 デューティ 最大画素 セグメント ×コモン 8セグメント形 LCDパネル コモン端子 セグメント出力ラッチ 使用ビット スタティック 39(39 ×1) 4桁 COM 0 bit0,bit4 1/2 7 8 ( 39 ×2) 9桁 COM0∼COM1 bit0∼bit1,bit4∼bit5 1/3 117(39 ×3) 1 3桁 COM0∼COM2 bit0∼bit2,bit4∼bit6 1/4 ×4) 1 5 6 ( 39 1 9桁 COM0∼COM3 bit0∼bit3,bit4∼bit7 LCD機能概要 XIII - 3 XIII - 4 LCD機能概要 VLCS C1 C2 fx fosc 図13-1-1 LCD駆動回路ブロック図 2 COMS コモンドライバ VCH 昇圧回路 昇圧クロック ジェネレータ 7 LCD機能2 LC1SEL VDD SEL 7 0 6 1/2 2 SEGS6 3 SEGS1 MUX 1/2 8 SEGS0 MUX MUX VSS VLC3 VLC1 LCD機能1 VLC2 LCD電圧 コントロール回路 スタティックコントロール MUX 1/2 MUX SEGS1 SEGS0 セグメントドライバ MUX SEGS6 セグメント出力ラッチ LC1EN0 LC1EN1 LC1CMT0 LC1SEL LCDEN LC1CK1 LC0DTY1 LC1MD0 fx/2 LC1CK0 2 MUX LC0DTY0 4 1/2 LCDCK2 LCDCK3 LCDCK1 LCDCK0 LC0MD0 0 fosc LC0DTY0 LC0DTY1 COM3 COM2 COM0 COM1 コモンドライバ タイミングコントロール SEG31 MUX MUX SEG1 セグメントドライバ SEG31 セグメント出力ラッチ SEG0 MUX SEG0 第13章 LCD機能 13-1-4 LCD 駆動回路ブロック図 13-1-4 LCD駆動回路ブロック図 第13章 LCD機能 13-2 LCD 制御レジスタ 13-2 LCD制御レジスタ LCD1、2は、LCDモードコントロールレジスタ1(LC0MD0)、LCDモードコントロールレジスタ2(LC1MD0)、 出力制御コントロールレジスタ1(LC0CTR0)、出力制御コントロールレジスタ2(LC0CTR1)、出力制御コ ントロールレジスタ3(LC1CTR0)により制御します。 また、LCD1、2の表示データは、セグメント出力ラッチに格納します。 13-2-1 LCD 制御レジスタ一覧 13-2-1 LCD制御レジスタ一覧 LCDを制御するレジスタの一覧を次表に示します。 表13-2-1 LCD制御レジスタ一覧表 レジスタ略称 アドレス R/W レジスタ名称 参照ページ LC0MD0 X'3FD9' R/W LCDモードコントロールレジスタ1 XIII-6 LC1MD0 X'3FDA' R/W LCDモードコントロールレジスタ2 XIII-8 LC0CTR0 X'3FDB' R/W 出力制御コントロールレジスタ1 XIII-9 LC0CTR1 X'3FDC' R/W 出力制御コントロールレジスタ2 XIII-10 LC1CTR0 X'3FDF' R/W 出力制御コントロールレジスタ3 XIII-11 ※セグメント出力ラッチは、 X'2E00'∼X'2E0F':SEG0∼SEG31 X'2E20'∼X'2E23':SEGS0∼SEGS6に割り当てられます。 【 「 13-2-7 セグメント出力ラッチ」 セグメント出力ラッチ」】 「13-2-7 セグメント出力ラッチ」 LCD制御レジスタ XIII - 5 第13章 LCD機能 13-2-2 LCD モードコントロールレジスタ 1(LC0MD0) 13-2-2 LCDモードコントロールレジスタ モードコントロールレジスタ1(LC0MD0) LCD1、2を制御する、読み出し/書き込み可能なレジスタです。LCD表示のON/OFF、内蔵分割抵抗の ON/OFF、表示デューティの指定、LCDクロック(LCDCLK)の指定ができます。 ■LCDモードコントロールレジスタ1(LC0MD0) 7 LC0MD0 6 5 4 3 2 1 0 (リセット時:0 0 0 0 0 0 0 0 ) LC0EN0 LC0EN1 LC0DTY1 LC0DTY0 LC0CK3 LC0CK2 LC0CK1 LC0CK0 LC0CK3 LC0CK2 LC0CK1 LC0CK0 0 0 1 0 0 1 1 0 1 x 1 LC0DTY1 LC0DTY0 0 1 LC0EN1 fosc/211 1 fosc/212 0 1 fosc/213 fosc/214 0 fosc/215 1 fosc/216 0 fosc/217 fosc/218 1 0 fx/27 0 fx/28 1 fx/29 LCD表示デューティの選択 1/4デューティ 1/3デューティ 0 1/2デューティ スタティック 内蔵分割抵抗の接続/切断の選択 切断 1 接続 LCD駆動回路の動作/停止の選択 0 停止(LCD消灯) 1 動作(LCD点灯) 図13-2-1 LCDモードコントロールレジスタ1(LC0MD0:X'3FD9'、R/W) XIII - 6 LCD制御レジスタ fx/26 1 1 0 LC0EN0 0 0 1 選択クロック 第13章 LCD機能 ■LCDフレーム周期の設定 foscまたはfxのクロックをプリスケーラにより分周することでLCDクロックを作り、各部へ供給しま す。LC0MD0のビット0∼3によりLCDクロック、LC0DTY0∼1によりLCDのフレーム周期を決定します。下 記に代表的な入力周波数とLCDクロックフレーム周期の対応表を示します。 表13-2-2 LCDフレーム周期設定一覧 入力周波数 入力クロック LC0CK3∼0 デューティ LCDTY1∼0 20 MHz 16 MHz 8 MHz 4 MHz 32.768 kHz LCDクロック フレーム LCDクロック フレーム LCDクロック フレーム LCDクロック フレーム LCDクロック フレーム 0000 (OSC1/211) 00 (1/4デューティ) 01 (1/3デューティ) 9766 Hz 10 (1/2デューティ) 2441 Hz 3255 Hz 78123Hz 4883 Hz 1953 Hz 2604 Hz 3906 Hz 3906 Hz 977 Hz 1302 Hz 1953 Hz 1953 Hz 9766 Hz 7813 Hz 0001 (OSC1/212) 11 (スタティック) 00 (1/4デューティ) 01 (1/3デューティ) 4883 Hz 10 (1/2デューティ) 1221 Hz 1628 Hz 3906 Hz 2441 Hz 977 Hz 1302 Hz 1953 Hz 1953 Hz 3906 488 651 977 Hz Hz Hz Hz 0010 (OSC1/213) 11 00 01 10 4883 610 814 1221 Hz Hz Hz 1953 Hz Hz 3906 488 651 977 Hz Hz Hz Hz 1953 244 326 488 Hz Hz Hz Hz 0011 (OSC1/214) 00 (1/4デューティ) 01 (1/3デューティ) 1221 Hz 10 (1/2デューティ) 2441 305 407 610 Hz Hz Hz Hz 1953 244 326 488 Hz Hz Hz Hz 0100 (OSC1/215) 11 00 01 10 (スタティック) (1/4デューティ) (1/3デューティ) (1/2デューティ) 1221 153 203 305 Hz Hz Hz Hz 0101 (OSC1/216) 11 00 01 10 (スタティック) (1/4デューティ) (1/3デューティ) (1/2デューティ) 610 76 102 153 Hz Hz Hz Hz (スタティック) (1/4デューティ) (1/3デューティ) (1/2デューティ) 2441Hz 11 (スタティック) 610 Hz 305 Hz 977 Hz 488 Hz 244 Hz 977 Hz 122 Hz 163Hz 244 Hz 488 61 81 122 Hz Hz Hz Hz 977 Hz 488 Hz 244 Hz 122 Hz 977 Hz 488 Hz 488 Hz 651 Hz 977 Hz 1953 244 326 488 Hz Hz Hz Hz 977 122 163 244 Hz Hz Hz Hz 977 Hz 488 Hz 122 Hz 163 Hz 244 Hz 61 Hz 81 Hz 122 Hz 488 61 81 122 Hz Hz Hz Hz 244 31 41 61 Hz Hz Hz Hz 244 Hz 122 Hz 61 Hz 244 31 41 61 Hz Hz Hz Hz 122 15 20 31 Hz Hz Hz Hz 11 (スタティック) 305 Hz 244 Hz 122 Hz 61 Hz 0110 (OSC1/217) 00 (1/4デューティ) 01 (1/3デューティ) 10 (1/2デューティ) 38 Hz 51 Hz 76 Hz 31 Hz 41 Hz 61 Hz 15 Hz 20 Hz 31 Hz 8 Hz 10 Hz 15 Hz 0111 (OSC1/218) 11 00 01 10 (スタティック) (1/4デューティ) (1/3デューティ) (1/2デューティ) 11 (スタティック) 1X00 (XI/26) 00 (1/4デューティ) 01 (1/3デューティ) 10 (1/2デューティ) 1X01 (XI/27) 11 00 01 10 (スタティック) (1/4デューティ) (1/3デューティ) (1/2デューティ) 1X10 (XI/28) 11 00 01 10 (スタティック) (1/4デューティ) (1/3デューティ) (1/2デューティ) 1X11 (XI/29) 153 Hz 76 Hz 153 19 25 38 Hz Hz Hz Hz 76 Hz 122 Hz 61 Hz 122 15 20 31 Hz Hz Hz Hz 61 Hz 61 Hz 31 Hz 61 8 10 15 Hz Hz Hz Hz 31 Hz 31 Hz 15 Hz 31 4 5 8 Hz Hz Hz Hz 15 Hz 512 Hz 128 Hz 171 Hz 256 Hz 512 Hz 256 Hz 128 Hz 64 Hz 85 Hz 128 Hz 256 32 43 64 Hz Hz Hz Hz 11 (スタティック) 128 Hz 00 (1/4デューティ) 01 (1/3デューティ) 10 (1/2デューティ) 16 Hz 21 Hz 32 Hz 64 Hz 64 Hz 11 (スタティック) LCD制御レジスタ XIII - 7 第13章 LCD機能 13-2-3 LCD モードコントロールレジスタ 2(LC1MD0) 13-2-3 LCDモードコントロールレジスタ モードコントロールレジスタ2(LC1MD0) LCD1、2を制御する、読み出し/書き込み可能なレジスタです。LCDクロックソースの分周指示、VLC端 子/ポートの切換指定が可能です。また、LCD2をスタティック独立駆動モードで使用するための設定が 可能です。【 「 13-4-3 スタティック独立駆動の設定例」 スタティック独立駆動の設定例」】 「13-4-3 スタティック独立駆動の設定例」 ■LCDモードコントロールレジスタ2(LC1MD0) 7 LC1MD0 6 5 4 3 2 1 0 (リセット時:0 0 0 0 0 0 0 0 ) LC1EN0 LC1EN1 RESERVED LCMCNT0 RESERVED LC1SEL LC1CK1 LC1CK0 LC1CK1 LC1CK0 0 1 0 1 0 1 LC1SEL 0 1 LCDクロック分周比選択 (LCDCLK:LC0CK0∼LC0CK3で選択されたクロック) LCDCLK LCDCLK / 2 LCDCLK / 4 LCDCLK / 8 SEGS0∼SEGS6モード選択 スタティック独立駆動モード 通常セグメントモード(LCD1、LCD2連結モード) RESERVED 必ず"0"に設定してください。 LCMCNT0 VLC2,VLC3端子切り替え 0 通常ポート選択 1 VLC2,VLC3端子選択 RESERVED 必ず"0"に設定してください。 LC1EN0 LC1EN1 0 0 0 1 1 0 1 1 スタティック独立駆動 動作の選択 昇圧回路 動作の選択 プルアップなし 停止(LCD消灯) 昇圧回路停止 LCD制御レジスタ プルアップあり プルアップなし 動作(LCD点灯) 昇圧回路動作 図13-2-3 LCDモードコントロールレジスタ2(LC1MD0:X'3FDA'、R/W) XIII - 8 LCD電源(VCH)端子 のプルアップ選択 第13章 LCD機能 13-2-4 出力制御コントロールレジスタ 1(LC0CTR0) 13-2-4 出力制御コントロールレジスタ 出力制御コントロールレジスタ1(LC0CTR0) ポート出力(P6,P7,P8)とセグメント出力(SEG0∼SEG23)の切り換えを制御する読み出し/書き込み可能 なレジスタです。リセット時には、ポート(入力状態)に設定されます。 LC0CTR0レジスタのLC0SEL0∼LC0SEL7を"1"に設定すると、該当端子のポート設定はすべて無効になり ます。また、このとき該当ポートのデータを読み出すと、"0"が返ります。 ■出力制御コントロールレジスタ1(LC0CTR0) 7 LC0CTR0 6 5 4 3 2 1 0 (リセット時:0 0 0 0 0 0 0 0 ) LC0SEL7 LC0SEL6 LC0SEL5 LC0SEL4 LC0SEL3 LC0SEL2 LC0SEL1 LC0SEL0 LC0SEL0 0 1 LC0SEL1 0 1 LC0SEL2 0 1 LC0SEL3 0 1 LC0SEL4 0 1 LC0SEL5 0 1 LC0SEL6 0 1 LC0SEL7 0 1 SEG0∼3 / ポート 84∼87 選択 ポート 84∼87 選択 SEG0∼3 選択 SEG4∼7 / ポート 80∼83 選択 ポート 80∼83 選択 SEG4∼7 選択 SEG8∼11/ポート 74∼77 選択 ポート 74∼77 選択 SEG8∼11 選択 SEG12∼15 / ポート 70∼73 選択 ポート 70∼73 選択 SEG12∼15 選択 SEG 16,17 / ポート 66,67 選択 ポート 66,67 選択 SEG16,17 選択 SEG 18,19 / ポート 64,65 選択 ポート 64,65 選択 SEG18,19 選択 SEG20,21 / ポート 62,63 選択 ポート 62,63 選択 SEG20,21 選択 SEG22,23/ ポート 60,61 選択 ポート 60,61 選択 SEG22,23 選択 図13-2-4 出力制御コントロールレジスタ1(LC0CTR0:X'3FDB'、R/W) LCD制御レジスタ XIII - 9 第13章 LCD機能 13-2-5 出力制御コントロールレジスタ 2(LC0CTR1) 13-2-5 出力制御コントロールレジスタ 出力制御コントロールレジスタ2(LC0CTR1) ポート出力(PA)とセグメント出力(SEG24∼SEG31)の切り換えを制御する読み出し/書き込み可能なレジ スタです。リセット時には、ポート(入力状態)に設定されます。 LC0CTR1レジスタのLC0SEL8∼LC0SELFを"1"に設定すると、該当端子のポート設定はすべて無効になり ます。また、このとき該当ポートのデータを読み出すと、"0"が返ります。 ■出力制御コントロールレジスタ2(LC0CTR1) 7 LC0CTR1 6 5 4 3 2 1 0 (リセット時:0 0 0 0 0 0 0 0 ) LC0SELF LC0SELE LC0SELD LC0SELC LC0SELB LC0SELA LC0SEL9 LC0SEL8 LC0SEL8 0 1 LC0SEL9 0 1 LC0SELA 0 1 LC0SELB 0 1 LC0SELC 0 1 LC0SELD 0 1 LC0SELE 0 1 LC0SELF 0 1 SEG24 / ポート A7 選択 ポート A7 選択 SEG24 選択 SEG25 / ポート A6 選択 ポート A6 選択 SEG25 選択 SEG 26 /ポート A5 選択 ポート A5 選択 SEG26 選択 SEG 27 / ポート A4 選択 ポート A4 選択 SEG27 選択 SEG 28 / ポート A3 選択 ポート A3選択 SEG28 選択 SEG 29 / ポート A2 選択 ポート A2選択 SEG29 選択 SEG30 / ポート A1 選択 ポート A1 選択 SEG30 選択 SEG31 / ポート A0 選択 ポート A0 選択 SEG31 選択 図13-2-5 出力制御コントロールレジスタ2(LC0CTR1:X'3FDC'、R/W) XIII - 10 LCD制御レジスタ 第13章 LCD機能 13-2-6 出力制御コントロールレジスタ 3(LC1CTR0) 13-2-6 出力制御コントロールレジスタ 出力制御コントロールレジスタ3(LC1CTR0) ポート出力(P5)とセグメント出力(SEGS0∼SEGS6)の切り換えを制御する読み出し/書き込み可能なレジスタで す。リセット時には、ポート(入力状態)に設定されます。 LC1CTR0レジスタのLC1SEL0∼LC1SEL6を"1"に設定すると、該当端子のポート設定はすべて無効になります。 また、このとき該当ポートのデータを読み出すと、"0"が返ります。 ■出力制御コントロールレジスタ3(LC1CTR0) 7 LC1CTR0 6 5 4 3 2 1 0 (リセット時:- 0 0 0 0 0 0 0 ) LC1SEL6 LC1SEL5 LC1SEL4 LC1SEL3 LC1SEL2 LC1SEL1 LC1SEL0 LC1SEL0 0 1 LC1SEL1 0 1 LC1SEL2 0 1 LC1SEL3 0 1 LC1SEL4 0 1 LC1SEL5 0 1 LC1SEL6 0 1 SEGS0 / ポート 50 選択 ポート 50 選択 SEGS0 選択 SEGS1 / ポート 51 選択 ポート 51 選択 SEGS1 選択 SEGS2/ポート 52 選択 ポート 52 選択 SEGS2 選択 SEGS3 / ポート 53 選択 ポート 53 選択 SEG3 選択 SEGS4 / ポート 54 選択 ポート 54 選択 SEGS4 選択 SEGS5 / ポート 55 選択 ポート 55 選択 SEGS5 選択 SEGS6 / ポート 56 選択 ポート 56 選択 SEGS6 選択 図13-2-6 出力制御コントロールレジスタ3(LC1CTR0:X'3FDF'、R/W) LCD制御レジスタ XIII - 11 第13章 LCD機能 13-2-7 セグメント出力ラッチ 13-2-7 セグメント出力ラッチ LCD表示データを格納するセグメント出力ラッチは、1セグメントについて、4ビットのラッチが割り当 てられ、ビット0、ビット4はCOM0、ビット1、ビット5はCOM1、ビット2、ビット6はCOM2、ビット3、 ビット7はCOM3のタイミングに同期して読み出され、ビットの内容が1ならば選択電圧、0ならば非選択 電圧がセグメント端子より出力されます。 スタティック独立駆動(SEGS0∼SEGS6)時は、ビット0、ビット4がCOMSのタイミングに同期して読み出さ れます。 アドレスは、X'2E00'∼X'2E0F',X'2E20'∼X'2E23'に割り付けられ、RAMアクセスと同様にデータの リード、ライトができます。リセット時のセグメント出力ラッチの値は不定です。セグメント出力ラッ チとセグメント/コモン端子の対応を図13-2-7に示します。 アドレス X'2E00' X'2E01' X'2E02' X'2E03' X'2E04' X'2E05' X'2E06' X'2E07' X'2E08' X'2E09' X'2E0A' X'2E0B' X'2E0C' X'2E0D' X'2E0E' X'2E0F' COM3 ↓ bit7 COM2 ↓ bit6 COM1 ↓ bit5 X'2E20' X'2E21' X'2E22' X'2E23' スタティック時に使用 1/2duty時に使用 1/3duty時に使用 1/4duty時に使用 COM3 ↓ bit3 COM0 ↓ bit4 COM2 ↓ bit2 COM1 ↓ bit1 COM0 ↓ bit0 SEG 1/P86 SEG 3/P84 SEG 5/P82 SEG 7/P80 SEG 9/P76 SEG11/P74 SEG13/P72 SEG15/P70 SEG17/P66 SEG19/P64 SEG21/P62 SEG23/P60 SEG25/PA6 SEG27/PA4 SEG29/PA2 SEG31/PA0 SEG 0/P87 SEG 2/P85 SEG 4/P83 SEG 6/P81 SEG 8/P77 SEG10/P75 SEG12/P73 SEG14/P71 SEG16/P67 SEG18/P65 SEG20/P63 SEG22/P61 SEG24/PA7 SEG26/PA5 SEG28/PA3 SEG30/PA1 SEGS1/P51 SEGS3/P53 SEGS5/P55 SEGS0/P50 SEGS2/P52 SEGS4/P54 SEGS6/P56 スタティック時に使用 1/2duty時に使用 1/3duty時に使用 1/4duty時に使用 図13-2-7 セグメント出力ラッチとセグメント/コモン端子の対応 XIII - 12 LCD制御レジスタ 第13章 LCD機能 13 −3 LCD 機能の動作 13− LCD機能の動作 13-3-1 LCD 機能の動作 13-3-1 LCD機能の動作 LCD1、2のSEG0∼SEG31、SEGS0∼SEGS6、COM0∼COM3を使用し、スタティック表示、ダイナミック表示 (1/2デューティ・1/2バイアス、1/3デューティ・1/3バイアス、1/4デューティ・1/3バイアス)を行 う機能です。 ■タイミングコントロール回路 プリスケーラで分周されたLCDクロック(LCDCLK)を基準として1/2デューティ、1/3デューティ、1/4 デューティ、スタティックの制御に必要なタイミング信号を、タイミングコントロール回路により生 成し、コモンドライバ、マルチプレクサに供給します。 ■コモンドライバ出力 コモンドライバは、LCD電源(VLC1∼VLC3)に供給されている電圧に従い、LCD表示に必要なタイミングの コモン信号を出力します。リセット時またはLCD OFF時には、VSSが出力されます。 ■セグメントドライバ出力 マルチプレクサは、タイミングコントロール回路からの信号に同期してセグメント出力ラッチのデー タを選択し、セグメントドライバに供給します。セグメントドライバは、LCD電源に供給されている電 圧に従い、セグメント出力ラッチの内容をLCDを駆動できる信号に変換してセグメント信号を出力しま す。LCD OFF時には、VSSが出力され、LCDの電極間の電位差は、0 Vになります。 LCD機能の動作 XIII - 13 第13章 LCD機能 13-3-2 LCD 駆動電圧の供給 13-3-2 LCD駆動電圧の供給 LCD電源は、LCD電源端子(VLC1、VLC2、VLC3)より供給します。供給されたLCD駆動電圧は、LCDクロック 信号、タイミングコントロール信号により変換され、セグメントドライバ、コモンドライバに供給さ れます。また、本LSIは、LCD電源分割抵抗を内蔵しています。この内蔵分割抵抗を使用する場合、LCD 電源端子VLC1のみに基準電圧を供給します。供給された電圧は、内蔵分割抵抗により分割されVLC2、VLC3 の電圧を発生させることができます。 ■LCD電源供給方法 分割抵抗を使用しない場合は、表13-3-1の電源を供給して下さい。 内蔵分割抵抗を使用する場合は、表13-3-2の電源を供給して下さい。 表13-3-1 LCD電源(内蔵分割抵抗を使用しない場合) バイアス方法 スタティック 1/2 1/3 VLCD + VSS VLCD + VSS LCD電源 VLC1 VLCD + VSS VLC2 2/3VLCD + VSS 1/2VLCD + VSS VLC3 VSS 1/3VLCD + VSS 表13-3-2 LCD電源(内蔵分割抵抗を使用する場合) バイアス方法 スタティック 1/2 1/3 VLCD + VSS VLCD + VSS LCD電源 VLC1 VLC2 使用不可 VLC3 分圧抵抗により1/2VLCD + VSS発生 (VLC2とVLC3を短絡させる) 分圧抵抗により2/3VLCD + VSS発生 分圧抵抗により1/3VLCD + VSS発生 ■分割抵抗使用方法 外付け分割抵抗を使用する場合のLCD電源接続例を図13-3-1に示します。 内蔵分割抵抗を使用する場合のLCD電源接続例を図13-3-2に示します。 内蔵分割抵抗の接続/切断はLCDモードコントロールレジスタ1(LC0MD0)のビット6(LC0EN1)で制御されま す。外付け抵抗を使用する場合、内蔵分割抵抗を切断してください。 LCD電源端子(VLC1)に供給する電圧(V LCD)は、V LCD≦VDDの条件下で供給してください。 XIII - 14 LCD機能の動作 第13章 LCD機能 (a)スタティック (VDD=VLCDの例) MN101C56C VDD VLC1 VLCD VLC2 VLC3 VSS (b)1/2duty 1/2bias (VDD=VLCDの例) MN101C56C VDD VLC1 VLCD VLC2 VLC3 R R VSS (c)1/3duty 1/3bias, 1/4duty 1/3bias (VDD=5 V, VLCD=3 Vの例) MN101C56C VDD VLC1 VLCD 2R R VLC2 VLC3 VSS R R (d)1/3duty 1/3bias, 1/4duty 1/3bias (VDD=VLCDの例) MN101C56C VDD VLC1 VLCD VLC2 VLC3 VSS R R R (e)1/3duty 1/3bias, 1/4duty 1/3bias (VDD≧VLCDの例) MN101C56C VLC1 VLCD VLC2 VLC3 VSS R VLCD(基準電圧入力) R R 図13-3-1 LCD電源接続例(外付け分割抵抗使用) LCD機能の動作 XIII - 15 第13章 LCD機能 (a)1/2duty 1/2bias (VDD=VLCDの例) MN101C56C VDD VLC1 VLCD VLC2 VLC3 VSS (b)1/3duty 1/3bias, 1/4duty 1/3bias (VLCD≦VDDの例) MN101C56C VDD VLC1 VLCD VLCD(基準電圧入力) VLC2 VLC3 VSS (c)1/3duty 1/3bias, 1/4duty 1/3bias (VDD=VLCDの例) MN101C56C VDD VLC1 VLCD VLC2 VLC3 VSS 図13-3-2 LCD電源の接続例(内蔵分割抵抗使用) XIII - 16 LCD機能の動作 第13章 LCD機能 1. 図13-3-3では、常に分割抵抗に電流が流れています。この分割抵抗に流れる電流をカッ トする方法として、以下の接続があります。 MN101C56C VDD 2R VLC1 VLCD R VLC2 R VLC3 R VSS VDD VSS 図13-3-3 LCD電源の接続例 2. LCD用電源VLC1∼2は、以下の図13-3-4のように与えます。具体的なVLCDの値は、使用す るLCDにより異なりますので、LCDの仕様書を参照してください。 VLC1 = VLCD + VSS VLC2 VLC3 = 2/3VLCD + VSS = 1/3VLCD + VSS 通常はVDD - VSS間を抵抗分割して供給します。抵抗値として通常数10 kΩ∼数100 kΩ 程度のものを使用します。図13-3-4のCは電源インピーダンスを下げるバイパスコンデ ンサで0.01 µF∼0.1 µF程度のものを使用します。 VDD VLC1 VLC2 VLC3 R C R C R ( )C R 図13-3-4 LCD電源の接続例 LCD機能の動作 XIII - 17 第13章 LCD機能 13-3-3 LCD 機能動作の設定例 LCD機能動作の設定例 ■LCD機能動作の設定例 セグメント信号(SEG0∼SEG7)及び、コモン信号(COM0∼COM1)を用いて2ケタの8型LCDパネルを1/2 デューティ 1/2バイアスで"23"を表示させる設定例を示します。( 「 13-5 LCD表示例」 表示例」) 「13-5 LCD 表示例」 発振クロックはfosc=4 MHzで、LCDクロックはfosc/215 = 122 Hz、フレーム周期は61 Hzとし、内蔵 分割抵抗接続とします(LCD駆動電源の設定方法については、「13-3-2 LCD駆動電圧の供給 表 表13-32 LCD 電源 (内蔵分割抵抗を使用する場合 ) 」を参照してください)。 LCD電源 電源( 内蔵分割抵抗を使用する場合) 以下に、設定手順とその内容を示します。 設定手順 (1) LCDの動作停止 LC0MD0(X'3FD9') bp7 :LC0EN0 LC1MD0(X'3FDA') bp7 :LC1EN0 内容 = 0 (1) LCDモードコントロールレジスタ1(LC0MD0) のLC0EN0フラグを"0"、LCDモードコントロー ルレジスタ2(LC1MD0)のLC1MD0フラグを"0"に してLCDを動作停止状態にします。 = 0 (2) 表示デューティの設定 LC0MD0(X'3FD9') bp5-4 :LC0DTY1-0 = 10 (2) LCDモードコントロールレジスタ1(LC0MD0)の LC0DTY1-0フラグにより表示デューティを1/2 に設定します。 (3) LCDクロックの設定 LC0MD0(X'3FD9') bp3-0 :LC0CK3-0 = 0100 (3) LCDモードコントロールレジスタ1(LC0MD0)の LC0CK3-0フラグによりLCDクロックのソースク ロックをfosc/215に設定します。 (4) LCDクロックの分周比設定 LC1MD0(X'3FDA') bp1-0 :LC1CK1-0 = 00 (4) LCDモードコントロールレジスタ2(LC1MD0)の LC1CK1-0フラグにより、LCDクロックの分周比 を1/1に設定します。 (5) 内蔵分割抵抗の設定 LC0MD0(X'3FD9') bp6 :LC0EN1 (5) LCDモードコントロールレジスタ1(LC0MD0)の LC0EN1フラグを"1"にして、内蔵分圧抵抗を接 続します。 = 1 (6) セグメント出力端子の設定 LC0CTR0(X'3FDB') bp7-0 :LC0SEL7-0 LC0CTR1(X'3FDC') bp7-0 :LC0SELF-8 LC1CTR0(X'3FDF') bp7-0 :LC1SEL6-0 XIII - 18 LCD機能の動作 = X'03' = X'00' = X'00' (6) 出力制御コントロールレジスタ1(LC0CTR0)の LC0SEL7-0フラグ、出力制御コントロールレジ スタ2(LC0CTR1)のLC0SELF-8フラグ、出力制御 コントロールレジスタ3(LC1CTR0)のLC1SEL6-0 フラグにより、SEG7-0を選択します。 第13章 LCD機能 設定手順 (7) 表示データの設定 セグメント出力ラッチ (X'2E00') = X'31' セグメント出力ラッチ (X'2E01') = X'22' セグメント出力ラッチ (X'2E02') = X'30' セグメント出力ラッチ (X'2E03') = X'32' (8) LCDの動作開始 LC0MD0(X'3FD9') bp7 :LC0EN0 内容 SEG1-0 (7) セグメント出力ラッチSEG7-0(X'2E00'∼ X'2E03')により、表示データを”23”にしま す。【 「 13-5 LCD表示例」 表示例」】 「13-5 LCD 表示例」 SEG3-2 SEG5-4 SEG7-6 = 1 (8) LCDモードコントロールレジスタ1(LC0MD0)の LC0EN0フラグを"1"にしてLCDを動作開始しま す。 LCD機能の動作 XIII - 19 第13章 LCD機能 13-4 LCD 機能 (スタティック独立駆動 )の動作 13-4 LCD機能 機能( スタティック独立駆動) 13-4-1 LCD 機能 (スタティック独立駆動 )の動作 13-4-1 LCD機能 機能( スタティック独立駆動) LCD2の、SEGS0∼SEGS6、COMS、内蔵昇圧回路を使用し、スタティック独立駆動表示を行う機能です。 (内蔵分割抵抗は使用できません。) LCD1で使用しているLCD駆動電圧とは異なる駆動電圧(内蔵昇圧回路による駆動電圧)で動作させること ができます。 ■タイミングコントロール回路 プリスケーラで分周されたLCDクロック(LCDCLK)を基準としてスタティックの制御に必要なタイミング 信号を、タイミングコントロール回路により生成し、コモンドライバ、マルチプレクサに供給します。 ■コモンドライバ出力 コモンドライバは、LCD電源(VCH)に供給されている電圧に従い、LCD表示に必要なタイミングのコモン 信号を出力します。リセット時またはLCD OFF時には、VSSが出力されます。 ■セグメントドライバ出力 マルチプレクサは、タイミングコントロール回路からの信号に同期してセグメント出力ラッチのデー タを選択し、セグメントドライバに供給します。セグメントドライバは、LCD電源に供給されている 電圧に従い、セグメント出力ラッチの内容をLCD駆動できる信号に変換してセグメント信号を出力しま す。LCD OFF時には、VSSが出力され、LCDの電極間の電位差は、0 Vになります。 ■LCD電源(VCH) 内蔵昇圧回路動作時、LCD電源(VCH)端子から基準電圧(VLCD)2倍の昇圧電圧が出力されます。内蔵 昇圧回路停止時、VCH端子はハイインピーダンスになりますので、プルアップするなど端子レベルを 固定してください。 内蔵昇圧回路未使用時、停止時及びスタンバイモード時のVCH端子の設定 システムの構成に合わせ、次の(1)、(2)いずれかの方法でVCH端子のレベルを固定 してください。 (1)外部レベルによる固定 VCH=VDDに端子固定 (2)内蔵プルアップによる固定 LCDモードコントロ―ルレジスタ2(x'3FDA')のLC1EN0を”0”に、 LC1EN1を”1”に設定し、VCH端子を内部プルアップ。 XIII - 20 LCD(スタティック独立駆動)動作 第13章 LCD機能 13-4-2 LCD 駆動電圧 (内部昇圧電圧 )の供給 13-4-2 LCD駆動電圧 駆動電圧( 内部昇圧電圧) VCH VCH 昇圧回路 VCHCLK1 R 1/23 R fosc/210 fosc/29 7 LC1EN1 LC1EN0 LC1CMT0 LC1SEL LC1CK1 0 LC1CK0 LC1MD0 7 LC0EN0 LC0EN1 LC0DTY1 LC0DTY0 LCDCK2 LCDCK3 LCDCK1 LCDCK0 LC0MD0 0 fx fosc R 9 1/2 ∼1/2 10 MUX MUX MUX 1/23 VCHCLK2 VDD C2 C1 VLCS LCD2のスタティック独立駆動機能を使用するときのLCD電源は、内部昇圧回路の出力(VCH)または、VCH 端子に供給される外部電圧(昇圧出力OFF時)となります。内部昇圧回路では、VLCSからの基準入力電圧 を2倍した電圧が発生されます。また、この電圧は昇圧電圧端子(VCH)からも出力されます。2倍昇圧さ れたLCD駆動電圧は、LCDクロック信号、スタティックコントロール信号により変換され、セグメント ドライバ、コモンドライバに供給されます。 図13-4-1に昇圧回路のブロック図を示します。 図13-4-1 昇圧回路のブロック図 本LSIの昇圧回路は、LCDパネル駆動のための専用電源です。 LCDパネル駆動以外の用途には使用しないでください。 LCD(スタティック独立駆動)の動作 XIII - 21 第13章 LCD機能 ■LCD電源供給方法(1) 内蔵昇圧回路を使用する場合のLCD電源接続例を図13-4-2に示します。 MN101C56C VDD VLCS(基準電圧入力) VCH VLCS 0.1 µF C2 0.1 µF PC3/C1 図13-4-2 LCD電源の接続例(内蔵昇圧回路使用時) 昇圧回路の基準入力電圧(VLCS)は、VDD/2≦VLCS≦2.75 Vの条件で使用してください。 ■LCD電源供給方法(2) 内蔵昇圧回路を使用しない場合のLCD電源接続例を図13-4-3に示します。 MN101C56C VDD∼5.5 V VCH 図13-4-3 LCD電源の接続例(内蔵昇圧回路未使用時、スタンバイ機能未使用時) VCH端子に入力するLCD電源電圧は、VDD≦VCH≦5.5 Vの条件下で使用してください。 LCDモードコントロールレジスタ2(LC1MD0:x'3FDA')のLC1SELを"1"にセットすると、SEGS0∼ SEGS6のすべての端子がLCD1と同一のLCD電源で駆動する通常スタティック/セグメントモー ドに切り換わります。 XIII - 22 LCD(スタティック独立駆動)動作 第13章 LCD機能 13-4-3 LCD 機能 (スタティック独立駆動 )の設定例 13-4-3 LCD機能 機能( スタティック独立駆動) ■LCD(スタティック独立駆動)動作の設定例 セグメント信号(SEGS0∼SEGS6)及び、コモン信号(COMS)を用いて1ケタの8型LCDパネルをスタティック で"2"を表示させる設定例を示します。( 「 13-5 LCD表示例」 表示例」) 「13-5 LCD 表示例」 発振クロックはfosc=4 MHzで、LCDクロックはfosc/215 蔵昇圧回路動作とします。 以下に、設定手順とその内容を示します。 設定手順 (1) LCDの動作停止 LC0MD0(X'3FD9') bp7 :LC0EN0 LC1MD0(X'3FDA') bp7 :LC1EN0 bp6 :LC1EN1 (2) 動作モードの設定 LC1MD0(X'3FDA') bp2 :LC1SEL (3) LCDクロックの設定 LC0MD0(X'3FD9') bp3-0 :LC0CK3-0 LC1MD0(X'3FDA') bp1-0 :LC1CK1-0 (4) 内蔵分割抵抗の設定 LC0MD0(X'3FD9') bp6 :LC0EN1 = 122 Hz、フレーム周期は122 Hzとし、内 内容 = 0 = 0 = 1 = 0 (1) LCDモードコントロールレジスタ1(LC0MD0)の LC0EN0フラグを"0"、LCDモードコントロール レジスタ2(LC1MD0)のLC1EN0フラグを"0"にし てLCDを動作停止状態にします。また、LC1EN1 フラグを”1”にして、昇圧回路プルアップ ありに設定し、VCH端子を内部プルアップし ます。 (2) LCDモードコントロールレジスタ2(LC1MD0)の LC1SELフラグを"0"にしてスタティック独立駆 動モードにします。 = 00 (3) LCDモードコントロールレジスタ1(LC0MD0)の LCDCK3-0フラグ、LCDモードコントロールレジ スタ2(LC1MD0)のLC1CK1-0のフラグにより、 LCDクロックのソースクロックをOSC1/215、 LCDクロックの分周比を1/1に設定します。 = 0 (4) LCDモードコントロールレジスタ(LC0MD0) のLC0EN1フラグを"0"にして、内蔵分割 抵抗を切断します。 = 0100 (5) セグメント出力端子の設定 LC0CTR0(X'3FDB') bp7-0 :LC0SEL7-0 = X'00' LC0CTR1(X'3FDC') bp7-0 :LC0SELF-8 = X'00' LC1CTR0(X'3FDF') bp7-0 :LC1SEL6-0 = X'7F' (5) 出力制御コントロールレジスタ1(LC0CTR0)の LC0SEL7-0フラグ、出力制御コントロールレジ スタ2(LC0CTR1)のLC0SELF-8フラグ、出力制御 コントロールレジスタ3(LC1CTR0)のLC1SEL6-0 フラグにより、SEGS6-0を選択します。 LCD(スタティック独立駆動)の動作 XIII - 23 第13章 LCD機能 設定手順 (6) 表示データの設定 セグメント出力ラッチ (X'2E20') = X'80' セグメント出力ラッチ (X'2E21') = X'08' セグメント出力ラッチ (X'2E22') = X'88' セグメント出力ラッチ (X'2E23') = X'08' (7) LCDの動作開始 LC1MD0(X'3FDA') bp7 :LC1EN0 内容 SEGS1-0 SEGS3-2 (6) セグメント出力ラッチSEGS6-0(X'2E20'∼ X'2E23')により、表示データを”2”にしま す。 【 「 13-5 LCD表示例」 表示例」】 「13-5 LCD 表示例」 SEGS5-4 SEGS6 = 1 (7) LCDモードコントロールレジスタ2(LC1MD0)の LC1EN0フラグを"1"に設定します。VCH端子の 内部プルアップが解除されるとともに、昇圧 動作が開始され、LCD動作を開始します。 昇圧回路を使用するシステムでは、プログラムの初期設定にて、LC1EN1フラグを”1”に設定 することを推奨します。 このように設定することにより、スタティックLCD駆動のON/OFF(LC1EN=”1”or"0")に連動 して、昇圧回路動作のON/OFF及び昇圧出力端子(VCH)のプルアップをOFF/ONに制御することが できます。 XIII - 24 LCD(スタティック独立駆動)動作 第13章 LCD機能 LCD(スタティック独立駆動)の動作 XIII - 25 第13章 LCD機能 13-5 LCD 表示例 13-5 LCD表示例 図13-5-1から図13-5-5に、スタティック、1/2デューティ、1/3デューティ、1/4デューティ、スタ ティック独立動作におけるLCDパネルの接続例、表示例、駆動波形を示します。 ■スタティック MN101C56C SegmentLatch X'2E0F' SEG31 ・・・・・・・ X'2E03' X'2E03' X'2E02' X'2E02' X'2E01' X'2E01' X'2E00' X'2E00' ・・・・・・・ 0 0 0 0 0 0 0 0 bit7/bit3 COM3 open 0 0 0 0 0 0 0 0 bit6/bit2 COM2 0 0 0 0 0 0 0 0 bit5/bit1 COM1 open 1 1 1 0 1 1 0 0 bit4/bit0 COM0 SEG7 SEG6 SEG5 SEG4 SEG3 SEG2 SEG1 SEG0 A電極 B電極 :点灯 LCDPANEL :消灯 COM=S SEG=S LCD ON COM=S SEG=N LCDクロック LCD OFF 不定 データ "1" "0" 不定 点灯 消灯 消灯 VLC1=VLC2 COM VLC3=VSS VLC1=VLC2 SEG VLC3=VSS VLCD COM-SEG 0 -VLCD S:選択電圧 N:非選択電圧 VLCD:LCD駆動電圧 スタティックの場合は、COM(COMS)は常に選択 電圧を出力します。 XIII - 26 LCD表示例 open 第13章 LCD機能 ■スタティック駆動波形 フレーム周期 VLC1=VLC2 VLCD COM0 VLC3=VSS VLC1=VLC2 SEG4 (data) (0) VLC3=VSS VLC1=VLC2 SEG6 (data) (1) VLC3=VSS +VLCD A電極 0 (COM0-SEG4) (消灯) -VLCD +VLCD B電極 0 (COM0-SEG6) (点灯) -VLCD 図13-5-1 スタティックのLCD表示例 LCD表示例 XIII - 27 第13章 LCD機能 ■1/2デューティ MN101C56C SegmentLatch X'2E0F' SEG31 ・・・・・・・ X'2E03' X'2E03' X'2E02' X'2E02' X'2E01' X'2E01' X'2E00' X'2E00' ・・・・・・・ 0 0 0 0 0 0 0 0 bit7/bit3 COM3 0 0 0 0 0 0 0 0 bit6/bit2 COM2 1 1 1 0 1 1 1 0 bit5/bit1 COM1 1 0 1 0 0 0 1 1 bit4/bit0 COM0 SEG7 SEG6 SEG5 SEG4 SEG3 SEG2 SEG1 SEG0 A電極 B電極 :点灯 :消灯 LCDPANEL COM=S SEG=S COM=N SEG=S LCD ON COM=S SEG=N COM=N SEG=N LCDクロック データ 不定 "1" COM VLC1 VLC2=VLC3 VSS SEG VLC1 VLC2=VLC3 VSS COM-SEG VLCD 1/2VLCD 0 -1/2VLCD -VLCD LCD OFF 点灯 "0" 消灯 消灯 不定 消灯 消灯 S:選択電圧 N:非選択電圧 VLCD:LCD駆動電圧 XIII - 28 LCD表示例 open open 第13章 LCD機能 ■1/2デューティ駆動波形 フレーム周期 VLC1 VLC2=VLC3 COM1 VLCD VSS VLC1 VLC2=VLC3 COM0 VSS VLC1 SEG6 (data) VLC2=VLC3 (0) (1) VSS +VLCD +1/2VLCD A電極 0 (COM1-SEG6) -1/2VLCD (消灯) (点灯) -VLCD +VLCD +1/2VLCD B電極 0 (COM0-SEG6) -1/2VLCD (消灯) (消灯) -VLCD 図13-5-2 1/2デューティのLCD表示例 LCD表示例 XIII - 29 第13章 LCD機能 ■1/3デューティ MN101C56C SegmentLatch X'2E0F' ・・・・・・・ SEG31 X'2E02' X'2E02' X'2E01' X'2E01' X'2E00' X'2E00' ・・・・・・・ 0 0 0 0 0 0 bit7/bit3 COM3 0 1 1 0 1 1 bit6/bit2 COM2 1 1 0 0 1 1 bit5/bit1 COM1 0 1 0 0 1 0 bit4/bit0 COM0 SEG5 SEG4 SEG3 SEG2 SEG1 SEG0 A電極 B電極 :点灯 :消灯 LCDPANEL COM=S SEG=S COM=N SEG=S LCD ON COM=S SEG=N COM=N SEG=N LCDクロック 不定 データ COM SEG COM-SEG LCD OFF "1" 不定 "0" VLC1 VLC2 VLC3 VSS VLC1 VLC2 VLC3 VSS VLCD 1/3VLCD 0 -1/3VLCD -VLCD 点灯 消灯 消灯 消灯 消灯 S:選択電圧 N:非選択電圧 VLCD:LCD駆動電圧 XIII - 30 LCD表示例 open 第13章 LCD機能 ■1/3デューティ駆動波形 フレーム周期 COM2 VLC1 VLC2 VLC3 VSS COM1 VLC1 VLC2 VLC3 VSS COM0 VLC1 VLC2 VLC3 VSS SEG5 (data) (0) (1) (0) VLCD VLC1 VLC2 VLC3 VSS +VLCD +1/3VLCD A電極 0 -1/3VLCD (COM2-SEG5) (消灯) (消灯) (消灯) -VLCD +VLCD +1/3VLCD B電極 0 -1/3VLCD (COM1-SEG5) (消灯) (点灯) (消灯) -VLCD 図13-5-3 1/3デューティのLCD表示例 LCD表示例 XIII - 31 第13章 LCD機能 ■1/4デューティ MN101C56C SegmentLatch X'2E0F' ・・・・・・・ SEG31 X'2E01' X'2E01' X'2E00' X'2E00' 0 1 0 1 bit7/bit3 COM3 COM2 ・・・・・・・ 1 1 1 1 bit6/bit2 1 0 0 1 bit5/bit1 COM1 1 0 1 0 bit4/bit0 COM0 SEG3 SEG2 SEG1 SEG0 A電極 B電極 :点灯 LCDPANEL :消灯 COM=S SEG=S COM=N SEG=S LCD ON COM=S SEG=N COM=N SEG=N LCDクロック 不定 データ COM SEG COM-SEG LCD OFF "1" 不定 "0" VLC1 VLC2 VLC3 VSS VLC1 VLC2 VLC3 VSS VLCD 1/3VLCD 0 -1/3VLCD -VLCD 点灯 消灯 消灯 消灯 消灯 S:選択電圧 N:非選択電圧 VLCD:LCD駆動電圧 XIII - 32 LCD表示例 第13章 LCD機能 ■1/4デューティ駆動波形 フレーム周期 COM3 VLC1 VLC2 VLC3 VSS COM2 VLC1 VLC2 VLC3 VSS COM1 VLC1 VLC2 VLC3 VSS COM0 VLC1 VLC2 VLC3 VSS SEG3 (data) (1) (1) (1) (0) VLCD VLC1 VLC2 VLC3 VSS +VLCD +1/3VLCD A電極 (COM3-SEG3) (消灯) (消灯) (消灯) (消灯) 0 -1/3VLCD -VLCD +VLCD +1/3VLCD B電極 0 -1/3VLCD (COM1-SEG3) (消灯) (点灯) (消灯) (消灯) -VLCD 図13-5-4 1/4デューティのLCD表示例 LCD表示例 XIII - 33 第13章 LCD機能 ■スタティック独立駆動 MN101C56C SegmentLatch X'2E23' X'2E22' X'2E22' X'2E21' X'2E21' X'2E20' X'2E20' 0 0 0 0 0 0 0 bit7/bit3 0 0 0 0 0 0 0 bit6/bit2 0 0 0 0 0 0 0 bit5/bit1 1 1 1 0 1 1 0 bit4/bit0 SEGS6 SEGS5 SEGS4 SEGS3 SEGS2 SEGS1 SEGS0 A電極 B電極 :点灯 LCDPANEL :消灯 COM=S SEG=S LCD ON COM=S SEG=N LCDクロック LCD OFF 不定 データ "1" "0" 不定 点灯 消灯 消灯 VLC1=VLC2 COM VLC3=VSS VLC1=VLC2 SEG VLC3=VSS VLCD COM-SEG 0 -VLCD S:選択電圧 N:非選択電圧 VLCD:LCD駆動電圧 スタティックの場合は、COM(COMS)は常に選択 電圧を出力します。 XIII - 34 LCD表示例 COMS 第13章 LCD機能 ■スタティック独立駆動波形 フレーム周期 VCH VLCD COMS VSS VCH SEGS3 (data) (0) VSS VCH SEGS5 (data) (1) VSS +VLCD A電極 0 (COMS-SEGS3) (消灯) -VLCD +VLCD B電極 0 (COMS-SEGS5) (点灯) -VLCD 図13-5-5 スタティック独立駆動波形 LCD表示例 XIII - 35 第14章 A/D変換機能 13 14 15 第14章 A/D変換機能 14-1 A/D 変換機能の概要 14-1 A/D変換機能の概要 本LSIは、10ビット分解能の1組のA/Dコンバータを内蔵しています。サンプルホールド回路を内蔵し、 アナログ入力はチャンネル0∼7(AN0∼AN7)をソフトウェアにより切り換え可能です。A/Dコンバータ停 止時には、内蔵ラダー抵抗をOFFにして消費電力を少なくすることも可能です。A/Dコンバータの起動 には、レジスタの設定と外部割込みの2種類があります。 14-1-1 A/D 変換機能の一覧 A/D変換機能の一覧 A/D変換機能の一覧を次表に示します。 表14-1-1 A/D変換機能の一覧 A/D入力端子数 8本 端子名 AN7端子∼AN0端子 割込み ADIRQ 分解能 10ビット 変換時間(最小) 9.6 µs (TAD =800 ns時) 入力レンジ Vref-∼Vref+ 消費電力機能 内蔵ラダー抵抗ON/OFF可能 基準電圧V ref+ はVDDと同電位に、V ref- はV SSと同電位にしてご使用ください。 XIV - 2 A/D変換機能の概要 第14章 A/D変換機能 14-1-2 ANCTR1 ANCHS0 ANCHS1 ANCHS2 − − − − − A/D 変換のブロック図 A/D変換のブロック図 ANCTR0 0 − − − ANLADE ANCK0 ANCK1 ANSH0 ANSH1 7 0 7 ANCTR2 − − − − − − ANSTSEL ANST IRQ3(P23) 0 ANBUF1 外部割込み制御 ANBUF10 ANBUF11 ANBUF12 ANBUF13 ANBUF14 ANBUF15 ANBUF16 ANBUF17 A/D変換制御 7 0 7 ANBUF0 − − − − − − ANBUF06 ANBUF07 0 7 3 Vref+ AN0 AN1 AN2 AN3 AN4 AN5 AN6 2 MUX 2 サンプルホールド A/D変換データ 上位8ビット 10ビットA/D比較器 A/D変換データ下位2ビット AN7 Vreffs/2 fs/4 fs/8 fx × 2 MUX 1/2 1/6 MUX 1/18 図14-1-1 A/D変換ブロック図 A/D変換機能の概要 XIV - 3 第14章 A/D変換機能 14-2 A/D 変換制御レジスタ 14-2 A/D変換制御レジスタ A/D変換は、制御レジスタ(ANCTRn)とデータ格納バッファ(ANBUFn)で構成されています。 14-2-1 A/D 変換制御レジスタ一覧 A/D変換制御レジスタ一覧 A/D変換を制御するレジスタの一覧を次表に示します。 表14-2-1 A/D変換制御レジスタ一覧 レジスタ略称 アドレス R/W レジスタ名称 ANCTR0 X'03FB0' R/W A/D制御レジスタ0 XIV - 5 ANCTR1 X'03FB1' R/W A/D制御レジスタ1 XIV - 6 ANCTR2 X'03FB2' R/W A/D制御レジスタ2 XIV - 6 ANBUF0 X'03FB3' R A/D変換データ格納バッファ0 XIV - 7 ANBUF1 X'03FB4' R A/D変換データ格納バッファ1 XIV - 7 ADICR X'03FFB' R/W A/D変換割込み制御レジスタ III - 33 IRQ3ICR X'03FE5' R/W 外部割込み3制御レジスタ III - 20 EDGDT X'03F8F' R/W 両エッジ割込み制御レジスタ III - 40 PAIMD X'03F3A' R/W ポートA入力モードレジスタ IV - 45 PAPLU X'03F4A' R/W ポートAプルアップ抵抗制御レジスタ IV - 45 R/W:読み出し/書き込み共に可能です。 R XIV - 4 :読み出し専用レジスタです。 A/D変換制御レジスタ 参照ページ 第14章 A/D変換機能 14-2-2 A/D 制御レジスタ 14-2-2 A/D制御レジスタ ■A/D制御レジスタ0(ANCTR0) 7 ANCTR0 6 5 4 3 ANSH1 ANSH0 ANCK1 ANCK0 ANLADE 2 1 0 − − − (リセット時: 0 0 0 0 0 - - - ) ANLADE A/Dラダー抵抗制御 0 A/Dラダー抵抗OFF 1 A/Dラダー抵抗ON ANCK1 0 1 ANCK0 A/D変換クロック(ftad=1/TAD) 0 fs/2 1 fs/4 0 fs/8 1 fx× 2 ※但し、800 ns<TAD≦15.26 µs ANSH1 0 1 ANSH0 サンプルホールド時間 0 TAD×2 1 TAD×6 0 TAD×18 1 使用禁止 図14-2-1 A/D制御レジスタ0(ANCTR0:X'03FB0'、R/W) A/D変換制御レジスタ XIV - 5 第14章 A/D変換機能 ■A/D制御レジスタ1(ANCTR1) ANCTR1 7 6 5 4 − − − − 3 2 1 0 RESERVED ANCHS2 ANCHS1 ANCHS0 ANCHS2 ANCHS1 ANCHS0 アナログ入力チャンネル 0 0 1 0 1 1 RESERVED 0 AN0 (PA0) 1 AN1 (PA1) 0 AN2 (PA2) 1 AN3 (PA3) 0 AN4 (PA4) 1 AN5 (PA5) 0 AN6 (PA6) 1 AN7 (PA7) 必ず0に設定してください。 図14-2-2 A/D制御レジスタ1(ANCTR1:X'03FB1'、R/W) ■A/D制御レジスタ2(ANCTR2) 7 ANCTR2 6 ANST ANSTSEL 5 4 3 2 1 0 − − − − − − (リセット時: 0 0 - ANSTSEL - - - ) A/D変換スタート要因選択 ANSTフラグを1に設定 1 外部割込み3,ANSTフラグを1に設定 A/D変換ステータス 0 終了、停止 1 スタート、変換中 図14-2-3 A/D制御レジスタ2(ANCTR2:X'03FB2'、R/W) A/D変換制御レジスタ - 0 ANST XIV - 6 - 第14章 A/D変換機能 14-2-3 A/D バッファ 14-2-3 A/Dバッファ ■A/D変換データ格納バッファ0(ANBUF0) A/D変換結果の下位2ビットが格納されるレジスタです。 7 ANBUF0 6 5 4 3 2 1 0 (リセット時: X X - - - - - - ) ANBUF07 ANBUF06 図14-2-4 A/Dバッファ0(ANBUF0:X'03FB3'、R) ■A/D変換データ格納バッファ1(ANBUF1) A/D変換結果の上位8ビットが格納されるレジスタです。 7 ANBUF1 6 5 4 3 2 1 0 ANBUF17 ANBUF16 ANBUF15 ANBUF14 ANBUF13 ANBUF12 ANBUF11 ANBUF10 (リセット時:X X X X X X X X ) 図14-2-5 A/Dバッファ1(ANBUF1:X'03FB4'、R) A/D変換制御レジスタ XIV - 7 第14章 A/D変換機能 14-3 A/D 変換動作 14-3 A/D変換動作 。 A/D変換回路の操作手順とその内容を を以下に示します。 (1) アナログ端子の設定 ポートA入力モードレジスタ(PAIMD)で、(2)で設定するアナログ入力端子を特殊機能端子に設 定します。 *ポートA入力モードレジスタの設定は端子にアナログ電圧を印加する前に行ってください。 (2) アナログ入力端子の選択 A/D制御レジスタ1(ANCTR1)のANCHS2∼ANCHS0フラグにより、アナログ入力端子をAN7∼AN0 (PA7∼PA0)から選択します。 (3) A/D変換クロック選択 A/D制御レジスタ0(ANCTR0)のANCK1,ANCK0フラグによりA/D変換クロックを選択します。 使用する発振子により変換クロック(TAD)が800 ns以下にならないように設定してください。 (4) サンプルホ−ルド時間設定 A/D制御レジスタ0(ANCTR0)のANSH1,ANSH0フラグによりサンプルホ−ルド時間を設定します。 サンプルホ−ルド時間は、アナログの入力インピ−ダンスにより適切な値を選択してくださ い。 (5) A/Dラダ−抵抗設定 A/D制御レジスタ0(ANCTR0)のANLADEフラグを"1"にセットしてラダー抵抗に電流を流し、 A/D変換の待機状態にします。 *(2)∼(5)の操作は順不同で、(3)(4)(5)の操作は同時に行っても構いません。 (6) A/D変換スタ−ト要因選択,A/D変換スタート A/D制御レジスタ2(ANCTR2)のANSTフラグを"1"にセットしてA/D変換を開始するか、A/D制御 レジスタ2(ANCTR2)のANSTSELフラグを"1"にセットし、外部割込みIRQ3でA/D変換を開始し ます。 *外部割込み3制御レジスタ(IRQ3ICR)のREDG3フラグ、および両エッジ割込み制御レジスタ (EDGDT)のEDGSEL3フラグで有効エッジ指定を行ってください。 (7) A/D変換 A/D変換は(3)で設定したサンプルホ−ルド時間でサンプリングした後、MSBより順次比較決定 されます。 (8) A/D変換終了 A/D変換が完了するとANSTフラグは"0"にクリアされ、変換結果はA/Dバッファ(ANBUF0,1)に 格納されます。同時にA/D終了割込み要求(ADIRQ)が発生します。 XIV - 8 A/D変換動作 第14章 A/D変換機能 T AD 1∼2 3 4 12 A/D変換クロック ANSTフラグ A/D変換スタート A/D変換終了 A/D変換時間 TS サンプリング ホールド ビット9比較 ビット8比較 ビット9 決定 ビット8 決定 ビット0比較 ビット1 決定 ビット0 決定 A/D割込み(ADIRQ) 図14-3-1 A/D変換の動作 A/D変換値を読み取る場合は、複数回A/D変換を行い、プログラム上でレベルの一致を確認す るか、平均値を求めてノイズ対策を行ってください。 A/D変換動作 XIV - 9 第14章 A/D変換機能 14-3-1 A/D 変換機能の設定 14-3-1 A/D変換機能の設定 ■A/D変換の入力端子の設定 A/D変換を行う入力端子は、ANCTR1レジスタのANCHS2∼0フラグで選択します。 表14-3-1 A/D変換の入力端子の設定 ANCHS2 ANCHS1 ANCHS0 A/D端子 0 AN0端子 1 AN1端子 0 AN2端子 1 AN3端子 0 AN4端子 1 AN5端子 0 AN6端子 1 AN7端子 0 0 1 0 1 1 ■A/D変換のクロックの設定 A/D変換クロックは、ANCTR0レジスタのANCK1∼0フラグで設定します。A/D変換クロック(TAD)が800 ns 未満にならないように設定してください。マシンクロック(fosc,fx,fs)とA/D変換クロック(TAD)の対応 を次表に示します。(fs=fosc/2,fx/4として算出) 表14-3-2 A/D変換クロックとA/D変換周期 A/D変換周期 (TAD) ANCK1 ANCK0 低速動作用発振動作時 fosc=20 MHz時 fosc=8.38 MHz時 fx=32.768 kHz時 477.33 ns (設定不可) 244.14 µs (設定不可) 0 fs/2 200.00 ns (設定不可) 1 fs/4 400.00 ns (設定不可) 954.65 ns 488.28 µs (設定不可) 0 fs/8 800.00 ns 1.91 µs 976.56 µs (設定不可) 1 fx X 2 15.26 µs 15.26 µs 15.26 µs 0 1 高速動作用発振動作時 A/D変換クロック システムクロック(fs)については、第2章2-5.クロック切り換え機能を参照して下さい。 ■A/D変換のサンプリング時間(Ts)の設定 A/D変換のサンプリング時間は、ANCTR0レジスタのANSH1∼0フラグで設定します。A/D変換のサンプリ ング時間は、外部回路により変化しますのでアナログ入力インピーダンスにより適切な値を設定する ようにしてください。 表14-3-3 A/D変換のサンプリング時間とA/D変換時間 ANSH1 0 1 XIV - 10 ANSH0 サンプリング時間 (T s) A/D変換時間 TAD=800 ns時 TAD=954.65 ns時 TAD=1.91 µs時 TAD=15.26 µs時 0 TAD X 2 9.60 µs 11.46 µs 22.92 µs 183.12 µs 1 TAD X 6 12.80 µs 15.27 µs 30.56 µs 244.16 µs 0 TAD X 18 22.40 µs 26.73 µs 53.48 µs 427.28 µs 1 使用禁止 ─ ─ ─ ─ A/D変換動作 第14章 A/D変換機能 ■内蔵ラダー抵抗の制御 ANCTR0レジスタのANLADEフラグを"1"に設定することによりラダー抵抗に電流を流しA/D変換の待機状 態にします。A/Dコンバータ停止時には、ANCTR0レジスタのANLADEフラグを"0"に設定することにより 消費電力を少なくすることが可能です。 表14-3-4 A/Dラダー抵抗の制御 ANLADE A/Dラダー抵抗制御 0 A/Dラダー抵抗OFF (A/D変換停止) 1 A/Dラダー抵抗ON (A/D変換待機) ■A/D変換スタート要因選択の設定 A/D変換スタート要因は、ANCTR2レジスタのANSTSELフラグで設定します。ANCTR2レジスタのANSTSELフ ラグを"1"に設定することにより、外部割込み3の要因でA/D変換を開始します。また、ANCTR2レジスタ のANSTフラグを"1"に設定することによってA/D変換を開始することも可能です。 表14-3-5 A/D変換スタート要因選択 ANSTSEL A/D変換スタート要因 1 外部割込み3、ANSTフラグに"1"を設定 0 ANSTフラグに"1"を設定 A / D 変換のスタート要因に外部割込み3 を選択した場合は、外部割込み3 制御レジスタ (IRQ3ICR)のREDG3フラグ、および両エッジ割込み制御レジスタ(EDGDT)のEDGSEL3フラグで有 効エッジを指定してください。 【 第3章 3-3. 外部割込み機能の概要】 割込みの有効エッジ指定は、A/D変換スタート要因選択で外部割込み3を選択する前に行って ください。 ■A/D変換スタート設定 A/D変換スタートは、ANCTR2レジスタのANSTフラグで設定します。ANCTR2レジスタのANSTフラグを"1" に設定することにより、A/D変換を開始します。外部割込み3の要因でA/D変換スタート行う場合は、外 部割込み3の発生と同時にANCTR2レジスタのANSTフラグを"1"にセットし、A/D変換を開始します。ま た、ANCTR2レジスタのANSTフラグは、A/D変換中は"1"に設定され、A/D変換終了割込み発生と同時に "0"にクリアされます。 表14-3-6 A/D変換スタート ANST A/D変換スタート要因 1 A/D変換開始、A/D変換中 0 A/D変換終了、A/D変換停止 A/D変換動作 XIV - 11 第14章 A/D変換機能 14-3-2 A/D 変換動作の設定例 14-3-2 A/D変換動作の設定例 ■レジスタの設定によるA/D変換動作の設定例 レジスタの設定によりA/D変換動作を開始します。アナログ入力端子はAN0、変換クロックはfs/4、サ ンプルホールド時間はTAD×6に設定し、A/D変換終了割込みを発生します。 以下に、設定手順とその内容を示します。 内容 設定手順 (1) ポートA入力モードレジスタ(PAIMD)により (1) アナログ入力端子設定 PAIMD(x'3F3A') bp0 :PAIMD0 PAPLU(x'3F4A') bp0 :PAPLU0 = 1 (2)で設定するアナログ入力端子を特殊機能端 子に設定し、ポートAプルアップ抵抗制御レジ = 0 スタ(PAPLU)によりプルアップ抵抗なしに設定 します。 (2) アナログ入力端子選択 ANCTR1(x'3FB1') bp2-0 :ANCHS2-0 (2) A/D制御レジスタ1(ANCTR1)のANCHS2-0フラグ = 000 (3) A/D変換クロック選択 ANCTR0(x'3FB0') bp5-4 :ANCK1-0 (3) A/D制御レジスタ0(ANCTR0)のANCK1,ANCK0 フラグによりA/D変換クロックを選択します。 = 01 (4) サンプルホ−ルド時間設定 ANCTR0(x'3FB0') bp7-6 :ANSH1-0 (4) A/D制御レジスタ0(ANCTR0)のANSH1,ANSH0 フラグによりサンプルホ−ルド時間を設定し ます。 = 01 (5) 割込みレベルの設定 ADICR(x'3FFA') bp7-6 :ADLV1-0 により、アナログ入力端子をAN7-0(PA7-0)か ら選択します。 (5) A/D変換終了割込み制御レジスタ(ADICR)の ADLV1-0フラグにより割込みレベルを設定しま す。 = 00 割込み要求フラグが既にセットされている可 能性があるときは、要求フラグをクリアして ください。 【 第3章 3-1-4. 割込みフラグの設定】 (6) 割込みの許可 ADICR(x'3FFA') bp1 : ADIE (6) ADICRレジスタのADIEフラグを"1"にして割込 みを許可します。 = 1 (7) A/D制御レジスタ0(ANCTR0)のANLADEフラグを (7) A/Dラダ−抵抗設定 ANCTR0(x'3FB0') bp3 :ANLADE XIV - 12 A/D変換動作 = 1 "1"にセットしてラダー抵抗に電流を流し、 A/D変換の待機状態にします。 第14章 A/D変換機能 内容 設定手順 (8) A/D変換スタ−ト ANCTR2(x'3FB2') bp6 :ANSTSEL (8) A/D制御レジスタ2(ANCTR2)のANSTSELフラグ = 0 を"0"にクリアし、A/D変換スタート要因を A/D制御レジスタ2(ANCTR2)のANSTフラグの書 き込みに設定します。 (9) A/D変換開始 ANCTR2(x'3FB2') bp7 :ANST (9) A/D制御レジスタ2(ANCTR2)のANSTフラグに "1"をセットしA/D変換を開始します。 = 1 (10) A/D変換終了 ANBUF0(x'3FB3') (10) A/D変換を終了すると、A/D変換終了割込みを 発生すると同時にA/D制御レジスタ2(ANCTR2) ANBUF1(x'3FB4') のANSTフラグが"0"にクリアされます。 変換結果はA/Dバッファ(ANBUF0,1)に格納さ れます。 ※上記(3)∼(4)は同時に設定可能です。 A/D変換動作 XIV - 13 第14章 A/D変換機能 ■外部割込み3によるA/D変換動作の設定例 外部割込み3によりA/D変換動作を開始します。アナログ入力端子はAN0、変換クロックはfs/4、サンプ ルホールド時間はTAD×6に設定し、A/D変換終了割込みを発生します。 以下に、設定手順とその内容を示します。 設定手順 内容 (1) ポートA入力モードレジスタ(PAIMD)により(2) で設定するアナログ入力端子を特殊機能端子に (1) アナログ入力端子設定 PAIMD(x'3F3A') bp0 :PAIMD0 PAPLU(x'3F4A') bp0 :PAPLU0 = 1 設定し、ポートAプルアップ抵抗制御レジスタ (PAPLU)によりプルアップ抵抗なしに設定しま = 0 す。 (2) A/D制御レジスタ1(ANCTR1)のANCHS2-0フラグ により、アナログ入力端子をAN7-0(PA7-0)か (2) アナログ入力端子選択 ANCTR1(x'3FB1') bp2-0 :ANCHS2-0 ら選択します。 = 000 (3) A/D制御レジスタ0(ANCTR0)のANCK1,ANCK0 フラグによりA/D変換クロックを選択します。 (3) A/D変換クロック選択 ANCTR0(x'3FB0') bp5-4 :ANCK1-0 = 01 (4) A/D制御レジスタ0(ANCTR0)のANSH1,ANSH0 フラグによりサンプルホ−ルド時間を設定しま (4) サンプルホ−ルド時間設定 ANCTR0(x'3FB0') bp7-6 :ANSH1-0 す。 = 01 (5) 外部割込み3有効エッジ指定 IRQ3ICR(x'3FE5') bp5 :REDG3 EDGDT(x'3F8F') bp3 :EDGSEL3 = 1 :ADLV1-0 のEDGSEL3フラグにより有効エッジを指定し ます。 = 0 (6) A/D変換終了割込み制御レジスタ(ADICR)の ADLV1-0フラグにより割込みレベルを設定しま (6) 割込みレベルの設定 ADICR(x'3FFA') bp7-6 (5) 外部割込み3制御レジスタ(IRQ3ICR)のREDG3 フラグ、両エッジ割込み制御レジスタ(EDGDT) = 10 す。 割込み要求フラグが既にセットされている 可能性があるときは、要求フラグをクリアして ください。 【 第3章 3-1-4. 割込みフラグの設定】 (7) ADICRレジスタのADIEフラグを"1"にして割込 みを許可します。 (7) 割込みの許可 ADICR(x'3FFA') bp1 XIV - 14 A/D変換動作 : ADIE = 1 第14章 A/D変換機能 設定手順 内容 (8) A/Dラダー抵抗設定 ANCTR0(x'3FB0') bp3 :ANLADE (8) A/D制御レジスタ0(ANCTR0)のANLADEフラグを = 1 (9) A/D変換スタ−ト要因選択 ANCTR2(x'3FB2') bp6 :ANSTSEL "1"にセットしてラダー抵抗に電流を流し、 A/D変換の待機状態にします。 (9) A/D制御レジスタ2(ANCTR2)のANSTSELフラグを = 1 "1"にセットし、A/D変換スタート要因を外部割 込み3、A/D制御レジスタ3(ANCTR3)のANSTフラ グの書き込みに設定します。 (10) A/D変換開始 ANCTR2(x'3FB2') bp7 :ANST (10) (5)で指定した外部割込み3が発生するとA/D制 御レジスタ2(ANCTR2)のANSTフラグが"1"に = 1 セットされ、A/D変換を開始します。 また、外部割込み3が発生しなくても、A/D制御 レジスタ3(ANCTR3) のANSTフラグに"1"をセッ トしてもA/D変換を開始します。 (11) A/D変換終了 (11) A/D変換を終了すると、A/D変換終了割込みを 発生すると同時にA/D制御レジスタ2(ANCTR2) のANSTフラグが"0"にクリアされます。 変換結果はA/Dバッファ(ANBUF0,1)に格納され ます。 ※上記(3)∼(4)は同時に設定可能です。 A/D変換中に外部割込み3が発生しても、A/D変換動作は、通常通り動作を行います。 また、A/D変換終了後、再度A/D変換を開始することはありません。 A/D変換動作 XIV - 15 第14章 A/D変換機能 14-3-3 A/D 変換の注意事項 14-3-3 A/D変換の注意事項 AD変換はノイズに影響されやすいのでノイズ対策を十分に行う必要があります。 ■ノイズ対策 A/D入力(アナログ入力端子)に対しては、コンデンサを対VSS(マイコンの端子VSSに近い点)に付加して ください。 デジタルVDD VDD VSS アナログVDD Vref+ AN0 ∼ 電源 AN7 Vref- デジタルVSS アナログVSS VSS端子近くに配置 図14-3-2 A/Dコンバータ推奨例1 VDD VSS VREF+ AN0 VSS 電源 ∼ VDD AN7 VREF- VSS端子近くに配置 図14-3-3 A/Dコンバータ推奨例2 XIV - 16 A/D変換動作 第14章 A/D変換機能 A/D変換精度を確保するため、A/D変換器ご使用時には以下の事項を必ず実施してください。 1. A/D入力端子の入力インピーダンスRは 500 kΩ以下*1とし、かつ 1000 pF以上、1 µF 以下*1の外付け容量Cを接続してください。 2. A/D変換の間隔はR,Cの時定数を考慮して設定してください。 3. A/D変換実行時に、マイコンの出力レベルを変化させたり、周辺付加回路をON/OFFさせ ると、アナログ入力端子や電流端子が変動しA/D変換の精度が確保できない場合があり ます。セット評価時には、アナログ入力端子の波形を確認してください。 アナログ信号を出力する 等価回路ブロック マイコン R A/D入力端子 C Vss 1 µF≧C≧1000 pF*1 ただし、R≦500 kΩ *1の値は参考値です。 A/D変換器使用時の推奨回路 A/D変換動作 XIV - 17 第15章 D/A変換機能 14 14 15 第15章 D/A変換機能 15-1 D/A 変換機能の概要 15-1 D/A変換機能の概要 本LSIは、8ビット分解能の2組のD/Aコンバータを内蔵しています。DA1制御レジスタ(DA1CTR)、DA2制 御レジスタ(DA2CTR)により、それぞれ独立に出力制御を行うことができます。D/Aコンバータを使用し ない時には、内蔵ラダー抵抗をOFFにして消費電流を抑えることも可能です。 Read/Write Read/Write 8 8 DA1DR0 DA2DR0 8 NPDWD 8 基準電圧発生部 (R-2R型 D/A) VSS DAVDD DA2OUT DA0 NPDWD DA1OUT 基準電圧発生部 (R-2R型 D/A) DA2CTR 0 DA1CTR 0 7 7 DA2BUSY − − − − − − − DA1BUSY − − − − − − − 図15-1-1 D/Aコンバータのブロック図 基準電圧DAVDD はVDDと同電位にしてご使用ください。 XV - 2 D/A変換機能の概要 DA1 第15章 D/A変換機能 15-2 D/A 変換動作 15-2 D/A変換動作 D/A変換回路動作の操作手順を以下に示します(D/A1、D/A2)。 (1) DAnDR0レジスタにD/A変換するデータを設定します。 (2) DAnCTRレジスタのDAnBUSYフラグを"1"にしてラダー抵抗電流を流し、D/A変換を開始 します。 (3) DAnBUSYフラグが"1"の間、DAnDR0レジスタのデータに対応したアナログ値がDAn-1 端子から出力されます。 (4) DAnBUSYフラグを"0"にすると、D/A変換動作は停止しDAn-1端子はVSSレベルになり ます。 D/A変換停止中(DAnBUSYフラグが"0")のときは、D/A出力端子はVSSレベルになります。 D/A変換中にポートCの値をリード(PCINをリード)すると、ポートCのbp0,1が不定になりま す。D/A変換中にポートCをリードした場合は、PCINのデータを使用する前にPCINのデータを 取り込んだレジスタのbp0,1が"0"になるようにマスク処理などを行って下さい。 D/A変換動作 XV - 3 第15章 D/A変換機能 15-3 D/A コンバータ制御レジスタ 15-3 D/Aコンバータ制御レジスタ 15-3-1 概要 本LSIのD/Anコンバータを制御するためのレジスタを以下に示します。 表15-3-1 D/Anコンバータ制御レジスタ レジスタ略称 アドレス R/W レジスタ名称 DA1CTR X'03FB6' R/W D/A1制御レジスタ XV- 5 DA1DR0 X'03FB7' R/W D/A1変換入力データレジスタ0 XV - 6 DA2CTR X'03FBB' R/W D/A2制御レジスタ XV - 5 DA2DR0 X'03FBC' R/W D/A2変換入力データレジスタ0 XV - 6 R/W:読み出し/書き込み共に可能です。 XV - 4 D/Aコンバータ制御レジスタ 参照ページ 第15章 D/A変換機能 15-3-2 D/A 制御レジスタ (DAnCTR) D/A制御レジスタ 制御レジスタ(DAnCTR) D/Anコンバータの動作を制御する8ビットの読み出し/書き込み可能なレジスタです。 ■D/A1制御レジスタ(DA1CTR) 7 6 5 4 3 2 1 0 DA1BUSY DA1CTR (リセット時:- - - - - - - 0 ) DA1BUSY D/A1変換許可フラグ 0 D/A1変換動作停止(ラダー抵抗 OFF) 1 D/A1変換動作許可 図15-3-1 D/A1制御レジスタ(DA1CTR : x'03FB6' R/W) ■D/A2制御レジスタ(DA2CTR) 7 DA2CTR 6 5 4 3 2 1 0 DA2BUSY (リセット時:- - - - - - - 0 ) DA2BUSY D/A2変換許可フラグ 0 D/A2変換動作停止(ラダー抵抗 OFF) 1 D/A2変換動作許可 図15-3-2 D/A2制御レジスタ(DA2CTR : x'03FBB' R/W) D/Aコンバータ制御レジスタ XV - 5 第15章 D/A変換機能 15-3-3 D/A 変換入力データレジスタ 15-3-3 D/A変換入力データレジスタ D/A変換するデータを格納する読み出し/書き込み可能なレジスタです(DA1、DA2)。 ■D/A1変換入力データレジスタ0(DA1DR0) D/A変換するデータ(DA0チャンネル用)を格納するレジスタです。 7 DA1DR0 6 5 4 3 2 1 0 (リセット時:X X X X X X X X) DA10BUF7 DA10BUF6 DA10BUF5 DA10BUF4 DA10BUF3 DA10BUF2 DA10BUF1 DA10BUF0 図15-3-3 D/A1変換入力データレジスタ0(DA1DR0 : x'03FB7' R/W) ■D/A2変換入力データレジスタ0(DA2DR0) D/A変換するデータ(DA1チャンネル用)を格納するレジスタです。 7 DA2DR0 6 5 4 3 2 1 0 (リセット時:X X X X X X X X) DA20BUF7 DA20BUF6 DA20BUF5 DA20BUF4 DA20BUF3 DA20BUF2 DA20BUF1 DA20BUF0 図15-3-4 D/A2変換入力データレジスタ0(DA2DR0: x'03FBC' R/W) 15-3-4 D/A 変換動作の設定例 15-3-4 D/A変換動作の設定例 ■D/A変換動作の設定例 D/A1変換機能を使用したD/A変換の設定手順とその内容を示します。 内容 設定手順 (1) D/A1変換入力データ設定 (1) D/A1変換入力レジスタ0(DA1DR0)によりD/A変 DA1DR0(x'3FB7') 換を行うデータを設定します。 (2) D/A変換開始 DA1CTR(x'3FB6') bp0 XV - 6 :DA2BUSY D/Aコンバータ制御レジスタ (2) D/A1制御レジスタ(DA1CTR)のDA1BUSYフラグを "1"にセットして、D/A変換を開始します。 = 1 (1)での設定にしたがって変換結果がDA0端子に 出力されます。 第16章 ACタイミング可変機能 15 16 第16章 ACタイミング可変機能 16-1 AC タイミング可変機能の概要 16-1 ACタイミング可変機能の概要 ACタイミング可変機能は、メモリ拡張モードまたはプロセッサモードで、本LSIの外部に接続したデバ イスに対する制御信号のACタイミング特性を、プログラムにより可変にする機能です。ACタイミング 可変機能は、リード時のデータストローブ信号(P51/NRE)と、ライト時のデータストローブ信号(P50/ NWE)のACタイミングを、それぞれ独立に設定することができます。プログラムでは、ACタイミング制 御レジスタ(ACTMD)にセットアップ時間とホールド時間を設定します。 ■ACタイミング制御レジスタ(ACTMD) 7 ACTMD 6 5 4 3 2 1 0 (リセット時: 0 0 0 0 0 0 0 0 ) WTSUP1 WTSUP0 WTHLD1 WTHLD0 RDSUP1 RDSUP0 RDHLD1 RDHLD0 RDHLD1 RDHLD0 0 1 0 1 サイクル伸張なし fs/2×(+1) サイクル伸張 0 fs/2×(+2) サイクル伸張 1 fs/2×(+3) サイクル伸張 RDSUP1 RDSUP0 0 1 1 サイクル伸張なし fs/2×(+1) サイクル伸張 0 fs/2×(+2) サイクル伸張 1 fs/2×(+3) サイクル伸張 1 ライトのホールドを指定する 2ビットのフィールド 0 1 サイクル伸張なし fs/2×(+1) サイクル伸張 0 fs/2×(+2) サイクル伸張 1 fs/2×(+3) サイクル伸張 WTSUP1 WTSUP0 0 リードのセットアップを指定する 2ビットのフィールド 0 1 WTHLD1 WTHLD0 0 リードのホールドを指定する 2ビットのフィールド ライトのセットアップを指定する 2ビットのフィールド 0 1 サイクル伸張なし fs/2×(+1) サイクル伸張 0 fs/2×(+2) サイクル伸張 1 fs/2×(+3) サイクル伸張 図16-1-1 ACタイミング制御レジスタ(ACTMD:X'03F06'、R/W) XVI - 2 ACタイミング可変機能の概要 第16章 ACタイミング可変機能 16-2 AC タイミング可変機能の動作 16-2 ACタイミング可変機能の動作 16-2-1 AC タイミング可変機能の設定 16-2-1 ACタイミング可変機能の設定 ■ACタイミングの設定 ACタイミング可変機能は、リード時のデータストローブ信号(P51/NRE)と、ライト時のデータストロー ブ信号(P50/NWE)のACタイミングを、それぞれ独立に設定することができます。プログラムでは、ACタ イミング制御レジスタ(ACTMD)に、セットアップ時間とホールド時間を設定します。 ACタイミング制御レジスタ(ACTMD)には、リード(外部デバイスのデータをリードするサイクル)時とラ イト(外部デバイスに対してデータをライトするサイクル)時の、セットアップ時間とホールド時間を 設定する4つのフィールドが準備されています。 WTSUP WTHLD :ライト時のセットアップ時間を指定する2ビットのフィールド :ライト時のホールド時間を指定する2ビットのフィールド RDSUP RDHLD :リード時のセットアップ時間を指定する2ビットのフィールド :リード時のホールド時間を指定する2ビットのフィールド 各フィールドでは、システムクロック(fs)の半サイクルを1単位として、伸張させるサイクル数を指定 します。図16-1-1に「フィールドの設定値」と「伸張サイクル数」の関係を表しています。 ■ACタイミング可変機能の使用上の注意事項 1 ACタイミング可変機能を使用する場合には、メモリ制御レジスタ(MEMCTR)で設定する外部ウエイト数 は、リード時もライト時も必ず「セットアップ時間+ホールド時間」以上になるように設定してくだ さい。外部ウエイト数を「セットアップ時間+ホールド時間」より短い時間に設定した場合には、 ACTMDレジスタに設定したセットアップ時間やホールド時間は無視されます。 メモリ制御レジスタ(MEMCTR)の外部ウエイト数は、必ず「セットアップ時間+ホールド時 間」以上になるように設定してください。 外部ウエイト ≧ WTSUP + WTHLD 外部ウエイト ≧ RDSUP + RDHLD ■ACタイミング可変機能の使用上の注意事項 2 メモリ制御レジスタ(MEMCTR)でハンドシェイクモードを指定した場合には、ACタイミング可変機能を 動作させることはできません。ハンドシェイクモードが選択された状態でセットアップ時間やホール ド時間が設定されてもACタイミング可変機能は有効にならず、通常のハンドシェイクモードとして動 作します。必ず固定ウエイトモードでご使用下さい。 ACタイミング可変機能の動作 XVI - 3 第16章 ACタイミング可変機能 ハンドシェイクモードでは、ACタイミング可変機能を使用することはできません。 必ず固定ウエイトモードを選択してください。 ■ACタイミング可変機能の使用上の注意事項 3 RDHLDで設定されるリード時のホールド時間は、外部デバイスに対するデータストローブ信号の出力波 形に対してのみ有効です。マイコンコア内部でデータを取り込むタイミングには適応されません。 マイコンコア内部では、ACTMDレジスタの設定に関わらず、ホールド時間がゼロの設定と同じタイミン グで、リードデータがラッチされます。 外部デバイスでの特殊な信号制御が必要な場合を除いて、RDHLDはx'00'にし、リード時のホールド時 間の設定は行わないでください。また、RDHLDの設定を利用して、特別な信号制御を行わせる場合に は、上記のマイコン内部での動作を考慮した上でシステム設計を行ってください。 特別な信号制御を行わない限り、リード時のホールド時間(RDHLD)の設定は行わず、x'00'に してください。 XVI - 4 ACタイミング可変機能の動作 第16章 ACタイミング可変機能 16-2-2 AC タイミング可変機能の動作 16-2-2 ACタイミング可変機能の動作 ■データストローブ信号のACタイミング特性 ACタイミング可変機能を用いて、外部デバイスに対するセットアップ時間とホールド時間を設定した データストローブ信号のACタイミングを以下に示します。 システムクロック(fs) wait setup (width)hold Address Data +0 +0 +0 +0 Address Write Data +1 +1 +1 +0 +0 +1 +0 +1 +0 +1 +0 +0 Address Write Data +2 +2 +2 +2 +2 +2 +0 +0 +0 +1 +1 +2 +0 +1 +2 +0 +1 +0 +2 +1 +0 +1 +0 +0 Address Write Data +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +0 +0 +0 +0 +1 +1 +1 +2 +2 +3 +0 +1 +2 +3 +0 +1 +2 +0 +1 +0 +3 +2 +1 +0 +2 +1 +0 +1 +0 +0 図16-2-1 データストローブ信号のACタイミング特性 ACタイミング可変機能の動作 XVI - 5 第16章 ACタイミング可変機能 図16-2-1中の数値は、システムクロック(fs)の半サイクルを1単位としてカウントした場合の、伸張サ イクル数に相当します。waitはメモリ制御レジスタ(MEMCTR)で指定する外部ウェイト数、setupはリー ド時またはライト時のセットアップ時間、holdはホールド時間の伸張サイクル数を示します。 16-2-3 AC タイミング可変機能の設定例 16-2-3 ACタイミング可変機能の設定例 以下に、設定手順とその内容を示します。 設定手順 内容 (1) 外部ウエイト数の設定 MEMCTR (x'3F01') bp3 :EXWH bp1-0 :EXW1-0 (1) MEMCTRレジスタのEXW1-0フラグで外部ウエイ = 1 ト数の設定を行います。 このとき、EXWHフラグは必ず1にセットして、 = wait数 固定ウエイトモードを選択してください。 【 第2章 2-3-2. 制御レジスタ】 (2) ACTMDレジスタの設定 bp7-6 bp5-4 :WTSUP1-0 :WTHLD1-0 bp3-2 bp1-0 :RDSUP1-0 :RDHLD1-0 (2) ACTMDレジスタで、セットアップ時間、ホール ド時間の設定を行います。 リード時のホールド時間(RDHLD)は、通常 = x'00' x'00'に設定して下さい。 ACTMDレジスタへの設定値の書き込みが完了し た次のサイクルから、設定タイミングが有効に なります。 XVI - 6 ACタイミング可変機能の動作 第17章 付 録 16 17 第17章 付録 17-1 EPROM 内蔵マイコン 17-1 EPROM内蔵マイコン 17-1-1 概要 17-1-1 概要 EPROM内蔵マイコンは、MN101C56CのマスクROM部分を電気的に書き込み可能な48KバイトのEPROMで置き 換えたものです。 MN101CP56CHTは、樹脂封止したものです。 一度内蔵PROMにデータを書き込むと消去することはできません。 PX-AP101C56-HCは、窓付きのセラミックパッケージに封止したものです。紫外線を照射することによっ て書き込んだデータを消去することができます。プラスチックパッケージは、100ピンフラットパッ ケージが用意されています。セラミックパッケージは、100ピンフラットパッケージが用意されていま す。 EPROM内蔵マイコンは、EPROMモードにすることによりマイコンとしての機能は停止し、内蔵EPROMのプ ログラムを行うことができます。EPROMモードの端子接続は、図17-1-2のEPROM書き込みアダプタ接続 図を参照してください。 内蔵EPROMへの書き込みは、汎用の1MビットEPROMと同一仕様(Vpp=12.5 V,tpw=0.2 ms)です。したがっ て、EPROM内蔵マイコンの100ピンを通常のEPROMと同じ32ピンに変換する専用書き込みアダプタ(当社 より提供)を用いれば、汎用ROMライターで書き込み読み出しが可能です。 EPROM内蔵マイコンについて次に示す項目を説明します。 ・内蔵EPROMの使用上の注意 ・窓付きパッケージ品(PX-AP101C56-HC)の書き込みデータ消去 ・マスクROM版とEPROM版の差異 ・EPROM内蔵マイコンの書き込みについて ・ROMライター操作上の注意点 ・書き込みアダプタ接続図 XVII - 2 EPROM内蔵マイコン 第17章 付録 17-1-2 EPROM 内蔵マイコン使用上の注意 17-1-2 EPROM内蔵マイコン使用上の注意 EPROM内蔵マイコンは、一部の電気的特性がMN101C56Cとは異なるので注意点を次に示します。 (1)プログラム書き込み終了後は、紫外線によるデータの消去を防ぐため、紫外線を通過させないよう な遮光シールをCPU上面および側面のガラス部分に張り付けてください。(PX-AP101C56-HC) (2)MN101CP56CHTはデバイスの性質上全ビットの書き込みテストを行うことができません。したがっ て書き込み歩留は、必ずしも100 %保証できない場合があります。 (3)プログラム書き込み時VPP電源(12.5 V)は、VDD電源(6 V)が確定してから印加し、VDD電源を切断す る前に切断してください。 (4)VPPはオーバシュートを含めて+13.5 V以上にならないようにしてください。 (5)VPPに+12.5 Vを印加したままデバイスの抜き差しを行うと、デバイスの信頼度に影響を与えるおそ れがあります。 (6)NCE=VILのときに、VPPをVILから+12.5 Vへ又は、+12.5 VからVILへ変化させないでください。 (7)プログラム書き込み終了後、実装前までに高温保存スクリーニングを実施することを推奨致します。 Program/Read 高温保存 125 ℃−48 h Read 実装 EPROM内蔵マイコン XVII - 3 第17章 付録 17-1-3 窓付きパッケージ品 (PX-AP101C56-HC) の書き込みデータ消去 窓付きパッケージ品(PX-AP101C56-HC) (PX-AP101C56-HC)の EPROMを内蔵した製品で窓付きパッケージ品の書き込みデータの消去(“0”→”1”)は、透光性のふた を通してチップに波長253.7 nmの紫外線を照射することにより行います。 推奨照射量は10 W・s/cm 2です。この照射量は商用紫外線ランプをパッケージ上方2 cm∼3 cm離して 用いた場合15 min∼20 minで得られます。(パッケージ表面の照度が12000 µW/cm2のとき)ランプにフィ ルター等がある場合は取りはずしてください。ランプに鏡面反射板を付けると照度が1.4倍∼1.8倍に なり、消去時間が短くなります。 パッケージの透光部が油、接着剤その他で汚れていると紫外線の透過が悪くなり消去時間が長くなり ます。この場合はアルコールなど(パッケージに影響を与えない溶剤)で汚れを取ってください。上記 推奨照射量は充分な余裕を持った値で、全ビット消去できたと判定される時間の数倍になっています。 この値はすべての温度範囲と電源電圧範囲に対して消去を確実にするためです。なお、ランプの寿命 を確認し、照度の管理を十分に行ってください。 EPROMを内蔵した製品で窓付きパッケージ品は400 nm以下の波長の光の照射によりデータの消失が生じ ます。253.7 nmの紫外線照射に比べれば消去の割合は非常に少なくなりますが蛍光灯、太陽光線によっ てもデータチャージの消去が生じます。したがってこれらの長時間照射はシステムの信頼度に影響を 与えます。もし上記波長の光の照射下で使用する場合はシール等により透光部をカバーしチップに光 が照射されないようにしてください。 400 nm∼500 nm以上の波長の光に対してはデータの消去は生じませんが、一般的な半導体の特性上、 非常に強い照度の光をチップに照射すると回路的な異常動作を起こす可能性があります。光の照射を 止めれば動作は正常になりますが、このような光の照射が継続する場所での使用に対しては、400 nm 以上の波長の光に対しても対策が必要となります。 XVII - 4 EPROM内蔵マイコン 第17章 付録 17-1-4 マスク ROM 版と EPROM 版との差異 17-1-4 マスク マスクROM ROM版と 版とEPROM EPROM版との差異 8ビットマイコンMN101C56A/56C(マスクROM版)とMN101CP56C(EPROM内蔵版)には以下のような違い があります。 表17-1-1 マスクROM版とEPROM内蔵版との差異 動作周囲温度 動作電圧 端子DC特性 内蔵ROM容量 MN101C56A/56C (マスクROM版) MN101CP56C (EPROM内蔵版) -40 ℃ ∼ 85 ℃ -20 ℃ ∼ 70 ℃ 4.5 V ∼ 5.5 V (0.1 µs/20 MHz時) 2.7 V ∼ 5.5 V (0.25 µs/8 MHz時) 2.0 V ∼ 5.5 V (1.00 µs/2 MHz時) 4.5 V ∼ 5.5 V (0.1 µs/20 MHz時) 2.7 V ∼ 5.5 V (0.25 µs/8 MHz時) 2.3 V ∼ 5.5 V (1.00 µs/2 MHz時) 出力電流、入力電流、入力判定レベルは同じです。 32 KB/48 KB 48 KB 発振特性 マスクROM版、EPROM版について、量産において切り換えされる場合は それぞれ発振子のマッチング評価を行ってください。 ノイズ特性 マスクROM版、EPROM版について、量産において切り換えされる場合は それぞれノイズ評価を行ってください。 注) マシンサイクルは発振クロックの2分周設定時 その他、機能的な相違はありません。 EPROM内蔵マイコン XVII - 5 第17章 付録 17-1-5 EPROM 内蔵マイコンへの書き込みについて 17-1-5 EPROM内蔵マイコンへの書き込みについて 各ROMライターで設定するデバイスタイプは、1MビットのEPROMを書き込むモードを選択してください。 書き込み電圧は、12.5 Vとしてください。 ■書き込みアダプタへの装着とデバイスの1番ピン位置 デバイスの1番ピンを この位置に合わせてください 39 40 1 2 品番 OTP100QFP14-101CP56C 1番ピンマーク 1番ピンマーク 側面用 上面用 (MN101CP56Cの場合) (PX-AP101C56-HCの場合) 図17-1-1 書き込みアダプタへの装着とデバイスの1番ピン位置 XVII - 6 EPROM内蔵マイコン 第17章 付録 ■ROMライターの設定 デバイスタイプの設定は次表を参考にして設定してください。 表17-1-2 デバイスタイプの設定 機種名 メーカ デバイスタイプ Pecker30 アバールデータ 日立 27C101 LabSite データI/O 日立 27C101 備考 IDチェック、端子接続性検査は行わ ないでください。 上記設定は、あくまでも標準サンプルによる参考です。また上記以外の機種をご使用の場合は、最寄 りの半導体デザインセンターへお問い合わせください(巻末の営業所所在地一覧表参照)。 EPROM内蔵マイコン XVII - 7 第17章 付録 17-1-6 ROM ライター操作上の注意点 17-1-6 ROMライター操作上の注意点 ■ROMライター操作上の注意点 (1) 本EPROM内蔵マイコンのプログラム電圧VPPは12.5 V仕様です。したがって、21 V系の書き込み 仕様でプログラムすると製品の破壊に到りますので、注意してください。ROMライターでプログ ラムする場合は汎用の1MビットEPROM(VPP=12.5 V,tpw=0.2 ms)仕様にセットしてください。 (2) ROMライターでプログラムを行う場合は、ROMライターのソケットアダプタおよび製品が正しく装 着されていることを必ず確認してください。正しく装着されていないと製品を破壊することがあ ります。 (3) ROMライターのメモリをオールクリアしてからROMライターにプログラムをロードしてください。 (4) 書き込むときは、デバイスタイプを確認後に、(3)でロードしておいたプログラムを本LSIのアド レス X'4000'から内蔵ROMの最終アドレスまでの領域へ書き込んでください。 本LSIの内蔵ROM空間はX'4000'から始まります。【 第2章 2-2 本製品は、ROMライターのオートデバイス選択コマンドの"Silicon メモリ空間】 Signature"および "Inteligent Identifier"等のIDコードを内蔵していません。したがって、本製品に対し てオートデバイス選択コマンドを実行すると、デバイスを破損することがありますので、こ のコマンドは絶対に使用しないでください。 ■書き込みができなかったとき 書き込みができなかったときは次の点を確認してください。 (1) デバイスが正しくソケットに装着されていますか。? (デバイスのピン曲がり、接触不良) (2) デバイスのイレースチェック結果はOKですか。? (3) デバイスと書き込みアダプタの型番は一致していますか。? (4) 書き込みモードは間違っていませんか。? (5) ROMライターに正しくデータが転送されていますか。? (6) 上記ROMライター操作上の注意点(1)(2)(3)を再度確認してください。 上記の項目を確認し、別のデバイスと交換しても書き込みができない場合は、最寄りの半導体デザイ ンセンターへお問い合わせください(巻末の営業所所在地一覧表参照)。 XVII - 8 EPROM内蔵マイコン 第17章 付録 P77,SEG8 P80,SEG7 P81,SEG6 P82,SEG5 P83,SEG4 P84,SEG3 P85,SEG2 P86,SEG1 P87,SEG0 COM3 COM2 COM1 COM0 VLC3,PC5 VLC2,PC4 VLC1 SEGS6,P56 SEGS5,P55 SEGS4,P54 SEGS3,P53 SEGS2,P52 SEGS1,P51 SEGS0,P50 CMOS VLCS P07 BUZZER,P06 SBT2,P05 SBI2,P04 SBO2,P03 SBT0,P02 RXD,SBI0,P01 TXD,SBO0,P00 IRQ4,P24 IRQ3,P23 IRQ2,P22 IRQ1,P21 IRQ0,P20 TCIO8,P15 TCIO7,P14 TCIO3,P13 TCIO1,P11 TCIO0,P10 NRST,P27 KEY11,P93 KEY10,P92 KEY9,P91 KEY8, P90 KEY7,P47 KEY6,P46 MN101CP56Cシリーズ −LCD版100ピン− OTP 50 49 48 47 46 45 44 43 42 41 40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 VSS VSS VSS VSS VSS VSS VSS VSS VSS VSS VSS VSS VPP VSS VSS VSS VSS OPEN VSS VSS VSS VSS VSS VSS VSS VSS VSS VSS VSS VSS VSS VSS VSS VSS VSS VSS VSS VSS VSS VSS 1 VCH 2 C2 3 C1,PC3 4 DAVDD 5 P81 6 DA1 7 DA0 8 VDD 9 OSC2 10 OSC1 11 VSS 12 XI 13 XO 14 MMOD 15 LED0,PB0 16 LED1,PB1 17 LED2,PB2 18 LED3,PB3 19 LED4,PB4 20 KEY0,P40 21 KEY1,P41 22 KEY2,P42 23 KEY3,P43 24 KEY4,P44 25 KEY5,P45 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 VDD OPEN VSS OPEN VSS VSS VSS VDD A15 D0 D1 D2 D3 D4 D5 D6 D7 OPEN OPEN OPEN OPEN VSS VSS OPEN VSS VSS VSS A16 VSS VSS VSS OPEN OPEN P76,SEG9 P75,SEG10 P74,SEG11 P73,SEG12 P72,SEG13 P71,SEG14 P70,SEG15 P67,SEG16 P66,SEG17 P65,SEG18 P64,SEG19 P63,SEG20 P62,SEG21 P61,SEG22 P60,SEG23 VREF+ PA7,AN7,SEG24 PA6,AN6,SEG25 PA5,AN5,SEG26 PA4,AN4,SEG27 PA3,AN3,SEG28 PA2,AN2,SEG29 PA1,AN1,SEG30 PA0,AN0,SEG31 VREF- 75 74 73 72 71 70 69 68 67 66 65 64 63 62 61 60 59 58 57 56 55 54 53 52 51 A14 A13 A12 A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0 OPEN VSS VSS PGM VSS(TST3) VSS(TST2) VSS(TST1) CE OE OPEN 17-1-7 書き込みアダプタ接続図 17-1-7 書き込みアダプタ接続図 (VSS) 8 MHz 30pF (VSS) パッケージ TQFP100-P-1414E ピンピッチ 0.5 mm 図17-1-2 MN101CP56CHT EPROM書き込みアダプタ接続図 1MビットEPROM(27C101)の端子配置図を参照してください。 EPROM内蔵マイコン XVII - 9 第17章 付録 17-2 取り扱い説明書 17-2-1 PRB-ADP-101C56C(100PIN) このボードは、品種固有部であり、101C56の100PIN版のみ使用できます。 EVボードはPRBEV101C56と組み合せてお使い下さい。万一、組み合わせを誤ると、 ICEを破損する場合があります。 プローブ(アダプタボード)の各スイッチの説明は以下に示します。 アダプタボード部品面 () () () () ()SW1OSC切替:ターゲット上の発振子OSCでICEを動作させる場合、SW1をU SR側にしてください。ターゲットが無い場合は、プローブ上に発振子が 実装されていますので、ICE側にするとプローブ上の発振子を使用する 事ができます。 ()SW2(XI切替) :ターゲット上の発振子XIでICEを動作させる場合、SW2をUS R側にしてください。 ターゲットが無い場合は、プローブ上に発振子が実装されていますので、 ICE側にするとプローブ上の発振子を使用する事ができます。 ()SW3(電源切替):ターゲットから電源を供給する場合、SW3をUSR側にしてくださ い。ターゲットが無い場合はSW3をICE側にしてください。ICE本 体から電源(5V)が供給されます。 ()機能設定DIPSWの設定が異なります。以下の設定の内容を記載します。 OPナンバー 信号名 OP0 HDVSTRT OP1 OP2 HOSCSTRT P1TMIO OP3 NOPWDEN OP4 NOPWDRST OP5 NOPOSCEN ON時(L) ÊÐʺà最大分周比スタート (ÊÐʺàスタート) XI¯¦ 発振スタート タイマ入力信号ポート1設定 リセットスタート時 =WDT動作停止 WDT発生時 =NMIソフト処理 リセット時 =発振停止 OFF時(H) ÊÐʺà標準分周比スタート (ÊÐʺàスタート) OSC発振スタート タイマ入力信号ポート4設定 リセットスタート時 =WDT動作 WDT発生時 =ハードリセット リセット時 発振動作 DIP SWの設定注意事項 低速発振スタート・最大分周スタート(fx)の設定を行うと起動時に約 秒の待ち時間が 生じます。 XXVII-10 取り扱い説明書 第17章 付録 17-2-2 PRB-EV101C56 ü»»-_n® ³þ Ä~ 21_n® ³.»)MAï èe° ³2MT-.N'MAï¨Â±.')2îw ··s* Õz#ïé ¶ 01& üïÇ:þ 35%(9& ú1kÁU R)#ï ü注1ý êê %_n® ³. »"]{znü 35%$'3& Ñú 35%(9& +]{z·è 35%$'3& êêé1ï üH ñ ý ·î]{z·1ï2î·1njzèìé1ú1kÁ.R)ï )#ï 1Ùî·Ñ-KHç#ïûÇ.MN+î®UÊ N_OMAï üH ý _n® ³.»"]{znü1 ß.')2î¨Â±U_®z·~*Õz#ï 取り扱い説明書 XXVII-11 ü注2ý 第17章 付録 17-3 特殊レジスタ一覧表 17-3 特殊レジスタ一覧表 アドレス X'3F00' X'3F01' X'3F02' X'3F03' レジスタ略称 CPUM MEMCTR WDCTR DLYCTR ビット略称/初期値/内容 ビット7 ビット6 ビット5 ビット4 ビット3 ビット2 ビット1 ビット0 RESERVED OSCSEL1 OSCSEL0 RESERVED STOP HALT OSC1 OSC0 0 0 0 0 0 0 0 0固定 STOPモード HALTモード 設定 設定 0固定 分周比設定 0 発振制御 IOW0 IVBM EXMEM EXWH IRWE EXW1 EXW0 1 1 0 0 1 0 1 1 割込みベクタ メモリ ウェイト ソフト書き込み アドレス 切り換え 切り換え 設定 - WDTC2 WDTC1 WDTC0 WDTS1 WDTS0 - - 0 0 0 1 1 暴走検出周期設定 WDEN 0 WDT起動 BUZOE BUZS2 BUZS1 BUZS0 DLYS1 DLYS0 - - 0 0 0 0 0 1 - - ブザー出力 ブザー出力周波数設定 II - 18 固定ウェイト設定 - クリア可能下限値設定 II - 25 II - 29 IOW1 I/Oウェイト設定 参照ページ IX - 3 II - 42 X - 3 発振安定待ち周期設定 許可 X'3F09' X'3F0E' X'3F10' X'3F11' X'3F12' RCCTR EXADV P0OUT P1OUT P2OUT - - - - - RC2EN RC1EN RC0EN - - - - - 0 0 0 II - 33 ROMコレクション制御 EXADV3 EXADV2 EXADV1 - - - - - 0 0 0 - - - - - II - 19 IV - 25,35 メモリ拡張時アドレス端子設定 P0OUT7 P0OUT6 P0OUT5 P0OUT4 P0OUT3 P0OUT2 P0OUT1 P0OUT0 x x x x x x x x ポート0出力データ - - P1OUT5 P1OUT4 P1OUT3 - P1OUT1 P1OUT0 - - x x x - x x ポート1出力データ P2OUT7 - - - - - - - 1 - - - - - - - P4OUT7 P4OUT6 P4OUT5 P4OUT4 P4OUT3 P4OUT2 P4OUT1 P4OUT0 x x x x x x x x ポート2 IV - 8 IV - 13 IV - 17 出力データ X'3F14' X'3F15' P4OUT P5OUT ポート4出力データ - P5OUT6 P5OUT5 P5OUT4 P5OUT3 P5OUT2 P5OUT1 P5OUT0 - x x x x x x x P6OUT2 x P6OUT1 x P6OUT0 x IV - 20 IV - 25 ポート5出力データ X'3F16' X'3F17' P6OUT P7OUT P6OUT7 x P6OUT6 x P6OUT4 x P6OUT3 x ポート6出力データ P7OUT7 P7OUT6 P7OUT5 P7OUT4 P7OUT3 P7OUT2 P7OUT1 P7OUT0 x x x x x x x x 注)x:初期値不定です。 -:未実装です。 XVII - 12 P6OUT5 x 特殊レジスタ一覧表 ポート7出力データ IV - 31 IV - 34 第17章 付録 アドレス X'3F18' X'3F19' レジスタ略称 P8OUT P9OUT ビット略称/初期値/内容 ビット7 ビット6 ビット5 ビット4 ビット3 ビット2 ビット1 ビット0 P8OUT7 P8OUT6 P8OUT5 P8OUT4 P8OUT3 P8OUT2 P8OUT1 P8OUT0 x x x x x x x x P9OUT2 x P9OUT1 x P9OUT0 x 参照ページ IV - 38 ポート8出力データ - - - - - - - - P9OUT3 x IV - 41 ポート9出力データ X'3F1B' PBOUT - - - PBOUT4 PBOUT3 PBOUT2 PBOUT1 PBOUT0 - - - x x x x x PBOUT2 - - x - - IV - 48 ポートD出力データ X'3F1C' PCOUT - - PBOUT5 PBOUT4 - - x x PBOUT3 x IV - 51 ポートC出力データ X'3F1E' P7SYO P7SYO7 P7SYO6 P7SYO5 P7SYO4 P7SYO3 P7SYO2 P7SYO1 P7SYO0 0 0 0 0 0 0 0 0 IV - 35 ポート7同期出力選択 X'3F20' X'3F21' X'3F22' X'3F24' P0IN P1IN P2IN P4IN P0IN7 P0IN6 P0IN5 P0IN4 P0IN3 P0IN2 P0IN1 P0IN0 x x x x x x x x IV - 8 ポート0入力データ - - P1IN5 P1IN4 P1IN3 - P1IN1 P1IN0 - - x x x - x x IV - 13 ポート1入力データ P2IN7 P2IN6 P2IN5 P2IN4 P2IN3 P2IN2 P2IN1 P2IN0 1 x x x x x x x IV - 17 ポート2入力データ P4IN7 P4IN6 P4IN5 P4IN4 P4IN3 P4IN2 P4IN1 P4IN0 x x x x x x x x IV - 20 ポート4入力データ X'3F25' P5IN - P5IN6 P5IN5 P5IN4 P5IN3 P5IN2 P5IN1 P5IN0 - x x x x x x x IV - 25 ポート5入力データ X'3F26' X'3F27' X'3F28' P6IN P7IN P8IN P6IN7 P6IN6 P6IN5 P6IN4 P6IN3 P6IN2 P6IN1 P6IN0 x x x x x x x x P7IN2 x P7IN1 x P7IN0 x P8IN2 x P8IN1 x P8IN0 x IV - 31 ポート6入力データ P7IN7 x P7IN6 x P7IN5 x P7IN4 x P7IN3 x ポート7入力データ P8IN7 x P8IN6 x P8IN5 x P8IN4 x P8IN3 x IV - 34 IV - 38 ポート8入力データ X'3F29' P9IN - - - - P9IN3 P9IN2 P9IN1 P9IN0 - - - - x x x x IV - 41 ポート9入力データ 注)x:初期値不定です。 -:未実装です。 特殊レジスタ一覧表 XVII - 13 第17章 付録 アドレス X'3F2A' レジスタ略称 PAIN ビット略称/初期値/内容 ビット7 ビット6 ビット5 ビット4 ビット3 ビット2 ビット1 ビット0 PAIN7 PAIN6 PAIN5 PAIN4 PAIN3 PAIN2 PAIN1 PAIN0 x x x x x x x x 参照ページ IV - 45 ポートA入力データ X'3F2B' PBIN - - - PBIN4 PBIN3 PBIN2 PBIN1 PBIN0 - - - - x x x x IV - 48 ポートB入力データ X'3F2C' X'3F2E' PCIN - - PCIN5 PCIN4 PCIN3 PCIN2 - - - - x x x x - - IV - 51 ポートC入力データ FLOAT - - - - - - SYOEVS1 SVOEVS0 - - - - - - 0 0 IV - 35 P7同期出力 イベント選択 X'3F2F' X'3F30' X'3F31' X'3F34' X'3F35' P1OMD P0DIR P1DIR - - P1OMD5 P1OMD4 P1OMD3 - P1OMD1 P1OMD0 - 0 0 0 - 0 0 ポート1特殊機能端子出力制御 P0DIR7 P0DIR6 P0DIR5 P0DIR4 P0DIR3 0 0 0 0 0 P0DIR2 0 P0DIR1 P0DIR0 0 0 ポート0入出力方向制御 - - P1DIR5 P1DIR4 P1DIR3 - P1DIR1 P1DIR0 - - 0 0 0 - 0 0 ポート1入出力方向制御 P4DIR7 P4DIR6 P4DIR5 P4DIR4 P4DIR3 P4DIR2 P4DIR1 P4DIR0 0 0 0 0 0 0 0 0 P4DIR ポート4入出力方向制御 - P5DIR6 P5DIR5 P5DIR4 P5DIR3 P5DIR2 P5DIR1 P5DIR0 - 0 0 0 0 0 0 0 P5DIR IV - 14 IV - 8 IV - 13 IV - 20 IV - 25 ポート5入出力方向制御 X'3F36' X'3F37' X'3F38' X'3F94' X'3F3A' P6DIR P7DIR P8DIR P9DIR PAIMD P6DIR7 P6DIR6 P6DIR5 P6DIR4 P6DIR3 P6DIR2 P6DIR1 P6DIR0 0 0 0 0 0 0 0 0 ポート6入出力方向制御 P7DIR7 P7DIR6 P7DIR5 P7DIR4 P7DIR3 P7DIR2 P7DIR1 0 0 0 0 0 0 0 0 P8DIR7 P8DIR6 P8DIR5 P8DIR4 P8DIR3 P8DIR2 P8DIR1 0 0 0 0 0 0 0 0 - - - - P9DIR3 P9DIR2 P9DIR1 P9DIR0 - - - - 0 0 0 0 ポート9入出力方向制御 PAIMD7 PAIMD6 PAIMD5 PAIMD4 PAIMD3 PAIMD2 PAIMD1 PAIMD0 0 0 0 0 0 0 0 0 特殊レジスタ一覧表 IV - 34 P8DIR0 ポート8入出力方向制御 注)x:初期値不定です。 -:未実装です。 XVII - 14 P7DIR0 ポート7入出力方向制御 ポートAアナログ入力選択 IV - 31 IV - 38 IV - 41 IV - 45 第17章 付録 アドレス X'3F3C' X'3F3E' レジスタ略称 PCDIR P4IMD ビット略称/初期値/内容 ビット7 ビット6 ビット5 ビット4 ビット3 ビット2 ビット1 ビット0 - - - - PCDIR3 PCDIR2 PCDIR1 PCDIR0 - - - - 0 0 0 0 IV - 48 ポートC入出力方向制御 IRQ4SEL - - - P4KYEN4 P4KYEN3 P4KYEN2 P4KYEN1 0 - - - 0 0 0 0 IRQ4割込み 参照ページ III - 21 ポート4キー入力割込み端子設定 ソース選択 X'3F40' X'3F41' X'3F42' X'3F44' X'3F45' X'3F46' X'3F47' X'3F48' X'3F49' X'3F4A' X'3F4C' X'3F50' P0PLU P1PLU P2PLU P4PLU P0PLU7 P0PLU6 P0PLU5 P0PLU4 P0PLU3 P0PLU2 P0PLU1 0 0 0 0 0 0 0 - - P1PLU5 P1PLU4 P1PLU3 - P1PLU1 - - 0 0 0 - 0 0 IV - 13 P2PLU6 P2PLU5 P2PLU4 P2PLU3 P2PLU2 P2PLU1 P2PLU0 - 0 0 0 0 0 0 0 IV - 17 ポート2プルアップ制御 P4PLU7 P4PLU6 P4PLU5 P4PLU4 P4PLU3 P4PLU2 P4PLU1 P4PLUD 0 0 0 0 0 0 0 0 IV - 20 ポート4プルアップ制御 - P5PLU6 P5PLU5 P5PLU4 P5PLU3 P5PLU2 P5PLU1 P5PLU0 - 0 0 0 0 0 0 0 IV - 25 ポート5プルアップ制御 P6PLU7 P6PLU6 P6PLU5 P6PLU4 P6PLU3 P6PLU2 P6PLU1 P6PLU0 0 0 0 0 0 0 0 0 IV - 31 ポート6プルアップ制御 P7PLU7 P7PLU6 P7PLU5 P7PLU4 P7PLU3 P7PLU2 P7PLU1 P7PLU0 0 0 0 0 0 0 0 0 IV - 34 ポート7プルアップ制御 P8PLU7 P8PLU6 P8PLU5 P8PLU4 P8PLU3 P8PLU2 P8PLU1 P8PLU0 0 0 0 0 0 0 0 0 IV - 38 ポート8プルアップ制御 - - - - P9PLU3 P9PLU2 P9PLU1 P9PLU0 - - - - 0 0 0 0 IV - 41 ポート9プルアップ制御 PAPLU7 PAPLU6 PAPLU5 PAPLU4 PAPLU3 PAPLU2 PAPLU1 PAPLU0 0 0 0 0 0 0 0 0 IV - 45 ポートAプルアップ制御 - - PCPLU5 PCPLU4 PCPLU3 PCPLU2 - - - - 0 0 0 0 - - PCPLU TM0BC P1PLU0 - P9PLU PAPLU IV - 8 ポート1プルアップ制御 P7PLU P8PLU 0 ポート0プルアップ制御 P5PLU P6PLU P0PLU0 IV - 48 ポートDプルアップ制御 TM0BC7 TM0BC6 TM0BC5 TM0BC4 TM0BC3 TM0BC2 TM0BC1 TM0BC0 x x x x x x x x タイマ0バイナリカウンタ VI - 8 注)x:初期値不定です。 -:未実装です。 特殊レジスタ一覧表 XVII - 15 第17章 付録 アドレス X'3F51' X'3F52' X'3F53' X'3F54' X'3F55' X'3F56' レジスタ略称 TM1BC ビット略称/初期値/内容 ビット7 ビット6 ビット5 ビット4 ビット3 ビット2 ビット1 ビット0 TM1BC7 TM1BC6 TM1BC5 TM1BC4 TM1BC3 TM1BC2 TM1BC1 TM1BC0 x x x x x x x x 参照ページ VI - 8 タイマ1バイナリカウンタ TM0OC TM0OC7 TM0OC6 TM0OC5 TM0OC4 TM0OC3 TM0OC2 TM0OC1 TM0OC0 x x x x x x x x VI - 7 タイマ0アウトプットコンペアレジスタ TM1OC TM1OC7 TM1OC6 TM1OC5 TM1OC4 TM1OC3 TM1OC2 TM1OC1 TM1OC0 x x x x x x x x VI - 7 タイマ1アウトプットコンペアレジスタ TM0MD TM1MD CK0MD - - TM0MOD TM0PWM TM0EN TM0CK2 TM0CK1 TM0CK0 - - 0 0 0 0 0 0 タイマ0 PWM動作 タイマ0 パルス幅測定 選択 カウント制御 - - - TM1CAS TM1EN TM1CK2 TM1CK1 TM1CK0 - - - 0 0 0 0 0 カスケード タイマ1 選択 カウント制御 - - - - - - - - - - VI - 9 タイマ0クロックソース選択 タイマ1クロックソース選択 TM0PSC1 x TM0PSC0 x TM0BAS x タイマ0カウントクロック設定 VI - 10 V - 7 (プリスケーラ出力) X'3F57' CK1MD - - - - - TM1PSC1 TM1PSC0 TM1BAS - - - - - x x x タイマ1カウントクロック設定 V - 7 (プリスケーラ出力) X'3F59' X'3F5B' X'3F5D' X'3F5F' TM3BC TM3OC TM3MD CK3MD TM3BC7 TM3BC6 TM3BC5 TM3BC4 TM3BC3 TM3BC2 TM3BC1 TM3BC0 x x x x x x x x タイマ3バイナリカウンタ TM3OC7 TM3OC6 TM3OC5 TM3OC4 TM3OC3 TM3OC2 TM3OC1 TM3OC0 x x x x x x x x タイマ3アウトプットコンペアレジスタ - - - TM3CAS TM3EN TM3CK2 TM3CK1 TM3CK0 - - - 0 0 0 0 0 カスケード タイマ3 選択 カウント制御 タイマ3クロックソース選択 - - - - - TM3PSC1 TM3PSC0 TM3BAS - - - - - x x x VI - 8 VI - 7 VI - 11 V - 7 タイマ3カウントクロック設定 (プリスケーラ出力) X'3F68' X'3F69' X'3F6A' TM6BC TM6OC TM6MD TM6BC7 TM6BC6 TM6BC5 TM6BC4 TM6BC3 TM6BC2 TM6BC1 TM6BC0 x x x x x x x x タイマ6バイナリカウンタ TM6OC7 TM6OC6 TM6OC5 TM6OC4 TM6OC3 TM6OC2 TM6OC1 TM6OC0 x x x x x x x x TM6CK0 タイマ6アウトプットコンペアレジスタ TM6CLRS TM6IR2 TM6IR1 TM6IR0 TM6CK3 TM6CK2 TM6CK1 0 0 0 0 0 0 0 カウンタクリア 選択 注)x:初期値不定です。 -:未実装です。 XVII - 16 特殊レジスタ一覧表 タイムベース割込み周期選択 タイマ6クロックソース選択 0 タイムベースタイマ クロックソース選択 VIII - 5 VIII - 5 VIII - 6 第17章 付録 アドレス X'3F6B' X'3F6E' X'3F6F' レジスタ略称 TBCLR RMCTR PSCMD ビット略称/初期値/内容 ビット7 ビット6 ビット5 ビット4 ビット3 ビット2 ビット1 ビット0 - - - - - - - - - - - - - - - - 参照ページ VIII - 5 タイムベースタイマクリア制御レジスタ(書き込み専用) - - - TM0RM RMOEN - RMDTY0 RMBTMS - - - 0 0 - 0 0 P10特殊機能 リモコン出力 リモコンデューティ リモコンベース 出力選択 イネーブル 選択 タイマ選択 - - - - - - - PSCEN - - - - - - - 0 プリスケーラ VI - 12 V - 6 動作許可 X'3F70' X'3F71' X'3F72' X'3F73' X'3F74' X'3F75' X'3F76' X'3F77' X'3F78' X'3F79' X'3F7A' TM7BCL TM7BCH TM7OC1L TM7OC1H TM7PR1L TM7PR1H TM7ICL TM7ICH TM7MD1 TM7MD2 TM7OC2L TM7BCL7 TM7BCL6 TM7BCL5 TM7BCL4 TM7BCL3 TM7BCL2 TM7BCL1 TM7BCL0 x x x x x x x x VII - 9 タイマ7バイナリカウンタ下位8ビット TM7BCH7 TM7BCH6 TM7BCH5 TM7BCH4 TM7BCH3 TM7BCH2 TM7BCH1 TM7BCH0 x x x x x x x x VII - 9 タイマ7バイナリカウンタ上位8ビット TM7OC1L7 TM7OC1L6 TM7OC1L5 TM7OC1L4 TM7OC1L3 TM7OC1L2 TM7OC1L1 TM7OC1L0 x x x x x x x x VII - 7 タイマ7アウトプットコンペアレジスタ1下位8ビット TM7OC1H7 TM7OC1H6 TM7OC1H5 TM7OC1H4 TM7OC1H3 TM7OC1H2 TM7OC1H1 TM7OC1H0 x x x x x x x x VII - 7 タイマ7アウトプットコンペアレジスタ1上位8ビット TM7PR1L7 TM7PR1L6 TM7PR1L5 TM7PR1L4 TM7PR1L3 TM7PR1L2 TM7PR1L1 TM7PR1L0 x x x x x x x x TM7PR1H2 x TM7PR1H1 x TM7PR1H0 x TM7ICL1 x TM7ICL0 x VII - 8 タイマ7プリセットレジスタ1下位8ビット TM7PR1H7 x TM7PR1H6 x TM7PR1H5 x TM7PR1H4 x TM7PR1H3 x タイマ7プリセットレジスタ1上位8ビット TM7ICL7 x TM7ICL6 x TM7ICL5 x TM7ICL4 x TM7ICL3 x TM7ICL2 x タイマ7インプットキャプチャレジスタ下位8ビット TM7ICH7 TM7ICH6 TM7ICH5 TM7ICH4 TM7ICH3 TM7ICH2 TM7ICH1 TM7ICH0 x x x x x x x x RESERVED RESERVED TM7CL TM7EN TM7PS1 TM7PS0 TM7CK1 TM7CK0 0 0 1 0 0 0 0 0 0固定 0固定 リセット制御 制御 T7ICEDG T7PWMSL TM7BCR TM7PWM TM7IRS1 T7ICEN T7ICT1 T7ICT0 0 0 0 0 0 0 0 0 キャプチャトリガ PWMモード クリア要因 タイマ7 タイマ7割込み キャプチャ タイマ7カウントクロック タイマ7クロックソース 選択 VII - 10 VII - 10 タイマ7インプットキャプチャレジスタ上位8ビット タイマ7出力 タイマ7カウント VII - 8 VII - 11 選択 タイマ7キャプチャトリガ エッジ選択 選択 選択 出力選択 要因選択 動作許可 TM7OC2L7 TM7OC2L6 TM7OC2L5 TM7OC2L4 TM7OC2L3 TM7OC2L2 TM7OC2L1 TM7OC2L0 x x x x x x x x VII - 12 選択 タイマ7アウトプットコンペアレジスタ2下位8ビット VII - 7 注)x:初期値不定です。 -:未実装です。 特殊レジスタ一覧表 XVII - 17 第17章 付録 アドレス X'3F7B' X'3F7C' X'3F7D' X'3F82' X'3F83' レジスタ略称 TM7OC2H TM7PR2L TM7PR2H TM8OC1L TM8OC1H X'3F84' TM8PR1L X'3F85' TM8PR1H X'3F86' X'3F87' X'3F88' X'3F89' TM8ICL TM8ICH TM8MD1 TM8MD2 ビット略称/初期値/内容 ビット7 ビット6 ビット5 ビット4 ビット3 ビット2 ビット1 ビット0 TM7OC2H7 TM7OC2H6 TM7OC2H5 TM7OC2H4 TM7OC2H3 TM7OC2H2 TM7OC2H1 TM7OC2H0 x x x x x x x x タイマ7アウトプットコンペアレジスタ2上位8ビット TM7PR2L7 TM7PR2L6 TM7PR2L5 TM7PR2L4 TM7PR2L3 TM7PR2L2 TM7PR2L1 TM7PR2L0 x x x x x x x x タイマ7プリセットレジスタ2下位8ビット TM7PR2H7 TM7PR2H6 TM7PR2H5 TM7PR2H4 TM7PR2H3 TM7PR2H2 TM7PR2H1 TM7PR2H0 x x x x x x x x タイマ7プリセットレジスタ2上位8ビット TM8OC1L7 TM8OC1L6 TM8OC1L5 TM8C1L4 TM8OC1L3 TM8OC1L2 TM8OC1L1 TM8OC1L0 x x x x x x x x タイマ8アウトプットコンペアレジスタ1下位8ビット TM8OC1H7 TM8OC1H6 TM8OC1H5 TM8OC1H4 TM8OC1H3 TM8OC1H2 TM8OC1H1 TM8OC1H0 x x x x x x x x タイマ8アウトプットコンペアレジスタ1上位8ビット TM8PR1L7 TM8PR1L6 TM8PR1L5 TM8PR1L4 TM8PR1L3 TM8PR1L2 TM8PR1L1 TM8PR1L0 x x x x x x x x TM8PR1H2 x TM8PR1H1 x TM8PR1H0 x TM8ICL1 x TM8ICL0 x タイマ8プリセットレジスタ1下位8ビット TM8PR1H7 x TM8PR1H6 x X'3F8F' NFCTR EDGDT TM8PR1H4 x TM8PR1H3 x タイマ8プリセットレジスタ1上位8ビット TM8ICL7 x TM8ICL6 x TM8ICL5 x TM8ICL4 x TM8ICL3 x TM8ICL2 x タイマ8インプットキャプチャレジスタ下位8ビット TM8ICH7 TM8ICH6 TM8ICH5 TM8ICH4 TM8ICH3 TM8ICH2 TM8ICH1 TM8ICH0 x x x x x x x x タイマ8インプットキャプチャレジスタ上位8ビット RESERVED RESERVED TM8CL TM8EN TM8PS1 TM8PS0 TM8CK1 TM8CK0 0 0 1 0 0 0 0 0 0固定 0固定 リセット制御 制御 T8ICEDG RESERVED TM8BCR TM8PWM TM8IRS1 T8ICEN T8ICT1 T8ICT0 0 0 0 0 0 0 0 0 キャプチャトリガ 0固定 クリア要因 タイマ8 タイマ8割込み キャプチャ 選択 出力選択 要因選択 動作許可 P21IM NF1SCK1 NF1SCK0 NF1EN - NF0SCK1 NF0SCK0 0 0 0 0 - 0 0 エッジ選択 X'3F8E' TM8PR1H5 x タイマ8出力 タイマ8カウント ACZ入力 IRQ1ノイズフィルタ IRQ1ノイズ 許可フラグ サンプリング周期選択 フィルタ許可 タイマ8カウントクロック タイマ8クロックソース 選択 参照ページ VII - 7 VII - 8 VII - 8 VII - 7 VII - 7 VII - 8 VII - 8 VII - 10 VII - 10 VII - 11 選択 タイマ8キャプチャトリガ VII - 12 選択 NF0EN 0 IRQ0ノイズフィルタ IRQ0ノイズ サンプリング周期選択 フィルタ許可 - - - - EDGSEL3 EDGSEL2 - - - - - - 0 0 - - IRQ3 IRQ2 III - 39 III - 40 両エッジ指定 両エッジ指定 X'3F90' SC0MD0 SC0CE1 RESERVED RESERVED SC0DIR SC0STE SC0LNG2 SC0LNG1 SC0LNG0 0 0 0 0 0 1 1 1 送信/受信データ 0固定 0固定 転送先頭 スタートコンディション ビット指定 選択 エッジ選択 注)x:初期値不定です。 -:未実装です。 XVII - 18 特殊レジスタ一覧表 同期式シリアル転送ビット数選択 XI - 6 第17章 付録 アドレス レジスタ略称 X'3F91' SC0MD1 X'3F92' SC0MD2 ビット略称/初期値/内容 ビット7 ビット6 ビット5 ビット4 ビット3 ビット2 SC0IOM SC0SBTS SC0SBIS SC0SBOS SC0CKM 0 0 0 0 0 データ入力 SBT端子 シリアル SBO端子 クロック1/8 マスタ/スレーブ 端子選択 機能選択 入力制御 機能選択 分周選択 選択 SC0FM1 SC0FM0 SC0PM1 SC0PM0 SC0NPE - 0 0 0 0 0 - フレームモード指定 付加ビット指定 ビット1 ビット0 SC0MST - SC0CMD 0 - X'3F94' X'3F95' X'3F96' SC0STR パリティ RXBUF0 TXBUF0 SC0ODC SC0BRKF SC0BRKE 0 0 ブレーク状態 ブレーク状態 受信モニタ 送出制御 SC0TBSY SC0RBSY SC0TEMP SC0REMP SC0FEF SC0PEK SC0ORE SC0ERE 0 0 0 0 0 0 0 0 送信中 受信中 フラグ RXBUF07 x 送信エンプティ 受信エンプティ フレーム XI - 7 選択 イネーブル X'3F93' 0 同期式/UART 参照ページ パリティエラー オーバランエラー エラーモニタ フラグ フラグ フラグ エラー検出 検出 検出 フラグ RXBUF06 RXBUF05 RXBUF04 RXBUF03 RXBUF02 RXBUF01 RXBUF00 x x x x x x x TXBUF07 TXBUF06 TXBUF05 TXBUF04 TXBUF03 TXBUF02 TXBUF01 TXBUF00 x x x x x x x x SC0ODC0 XI - 5 シリアルインタフェース0送信データバッファ - - - - - - SC0ODC1 - - - - - 0 0 P02 P00 XI - 9 XI - 5 シリアルインタフェース0受信データバッファ - XI - 8 XI - 10 出力形式選択 出力形式選択 X'3F97' SC0CKS - - - - SC0TMSEL SC0PSC2 SC0PSC1 SC0PSC0 - - - - x x x x V - 8 XI - 10 シリアル0転送クロック選択 (プリスケーラ出力、タイマ出力) X'3FA0' X'3FA1' X'3FA2' X'3FA6' SC2MD0 SC2MD1 SC2TRB SC2ODC SC2BSY SC2CE1 - SC2DIR SC2STE SC2LNG2 SC2LNG1 SC2LNG0 0 0 - 0 0 1 1 1 転送中 転送エッジ 転送先頭 スタートコンディション ビット指定 選択 同期式シリアル転送ビット数選択 フラグ 選択 SC2IOM SC2SBTS SC2SBIS SC2SBOS - SC2MST - - 0 0 0 0 - 0 - - データ入力 SBT端子 シリアル SBO端子 端子選択 機能選択 入力制御 機能選択 SC2TRB7 SC2TRB6 SC2TRB5 SC2TRB4 SC2TRB3 SC2TRB2 SC2TRB1 SC2TRB0 x x x x x x x x SC2ODC0 XII - 6 XII - 7 マスタ/スレーブ 選択 XII - 5 シリアルインタフェース2送受信シフトレジスタ - - - - - - SC2ODC1 - - - - - - 0 0 P05 P03 XII - 8 出力形式選択 出力形式選択 X'3FA7' SC2CKS - - - - RESERVED SC2PSC2 SC2PSC1 SC2PSC0 - - - - x x x x 0固定 V - 8 XII - 8 シリアル2転送クロック選択 (プリスケーラ出力) X'3FB0' ANCTR0 ANSH1 ANSH0 ANCK1 ANCK0 ANLADE - - - 0 0 0 0 0 - - - ANCHS1 ANCHS0 0 0 A/Dサンプルホールド A/D変換クロック選択 時間設定 X'3FB1' 抵抗制御 - - - - RESERVED - - - - 0 ANCTR1 XIV - 5 A/Dラダー 0固定 ANCHS2 0 XIV - 6 アナログ入力チャンネル選択 注)x:初期値不定です。 -:未実装です。 特殊レジスタ一覧表 XVII - 19 第17章 付録 アドレス X'3FB2' X'3FB3' レジスタ略称 ANCTR2 ANBUF0 ビット略称/初期値/内容 ビット7 ビット6 ビット5 ビット4 ビット3 ビット2 ビット1 ビット0 ANST ANSTSEL - - - - - - 0 0 - - - - - - A/D変換 A/D変換スタート ステータス 要因選択 ANBUF07 ANBUF06 x x - - - - - - A/D変換結果格納レジスタ 参照ページ XVI - 6 XIV - 7 (下位2ビット) X'3FB4' ANBUF1 ANBUF17 ANBUF16 ANBUF15 ANBUF14 ANBUF13 x x x x x ANBUF12 ANBUF11 ANBUF10 x x x DA1BUSY A/D変換結果格納レジスタ XIV - 7 (上位8ビット) X'3FB6' DA1CTR - - - - - - - - - - - - - - 0 D/A1変換許可 XV - 5 フラグ X'3FB7' X'3FBB' DA1DR0 DA2CTR DA10BUF7 DA10BUF6 DA10BUF5 DA10BUF4 DA10BUF3 DA10BUF2 DA10BUF1 DA10BUF0 x x x x x x x x XV - 6 D/A1変換入力データ(DA0チャンネル用) - - - - - - - - - - - - - - DA2BUSY 0 D/A2変換許可 XV - 5 フラグ X'3FBC' DA2DR0 X'3FC7' RC0APL X'3FC8' RC0APM X'3FC9' DA20BUF7 DA20BUF6 DA20BUF5 DA20BUF4 DA20BUF3 DA20BUF2 DA20BUF1 DA20BUF0 x x x x x x x x XV - 6 D/A2変換入力データ(DA1チャンネル用) RC0APL7 RC0APL6 RC0APL5 RC0APL4 RC0APL3 RC0APL2 RC0APL1 RC0APL0 x x x x x x x x RC0APM2 x RC0APM1 x RC0APM0 x ROM修正アドレス0設定レジスタ下位8ビット RC0APH RC0APM7 x RC0APM6 x RC0APM5 x RC0APM4 x RC0APM3 x ROM修正アドレス0設定レジスタ中位8ビット RC0APH7 RC0APH6 RC0APH5 RC0APH4 RC0APH3 RC0APH2 RC0APH1 RC0APH0 - - - - - - x x ROM修正アドレス0設定 II - 34 II - 34 II - 34 レジスタ上位2ビット X'3FCA' X'3FCB' X'3FCC' RC1APL RC1APL7 x RC1APL6 x RC1APL5 x RC1APL4 x RC1APL3 x RC1APL2 x RC1APL1 x RC1APL0 x RC1APM1 x RC1APM0 x RC1APH1 RC1APH0 x x ROM修正アドレス1設定レジスタ下位8ビット RC1APM RC1APM7 x RC1APM6 x RC1APM5 x RC1APM4 x RC1APM3 x RC1APM2 x ROM修正アドレス1設定レジスタ中位8ビット RC1APH RC1APH7 - RC1APH6 - RC1APH5 - RC1APH4 - RC1APH3 - RC1APH2 - ROM修正アドレス1設定 II - 34 II - 34 II - 34 レジスタ上位2ビット X'3FCD' RC2APL RC2APL7 x RC2APL6 x RC2APL5 x RC2APL4 x RC2APL3 x RC2APL2 x ROM修正アドレス2設定レジスタ下位8ビット 注)x:初期値不定です。 -:未実装です。 XVII - 20 特殊レジスタ一覧表 RC2APL1 x RC2APL0 x II - 35 第17章 付録 アドレス X'3FCE' X'3FCF' レジスタ略称 RC2APM RC2APH ビット略称/初期値/内容 ビット7 ビット6 ビット5 ビット4 ビット3 ビット2 ビット1 ビット0 RC2APM7 RC2APM6 RC2APM5 RC2APM4 RC2APM3 RC2APM2 RC2APM1 RC2APM0 x x x x x x x x 参照ページ II - 35 ROM修正アドレス2設定レジスタ中位8ビット RC2APH7 RC2APH6 RC2APH5 RC2APH4 RC2APH3 RC2APH2 RC2APH1 RC2APH0 - - - - - - x x ROM修正アドレス2設定 II - 35 レジスタ上位2ビット X'3FE1' X'3FE2' NMICR IRQ0ICR - - - - - PIR WDIR - - - - - 0 0 0 プログラム ウオッチドック 0固定 割込み要求 割込み要求 IRQ0LV0 REDG0 - - - IRQ0IE 0 0 0 - - - 0 0 IRQ0割込み IRQ0割込み IRQ0割込みレベル指定 IRQ0割込み 有効エッジ IRQ1ICR IRQ2ICR 許可 要求 REDG1 - - - IRQ1IE IRQ1IR 0 0 IRQ1割込み - - - 0 IRQ1割込み 0 IRQ1割込み 許可 要求 REDG2 - - - IRQ2IE IRQ2IR 0 - - - 0 IRQ1割込みレベル指定 IRQ2LV1 IRQ2LV0 0 0 IRQ2割込みレベル指定 IRQ2割込み X'3FE5' IRQ3ICR IRQ3LV0 0 0 IRQ3割込みレベル指定 許可 要求 - - - IRQ3IE IRQ3IR 0 IRQ3割込み - - - 0 IRQ3割込み 0 IRQ3割込み 許可 要求 IRQ4IE IRQ4IR IRQ4ICR IRQ4LV1 IRQ4LV0 REDG4 - - - 0 0 0 IRQ4割込み - - - IRQ4割込みレベル指定 有効エッジ X'3FE9' X'3FEA' X'3FEC' X'3FEF' X'3FF0' X'3FF1' TM0ICR TM1ICR TM3ICR TM6ICR TBICR TM7ICR TM0LV1 TM0LV0 - - - - 0 0 - - - - TM1LV1 TM1LV0 - - - - 0 0 - - - - TM1割込みレベル指定 TM3LV1 TM3LV0 - - - - 0 0 - - - - TM3割込みレベル指定 TM6LV1 TM6LV0 - - - - 0 0 - - - - TM6割込みレベル指定 TBLV0 0 0 - - - - TB割込みレベル指定 TM7LV1 TM7LV0 - - - - 0 0 - - - - TM7割込みレベル指定 0 IRQ4割込み 許可 要求 TM0IE TM0IR 0 TM0割込み TM0割込みレベル指定 TBLV1 0 IRQ4割込み III - 17 III - 18 0 IRQ2割込み REDG3 有効エッジ X'3FE6' 0 IRQ2割込み 有効エッジ IRQ3LV1 IRQ0IR IRQ1LV0 有効エッジ X'3FE4' III - 16 IRQ0LV1 IRQ1LV1 X'3FE3' RESERVED 0 TM0割込み 許可 要求 TM1IE TM1IR 0 0 TM1割込み TM1割込み 許可 要求 TM3IE TM3IR 0 0 TM3割込み TM3割込み 許可 要求 TM6IE TM6IR 0 0 TM6割込み TM6割込み 許可 要求 TBIE TBIR 0 0 TB割込み TB割込み 許可 要求 TM7IE TM7IR 0 0 TM7割込み TM7割込み 許可 要求 III - 19 III - 20 III - 21 III - 22 III - 23 III - 24 III - 25 III - 26 III - 27 注)x:初期値不定です。 -:未実装です。 特殊レジスタ一覧表 XVII - 21 第17章 付録 アドレス X'3FF2' X'3FF3' X'3FF5' レジスタ略称 T7OC2ICR TM8ICR ビット略称/初期値/内容 ビット7 ビット6 ビット5 ビット4 ビット3 ビット2 ビット1 ビット0 T7OC2LV1 T7OC2LV0 - - T7OC2IR 0 - T7OC2IE 0 - T7OC2割込みレベル指定 SC0TICR SC2ICR ADICR - - - TM7IE - - - - 0 0 TM8割込み TM8割込み SC0RLV1 SC0RLV0 - - - - 0 0 - - - - SC0R割込みレベル指定 SC0TLV0 0 0 - - - - - - - - SC0T割込みレベル指定 SC2LV0 0 0 - - - - - - - - SC2割込みレベル指定 ADLV0 0 0 AD割込みレベル指定 注)x:初期値不定です。 -:未実装です。 XVII - 22 TM7IR - 0 ADLV1 X'3FFA' 要求 TM8LV0 SC2LV1 X'3FF8' 許可 0 SC0TLV1 X'3FF6' 0 T7OC2割込み TM8LV1 TM8割込みレベル指定 SC0RICR 0 T7OC2割込み 特殊レジスタ一覧表 許可 要求 SC0RIE SC0RIR 0 0 SC0R割込み SC0R割込み 許可 要求 SC0TIE SC0TIR 0 0 SC0T割込み SC0T割込み 許可 要求 SC2IE SC2IR 0 0 SC2割込み SC2割込み 許可 要求 ADIR - - - - ADIE - - - - 0 0 AD割込み AD割込み 許可 要求 参照ページ III - 28 III - 29 III - 30 III - 31 III - 32 III - 33 第17章 付録 17-4 インストラクションセット 17-4 インストラクションセット MN101C00 SERIES INSTRUCTION SET Group Mnemonic Operation Flag Code Cycle Repeat 拡張 VF NF CF ZF Size Machine Code 1 2 3 4 5 6 7 Notes Page 8 9 10 11 データ転送命令 MOV MOVW MOV Dn,Dm Dn→Dm − − − − 2 1 1010 DnDm MOV imm8,Dm imm8→Dm − − − − 4 2 1010 DmDm <#8. MOV Dn,PSW Dn→PSW ● ● ● ● 3 3 0010 1001 01Dn 26 MOV PSW,Dm PSW→Dm − − − − 3 2 0010 0001 01Dm 26 MOV (An),Dm mem8(An)→Dm − − − − 2 2 0100 1ADm MOV (d8,An),Dm mem8(d8+An)→Dm − − − − 4 2 0110 1ADm <d8. ...> MOV (d16,An),Dm mem8(d16+An)→Dm − − − − 7 4 0010 0110 1ADm <d16 .... MOV (d4,SP),Dm mem8(d4+SP)→Dm − − − − 3 2 0110 01Dm <d4> MOV (d8,SP),Dm mem8(d8+SP)→Dm − − − − 5 3 0010 0110 01Dm <d8. ...> MOV (d16,SP),Dm mem8(d16+SP)→Dm − − − − 7 4 0010 0110 00Dm <d16 .... MOV (io8),Dm mem8(IOTOP+io8)→Dm − − − − 4 2 0110 00Dm <io8 ...> MOV (abs8),Dm mem8(abs8)→Dm − − − − 4 2 0100 01Dm <abs 8..> MOV (abs12),Dm mem8(abs12)→Dm − − − − 5 2 0100 00Dm <abs 12.. ...> MOV (abs16),Dm mem8(abs16)→Dm − − − − 7 4 0010 1100 00Dm <abs 16.. .... MOV Dn,(Am) Dn→mem8(Am) − − − − 2 2 0101 1aDn MOV Dn,(d8,Am) Dn→mem8(d8+Am) − − − − 4 2 0111 1aDn <d8. ...> MOV Dn,(d16,Am) Dn→mem8(d16+Am) − − − − 7 4 0010 0111 1aDn <d16 .... MOV Dn,(d4,SP) Dn→mem8(d4+SP) − − − − 3 2 0111 01Dn <d4> MOV Dn,(d8,SP) Dn→mem8(d8+SP) − − − − 5 3 0010 0111 01Dn <d8. ...> MOV Dn,(d16,SP) Dn→mem8(d16+SP) − − − − 7 4 0010 0111 00Dn <d16 .... MOV Dn,(io8) Dn→mem8(IOTOP+io8) − − − − 4 2 0111 00Dn <io8 ...> MOV Dn,(abs8) Dn→mem8(abs8) − − − − 4 2 0101 01Dn <abs 8..> MOV Dn,(abs12) Dn→mem8(abs12) − − − − 5 2 0101 00Dn <abs 12.. ...> MOV Dn,(abs16) Dn→mem8(abs16) − − − − 7 4 0010 1101 00Dn <abs 16.. .... ...> 36 MOV imm8,(io8) imm8→mem8(IOTOP+io8) − − − − 6 3 0000 0010 <io8 <#8. ...> 37 MOV imm8,(abs8) imm8→mem8(abs8) − − − − 6 3 0001 0100 <abs 8..> <#8. ...> MOV imm8,(abs12) imm8→mem8(abs12) − − − − 7 3 0001 0101 <abs 12.. ...> <#8. ...> MOV imm8,(abs16) imm8→mem8(abs16) − − − − 9 5 0011 1101 1001 <abs 16.. .... ...> <#8. MOV Dn,(HA) Dn→mem8(HA) − − − − 2 2 1101 00Dn MOVW (An),DWm mem16(An)→DWm − − − − 2 3 1110 00Ad 40 MOVW (An),Am mem16(An)→Am − − − − 3 4 0010 1110 10Aa ※4 40 MOVW (d4,SP),DWm mem16(d4+SP)→DWm − − − − 3 3 1110 011d <d4> MOVW (d4,SP),Am mem16(d4+SP)→Am − − − − 3 3 1110 010a <d4> MOVW (d8,SP),DWm mem16(d8+SP)→DWm − − − − 5 4 0010 1110 011d <d8. ...> MOVW (d8,SP),Am mem16(d8+SP)→Am − − − − 5 4 0010 1110 010a <d8. ...> MOVW (d16,SP),DWm mem16(d16+SP)→DWm − − − − 7 5 0010 1110 001d <d16 .... .... ...> 43 MOVW (d16,SP),Am mem16(d16+SP)→Am − − − − 7 5 0010 1110 000a <d16 .... .... ...> 43 MOVW (abs8),DWm mem16(abs8)→DWm − − − − 4 3 1100 011d <abs 8..> MOVW (abs8),Am mem16(abs8)→Am − − − − 4 3 1100 010a <abs 8..> MOVW (abs16),DWm mem16(abs16)→DWm − − − − 7 5 0010 1100 011d <abs 16.. .... ...> 45 MOVW (abs16),Am mem16(abs16)→Am − − − − 7 5 0010 1100 010a <abs 16.. .... ...> 45 MOVW DWn,(Am) DWn→mem16(Am) − − − − 2 3 1111 00aD 46 MOVW An,(Am) An→mem16(Am) − − − − 3 4 0010 1111 10aA ※4 46 MOVW DWn,(d4,SP) DWn→mem16(d4+SP) − − − − 3 3 1111 011D <d4> MOVW An,(d4,SP) An→mem16(d4+SP) − − − − 3 3 1111 010A <d4> MOVW DWn,(d8,SP) DWn→mem16(d8+SP) − − − − 5 4 0010 1111 011D <d8. ...> MOVW An,(d8,SP) An→mem16(d8+SP) − − − − 5 4 0010 1111 010A <d8. ...> MOVW DWn,(d16,SP) DWn→mem16(d16+SP) − − − − 7 5 0010 1111 001D <d16 .... .... ...> 49 MOVW An,(d16,SP) An→mem16(d16+SP) − − − − 7 5 0010 1111 000A <d16 .... .... ...> 49 MOVW DWn,(abs8) DWn→mem16(abs8) − − − − 4 3 1101 011D <abs 8..> MOVW An,(abs8) An→mem16(abs8) − − − − 4 3 1101 010A <abs 8..> MOVW DWn,(abs16) DWn→mem16(abs16) − − − − 7 5 0010 1101 011D <abs 16.. .... ...> 51 MOVW An,(abs16) An→mem16(abs16) − − − − 7 5 0010 1101 010A <abs 16.. .... ...> 51 MOVW DWn,(HA) DWn→mem16(HA) − − − − 2 3 1001 010D MOVW An,(HA) An→mem16(HA) − − − − 2 3 1001 011A MOVW imm8,DWm sign(imm8)→DWm − − − − 4 2 0000 110d <#8. ...> MOVW imm8,Am zero(imm8)→Am − − − − 4 2 0000 111a <#8. ...> MOVW imm16,DWm imm16→DWm − − − − 6 3 1100 111d <#16 .... 注)Pageは、命令説明書の該当ページです。 25 25 ...> 27 ※1 27 .... 28 ...> ※2 28 ※3 29 .... 29 ...> 30 30 31 31 ...> 32 ※1 32 .... 33 ...> ※2 33 ...> ※3 34 .... 34 ...> 35 35 36 37 38 38 ...> 39 ※2 41 ※2 41 ※3 42 ※3 42 44 44 ※2 47 ※2 47 ※3 48 ※3 48 50 50 52 52 ※5 53 ※6 53 .... 54 ...> ※1 d8符号拡張 ※2 d4ゼロ拡張 ※3 d8ゼロ拡張 インストラクションセット ※4 A=An, a=Am ※5 #8符号拡張 ※6 #8ゼロ拡張 XVII - 23 第17章 付録 MN101C00 SERIES INSTRUCTION SET Group PUSH POP EXT Mnemonic Operation Flag CodeCycle Repeat 拡張 VF NF CF ZF Size Machine Code 1 2 3 4 5 6 .... .... ...> 7 Notes Page 8 9 10 11 MOVW imm16,Am imm16→Am − − − − 6 3 MOVW SP,Am SP→Am − − − − 3 3 0010 0000 100a MOVW An,SP An→SP − − − − 3 3 0010 0000 101A 55 MOVW DWn,DWm DWn→DWm − − − − 3 3 0010 1000 00Dd ※1 56 MOVW DWn,Am DWn→Am − − − − 3 3 0010 0100 11Da 56 MOVW An,DWm An→DWm − − − − 3 3 0010 1100 11Ad 57 MOVW An,Am An→Am − − − − 3 3 0010 0000 00Aa ※2 57 PUSH Dn SP-1→SP,Dn→mem8(SP) − − − − 2 3 1111 10Dn 58 PUSH An SP-2→SP,An→mem16(SP) − − − − 2 5 0001 011A 58 POP Dn mem8(SP)→Dn,SP+1→SP − − − − 2 3 1110 10Dn 59 POP An mem16(SP)→An,SP+2→SP − − − − 2 4 0000 011A 59 EXT Dn,DWm sign(Dn)→DWm − − − − 3 3 0010 1001 000d ※3 60 ADD Dn,Dm Dm+Dn→Dm ● ● ● ● 3 2 ADD imm4,Dm Dm+sign(imm4)→Dm ● ● ● ● 3 2 1101 111a <#16 54 55 算術演算命令 ADD ○ 61 0011 0011 DnDm ※6 61 1000 00Dm <#4> ADD imm8,Dm Dm+imm8→Dm ● ● ● ● 4 2 ADDC ADDC Dn,Dm Dm+Dn+CF→Dm ● ● ● ● 3 2 ○ 0011 1011 DnDm 63 ADDW ADDW DWn,DWm DWm+DWn→DWm ● ● ● ● 3 3 ○ 0010 0101 00Dd ※1 64 ADDW DWn,Am Am+DWn→Am ● ● ● ● 3 3 ○ 0010 0101 10Da ADDW imm4,Am Am+sign(imm4)→Am ● ● ● ● 3 2 1110 110a <#4> ADDW imm8,Am Am+sign(imm8)→Am ● ● ● ● 5 3 0010 1110 110a <#8. ...> ADDW imm16,Am Am+imm16→Am ● ● ● ● 7 4 0010 0101 011a <#16 .... ADDW imm4,SP SP+sign(imm4)→SP − − − − 3 2 1111 1101 <#4> ADDW imm8,SP SP+sign(imm8)→SP − − − − 4 2 1111 1100 <#8. ADDW imm16,SP SP+imm16→SP − − − − 7 4 0010 1111 1100 <#16 .... .... ...> ADDW imm16,DWm DWm+imm16→DWm ● ● ● ● 7 4 0010 0101 010d <#16 .... .... ...> ADDUW ADDUW Dn,Am Am+zero(Dn)→Am ● ● ● ● 3 3 ○ 0010 1000 1aDn ※8 69 ADDSW ADDSW Dn,Am Am+sign(Dn)→Am 0000 10Dm <#8. 62 ...> 64 ※6 65 ※7 65 .... 66 ...> ※6 66 ※7 67 ...> 67 68 ● ● ● ● 3 3 ○ 0010 1001 1aDn 70 SUB Dn,Dm(Dn≠Dmの場合) Dm-Dn→Dm ● ● ● ● 3 2 ○ 0010 1010 DnDm 71 SUB Dn,Dn Dn-Dn→Dn 0 1 2 1 1000 01Dn SUB imm8,Dm Dm-imm8→Dm ● ● ● ● 5 3 0010 1010 DmDm <#8. SUBC SUBC Dn,Dm Dm-Dn-CF→Dm ● ● ● ● 3 2 SUBW SUBW DWn,DWm DWm-DWn→DWm ● ● ● ● 3 SUBW DWn,Am Am-DWn→Am ● ● ● ● SUBW imm16,DWm DWm-imm16→DWm ● ● ● ● SUBW imm16,Am Am-imm16→Am MULU MULU Dn,Dm DIVU CMP SUB CMPW 0 0 ○ 71 ...> 72 0010 1011 DnDm 73 3 0010 0100 00Dd ※1 74 3 3 0010 0100 10Da 7 4 0010 0100 010d <#16 .... .... ...> ● ● ● ● 7 4 0010 0100 011a <#16 .... .... ...> Dm*Dn→DWk 0 ● ● ● 3 8 0010 1111 111D ※4 76 DIVU Dn,DWm DWm/Dn→DWm-I…DWm-h ● ● ● ● 3 9 0010 1110 111d ※5 77 CMP Dn,Dm Dm-Dn...PSW ● ● ● ● 3 2 0011 0010 DnDm CMP imm8,Dm Dm-imm8...PSW ● ● ● ● 4 2 1100 00Dm <#8. CMP imm8,(abs8) mem8(abs8)-imm8...PSW ● ● ● ● 6 3 0000 0100 <abs 8..> CMP imm8,(abs12) mem8(abs12)-imm8...PSW ● ● ● ● 7 3 0000 0101 <abs 12.. CMP imm8,(abs16) mem8(abs16)-imm8...PSW ● ● ● ● 9 5 0011 1101 1000 <abs 16.. CMPW DWn,DWm DWm-DWn...PSW ● ● ● ● 3 3 0010 1000 01Dd CMPW DWn,Am Am-DWn...PSW ● ● ● ● 3 3 0010 0101 11Da 81 CMPW An,Am Am-An...PSW ● ● ● ● 3 3 0010 0000 01Aa ※2 82 CMPW imm16,DWm DWm-imm16...PSW ● ● ● ● 6 3 1100 110d <#16 .... .... ...> 82 CMPW imm16,Am Am-imm16...PSW ● ● ● ● 6 3 1101 110a <#16 .... .... ...> 83 AND Dn,Dm Dm&Dn→Dm 0 ● 0 ● 3 2 AND imm8,Dm Dm&imm8→Dm 0 ● 0 ● 4 2 0001 11Dm <#8. ...> 84 AND imm8,PSW PSW&imm8→PSW ● ● ● ● 5 3 0010 1001 0010 <#8. ...> 85 OR Dn,Dm DmIDn→Dm 0 ● 0 ● 3 2 0011 0110 DnDm OR imm8,Dm DmIimm8→Dm 0 ● 0 ● 4 2 0001 10Dm <#8. ...> OR imm8,PSW PSWIimm8→PSW ● ● ● ● 5 3 0010 1001 0011 <#8. ...> XOR Dn,Dm Dm^Dn→Dm 0 ● 0 ● 3 2 0011 1010 DnDm XOR imm8,Dm Dm^imm8→Dm 0 ● 0 ● 5 3 0011 1010 DmDm <#8. 74 75 75 78 78 ...> <#8. 79 ...> ...> <#8. ...> .... <#8. ...> 79 80 ...> ※1 81 論理演算命令 AND OR XOR 注)Pageは、命令説明書の該当ページです。 XVII - 24 インストラクションセット 84 0011 0111 DnDm ※1 D=DWn, d=DWm ※2 A=An, a=Am ※3 d=DWm ※4 D=DWk 86 86 87 ※9 88 88 ...> ※5 D=DWm ※6 #4符号拡張 ※7 #8符号拡張 ※8 Dnゼロ拡張 ※9 m=n 第17章 付録 MN101C00 SERIES INSTRUCTION SET Group Mnemonic NOT NOT Dn ASR ASR Dn Operation _ Flag CodeCycle Repeat 拡張 VF NF CF ZF Size Machine Code 1 2 3 4 5 6 7 Notes Page 8 9 10 11 0 ● 0 ● 3 2 0010 0010 10Dn 89 0 − ● ● 3 2 ○ 0010 0011 10Dn 90 0 0 ● ● 3 2 ○ 0010 0011 11Dn 91 0 ● ● ● 3 2 ○ 0010 0010 11Dn 92 mem8(IOTOP+io8)&bpdata...PSW 0 ● 0 ● 5 5 0 ● 0 ● 4 0 ● 0 ● mem8(IOTOP+io8)&bpdata...PSW 0 ● 0 ● Dn→Dn Dn.msb→temp,Dn.lsb→CF Dn>>1→Dn,temp→Dn.msb LSR LSR Dn Dn.lsb→CF,Dn>>1→Dn 0→Dn.msb ROR ROR Dn Dn.Isb→temp,Dn>>1→Dn CF→Dn.msb,temp→CF ビット操作命令 BSET BSET (io8)bp ...> 93 4 1011 0bp. <abs 8..> 93 7 6 0011 1100 0bp. <abs 16.. 5 5 0011 1000 1bp. <io8 0 ● 0 ● 4 0 ● 0 ● 0011 1000 0bp. <io8 1→mem8(IOTOP+io8)bp BSET (abs8)bp mem8(abs8)&bpdata...PSW 1→mem8(abs8)bp BSET (abs16)bp mem8(abs16)&bpdata...PSW .... ...> 94 1→mem8(abs16)bp BCLR BCLR (io8)bp ...> 95 4 1011 1bp. <abs 8..> 95 7 6 0011 1100 1bp. <abs 16.. 0→mem8(IOTOP+io8)bp BCLR (abs8)bp mem8(abs8)&bpdata...PSW 0→mem8(abs8)bp BCLR (abs16)bp mem8(abs16)&bpdata...PSW .... ...> .... ...> 96 0→mem8(abs16)bp BTST BTST imm8,Dm Dm&imm8...PSW 0 ● 0 ● 5 3 0010 0000 11Dm <#8. BTST (abs16)bp mem8(abs16)&bpdata...PSW 0 ● 0 ● 7 5 0011 1101 0bp. <abs 16.. if(ZF=1), PC+3+d4(label)+H→PC − − − − 3 2/3 1001 000H <d4> − − − − 4 2/3 1000 1010 <d7. ...H if(ZF=1), PC+5+d11(label)+H→PC − − − − 5 2/3 1001 1010 <d11 .... 3 2/3 1001 001H <d4> 4 2/3 1000 1011 <d7. ...H 5 2/3 1001 1011 <d11 .... 4 2/3 1000 1000 <d7. ...H 5 2/3 1001 1000 <d11 .... 4 2/3 1000 1100 <d7. ...H 5 2/3 1001 1100 <d11 .... 4 2/3 1000 1101 <d7. ...H 5 2/3 1001 1101 <d11 .... 4 2/3 1000 1110 <d7. ...H 5 2/3 1001 1110 <d11 .... 4 2/3 1000 1111 <d7. ...H 5 2/3 1001 1111 <d11 .... 5 3/4 0010 0010 0001 <d7. ...H 97 ...> 97 分岐命令 Bcc BEQ label ※1 98 if(ZF=0), PC+3→PC BEQ label if(ZF=1), PC+4+d7(label)+H→PC ※2 98 if(ZF=0), PC+4→PC BEQ label ...H ※3 99 if(ZF=0), PC+5→PC BNE label if(ZF=0), PC+3+d4(label)+H→PC − − − − ※1 100 if(ZF=1), PC+3→PC BNE label if(ZF=0), PC+4+d7(label)+H→PC − − − − ※2 100 if(ZF=1), PC+4→PC BNE label if(ZF=0), PC+5+d11(label)+H→PC − − − − ...H ※3 101 if(ZF=1), PC+5→PC BGE label if((VF^NF)=0),PC+4+d7(label)+H→PC − − − − ※2 102 if((VF^NF)=1),PC+4→PC BGE label if((VF^NF)=0),PC+5+d11(label)+H→PC − − − − ...H ※3 102 if((VF^NF)=1),PC+5→PC BCC label if(CF=0),PC+4+d7(label)+H→PC − − − − ※2 103 if(CF=1), PC+4→PC BCC label if(CF=0), PC+5+d11(label)+H→PC − − − − ...H ※3 103 if(CF=1), PC+5→PC BCS label if(CF=1),PC+4+d7(label)+H→PC − − − − ※2 104 if(CF=0), PC+4→PC BCS label if(CF=1), PC+5+d11(label)+H→PC − − − − ...H ※3 104 if(CF=0), PC+5→PC BLT label if((VF^NF)=1),PC+4+d7(label)+H→PC − − − − ※2 105 if((VF^NF)=0),PC+4→PC BLT label if((VF^NF)=1),PC+5+d11(label)+H→PC − − − − ...H ※3 105 if((VF^NF)=0),PC+5→PC BLE label if((VF^NF)|ZF=1),PC+4+d7(label)+H→PC − − − − ※2 106 if((VF^NF)|ZF=0),PC+4→PC BLE label if((VF^NF)|ZF=1),PC+5+d11(label)+H→PC − − − − ...H ※3 106 if((VF^NF)|ZF=0),PC+5→PC BGT label if((VF^NF)|ZF=0),PC+5+d7(label)+H→PC − − − − ※2 107 if((VF^NF)|ZF=1),PC+5→PC 注)Pageは、命令説明書の該当ページです。 ※1 d4符号拡張 ※2 d7符号拡張 ※3 d11符号拡張 インストラクションセット XVII - 25 第17章 付録 MN101C00 SERIES INSTRUCTION SET Group Bcc Mnemonic Operation BGT label Flag CodeCycle Repeat 拡張 VF NF CF ZF Size if((VF^NF)|ZF=0),PC+6+d11(label)+H→PC − − − − Machine Code 1 2 3 4 5 ...H 6 3/4 0010 0011 0001 <d11 .... 5 3/4 0010 0010 0010 <d7. ...H 6 3/4 0010 0011 0010 <d11 .... 5 3/4 0010 0010 0011 <d7. ...H 6 3/4 0010 0011 0011 <d11 .... 5 3/4 0010 0010 0100 <d7. ...H 6 3/4 0010 0011 0100 <d11 .... 5 3/4 0010 0010 0101 <d7. ...H 6 3/4 0010 0011 0101 <d11 .... 5 3/4 0010 0010 0110 <d7. ...H 6 3/4 0010 0011 0110 <d11 .... 5 3/4 0010 0010 0111 <d7. ...H 6 3/4 0010 0011 0111 <d11 .... 6 7 Notes Page 8 9 10 11 ※3 107 if((VF^NF)|ZF=1),PC+6→PC BHI label if(CFIZF=0),PC+5+d7(label)+H→PC − − − − ※2 108 if(CFIZF=1), PC+5→PC BHI label if(CFIZF=0),PC+6+d11(label)+H→PC − − − − ※3 108 ...H if(CFIZF=1), PC+6→PC BLS label if(CFIZF=1),PC+5+d7(label)+H→PC − − − − ※2 109 if(CFIZF=0), PC+5→PC BLS label if(CFIZF=1),PC+6+d11(label)+H→PC − − − − ※3 109 ...H if(CFIZF=0), PC+6→PC BNC label if(NF=0),PC+5+d7(label)+H→PC − − − − ※2 110 if(NF=1),PC+5→PC BNC label if(NF=0),PC+6+d11(label)+H→PC − − − − ※3 110 ...H if(NF=1),PC+6→PC BNS label if(NF=1),PC+5+d7(label)+H→PC − − − − ※2 111 if(NF=0),PC+5→PC BNS label if(NF=1),PC+6+d11(label)+H→PC − − − − ※3 111 ...H if(NF=0),PC+6→PC BVC label if(VF=0),PC+5+d7(label)+H→PC − − − − ※2 112 if(VF=1),PC+5→PC BVC label if(VF=0),PC+6+d11(label)+H→PC − − − − ※3 112 ...H if(VF=1),PC+6→PC BVS label if(VF=1),PC+5+d7(label)+H→PC − − − − ※2 113 if(VF=0),PC+5→PC BVS label if(VF=1),PC+6+d11(label)+H→PC − − − − ※3 113 ...H if(VF=0),PC+6→PC CBEQ ※1 114 BRA label PC+3+d4(label)+H→PC − − − − 3 3 1110 111H <d4> BRA label PC+4+d7(label)+H→PC − − − − 4 3 1000 1001 <d7. ...H BRA label PC+5+d11(label)+H→PC − − − − 5 3 1001 1001 <d11 .... ...H CBEQ imm8,Dm,label if(Dm=imm8),PC+6+d7(label)+H→PC ● ● ● ● 6 3/4 1100 10Dm <#8. ...> <d7. ...H 8 4/5 0010 1100 10Dm <#8. ...> <d11 .... ...H 9 6/7 0010 1101 1100 <abs 8..> <#8. ...> <d7. ...H if(mem8(abs8)=imm8),PC+10+d11(label)+H→PC ● ● ● ● 10 6/7 0010 1101 1101 <abs 8..> <#8. ...> <d11 .... ...H 0011 1101 1100 <abs 16.. .... ...> <#8. ...> <d7. ...H ※2 118 0011 1101 1101 <abs 16.. .... ...> <#8. ...> <d11 .... ...H ※3 118 ※2 114 ※3 115 ※2 116 / if(Dm=imm8),PC+6→PC CBEQ imm8,Dm,label if(Dm=imm8),PC+8+d11(label)+H→PC ● ● ● ● ※3 116 if(Dm=imm8),PC+8→PC / CBEQ imm8,(abs8),label if(mem8(abs8)=imm8),PC+9+d7(label)+H→PC ● ● ● ● ※2 117 if(mem8(abs8)=imm8),PC+9→PC / CBEQ imm8,(abs8),label ※3 117 if(mem8(abs8)=imm8),PC+10→PC / CBEQ imm8,(abs16),label if(mem8(abs16)=imm8),PC+11+d7(label)+H→PC ● ● ● ● 11 7/8 / if(mem8(abs16)=imm8),PC+11→PC CBEQ imm8,(abs16),label if(mem8(abs16)=imm8),PC+12+d11(label)+H→PC ● ● ● ● 12 7/8 if(mem8(abs16)=imm8),PC+12→PC / CBNE CBNE imm8,Dm,label 6 3/4 1101 10Dm <#8. 8 4/5 0010 1101 10Dm <#8. ...> <d11 .... ...H 9 6/7 0010 1101 1110 <abs 8..> <#8. ...> <d7. ...H if(mem8(abs8)=imm8),PC+10+d11(label)+H→PC ● ● ● ● 10 6/7 / 0010 1101 1111 <abs 8..> <#8. ...> <d11 .... ...H 0011 1101 1110 <abs 16.. .... ...> <#8. ...> <d7. ...H ※2 121 0011 1101 1111 <abs 16.. .... ...> <#8. ...> <d11 .... ...H ※3 121 if(Dm=imm8),PC+6+d7(label)+H→PC / ● ● ● ● ...> ※2 119 <d7. ..H> if(Dm=imm8),PC+6→PC CBNE imm8,Dm,label if(Dm=imm8),PC+8+d11(label)+H→PC / ● ● ● ● ※3 119 if(Dm=imm8),PC+8→PC CBNE imm8,(abs8),label if(mem8(abs8)=imm8),PC+9+d7(label)+H→PC / ● ● ● ● ※2 120 if(mem8(abs8)=imm8),PC+9→PC CBNE imm8,(abs8),label ※3 120 if(mem8(abs8)=imm8),PC+10→PC CBNE imm8,(abs16),label if(mem8(abs16)=imm8),PC+11+d7(label)+H→PC ● ● ● ● 11 7/8 / if(mem8(abs16)=imm8),PC+11→PC CBNE imm8,(abs16),label if(mem8(abs16)=imm8),PC+12+d11(label)+H→PC ● ● ● ● 12 7/8 / if(mem8(abs16)=imm8),PC+12→PC TBZ TBZ (abs8)bp,label if(mem8(abs8)bp=0),PC+7+d7(label)+H→PC 0 ● 0 ● 7 6/7 0011 0000 0bp. <abs 8..> <d7. ...H 8 6/7 0011 0000 1bp. <abs 8..> <d11 .... ※2 122 if(mem8(abs8)bp=1),PC+7→PC TBZ (abs8)bp,label if(mem8(abs8)bp=0),PC+8+d11(label)+H→PC 0 ● 0 ● ...H ※3 122 if(mem8(abs8)bp=1),PC+8→PC 注)Pageは、命令説明書の該当ページです。 XVII - 26 インストラクションセット ※1 d4符号拡張 ※2 d7符号拡張 ※3 d11符号拡張 第17章 付録 MN101C00 SERIES INSTRUCTION SET Group TBZ Mnemonic TBZ (io8)bp,label Operation Flag CodeCycle Repeat 拡張 VF NF CF ZF Size Machine Code 1 2 3 4 5 6 7 9 10 11 ※1 123 7 6/7 0011 0100 0bp. <io8 ...> <d7. ...H 8 6/7 0011 0100 1bp. <io8 ...> <d11 .... ...H 9 7/8 0011 1110 0bp. <abs 16.. .... ...> <d7. if(mem8(abs16)bp=0),PC+10+d11(label)+H→PC 0 ● 0 ● 10 7/8 0011 1110 1bp. <abs 16.. .... ...> <d11 if(mem8(IOTOP+io8)bp=0),PC+7+d7(label)+H→PC 0 ● 0 ● Notes Page 8 if(mem8(IOTOP+io8)bp=1),PC+7→PC TBZ (io8)bp,label if(mem8(IOTOP+io8)bp=0),PC+8+d11(label)+H→PC 0 ● 0 ● ※2 123 if(mem8(IOTOP+io8)bp=1),PC+8→PC TBZ (abs16)bp,label if(mem8(abs16)bp=0),PC+9+d7(label)+H→PC 0 ● 0 ● ※1 124 ...H if(mem8(abs16)bp=1),PC+9→PC TBZ (abs16)bp,label .... ...H ※2 124 if(mem8(abs16)bp=1),PC+10→PC TBNZ TBNZ (abs8)bp,label 7 6/7 0011 0001 0bp. <abs 8..> <d7. ...H 8 6/7 0011 0001 1bp. <abs 8..> <d11 .... 7 6/7 0011 0101 0bp. <io8 ...> <d7. ...H 8 6/7 0011 0101 1bp. <io8 ...> <d11 .... ...H 9 7/8 0011 1111 0bp. <abs 16.. .... ...> <d7. ...H if(mem8(abs16)bp=1),PC+10+d11(label)+H→PC 0 ● 0 ● 10 7/8 0011 1111 1bp. <abs 16.. .... ...> <d11 .... if(mem8(abs8)bp=1),PC+7+d7(label)+H→PC 0 ● 0 ● ※1 125 if(mem8(abs8)bp=0),PC+7→PC TBNZ (abs8)bp,label if(mem8(abs8)bp=1),PC+8+d11(label)+H→PC 0 ● 0 ● ※2 125 ...H if(mem8(abs8)bp=0),PC+8→PC TBNZ (io8)bp,label if(mem8(io)bp=1),PC+7+d7(label)+H→PC 0 ● 0 ● ※1 126 if(mem8(io)bp=0),PC+7→PC TBNZ (io8)bp,label if(mem8(io)bp=1),PC+8+d11(label)+H→PC 0 ● 0 ● ※2 126 if(mem8(io)bp=0),PC+8→PC TBNZ (abs16)bp,label if(mem8(abs16)bp=1),PC+9+d7(label)+H→PC 0 ● 0 ● ※1 127 if(mem8(abs16)bp=0),PC+9→PC TBNZ (abs16)bp,label ...H ※2 127 if(mem8(abs16)bp=0),PC+10→PC JMP JSR JMP (An) 0→PC.17∼16,An→PC.15∼0,0→PC.H − − − − 3 4 0010 0001 00A0 JMP label abs18(label)+H→PC − − − − 7 5 JSR (An) SP-3→SP,(PC+3).bp7∼0→mem8(SP) − − − − 3 7 0011 1001 0aaH <abs 18.b p15∼ 0..> 0010 0001 00A1 5 6 0001 000H <d12 .... ...> 6 7 0001 001H <d16 .... .... 7 8 3 9 2 1 128 ※5 128 129 (PC+3).bp15∼8→mem8(SP+1) (PC+3).H→mem8(SP+2).bp7, 0→mem8(SP+2).bp6∼2, (PC+3).bp17∼16→mem8(SP+2).bp1∼0 0→PC.bp17∼16 An→PC.bp15∼0,0→PC.H JSR label SP-3→SP,(PC+5).bp7∼0→mem8(SP) − − − − ※3 129 (PC+5).bp15∼8→mem8(SP+1) (PC+5).H→mem8(SP+2).bp7, 0→mem8(SP+2).bp6∼2, (PC+5).bp17∼16→mem8(SP+2).bp1∼0 PC+5+d12(label)+H→PC JSR label SP-3→SP,(PC+6).bp7∼0→mem8(SP) − − − − ...> ※4 130 0011 1001 1aaH <abs 18.b p15∼ 0..> ※5 130 (PC+6).bp15∼8→mem8(SP+1) (PC+6).H→mem8(SP+2).bp7, 0→mem8(SP+2).bp6∼2, (PC+6).bp17∼16→mem8(SP+2).bp1∼0 PC+6+d16(label)+H→PC JSR label SP-3→SP,(PC+7).bp7∼0→mem8(SP) − − − − (PC+7).bp15∼8→mem8(SP+1) (PC+7).H→mem8(SP+2).bp7, 0→mem8(SP+2).bp6∼2, (PC+7).bp17∼16→mem8(SP+2).bp1∼0 abs18(label)+H→PC JSRV (tbl4) SP-3→SP,(PC+3).bp7∼0→mem8(SP) − − − − 1111 1110 <t4> 131 0000 0000 132 (PC+3).bp15∼8→mem8(SP+1) (PC+3).H→mem8(SP+2).bp7 0→mem8(SP+2).bp6∼2, (PC+3).bp17∼16→mem8(SP+2).bp1∼0 mem8(x'004080+tbl4<<2)→PC.bp7∼0 mem8(x'004080+tbl4<<2+1)→PC.bp15∼8 mem8(x'004080+tbl4<<2+2).bp7→PC.H mem8(x'004080+tbl4<<2+2).bp1∼0→ PC.bp17∼16 NOP NOP PC+2→PC 注)Pageは、命令説明書の該当ページです。 − − − − ○ ※1 d7符号拡張 ※2 d11符号拡張 ※3 d12符号拡張 ※4 d16符号拡張 ※5 aa=abs18.17∼16 インストラクションセット XVII - 27 第17章 付録 MN101C00 SERIES INSTRUCTION SET Group RTS Mnemonic RTS Operation mem8(SP)→(PC).bp7∼0 Flag CodeCycle Repeat 拡張 VF NF CF ZF Size Machine Code 1 2 3 4 5 6 7 Notes Page 8 9 10 11 − − − − 2 7 0000 0001 133 ● ● ● ● 2 11 0000 0011 134 − − − − 3 2 0010 0001 1rep mem8(SP+1)→(PC).bp15∼8 mem8(SP+2).bp7→(PC).H mem8(SP+2).bp1∼0→(PC).bp17∼16 SP+3→SP RTI RTI mem8(SP)→PSW mem8(SP+1)→(PC).bp7∼0 mem8(SP+2)→(PC).bp15∼8 mem8(SP+3).bp7→(PC).H mem8(SP+3).bp1∼0→(PC).bp17∼16 mem8(SP+4)→HA-l mem8(SP+5)→HA-h SP+6→SP 制御命令 REP REP imm3 imm3→RPC 注)Pageは、命令説明書の該当ページです。 ※1 135 ※1 imm3=0で繰り返し数0 Ver2.0(1997.9.26) XVII - 28 インストラクションセット 第17章 付録 17-5 インストラクションマップ 17-5 インストラクションマップ MN101C00 SERIES INSTRUCTION MAP 第1ニブル 第2ニブル / 0 1 RTS 2 3 MOV #8,(io8) RTI 4 5 7 POP An 8 9 A B C D E F 0 NOP 1 JSR d12(label) JSR d16(label) MOV #8,(abs8)/(abs12) PUSH An 2 拡張コードがb'0010'の場合 3 拡張コードがb'0011'の場合 4 MOV (abs12),Dm MOV (abs8),Dm MOV (An),Dm 5 MOV Dn,(abs12) MOV Dn,(abs8) MOV Dn,(Am) 6 MOV (io8),Dm MOV (d4,SP),Dm MOV (d8,An),Dm 7 MOV Dn,(io8) MOV Dn,(d4,SP) MOV Dn,(d8,Am) 8 ADD #4,Dm SUB Dn,Dn BGE d7 BRA d7 BEQ d7 BNE d7 BCC d7 BCS d7 BLT d7 BLE d7 9 BEQ d4 A MOV Dn,Dm / MOV #8,Dm B BSET (abs8)bp BNE d4 CMP #8,(abs8)/(abs12) 6 ADD #8,Dm MOVW #8,DWm MOVW #8,Am OR #8,Dm AND #8,Dm MOVW DWn,(HA) MOVW An,(HA) BGE d11 BRA d11 BEQ d11 BNE d11 BCC d11 BCS d11 BLT d11 BLE d11 BCLR (abs8)bp C CMP #8,Dm MOVW (abs8),Am MOVW (abs8),DWm CBEQ #8,Dm,d7 CMPW #16,DWm MOVW #16,DWm D MOV Dn,(HA) MOVW An,(abs8) MOVW DWn,(abs8) CBNE #8,Dm,d7 CMPW #16,Am MOVW #16,Am E MOVW (An),DWm MOVW (d4,SP),Am MOVW (d4,SP),DWm POP Dn ADDW #4,Am F MOVW DWn,(Am) MOVW An,(d4,SP) MOVW DWn,(d4,SP) PUSH Dn ADDW #8,SP ADDW #4,SP JSRV (tbl4) 拡張コード:b'0010' 第2ニブル 第3ニブル / 0 1 2 3 4 5 0 MOVW An,Am CMPW An,Am 1 JMP (A0) JSR (A0) JMP (A1) JSR (A1) MOV PSW,Dm 6 7 8 9 A B C BRA d4 D E MOVW SP,Am MOVW An,SP BTST #8,Dm REP #3 2 BGT d7 BHI d7 BLS d7 BNC d7 BNS d7 BVC d7 BVS d7 NOT Dn ROR Dn 3 BGT d11 BHI d11 BLS d11 BNC d11 BNS d11 BVC d11 BVS d11 ASR Dn LSR Dn 4 SUBW DWn,DWm SUBW #16,DWm SUBW #16,Am SUBW DWn,Am MOVW DWn,Am 5 ADDW DWn,DWm ADDW #16,DWm ADDW #16,Am ADDW DWn,Am CMPW DWn,Am 6 MOV (d16,SP),Dm MOV (d8,SP),Dm MOV (d16,An),Dm 7 MOV Dn,(d16,SP) MOV Dn,(d8,SP) MOV Dn,(d16,Am) 8 MOVW DWn,DWm (NOPL @n=m) CMPW DWn,DWm ADDUW Dn,Am 9 EXT Dn,DWm ADDSW Dn,Am A SUB Dn,Dm / SUB #8,Dm B SUBC Dn,Dm AND #8,PSW OR #8,PSW MOV Dn,PSW F C MOV (abs16),Dm MOVW (abs16),Am MOVW (abs16),DWm CBEQ #8,Dm,d12 MOVW An,DWm D MOV Dn,(abs16) MOVW An,(abs16) MOVW DWn,(abs16) CBNE #8,Dm,d12 CBEQ #8,(abs8),d7/d11 CBNE #8,(abs8),d7/d11 E MOVW (d16,SP),Am MOVW (d16,SP),DWm MOVW (d8,SP),Am MOVW (d8,SP),DWm MOVW (An),Am ADDW #8,Am DIVU F MOVW An,(d16,SP) MOVW DWn,(d16,SP) MOVW An,(d8,SP) MOVW DWn,(d8,SP) MOVW An,(Am) ADDW #16,SP MULU インストラクションマップ XVII - 29 第17章 付録 拡張コード:b'0011' / 第2ニブル 第3ニブル 1 0 2 3 4 5 6 7 8 9 A 0 TBZ (abs8)bp,d7 TBZ (abs8)bp,d11 1 TBNZ (abs8)bp,d7 TBNZ (abs8)bp,d11 2 CMP Dn,Dm 3 ADD Dn,Dm 4 TBZ (io8)bp,d7 TBZ (io8)bp,d11 5 TBNZ (io8)bp,d7 TBNZ (io8)bp,d11 6 OR Dn,Dm 7 AND Dn,Dm 8 BSET (io8)bp BCLR (io8)bp 9 JMP abs18(label) JSR abs18(label) A XOR Dn,Dm / XOR #8,Dm B ADDC Dn,Dm C BSET (abs16)bp BCLR (abs16)bp D BTST (abs16)bp cmp #8,(abs16) mov #8,(abs16) E TBZ (abs16)bp,d7 TBZ (abs16)bp,d11 F TBNZ (abs16)bp,d7 TBNZ (abs16)bp,d11 B C D E F CBEQ #8,(abs16),d7/11 CBNE #8,(abs16),d7/11 Ver2.0(1997.9.26) XVII - 30 インストラクションマップ お問合せ窓口 マニュアルに記載されている技術的内容についてのお問合せは、下記まで電子メールで お願いします。FAXでお送りいただく場合は、内線指定Fコード0000を設定して下さい ますようお願いします。 松下電器産業株式会社 半導体開発本部 マイコン開発センター ユーザーサポート担当宛 E-mail: To:[email protected] FAX: 075-957-9205 内線指定Fコード: 0000 MN101C56C LSI説明書 2001.2 第1版 発行 松下電器産業株式会社 松下電子工業株式会社 © © Matsushita Electric Industrial Co., Ltd. Matsushita Electronics Corporation 営 業 所 所 在 地 一 覧 表 〒 所 在 地 電 話 番号 首 都 圏 半 導 体 営 業 所 105-8586 東京都港区芝大門一丁目 1 番 30 号(ナショナル 6 号館) (03)3438-5300 半 導 体 関 東 営 業 所 331-0852 埼玉県大宮市桜木町一丁目11番9号(日本生命大宮桜木町ビル5階) (048)643-4530 半導体首都圏西営業所 192-0046 東京都八王子市明神町四丁目 7 番 14 号(八王子 ON ビル) (0426)48-9202 半導体神奈川営業所 220-0004 横浜市西区北幸一丁目 4 番 1 号(天理ビル 17 階) (045)319-5260 (0263)27-7309 半 導 体 長 野 営 業 所 390-0841 長 グローバル半導体営業所 105-8586 東京都港区芝大門一丁目 1 番 30 号(ナショナル 6 号館) (03)3438-5036 近 畿 半 導 体 営 業 所 540-0001 大阪市中央区城見二丁目 1 番 61 号(ツイン 21 ナショナルタワー) (06)6949-2390 半 導 体 京 滋 営 業 所 604-0845 京都市中京区烏丸通御池上ル二条殿町548番地(ナショナルビル) (075)256-1741 半 導 体 北 陸 営 業 所 920-0862 金 沢 関西ナショナル電子部品株式会社 532-0026 大 阪 海 外 半 導 体 営 業 所 540-0001 大阪市中央区城見二丁目 1 番 61 号(ツイン 21 ナショナルタワー) (06)6949-3617 東北インダストリー営業所 980-8587 仙 台 市 青 葉 区 国 分 町 三 丁 目 1 番 11 号 (022)263-4201 インダストリー福島営業所 963-8005 福島県郡山市清水台二丁目 13 番 23 号(郡山第一ビル) (0249)38-6201 関連インダストリー営業所 221-0835 横浜市神奈川区鶴屋町二丁目 20 番地 3(第 5 安田ビル 4 階) (045)313-7211 中部インダストリー営業所 461-8530 名古屋市東区泉一丁目 23 番 30 号(ナショナルビル) (052)951-6305 インダストリー静岡営業所 420-0831 静 岡 市 水 落 町 1 番 1 号 ( ナ シ ョ ナ ル ビ ル ) (054)247-5151 中部ナショナル電子部品株式会社 450-0002 名 古 屋 市 中 村 区 名 駅 三 丁 目 1 6 番 (052)561-2571 中国インダストリー営業所 730-0042 広島市中区国泰寺町二丁目 3 番 23 号(広島ナショナルビル) (082)248-1951 九州インダストリー営業所 812-0016 福岡市博多区博多駅南一丁目 2 番 13 号(福岡パナソニックビル) (092)481-1131 東京カーエレクトロニクス営業所 105-8586 東京都港区芝大門一丁目 1 番 30 号(ナショナル 6 号館) (03)3438-5111 中部カーエレクトロニクス営業所 471-0025 愛 知 県 豊 田 市 西 町 四 丁 目 25 番 地 ( 中 根 ニ ッ セ イ ビ ル 6 階 ) (0565)35-1611 野 県 市 市 松 本 芳 淀 市 斉 川 区 二 塚 渚 丁 本 二 丁 目 1 三 丁 目 6 目 9 番 45 号 番 1 5 号 (076)223-1132 2 番 6 号 (06)6300-0591 6 号 マイコン関係のお問い合わせは、 ●マイクロコンピュータホームページ http://www.mec.panasonic.co.jp/sc/division/micom/ にて、マイクロコンピュータに関する情報を提供しております。 ●マイクロコンピュータマニュアルダウンロードサイト http://www.mec.panasonic.co.jp/sc/division/micom/manual_d/index.html にて、LSI 説明書、ツール取り扱い説明書マニュアルを、PDF 形式で掲載しております。 ●マイクロコンピュータ品種別問い合わせ先 http://www.mec.panasonic.co.jp/sc/division/micom/asked_mail/index.html にて、LSI 品種別問い合わせ用の電子メールアドレスをご案内しております。 ご使用マイクロコンピュータ品種に合わせてお問い合わせください。 ●マイクロコンピュータ開発ツール問い合わせ先 [email protected] ハード・ツール(ICE など) [email protected] ソフト・ツール(コンパイラ、アセンブラなど) [email protected] リアルタイム・OS [email protected] ミドルウェア ●よくあるご質問に対するお返事(FAQ) http://www.mec.panasonic.co.jp/sc/division/micom/qa/index.html ●マイクロコンピュータ全般に関する問い合わせ先 [email protected] 電子カタログを掲載しているホームページ http://www.mec.panasonic.co.jp 220101 Matsushita Electronics Corporation 2001
© Copyright 2024 Paperzz