ディジタルシステム設計と講義進度
ここで学ぶことは 1.Z80マイクロプロセッサの構成(2週) Z80の内部構成 信号の流れ 2.Z80の命令(3週) 転送 演算 入出力 ビット操作 その他 3.Z80マイクロコンピュータの構成(1週)バスライン ROM RAM I/O素子
4.マイクロコンピュータの周辺装置の知識(2週) 8255 8251 Z80PIO Z80CTC Z80SIO 5.マイクロコンピュータシステム設計上の知識(2週) R C L Tr OPアンプ TTLの動作 インターフェース技術 動作 を安定にさせる技術 実装技術 6.開発環境と開発事例(3週) ワンボードマイコン,計測制御システム,マイクロマウスロボット, サッカーロボットなどの設計事例
マイクロコンピュータを理解する技術
1 デジタル回路 2 アナログ回路 3 制御回路 4.プログラミング技術 5.実装技術 6.センサー技術 7.マイクロコンピュータのハード回路とプログラム命令主なマイクロコンピュータの誕生と進化
1 9 7 1 年 4 0 0 4 1 9 7 3 年 8 0 8 0 1 9 7 2 年 8 0 0 8 1 9 7 5 年 Z8 0 1 9 7 5 年 8 0 8 5 1 9 7 4 年 6 8 0 0 1 9 7 8 年 8 0 8 6 1 9 7 8 年 Z8 0 0 0 1 9 7 8 年 MC6 8 0 0 0 1 9 7 7 MC1 4 5 0 0B 1 9 7 2 年 3 0 0 0 モ ト ロ ー ラ ザ イ ロ グ イ ン テ ル モ ト ロ ー ラ イ ン テ ル 1 ビ ッ ト 4 ビ ッ ト 8 ビ ッ ト 1 6 ビ ッ ト イ ン テ ル モ ト ロ ー ラ ザ イ ロ グ ビ ッ ト ・ ス ラ イ ス最近の代表的なマイクロプロセッサ
・
・ Z80マイコングループ
ザイログZ80 東芝TMPZ84015BF
川崎KL5C8012 日立64180
・ H8マイコングループ
日立H8シリーズ
・ PICマイコングループ
Z80マイクロプロセッサのアーキテク
チャ
B C D E H L IX IY SP PC C E L IR バッファ ALU A F A' バッファ 内 部 バ ス デ ー タ バ ス ア ド レ ス バ ス コ ン ト ロ ー ル バ ス メモリ & 入 出力ポート レ ジ ス タ 指 定 デ コ ー ダ フ ラ グZ80のレジスタ構成
( は裏レジスタ) A A’ アキュームレータ 演算の中心となる. F F’ フラグレジスタ アキュームレータの状態を記録 B C D E H L B C D E H L 汎用レジスタ IX IY インデックスレジスタ SP スタックポインタ CALL文実行後の戻り先番地や汎用レジスタの一時待避先番地 を指す. PC プログラムカウンタ I 割り込み番地指定レジスタ(上位8ビット) 割り込み要求入出力デバイスが下位8ビットを発生する. R リフレッシュレジスタZ80の端子
A1 5 A1 4 A1 3 A1 2 A1 1 A1 0 A9 A7 A6 A5 A4 A3 A2 A1 A0 D7 D6 D5 D4 D3 D2 D1 D0 A8 WR RD M1 MR E Q IO R Q RF S H HAL T WA IT IN T NM I RES E T BU S R Q BU S A K φ +5 V GND アドレス バス データ バス システム制御 CPU制 御 CPUバ ス 制 御 Z80 CPU 負論理動作 正論理動作Z80CPUの端子の機能(1)
アドレスA0-A15 ; アドレスバス トライステート,アクティブ H メモリ内のデータや入出力デバイスのデータの送受のための アドレス指定を行う. データD7-D0 ;データバス トライステート,アクティブ H 8ビットの双方向性データバス. M1 ; マシンサイクル 出力 アクティブ L 現在のマシンサイクルが命令実行中のOPコードフェッチサイ クルであるときに出力.2バイトのOPコード実行中にはOPコー ドフェッチサイクル毎に出力. MERQ ; メモリ要求 トライステート出力 アクティブ L メモリ読み出し,メモリ書き込みの実効アドレスがアドレスバ スに乗っているときに出される. IORQ ; 入出力要求 トライステート出力 アクティブ L 入出力の読み出し書き込みのための実効入出力アドレスが アドレスバスの下位8ビット上に乗っているときに出される.Z80CPUの端子の機能(2)
RD ; メモリ読み出し トライステート出力 アクティブ L CPUがメモリ,あるいは入出力デバイスからデータを受け入 れる期間に出力. WR ; メモリ書き込み トライステート出力 アクティブ L CPUデータバスに指定したメモリあるいは入出力デバイスに ストアするべきデータが乗っているときに出される. RFSH ; レフレッシュ 出力 アクテイブ L ダイナミックメモリのためのリフレッシュアドレスがアドレスバ スに乗っているときに出される. HALT ; ホールド 出力 アクティブ L CPUがHALT命令を実行し,ノンマスカブルあるいはノンマス カブルな割り込み待ちとなったとき出される.ホールド時は NOPを実行することによりリフレッシュ信号を出し続ける.Z80CPUの端子の機能(3)
WAIT ; ウエイト 入力 アクティブ L この信号を用いて,メモリあるいは入出力デバイスがデータの送 出の準備が出来ていない旨をZ80CPUに知らせる.この信号が アクティブである限りCPUはウェイト状態を続ける. INT ; 割り込み要求 入力 アクティブ L 割り込み要求信号は入出力デバイスから発せられる.ソフト的 (プログラム)に割り込み許可フラグ(1FF)がセットしてあり, BUSRQ信号がノンアクティブならば割り込み要求は実行中の命 令が終わり次第受け付けられる. NMI ; ノンマスカブル割り込み 入力 下がりエッジ検知 INTより高位の優先順位を持っていて現在実行中の命令の最後 のTサイクルの立ち上がりまでに入力しているとその命令完了後 に受け付けられる.割り込みの許可フラグに関係ない.NMI入力 でCPUは自動的に0066H番地からスタートする.Z80CPUの端子の機能(4)
RESET ; 入力 アクティブ L RESET入力によりプログラムカウンタはゼロとなりCPUは初期化 される.このとき次の状態になる. 1)割り込み許可フラグがリセットされる.2)レジスタI=00H 3)レジスタR=00H 4)割り込みはモード0にセットされる. BUSRQ ; バス要求 入力 アクテイブ L バス要求信号によりCPUのアドレスバス,データバス,及びトライ ステート出力の制御線は他のデバイスが使用できるように高イン ピーダンスとなる. BUSAK ; バスアクノレッジ 出力 アクテイブ L CPUのアドレスバスデータバス及びトライステート制御バスが高 インピーダンスとなり外部デバイスが使用できるようになった時点 で出力 Φ ; 単相のTTLレベルのクロック信号CPU基本タイミング例
φ
サ イ ク ル 命 令 MI M2 M3 (OPコ ー ド ・ フ ェ ッ チ) (メ モ リ 読 み 出 し) (メ モ リ 書 き 込 み) T1 T2 T3 T4 T1 T2 T3 T1 T2 T3 マ シ ン ・ サ イ ク ル CPU基 本 タ イ ミ ン グ 例 T サ イ ク ル命令OPコードフェッチサイクル
M1サ イ ク ル T1 T2 T3 T4 T1 プ ロ グ ラ ム ・ カ ウ ン タ リ フ レ ッ シ ュ ・ ア ド レ ス 入 力 RFSH DB0∼DB7 M1 WAIT RD MREQ A0∼A15 φ 命 令OPコ ー ド ・ フ ェ ッ チ(M1サ イ ク ル)待ち時間を含む命令OPコードフェッチ
入 力 φ A0∼A15 MREQ RD DB0∼DB M1 WAIT RFSH T1 T2 TW TW T3 T4 M1サ イ ク ル プ ロ グ ラ ム ・ カ ウ ン タ リ フ レ ッ シ ュ ・ ア ド レ ス 待 ち 状 態 を 含 む 命 令OPコ ー ド ・ フ ェ ッ チメモリ読み出し書き込みサイクル
T1 T2 T3 T1 T2 T3 メ モ リ 読 み 出 し サ イ ク ル メ モ リ 書 き 込 み サ イ ク ル メ モ リ ・ ア ド レ ス メ モ リ ・ ア ド レ ス 入 力 デ ー タ 出 力 図4-3 メ モ リ 読 み 出 し 、 書 き 込 み サ イ ク ル φ A0∼A15 MREQ RD WR (D0∼D7) WAIT待ち時間を含むメモリ読み出し書き込みサイクル
T1 T2 φ A0∼A15 MREQ WR WAIT TW TW T3 T1 メ モ リ ・ ア ド レ ス 入 力 デ ー タ 出 力 (D0∼D7) 図4-3A 待 ち 状 態 を 含 む メ モ リ 読 み 出 し 、 書 き 込 み サ イ ク ル 読 み 出 し サ イ ク ル 書 き 込 み サ イ ク ル (D0∼D7) RD入力・出力サイクル
T1 T2 TW T3 T1 入力 出力 φ A0∼A7 IORQ RD デ ー タ ・ バ ス WAIT WR 読み 出し サイク ル 書き込み サ イクル 図4-4 入 力 、 出 力 サ イ ク ル デ ー タ ・ バ ス待ち状態を含む入力・出力サイクル
T1 T2 TW TW T3 ポ ー ト ・ ア ド レ ス 入 力 出力 φ A0∼A7 IORQ デ ー タ ・ バ ス RD WAIT 読み出 し サイクル 書き 込み サイ クル 図4-4A 待 ち 状 態 を 含 む 入 力 、 出 力 サ イ ク ル デ ー タ ・ バ ス WRバス要求アクノレッジサイクル
最終Tス テ ー ト Tx Tx Tx T1 サンプル フ ロ ー ト 状 態 サンプル 図4-5 バ ス 要 求/ア ク ノ リ ッ ジ ・ サ イ ク ル BUSRQ φ BUSAK A0∼A15 MREQ、RD WR、IORQ RFSH 各Mサイクル バス利用可の状態 D0∼D7割り込み要求/アクノレッジサイクル
プ ログ ラム・カウンタ 入 力 リ フレッシュ 図4-6 割 り 込 み 要 求/ア ク ノ リ ッ ジ ・ サ イ ク ル 最 終Tサ イ ク ル 命令 の最終Mサイクル M1 T1 T2 TW* TW* T3 φ A0∼A15 M1 MREQ IORQ デ ー タ ・ バ ス WAIT RD INTノンマスカブル割り込み要求動作
プ ロ グ ラ ム ・ カ ウ ン タ リ フ レ ッ シ ュ 図4-7 ノ ン ・ マ ス カ ブ ル 割 り 込 み 、 要 求 動 作 最 終Mサ イ ク ル 最 終Tタ イ ム T1 T2 T3 T4 T1 φ NM1 A0∼A15 M1 MREQ RD RFSHホールド状態解除
φ HALT INT or NM1 M1 M1 M1 T4 T1 T2 T3 T4 T1 T2 図4-8 ホ ー ル ト 状 態 解 除 ホ ー ル ト 命 令 は こ の メ モ リ ・ サ イ ク ル 期 間 で 受 け 付 け ら れ る 。ウエイトステートを加えた要求アクノレッジサイクル
通 常 の ア ク ノ リ ッ ジ ・ タ イ ム 1ウ ェ イ ト ・ ス テ ー ト の 入 っ た ア ク ノ リ ッ ジ ・ タ イ ム T1 T2 TW TW TW T3 WAIT デ ー タ ・ バ ス IORQ IORQ M1 自 動 ウ ェ イ ト 信 号 ユ ー ザ ウ ェ イ ト 命 令 の 最 終M サ イ ク ル の 最 後 の Tス テ ー ト 図4-6B ウ ェ イ ト ・ ス テ ー ト を1つ 加 え た 要 求/ア ク ノ リ ッ ジ ・ サ イ ク ルZ80の命令 (転送命令の1例)
ニーモニック LD dd,nn シンボリックオペレーション dd <= nn OPコード 00 dd0 001 <−n ー> <− n ー> dd は BC 00 DE 01 HL 10 SP 11 HEXコード(基本) 01+ フラグ変化 C Z P/V S N H ・ ・ ・ ・ ・ ・ 変化なし バイト数 3 Mサイクル数 1 Tステート数 10Z80マイクロプロッセッサのアドレス方式
1.メモリ・レジスタ直接アドレス指定
memory register direct addressing
2.レジスタ間接アドレス指定
register indirect addressing
3.直接数値指定
immediate addressing
4.インデックスアドレス指定
index addressing
5.相対アドレス指定
relative addressing
6.ビット指定
bit addressing
教科書版
Z80のアドレッシング・モード
1. イミディエット・アドレッシング
2. 拡張イミディエット・アドレッシング
3. ゼロ・ページ修飾アドレッシング
4. 相対アドレッシング
5. 拡張アドレッシング
6. インデックスド・アドレッシング
7. レジスタ・アドレッシング
8. インブライト・アドレッシング
9. レジスタ間接アドレッシング
10. ビット・アドレッシング
1. イミディエット・アドレッシング
OPコードに続く1バイトを実効オペランドとする.
OPコード オペランド
例1 アキュームレータに定数をロードする.
2. 拡張イミディエット・アドレッシング
イミディエット・アドレッシングを拡張したものでオペランド
が2バイトになっている.
OPコード
オペランド
オペランド
(下位データ)
(上位データ)
例 16ビットデータをHLレジスタ対にロードする.
LD
HL , nn
HL <= nn
LD
HL ,1234H
3. ゼロ・ページ修飾アドレッシング
メモリ0ページの8カ所を1バイトで指定する特別なコール命令 (リスタート命令) OPコード 実効アドレス 1 1 b5 b4 b3 1 1 1 5 4 3 RST 00H 1 1 0 0 0 1 1 1 0000Hへジャンプ RST 08H 1 1 0 0 1 1 1 1 0018Hへジャンプ RST 10H 1 1 0 1 0 1 1 1 0010Hへジャンプ RST 38H 1 1 1 1 1 1 1 1 0038Hへジャンプ4. 相対アドレッシング
OPコードに続く1バイトにより,ジャンプ命令のある場所からのジャ ンプ先を指定する. OPコード オペランド(2の補数) ジャンプ先:OPコードのアドレス+2+(オペランド) 符号付き2の補数の範囲は−128から+127であるので +129から−126の範囲へのジャンプ指定となる. 例 JR e PC <= PC+e JR命令のある番地からeだけ離れた番地へ無条件でジャンプする5. 拡張アドレッシング
命令に2バイトのアドレスデータを含む. メモリのある番地から他の番地へジャンプしたり,ある位置での データの出し入れに使う. OPコード 下位アドレスまたは下位オペランド 上位アドレスまたは上位オペランド 例 LD A , (nn) A <= (nn) LD A ,(1234H) 1234H番地の内容をAレジスタに転送する6. インデックスド・アドレッシング
OPコードのあとにメモリ・アドレスのポインタであるインデックスレジ スタの内容に加えるディスプレイスメントを指定するデータバイトが 置かれる. この操作でインデックスレジスタの内容は変わらない. OPコード OPコード d(ディスプレイスメント) (2バイトコード) (符号付き2の補数) 例 LD A ,(IX+d) A <= (IX+d) インデックスレジスタで指定するアドレスにdを加えたアドレス の内容をAレジスタに転送する.7. レジスタ・アドレッシング
OPコード内にレジスタ指定ビットがある. 1バイト命令である.
OPコード
8. インブライト・アドレッシング
OPコード自体にレジスタ指定を含んでいて,1つまたは2つの レジスタが自動的に指定される. 演算命令ではつねにアキュームレータが結果をセットするレジスタ となる. OPコード 例1 演算命令 ADD A , B A <= A+B 例2 交換命令 EX DE ,HL DE Ù HL9. レジスタ間接アドレッシング
メモリ内の位置指定のポインタとして16ビットのレジスタペアが使 用される. OPコード (1バイトまたは2バイト) 例 LD A , (HL) A <= (HL) HLで示す番地の内容をAレジスタに転送する.10. ビット・アドレッシング
Z80にはビットセット リセット テスト命令がある.これらの命令 は,どのメモリ位置 CPUレジスタに対しても有効でレジスタ,レ ジスタ間接及びインデックスドのいずれのアドレッシングモード でも操作できる. 例 BIT 0,A A の0ビット目のテスト,結果はFレジスタに RES 1,(HL) HLで示す番地の内容の1ビット目のを0にする. SET 2,(IX+d) インデックスレジスタで示すアドレス+d番地の内 容の2ビット目を1にする.メモリ・レジスタ直接アドレス指定
メモリの番地やレジスタ名を直接命令の中で指定する 1. ADD A , B A <= A + B
Z80マイクロプロセッサの命令体系
(1)データ転送命令( data transfer instruction ) (2)算術論理演算命令( operation instruction ) (3)分岐命令( branch instruction )
(4)サブルーチン関連命令( subroutine call / returninstruction ) (5)入出力命令( input / output instruction )
(1)データ転送命令
ニーモニックコード 機能 LD r,r r <= r LD r,n r <= n LD rp ,nn rp <= nn LD r ,(nn) r <= (nn) LD (nn),r (nn) <= r LD (rp),A (rp) <= A LD A,(rp) A <= (rp) 但し r,r ;A,B,C,D,E,H,L n, nn ; 8ビット 16ビットデータ rp;ペアレジスタ(BC,DE,HL) ( );( )内の番地の内容 PUSH qq (SPー1) <= qqH (SPー2)<=qqL POP qq qqL <= (SP) qqH <= (SP+1)(2)算術論理演算命令
演算命令
ニーモニック 機能
ADD 加算命令 例 ADD A,n A <= A+n
ADC キャリを含む加算命令 例 ADC A,n A <= A +n + CY
SUB 減算命令 例 SUB s A <= A - s SBC キャリを含む減算命令 例 SBC s A <= A – s - CY AND 論理積 例 AND s A <= A * s XOR 排他的論理和 例 XOR s A <= A s OR 論理和 例 OR s A <= A + s CP 比較 例 CP s A - s (内容は不変) INC +1 例 INC r r <= r+1 DEC −1 例 DEC r r <= r – 1
(3)分岐命令
ニーモニック 機能 1. JP nn PC <= nn 2. JP cc,nn if cc = true , PC <= nn 条件符号cc フラグ 条件 NZ Z= 0 演算結果がゼロでない Z Z= 1 演算結果がゼロである NC CY= 0 MSBから桁上げがない C CY= 1 MSBから桁上げがある PO P= 0 8ビット中 1 の個数が偶数 PE P= 1 8ビット中 1 の個数が奇数 P S= 0 MSBが 0 M S= 1 MSBが 1(4)サブルーチン関連命令
ニーモニック 機能 CALL nn スタックメモリ<= PC, PC<=nn (SP-1)<=PCH ,(SP-2)<=PCL ,PC<=nn RET PC <= スタックメモリ PCL<=(SP),PCH<=(SP+1),SP<=SP+1 CALL cc,nn ccの条件が合えばCALL文を実行 RET cc ccの条件が合えばRET文を実行 NZ Z= 0 演算結果がゼロでない Z Z= 1 演算結果がゼロである NC CY= 0 MSBから桁上げがない C CY= 1 MSBから桁上げがある PO P= 0 8ビット中 1 の個数が偶数 PE P= 1 8ビット中 1 の個数が奇数 P S= 0 MSBが 0 M S= 1 MSBが 1(5)入出力命令
ニーモニック 機能 IN A , (n) A <= ポート番号 IN r , ( C ) r <= ( C ) レジスタCで示すポート番号の内容を r レジスタに入力 OUT (n),A ポート番号 <= AOUT (C),A レジスタCで示すポート番号<=A
他に
(6)CPU制御命令
ニーモニック 機能 NOP 何もしない HALT 停止状態になる DI 割り込み受付禁止 EI 割り込み受付許可 IM0 割り込みモード0 8080Aモード IM1 割り込みモード1 38Hへのコール命令 IM2 割り込みモード2 レジスタIと割り込みデバイスからの8ビット デー タを用いた間接コール命令ローティとシフト命令
CY b 7 b 0 b 7 b 0 b 7 b 0 b 7 b 0 CY CY CY 左 ロ ー テ ィ ト サ ー キ ュ ラ 左 ロ ー テ ィ ト 右 ロ ー テ ィ ト 右 ロ ー テ ィ ト サ ー キ ュ ラ RLC RRC RL RR CY b 7 b 0 0 b 7 b 0 b 7 b 0 0 CY CY 算 術 的 左 シ フ ト 算 術 的 右 シ フ ト 論 理 的 右 シ フ ト SLA SRA SRL B7 B4 B3 B0 B3 B0 Acc (HL) 右 ロ ー テ ィ ト デ ジ ッ ト RRD B7 B4 B3 B0 B3 B0 Acc (HL) 左 ロ ー テ ィ ト デ ジ ッ ト RLDブロックサーチ命令
CPI ; Aー(HL) ,HL <= HL+1 ,BC <= BC++1 (HL)の内容で指定されるメモリの内容とAとの内容を比較する. CPIR ; Aー(HL) ,HL <= HL+1 ,BC <= BC++1 (HL)の内容で指定されるメモリの内容とAとの内容を比較する BCがゼロか,比較した結果が等しくなるまで繰り返す. CPD ; A=(HL) , HL <= HL-1 , BC <= BC-1 (HL)の内容で指定されるメモリの内容とAとの内容を比較する CPDR ; A=(HL) , HL <= HL-1 , BC <= BC-1 (HL)の内容で指定されるメモリの内容とAとの内容を比較する BCがゼロか,比較した結果が等しくなるまで繰り返す.交換
EXX BC Ù BC’ DE Ù DE’ HLÙ HL’ レジスタペアの内容をそれぞれ裏レジスタの内容と交換する. EX DE , HL DE Ù HL EX AF , AF’ AF Ù AF’ EX (SP) , HL L Ù (SP) H Ù (SP+1) EX (SP) , IX IXL Ù (SP) IXH Ù (SP+1) EX (SP) ,IY IYL Ù (SP) IYH Ù (SP+1)リスタート命令
RST 0 0000Hへジャンプ C7H RST 8 0008Hへジャンプ CFH RST 16 0010Hへジャンプ D7H RST 24 0018Hへジャンプ DFH RST 32 0020Hへジャンプ E7h RST 40 0028Hへジャンプ EFH RST 48 0030Hへジャンプ F7H RST 56 0038Hへジャンプ FFHその他の操作命令
DAA 2進化10進法による加減算の際にAの内容を補正する CPL Aの内容について1の補数をとる.(反転させる) NEG A<=0−A Aの内容について2の補数をとる. CCF キャリーフラグの内容の1の補数をとる SCF CY <= 1 キャリーフラグをセットする.ブロック転送命令
LDI (DE) <= (HL) , DE <= DE+1 , HL <= HL+1 , BC <= BC-1
(HL)の内容を(DE)へ転送する.
LDIR (DE) <= (HL) , DE <= DE+1 , HL <= HL+1 , BC <= BC-1
(HL)の内容を(DE)へ転送する.この操作をBCが0になるまで繰り返す.
LDD (DE) <= (HL) , DE <= DEー1 , HL <= HLー1 , BC <= BCー1
(HL)の内容を(DE)へ転送する
LDDR (DE) <= (HL) , DE <= DE−1 , HL <= HLー1 , BC <= BCー1
8ビット算術論理演算命令
8 ビ ッ ト 算 術 、 論 理 演 算 ソ ー ス A B C D E H L ( H L ) ( I X+ d )( I Y+ d ) n レ ジ ス タ ・ ア ド レ シ ン グ レ ジ ス タ 間 接 イ ン デ ッ ク ス ド イ ミ デ ィ エ ッ ト A D D A D D w C A R R Y A D C S U B T R A C T S U B S U B w C A R R Y S B C A N D X O R O R C O M P A R E C P I N C R E M E N T I N C D E C R E M E N T D E C 8 7 8 0 8 1 8 2 8 3 8 4 8 5 8 6 8 F 8 8 8 9 8 A 8 B 8 C 8 D 8 E 9 7 9 0 9 1 9 2 9 3 9 4 9 5 9 6 9 F 9 8 9 9 9 A 9 B 9 C 9 D 9 E A 7 A 0 A 1 A 2 A 3 A 4 A 5 A 6 A F A 8 A 9 A A A B A C A D A E B 7 B 0 B 1 B 2 B 3 B 4 B 5 B 6 B F B 8 B 9 B A B B B C B D B E 3 C 0 4 0 C 1 4 1 C 2 4 2 C 3 4 3 D 0 5 0 D 1 5 1 D 2 5 2 D 3 5 D D F D d n 8 6 C E 8 E 9 6 9 E A 6 A E B 6 B E 3 4 3 5 F E F 6 E E E 6 D E D 6 D D D D D D D D D D D D D D D D D D F D F D F D F D F D F D F D F D F D d d d d d d d d d d d d d d d d d d d n n n n n n n 0 6 3 5 3 4 B E B 6 A E A 6 9 E 9 6 8 E 8 68ビット転送命令
I R A B C D E H L ( H L ) ( B C ) ( D E ) ( I X+ d )( I Y+ d ) ( n n ) n A B C D E H L ( H L ) ( B C ) ( D E ) ( I X + d ) ( I Y + d ) ( n n ) I R イ ン プ ラ イ ド レ ジ ス タ レ ジ ス タ 間 接 イ ン デ ッ 拡 張 ア ド レ シ ン グ イ ミ デ ィ エ ッ ト レ ジ ス タ レ ジ ス タ 間 接 イ ン デ ッ 拡 張 ア ド レ シ ン グ イ ン プ ラ イ ド E D 5 7 E D 5 F 7 F 7 8 7 9 7 A 7 B 7 C 7 D 7 E 0 A 1 A D D 7 E d F D 7 E d 3 A n n 3 E n 4 7 4 0 4 1 4 2 4 3 4 4 4 5 4 6 4 6 D D d F D 4 6d 0 6n 4 F 4 8 4 9 4 A 4 B 4 C 4 D 4 E 4 E D D d F D 4 E d n n n n n n D D D D D D D D d d d d F D F D F D F D d d d d 5 7 5 0 5 1 5 2 5 3 5 4 5 5 5 6 5 6 5 6 0 E 1 6 1 E 2 6 2 E 3 6 5 E 6 6 6 E 5 E 6 6 6 E 5 F 5 8 5 9 5 A 5 B 5 C 5 D 5 E 6 7 6 0 6 1 6 2 6 3 6 4 6 5 6 6 6 F 6 8 6 9 6 A 6 B 6 C 6 D 6 E 7 7 7 0 7 1 7 2 7 3 7 4 7 5 0 2 1 2 D D d F D d D D D D D D D D D D D D d d d d d d F D F D F D F D F D F D d d d d d d 7 7 7 0 7 1 7 2 7 3 7 4 7 5 7 7 7 0 7 1 7 2 7 3 7 4 7 5 E D 4 7 E D 4 F 3 2 n n F D D D d dn 3 6 3 6 n 8 ビ ッ ト ロ ー ド L D ソ ー ス 注 3 6 注 3 1 注 3 2 注 3 3 注 3 4 注 3 5 デ ィ ス テ ィ ネ ー シ ョ ン ク ス ド ク ス ド16ビット転送命令
レ ジ ス タ 1 6 ビ ッ ト ロ ー ド L D デ ィ ス テ ィ ネ ー シ ョ ン A F B C D E H L S P I X I Y n n ( n n ) ( S P ) A F B C D E H L S P I X I Y ( n n ) ( S P ) ソ ー ス 拡 張 イ ミ Σィエット 拡 張 ア ド レ シ ン グ レ ジ ス タ 間 接 注 3 7 P U S H 命 令 P O P 命 令 拡 張 ア ド レ シ ン グ レ ジ ス タ 間 接 レ ジ ス タ F 1 C 1 D 1 E 1 D D F D E 1 E 1 0 1 n n E D 4 B 1 1 2 1 5 B 2 A 3 1 7 B D D F 9 4 3 5 3 2 2 7 3 F 5 C 5 D 5 E 5 E 5 n n n n n n n n D D F 9 F D F 9 n n E D n n E D n n E D n n n 2 A n 2 1 F D n n F D 2 A n n 2 1 D D n n nn nn nn D D F D n n n n F D 2 2 2 2 E D E D E D → ↑ ( 注 ) P U S H お よ び P O P 命 令 の 全 実 行 が 終 わ っ た あ と に S P が 修 正 さ れ る 。 ポ ッ プ 命 令 は プ ッ シ ュ 命 令 と ち ょ う ど 逆 の 操 作 に な る 。16ビット算術演算命令
B C D E H L S P I X I Y H L I X I Y H L H L A D D A D D W I T H C A R R Y A N D S E T F L A G S A D C S U B W I T H C A R R Y A N D S E T F L A G S S B C I N C R E M E N T I N C D E C R E M E N T D E C 1 6 ビ ッ ト 算 術 演 算 ソ ー ス デ ィ ス テ ィ ネ ー シ ョ ン 0 9 1 9 2 9 3 9 D D D D D D D D 0 9 1 9 3 9 2 9 0 9 1 9 3 9 2 9 F D F D F D F D E D E D E D E D E D E D E D E D 4 A 5 A 6 A 7 A 4 2 5 2 6 2 7 2 2 3 2 B D D D D F D F D 2 3 2 B 0 3 1 3 2 3 3 3 0 B 1 B 2 B 3 Bジャンプコールリターング命令
J U M P J P J U M P J P J U M P J P J U M P J P J U M P J R C A L L D E C R E M E N T B , J U M P I F N O N Z E R O D J N Z R E T U R N R E T R E T U R N F R O M I N T R E T I R E T U R N F R O M N O N M A S K A B L E I N T R E T N 無 条 件 キ ャ リ ノ ン ・ ゼ ロ パ リ テ ィ 偶 数 奇 数 負 正 カ ウ ン ト パ リ テ ィ ゼ ロ キ ャ リ ノ ン ・ 拡 張 イ ミ デ ィ エ ッ ト 相 対 レ ジ ス タ 間 接 間 接 間 接 間 接 レ ジ ス タ レ ジ ス タ レ ジ ス タ 相 対 デ ィ エ ッ ト 拡 張 イ ミ n n P C + e ( H L ) ( I X ) ( I Y ) n n ( S P ) ( S P + 1 ) ( S P + 1 ) ( S P ) ( S P + 1 ) ( S P ) P C + e n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n e - 2 e - 2 e - 2 e - 2 e - 2 C 3 D A D 2 C A C 2 E A E 2 F A F 2 E 9 D D E 9 F D E 9 C 9 E D 4 D E D 4 5 D 8 D 0 C 8 C 0 E 8 E 0 F 8 F 0 1 8 3 8 3 0 2 8 2 0 C D D C D 4 C C C 4 E C E 4 F C F 4 1 0 e - 2 ジ ャ ン プ , コ ー ル , リ タ ー ン グ ル ー プ 条 件 あ る フ ラ グ は 1 つ 以 上 の 目 的 で 用 い ら れ る 。 詳 細 は 第 6 章 参 照 。CPU制御命令
N O P H A L T D I S A B L E I N T ( D I ) E N A B L E I N T ( E I ) S E T I N T M O D E 0 I M 0 S E T I N T M O D E 1 I M 1 I M 2 S E T I N T M O D E 2 0 0 7 6 F 3 F B E D 4 6 E D 5 6 E D 5 E C P U 制 御 命 令 8 0 8 0 A モ ー ド 3 8 H 番 地 へ の コ ー ル 命 令 レ ジ ス タ I と 割 り 込 み デ バ イ ス か ら の 8 ビ ッ ト デ ー タ を 用 い た 間 接 コ ー ル 命 令その他の命令
D e c i m a l A d j u s t A c c , D A A C o m p l e m e n t A c c , C P L N e g a t e A c c , N E G ( 2 c o m p l e m e n t ) C o m p l e m e n t C a r r y F l a g , C C F S e t C a r r y F l a g , S C F 2 7 2 F E D 4 4 3 F 3 7 そ の 他 の 操 作フラグの変化
I N I R ; I N D R ; O T I R ; O T D R 命 令 C Z P S N H V / 0 1 X P V ● 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● V V V V P V V P P P P 1 1 1 1 1 1 1 1 1 1 X X 1 X X X X X X X 1 X X X X 0 X X X X 0 IFF 備 考 A D D A , s ; A D C A , s S U B s ; S B C A , s , C P s N E G A N D s O R s ; X O R s I N C D E C s A D D d d , s s A D C H L , s s R L A ; R L C A ; R R A ; R R C A S B C H L , s s R L s ; R L C s ; R R s ; R R C s S L A s ; S R A s ; S R L s R L D , R R D D A A C P L S C F C C F I N r , ( C ) I N I ; I N D ; O U T I ; O U T D L D I , L D D L D I R , L D D R C P I , C P I R , C P D , C P D R L D A , I ; L D A , R B I T b , s 8 ビ ッ ト 加 算 、 キ ャ リ を 含 む 加 算 8 ビ ッ 減 算 、 キ ャ リ を 含 む 加 算 、 比 較 符 号 反 転 ( ニ ゲ イ ト ) 論 理 演 算 8 ビ ッ ト 、 イ ン ク リ メ ン ト 8 ビ ッ ト 、 デ ク リ メ ン ト 1 6 ビ ッ ト 加 算 1 6 ビ ッ ト キ ャ リ を 含 む 加 算 1 6 ビ ッ ト キ ャ リ を 含 む 減 算 ロ ー テ イ ト ・ ア キ ュ ウ ム レ ー タ ロ ー テ イ ト ・ シ フ ト s ロ ー テ イ ト ・ デ ジ ッ ト 左 、 右 デ ジ タ ル ・ ア ジ ャ ス ト ・ ア キ ュ ム レ ー タ ア キ ュ ム レ ー タ 補 数 変 数 セ ッ ト ・ キ ャ リ キ ャ リ 補 数 変 数 レ ジ ス タ 間 接 入 力 ブ ロ ッ ク 入 出 力 B ≠ 0 な ら ば Z = 0 、 そ の 他 は Z = 1 ブ ロ ッ ク 転 送 B ≠ 0 な ら ば P / V = 0 、 そ の 他 は P / V = 0 ブ ロ ッ ク ・ サ ー チ A = ( H L ) な ら ば Z = 1 、 そ の 他 は Z = 0 B C ≠ 0 な ら ば P / V = 1 、 そ の 他 は P / V = 0 I F F の 内 容 が P / V に コ ピ ー さ れ る s の ビ ッ ト b の 内 容 が Z に コ ピ ー さ れ る 記 号 の 説 明 記 号 の 説 明 C ; キ ャ リ / リ ン ク ・ フ ラ グ 結 果 の M S B か ら の キ ャ リ が あ れ ば 、 C = 1 。 Z ; ゼ ロ ・ フ ラ グ 零 な ら ば 、 Z = 1 。 S ; サ イ ン ・ フ ラ グ 結 果 の M S B が 1 な ら ば 、 s = 1 。 P / V ; パ リ テ ィ と オ ー バ フ ロ ー 兼 用 フ ラ グ 結 果 が 奇 数 、 ま た は オ ー バ フ ロ ー な ら ば 、 P / V = 1 。 結 果 が 偶 数 な ら ば 、 P / V = 0 。 H ; ハ ー フ ・ キ ャ リ 結 果 に キ ャ リ 、 ボ ロ ー が あ れ ば 、 H = 1 。 N ; 加 算 / 減 算 フ ラ グ さ き の 演 算 が 減 算 な ら ば 、 N = 1 ; 操 作 の 結 果 、 変 化 す る 。 ● ; 操 作 の 結 果 、 変 化 し な い 。 0 ; 操 作 に よ り 、 リ セ ッ ト さ れ る 。 X ; 無 視 し て 良 い 。 V ; オ ー バ ・ フ ラ グ と し て 扱 わ れ る 。 P ; パ リ テ ィ ・ フ ラ グ と し て 扱 わ れ る 。 s ; 8 ビ ッ ト ・ ロ ケ ー シ ョ ン 。 R ; リ フ レ ッ シ ュ ・ カ ウ ン タ 。 I ; I レ ジ ス タ ( 割 り 込 み ベ ク ト ル の 上 位 バ イ ト 用 ) 。 r ; C P U レ ジ ス タ A , B , C , D , E , H , L 。 s s ; 1 6 ビ ッ ト ・ ロ ケ ー シ ョ ン 。 n ; 8 ビ ッ ト 値 ( 0 ∼ 2 5 5 ) 。 n n ; 1 6 ビ ッ ト 値 ( 0 ∼ 6 5 5 3 5 ) 。Z80マイクロプロッセッサのフラグレジスタ
S Z X H X P/V N CY MSB LSB フラグ フラグが 1 にセットされる条件 S 演算の結果、MSB=1のとき Z 演算の結果、すべてのビットが 0 のとき X 未使用 H 演算の結果、下位4桁目からの桁上げが生じたとき X 未使用 P/V 演算の結果、 1 の個数が偶数のとき 算術演算の結果、扱える数値の範囲を超えたとき N 加減算フラグ ADD命令で 0 SUB命令で 1 にセット CY 演算の結果、MSBからの桁上がりが生じたとき入力命令
入 力 命 令 群 ソ ー ス 入 力 ポ ー ト デ ィ ス テ ィ ネ ー シ ョ ン 入 力 I N P U T I N ブ ロ ッ ク 入 力 コ マ ン ド I N I _ I N P U T & I n c H L , D e c B I N I R _ I N P , I n c H L , D e c B , R E P E A T I F B ≠ 0 I N D _ I N P U T ρ D e c H L , D e c B I N D R _ I N P U T , D e c H L , D e c B , R E P E A T I F B ≠ 0 レ ジ ス タ ・ ア ド レ シ ン グ レ ジ ス タ 間 接 イ ミ デ ィ エ ッ ト レ ジ ス タ 間 接 A ( n )( C ) B C D E H L ( H L ) D B n E D E D E D E D E D E D E D E D E D E D E D 7 8 4 0 4 8 5 0 5 8 6 0 6 8 A 2 B 2 A A B A出力命令
レ ジ ス タ レ ジ ス タ 間 接 イ ミ デ ィ エ ッ ト レ ジ ス タ 間 接 レ ジ ス タ 間 接 レ ジ ス タ 間 接 レ ジ ス タ 間 接 レ ジ ス タ 間 接 A B C D E H L ( H L ) ( n ) ( C ) ( C ) ( C ) ( C ) ( C ) D 3 n E D E D E D E D E D E D E D E D 7 9 4 1 4 9 5 1 5 9 6 1 6 9 E D E D E D A 3 B 3 A B B B O U T O U T I _ O U T P U T I n c H L , D e c b O T I R _ O U T P U T,I n c H L , D e c B , R E P E A T I F B ≠ 0 O U T D _O U T P U T D e c H L & B O T D R _ O U T P U T , D e c H L & B , R E P E A T I F B ≠ 0 出 力 ポ ー ト デ ィ ス テ ィ ネ ー シ ョ ン ブ ロ ッ ク 出 力 コ マ ン ド ソ ー ス 出 力 命 令 群ビット操作命令
レ ジ ス タ ・ ア ド レ シ ン グ レ ジ ス タ 間 接 イ ン デ ッ ク ス ド ビ ッ ト T E S T B I T R E S E T B I T R E S S E T B I T S E T A B C D E H L ( H L ) ( IX+ d )( I Y+d ) 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 CB C B C B C B C B C B C B C B CB CB CB C B C B C B C B C B C B CB CB C B C B C B C B C B C B CB C B CB C B C B CB C B C B C B C B C B C B CB C B C B CB C B C B C B C B C B C B CB C B C B CB C B C B C B C B C B C B CB C B C B CB C B C B C B C B CB C B C B CB C B CB C B C B CB C B CB C B C B C B C B CB C B C B C B C B C B C B C B C B CB CB C B CB C B C B C B C B CB C B C B CB C B C B C B C B C B C B CB C B CB CB C B C B C B C B C B C B CB C B C B CB C B C B C B C B CB C B C B C B CB CB C B C B C B C B C B C B CB C B CB CB C B C B C B C B C B C B CB C B C B CB C B C B C B C B C B C B C B C B C B CB C B C B C B C B C B C B CB C B CB CB C B C B C B C B C B C B CB C B CB CB C B C B C B C B C B C B CB C B C B CB C B C B C B C B C B C B CB C B CB CB C B C B C B C B C B C B CB C B C B CB C B C B C B C B C B C B CB C B C B CB C B C B C B C B C B C B CB C B CB CB C B C B C B C B C B C B CB CB CB 40 4 1 4 2 4 3 4 4 45 46 4 7 4 8 49 4A 4 B 4 C 4 D 4 E 4F DD F D d F D F D F D F D F D F D F D F D F D F D F D F D F D F D F D F D F D FD F D F D F D F D F D DD DD DD DD DD DD DD D D DD D D D D DD DD DD DD DD D D DD DD DD D D D D DD d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d 4 6 4 6 4E 4 E 5 0 5 1 57 5 2 53 5 4 5 5 5 6 5F 5 8 59 5 A 5 B 5 C 5D 5E 67 6 0 6 1 6 2 6 3 6 4 6 5 66 6F 6 8 6 9 6A 6B 6 C 6D 6E 77 70 71 7 2 73 7 4 7 5 76 7F 7 8 7 9 7 A 7B 7 C 7 D 7 E 87 8 0 8 1 8 2 8 3 8 4 8 5 86 8 F 8 8 8 9 8 A 8 B 8 C 8 D 8 E 97 90 9 1 9 2 93 94 9 5 9 6 9F 9 8 9 9 9 A 9 B 9 C 9D 9 E A7 A O A 1 A 2 A 3 A 4 A 5 A 6 AF A8 A9 A A A B A C AD A E B 7 B0 B 1 B2 B3 B 4 B 5 B6 BF B 8 B 9 B A BB B C B D B E C 7 C 0 C 1 C 2 C 3 C 4 C 5 C6 CF C8 C 9 C A CB C C CD C E D7 D0 D 1 D2 D 3 D 4 D 5 D6 DF D 8 D 9 DA D B D C D D D E E7 E0 E 1 E 2 E 3 E 4 E5 E6 EF E 8 E 9 EA E B E C E D E E F7 F 0 F 1 F2 F 3 F4 F5 F 6 FF F 8 F 9 FA F B FC F D F E 56 5 6 5E 5 E 66 6 6 6E 6 E 76 7 6 7E 7 E 8 6 8 6 8E 8 E 9 6 9 6 9 E 9 E A6 A 6 AE A E B6 B 6 BE BE C6 C 6 CE CE D 6 D 6 D E DE E 6 E6 E E EE F 6 F 6 FE F E ビ ッ ト 操 作 グ ル ー プブロック転送命令
レ ジ ス タ 間 接 デ ィ ス テ ィ ネ ー シ ョ ン ( H L ) ( D E ) E D A 0 B 0 A 8 B 8 H L は ソ ー ス の ポ イ ン タ 。 D E は デ ィ ス テ ィ ネ ー シ ョ ン の ポ イ ン タ 。 B C は バ イ ト カ ウ ン タ 。 L D I _ L o a d ( D E ) ← ( H L ) I n c H L & D E , D e c B C L D I R _ L o a d ( D E ) ← ( H L ) I n c H L & D E , D e c B C , R e p e a t u n t i l B C = 0 L D D _ L o a d ( D E ) ← ( H L ) D e c H L & D E , D e c B C L D D R _ L o a d ( D E ) ← ( H L ) D e c H L & D E , D e c B C , R e p e a t u n t i l B C = 0 E D E D E D レ ジ ス タ 間 接 ソ ー ス ブ ロ ッ ク 転 送 グ ル ー プ ロ ケ ー シ ョ ンローテートとシフト命令
ソ ー ス お よ び デ ィ ス テ ィ ネ ー シ ョ ン ロ ー テ イ ト あ る い は シ フ ト の 型 ロ ー テ イ ト と シ フ ト A B C D E H L ( H L ) ( I X + d ) ( I Y + d ) R L C R R C R R R L S L A S R A S R L R L D R R D C B C B C B C B C B C B C B C B C B C B C B C B C B C B C B C B C B C B C B C B C B C B C B C B C B C B C B C B C B C B C B C B C B C B C B C B C B C B C B C B C B C B C B C B C B C B C B C B C B C B C B C B C B C B C B C B 0 7 0 0 0 1 0 2 0 3 0 4 0 5 0 6 C B C B C B C B C B C B C B C B C B C B C B C B C B C B D D F D d D D D D D D D D D D D D F D F D F D F D F D F D d d d d d d 0 F 0 8 0 9 0 A 0 B 0 C 0 D 0 E 1 7 1 0 1 1 1 2 1 3 1 4 1 5 1 6 1 F 1 8 1 9 1 A 1 B 1 C 1 D 1 E 2 7 2 0 2 1 2 2 2 3 2 4 2 5 2 6 2 F 2 8 2 9 2 A 2 B 2 C 2 D 2 E 3 F 3 8 3 9 3 A 3 B 3 C 3 D 3 E 3 E 3 E 2 E 2 E 2 6 2 6 1 E 1 E 1 6 1 6 0 E 0 E 0 6 d 0 6 d d d d d d E D E D 6 7 6 F A R L C A R R C A R L A R R A 0 7 0 F 1 7 1 F 左 ロ ー テ イ ト ・ サ ー キ ュ ラ b 7 b 0 C Y C Y 右 ロ ー テ イ ト ・ サ ー キ ュ ラ 左 ロ ー テ イ ト 右 ロ ー テ イ ト 算 術 的 左 シ フ ト 算 術 的 右 シ フ ト 論 理 的 右 シ フ ト 0 0 左 ロ ー テ イ ト 右 ロ ー テ イ ト b 3 b 0 b 3b 0b 3b 0 A C C ( H L )デ ジ ッ ト A C C ( H L ) デ ジ ッ トブロックサーチ命令
R e p e a t u n t i l B C = 0 o r f i n d m a t c h H L は ア キ ュ ウ ム レ ー タ の 内 容 と 照 合 す る メ モ リ の 位 置 の ポ イ ン タ 。 B C は バ イ ト カ ウ ン タ 。 C P I I n c H L , D e c B C C P I R , I n c H L , D e c B C C P D D e c H L & B C A 1 B 1 A 9 B 9 ( H L ) レ ジ ス タ 間 接 E D E D E D E D r e p e a t u n t i l B C = 0 o r f i n d m a t c h C P D R D e c H L & B C ブ ロ ッ ク サ ー チ サ ー チ ロ ケ ー シ ョ ン割り込みとは
現在実行中の処理を一時中断し,より緊急度の高い処理に強制的 に実行を移すこと. 1.電源遮断など異常事態が発生したときの対応 2.プロセッサに比べて処理速度の遅い入出力装置とのデータ転送 3.タイマからの割り込みを利用したリアルタイム制御 4.不正な演算など異常事態が生じた場合からの復帰 5.プログラムが暴走したときなどからの復帰 別の観点から見ると 外部機器主導の制御方法である. 処 理 中 処 理 依 頼 1 処 理 依 頼 2 優 先 順 位 が 高 い 方 か ら 処 理 優 先 順 位 が 低 い 方 の 処 理 が 行 わ れ て い た 場 合 処 理 1 処 理 2 処 理 1 処 理 2一般の処理と割り込み処理の違い
START CALL 処理1 CALL 処理2 CALL 処理3 CALL 処理4 CALL 処理N CALL文 に よ る 方 法 メ イ ン プ ロ グ ラ ム 処 理 プ ロ グ ラ ム 一 般 の 処 理 CALL文 で ジ ャ ン プ す る 割 り 込 み 処 理 割 り 込 み 要 求 で ジ ャ ン プ す る 処 理 p RETI RETI RETI RETI 処 理 1 処 理 2 処 理N 処 理 3 START START START START START 割 り 込 み に よ る 方 法Z80の割り込み処理
IEI IEO IEI IEO IEI IEO IEI IEO Z80
CPU メ モ リ
I/O1 I/O2 I/O3 I/O4 Vcc H H H L L L L L 割 り 込 み INT信 号 Iレ ジ ス タ 2 8H IO2 ア ド レ ス 0 0H I + IO2 = 2 8 0 0H 0000H 2800H 3000H 4000H 5000H 00H 30H 00H 40H 00H 50H 処 理 1 処 理 2 処 理 3 00H 02H 04H 06H 2802H 2804H ア ド レ ス テ ー ブ ル ; PIO MODO 0 ORG 0000H LD SP , 0000H IM 2 LD A , 28H LD I , A LD A , 00001111B ; 動 作 モ ー ド OUT (PIOCON) , A LD A,00H ; 割 り 込 み ベ ク ト ル OUT (PIOCON),A LD A , 1000111B ;割 り 込 み 制 御 語 OUT (PIOCON) , A FFFFH
Z80のデージーチェーンでの割り込みサービス
IEI IEO IEI IEO IEI IEO IEI IEO
Vcc
IEI IEO IEI IEO IEI IEO IEI IEO
Vcc
IEI IEO IEI IEO IEI IEO IEI IEO
Vcc
IEI IEO IEI IEO IEI IEO
Vcc
IEI IEO IEI IEO IEI IEO
Vcc H H H H H 1 . 割 り 込 み 発 生 前 の デ ー ジ ー チ ェ ー ン の 状 態 サ ー ビ ス 受 付 H H H L L サ ー ビ ス 受 付 サ ー ビ ス 中 断 H H L L L ポ ー ト 1 ポ ー ト 2 ポ ー ト 3 ポ ー ト 4 2 . ポ ー ト 3 が 割 り 込 み を 要 求 し 受 け 付 け ら れ る . 3 . ポ ー ト 2 が 割 り 込 み を 発 生 し , ポ ー ト 3 の サ ー ビ ス を 保 留 サ ー ビ ス 完 了 サ ー ビ ス 続 行 H H H L L RETI 4 . ポ ー ト 2 の サ ー ビ ス を 完 了 しRETIを 実 行 し ポ ー ト 3 の サ ー ビ ス を 再 開 RETI サ ー ビ ス 完 了 H H H H H 5 . ポ ー ト 3 の サ ー ビ ス を 完 了 後RETIを 実 行 す る .
マイコンによる各種制御法
C P U R O M / R A M I O − 1 I O − 2 温 度 / モ ー タ 制 御 な ど ア ド レ ス デ ー タ コ ン ト ロ ー ル 制 御 計 測 A ) 一 定 時 間 毎 に 計 測 し , 設 定 値 と の 差 を 修 正 す る 。 B ) 設 定 値 と の 差 が 指 定 値 を 上 回 っ た と き の み 修 正 を く わ え る 。 計 測 計 測 制 御 有 効 時 間 計 測 計 測 制 御 計 測 制 御 有 効 無 効 無効 有 効 計 測 制 御 計 測 制 御 計 測 制 御 時 間 有 効 有 効 有 効 無 効 無 効 無 効 無 効 無 効 無 効マイコンの制御対象のおよその応答時間
1.キー入力:全く期待できない 2.ディスプレイ表示:60分の1秒毎 3.モータ制御:数10から数100回転毎の計測と制御 4.温度制御:一般に対象物の温度慣性が大きく数分以上 5.音による計測制御:音波の伝搬速度による 6.光による計測制御:高速である 7. 8. 9. 10.マイクロコンピュータの構成
CPU ROM RAM I/O1
Add BUS Data BUS Control BUS I/O2 16 8 13 ク ロッ ク CPU 中央 処理 装置 ROM 読み出し専用メモリ 電源を切っても内容が消えない RAM 読み書き(作業)用メモリ 電源を切ると内容が消える I/O 外部装置とのインターフェースに用いる。INPUT/OUTPUT クロック CPUを動作させるための基準信号。 キーボード 表示装置 外部制御装置 外部制御装置 例として モータ制御回路、温度センサ etc I/O i8255 Z80PIO など
クロック回路とパワーオンリセット回路
クロック回路 リセット回路 5 V D C R S W 図 2 3 リ セ ッ ト 回 路 5 V R C X F / F R φ 図 2 2 水 晶 発 振 回 路 CPUの動作の基準となる Z80CPUのクロック条件は 電源ON時に自動的にリセットを掛ける CPUはリセットされると 次の状態になる PC => 0000HICメモリの種類
読出し書込みメモリ 読出し専用メモリ
Read write memory RWM read only memory ROM
ICメモリの分類
ICメモリ RAM SAM 読み書き可能形 RAM 読出し専 用形 ROM ユーザ書込 み 形 PROM 書換え可能 形 EPROM 書換え 不可能形 マスクROM DRAM SRAM 電気的消去形 EEPROM 紫外線消去形 EPROM CCD ヒューズ切断形 (random access memory) (read only memory) (programmable ROM) ( erasable PROM) (dynamic RAM) (static RAM) (electrically erasable PROM) (charge coupled device)記憶容量の表現
210= 1024ビット 1Kbit 128バイト 214= 16384ビット 16Kbit 2048バイト 2KB 216= 65536ビット 64Kbit 8192バイト 8KB 220= 1048576ビット 1Mbit 131072バイト 131KB 230 =1073741824ビット 1Gbit 134217728バイト 134MBメモリ回路構成例
例 え ば 1 6Kビ ッ ト メ モ リ の 場 合 1 ビ ッ ト 構 成 並 列 1 ビ ッ ト * 1 6 3 8 4 4 ビ ッ ト 構 成 並 列 4 ビ ッ ト * 4 0 9 6 8 ビ ッ ト 構 成 系 列 8 ビ ッ ト * 2 0 4 8 デ ー タ 線 D7 D0 1Bit 構 成 4bit 構 成 8bit 構 成 行 ア ド レ ス 列 ア ド レ ス メ モ リ メ モ リ メ モ リメモリ回路例
ROM 8KB 0000H ∼ 1FFFH メモリ名 2764 RAM 8KB 2000H ∼ 3FFFH メモリ名 6264 RAM(6264) ROM(2764) D A A D D 0 − 1 3 8 A 1 4 C S C S R D M R E Q W R 1 F F F H 3 F F F H 0 0 0 0 H F F F F H R O M R A M O E O E W Wi8255の動作
1.形状とピン配置 2.i8255のブロック構成 3.動作モード 4.コントロールワードの設定 5.Cポートのビット制御ワードの設定 6.回路例1.形状とピン配置
内 部 側 端 子 外 部 側 端 子 PA7 PA0 PB7 PB0 PC7 PC4 PC3 PC0 ポ ー トAグ ル ー プ ポ ー トBグ ル ー プ D7 D0 CS RD WR A1 A0 RESET デ ー タ 線2.i8255のブロック構成
RD WR A1 A0 RESET CS CPUデ ー タ バ ス D0− D7 デ ー タ バ ス バ ッ フ ァ リ ー ド ラ イ ト コ ン ト ロ ー ル グ ル ー プA コ ン ト ロ ー ル レ ジ ス タ ( 4 ) グ ル ー プ B コ ン ト ロ ー ル レ ジ ス タ ( 4 ) グ ル ー プ Aポ ー ト PA( 8 ) グ ル ー プ B ポ ー ト ( 8 ) グ ル ー プ Aポ ー ト C 上 位 グ ル ー プ B ポ ー ト C 下 位 入 出 力 PA0-PA7 入 出 力 PC4-PC7 入 出 力 PC0-PC3 入 出 力 PB0-PB7 CPU側 周 辺 側 ( ) 内 は ビ ッ ト 数3.i8255の動作モード
1.モード0 ベーシック入出力動作 単純な入力,あるいは出力ポートとして使用 (PA7−0 PC上位7−4 PC下位3−0 PB7−0) 2.モード1 ストローブ入出力動作 8ビットのデータポート(入力または出力)と4ビットのコントロー ルポートからなる. PAグループ(PA7−0 PC上位7−4 ) PBグループ( PC下位3−0 PB7−0 ) 3.モード2 ストローブ双方向バス入出力動作(PAグループのみ) データの入出力に同一のポートを使用し双方向バスを通して 周辺デバイスと接続する.データ入出力の制御はモード1と同 様にコントロール信号及びステータス信号を用いる. データポートとしてAポートのみ使用する.コントロール/ステー タスポートはポートC(PC7-PC3)の5ビット使用4.i8255のモードセット
モード0 ベーシックインプットアウ トプットモード (A,Bグルー プ) モード1 ストローブインプットアウ トプットモード(A,Bグルー プ) モード2 双方向バス(Aグループ のみ) モ ー ド セ ッ ト の コ ン ト ロ ー ル ワ ー ド で あ る と き 1 グ ル ー プ モ ー ド モ ー ド 0 の と きD6D5は 0 0 モ ー ド 1 の と きD6D5は 0 1 モ ー ド 2 の と きD6D5は 1X ポ ー トA OUTPUTの と き 0 INPUTの と き 1 ポ ー トC( 上 位 4 ビ ッ ト ) グ ル ー プBモ ー ド モ ー ド 0 の と き 0 モ ー ド 1 の と き 1 OUTPUTの と き 0 INPUTの と き 1 ポ ー トB OUTPUTの と き 0 INPUTの と き 1 ポ ー トC( 下 位 4 ビ ッ ト ) D7 D6 D5 D4 D3 D2 D1 D05.i8255のビットセットリセットコントロールワードの設定
ビ ッ ト セ ッ ト / リ セ ッ ト の コ ン ト ロ ー ル ワ ー ド で あ る と き 0 ド ン ト ケ ア ビ ッ ト 選 択 セ ッ ト / リ セ ッ ト セ ッ ト ( H")の と き 1 リ セ ッ ト ( L")の と き 0 ポ ー トC 選 択 ビ ッ ト D3 D2 D1 PC7 1 1 1 PC6 1 1 0 PC5 1 0 1 PC4 1 0 0 PC3 0 1 1 PC2 0 1 0 PC1 0 0 1 PC0 0 0 0 D7 D6 D5 D4 D3 D2 D1 D06.回路例
A B C 5 C 4 C 3 C 2 C 1 C 0 8 i8255 A 1 A 3 A 0 D A 6 0 − 5 P M M 8 7 1 3 U S P G N D 5 V S T A R T S T O P M O D E G O A L 5 V C S W R R D R E S E T R D W R I O R Q 図 2 6 i 8 2 5 5 回 路Z80PIOの動作
1.形状とピン配置 2.Z80PIOの構成 3.動作モード 4.コントロールワードの設定 5. 6.回路例4.コントロールワードの設定
PIOの 動 作 語 の 設 定
D7 D6 D5 D4 D3 D2 D1 D0 M1 M0 X X 1 1 1 1
D7 D6 D5 D4 D3 D2 D1 D0 IO7 IO6 IO5 IO4 IO3 IO2 IO1 IO0
D7 D6 D5 D4 D3 D2 D1 D0 EI A/O H/L MF 0 1 1 1 D7 D6 D5 D4 D3 D2 D1 D0 MB7 MB6 MB5 MB4 MB3 MB2 MB1 MB0 D7 D6 D5 D4 D3 D2 D1 D0 V7 V6 V5 V4 V3 V2 V1 V0 モ ー ド 3 YES NO YES YES NO NO マ ス ク ・ フ ォ ロ ー ズ 割 り 込 み 使 用 モ ー ド ワ ー ド デ ー タ ・ デ ィ レ ク シ ョ ン ・ ワ ー ド イ ン タ ラ プ ト ・ コ ン ト ロ ー ル ・ ワ ー ド イ ン タ ラ プ ト ・ マ ス ク ・ ワ ー ド イ ン タ ラ プ ト ・ ベ ク ト ル Z80PIOの 初 期 化 終 了 D0は0のみ
8251の信号名と機能
TxD (transmitter data) 送信データ
RxD (receiver data) 受信データ
DSR (data set read) 通信する相手側が通信可能な時、 0 となる。 DTR (data terminal ready) こちら側が通信可能な時、 0 となる。
CTS (clear to send) 相手側がこちらからの送信を要求する時、 0 となる。 RTS (request to send) 相手側からの送信を要求する時、 0 となる。
TxE (transmitter empty) 送信バッファが空の時、 1 となる。
TxRDY(transmitter ready) 送信データをプロセッサに要求する信号である。
TxE=1かつCTS=0の時、 0 となる。 RxRDY(receiver ready) 受
信データが受信バッファに入った時、1となり、プロ
セッサにデータの読みだしを要求する。 TxC (transmitter clock)
送信用クロックパルス RxC(receiver clock)
マイクロコンピュータを構成する部品の知識 抵抗
1.固定抵抗 2.集合抵抗 3.可変抵抗
マイクロコンピュータを構成する部品の知識 コンデンサ
1.固定コンデンサ 2.可変コンデンサ 3.コンデンサの種類 電解コンデンサ セラミックコンデンサ マイラコンデンサ 空気コンデンサ 4.コンデンサの等価回路と周波数特性マイクロコンピュータを構成する部品の知識 ダイオード
1.整流ダイオード 2.発光ダイオード 3.検波ダイオード 4.定電圧ダイオード 5.定電流ダイオード 6.可変容量ダイオード 7.フォットダイオードマイクロコンピュータを構成する部品の知識 トランジスタ
1.トランジスタの構造(PNP,NPN) 2.トランジスタの動作