ディジタルシステム設計と講義進度 -...

145
ディジタルシステム設計と講義進度 ここで学ぶことは 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週) ワンボードマイコン,計測制御システム,マイクロマウスロボット, サッカーロボットなどの設計事例

Upload: others

Post on 07-Feb-2021

0 views

Category:

Documents


0 download

TRANSCRIPT

  • ディジタルシステム設計と講義進度

    ここで学ぶことは

    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.マイクロコンピュータのハード回路とプログラム命令

  • 主なマイクロコンピュータの誕生と進化

    1971年

    4004

    1973年

    8080

    1972年

    8008

    1975年

    Z80

    1975年

    8085

    1974年

    6800

    1978年

    8086

    1978年

    Z8000

    1978年

    MC68000

    1977

    MC14500B

    1972年

    3000

    モトローラ

    ザイログ

    インテル

    モトローラ

    インテル

    1ビット

    4ビット

    8ビット

    16ビット

    インテル

    モトローラ

    ザイログ

    ビット・スライス

  • 最近の代表的なマイクロプロセッサ

    ・ Z80マイコングループザイログZ80 東芝TMPZ84015BF川崎KL5C8012 日立64180

    ・ H8マイコングループ日立H8シリーズ

    ・ PICマイコングループMicrochip Technology 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の端子

    A15

    A14

    A13

    A12

    A11

    A10

    A9

    A7

    A6

    A5

    A4

    A3

    A2

    A1

    A0D7

    D6

    D5

    D4

    D3

    D2D1

    D0

    A8

    WR

    RD M1

    MR

    EQ

    IOR

    Q

    RFSH

    HA

    LT

    WA

    IT

    INT

    NM

    I

    RE

    SET

    BU

    SRQ

    BU

    SAKφ

    +5

    VG

    ND

    アドレス バスデータ バス

    システム制御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=00H3)レジスタ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 T1T3

    メモリ・アドレス

    入力

    データ出力

    (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、RDWR、IORQRFSH

    各Mサイクルバス利用可の状態

    D0~D7

  • 割り込み要求/アクノレッジサイクル

    プログラム・カウンタ

    入力

    リフレッシュ

    図4-6 割り込み要求/アクノリッジ・サイクル

    最終Tサイクル命令の最終Mサイクル M1T1 T2 TW* TW* T3

    φ

    A0~A15

    M1

    MREQ

    IORQ

    データ・バス

    WAIT

    RD

    INT

  • ノンマスカブル割り込み要求動作

    プログラム・カウンタ リフレッシュ

    図4-7 ノン・マスカブル割り込み、要求動作

    最終Mサイクル最終Tタイム

    T1 T1T2 T3 T4

    φ

    NM1

    A0~A15

    M1

    MREQ

    RD

    RFSH

  • ホールド状態解除

    φ

    HALT

    INTor

    NM1

    M1 M1M1

    T4 T1 T1T2 T2T4T3

    図4-8 ホールト状態解除ホールト命令はこの

    メモリ・サイクル期間

    で受け付けられる。

  • ウエイトステートを加えた要求アクノレッジサイクル

    通常のアクノリッジ・タイム

    1ウェイト・ステートの入ったアクノリッジ・タイム

    T1 T2 TWTW TW T3

    WAIT

    データ・バス

    IORQ’

    IORQ

    M1

    自動ウェイト信号 ユーザウェイト命令の最終Mサイクルの最後の

    Tステート

    図4-6B ウェイト・ステートを1つ加えた要求/アクノリッジ・サイクル

  • Z80の命令 (転送命令の1例)

    ニーモニック LD dd,nn

    シンボリックオペレーション dd

  • Z80マイクロプロッセッサのアドレス方式

    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 アキュームレータに定数をロードする.LD A , 80H A

  • 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 3RST 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コード

    例 LD B ,C B <= C

  • 8. インブライト・アドレッシング

    OPコード自体にレジスタ指定を含んでいて,1つまたは2つのレジスタが自動的に指定される.演算命令ではつねにアキュームレータが結果をセットするレジスタとなる.

    OPコード

    例1 演算命令

    ADD A , B A <= A+B

    例2 交換命令 EX DE ,HL DE HL

  • 9. レジスタ間接アドレッシング

    メモリ内の位置指定のポインタとして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

  • Z80マイクロプロセッサの命令体系

    (1)データ転送命令( data transfer instruction )

    (2)算術論理演算命令( operation instruction )

    (3)分岐命令( branch instruction )

    (4)サブルーチン関連命令( subroutine call / returninstruction )

    (5)入出力命令( input / output instruction )

    (6)CPU制御命令( CPU control 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

  • (4)サブルーチン関連命令ニーモニック 機能

    CALL nn スタックメモリ<= PC, PC

  • (5)入出力命令

    ニーモニック 機能

    IN A , (n) A <= ポート番号

    IN r , ( C ) r

  • (6)CPU制御命令

    ニーモニック 機能

    NOP 何もしない

    HALT 停止状態になる

    DI 割り込み受付禁止

    EI 割り込み受付許可

    IM0 割り込みモード0 8080Aモード

    IM1 割り込みモード1 38Hへのコール命令

    IM2 割り込みモード2

    レジスタIと割り込みデバイスからの8ビットデー タを用いた間接コール命令

  • ローティとシフト命令

    CY b7 b0

    b7 b0

    b7 b0

    b7 b0

    CY

    CY

    CY

    左ローティトサーキュラ

    左ローティト

    右ローティト

    右ローティトサーキュラ

    RLC

    RRC

    RL

    RR

    CY b7 b0 0

    b7 b0

    b7 b0

    CY

    CY

    算術的左シフト

    算術的右シフト

    論理的右シフト

    SLA

    SRA

    SRL

    B7 B4 B3 B0B3 B0

    Acc (HL)

    右ローティトデジット RRD

    B7 B4 B3 B0B3 B0

    Acc (HL)

    左ローティトデジット RLD

  • ブロックサーチ命令

    CPI ; Aー(HL) ,HL

  • 交換

    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)

  • 8ビット算術論理演算命令

    8ビット算術、論理演算

    ソース

    A B C D E H L (HL)(IX

    +d)

    (IY

    +d)n

    レジスタ・アドレシングレジスタ

    間接インデックスド

    イミディ

    エット

    ’ADD’

    ADDwCARRY

    ’ADC’

    SUBTRACT

    ’SUB’

    SUBwCARRY

    ’SBC’

    ’AND’

    ’XOR’

    ’OR’

    COMPARE

    ’CP’

    INCREMENT

    ’INC’

    DECREMENT

    ’DEC’

    87 80 81 82 83 84 85 86

    8F 88 89 8A 8B 8C 8D 8E

    97 90 91 92 93 94 95 96

    9F 98 99 9A 9B 9C 9D 9E

    A7 A0 A1 A2 A3 A4 A5 A6

    AF A8 A9 AA AB AC AD AE

    B7 B0 B1 B2 B3 B4 B5 B6

    BF B8 B9 BA BB BC BD BE

    3C 04 0C 14 1C 24 2C 34

    3D 05 0D 15 1D 25 2D 35

    DD FD

    d n86

    CE8E

    96

    9E

    A6

    AE

    B6

    BE

    34

    35

    FE

    F6

    EE

    E6

    DE

    D6

    DD

    DD

    DD

    DD

    DD

    DD

    DD

    DD

    DD

    FD

    FD

    FD

    FD

    FD

    FD

    FD

    FD

    FD

    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

    06

    35

    34

    BE

    B6

    AE

    A6

    9E

    96

    8E

    86

  • 8ビット転送命令

    I R A B C D E H L (HL) (BC) (DE)(IX+d)(IY+d) (nn) n

    (HL)

    (BC)

    (DE)

    (IX+d)

    (IY

    +d)

    (nn)

    インプライドレジスタ レジスタ間接

    インデッ 拡張アド

    レシング

    イミディ

    エット

    レジスタ

    レジスタ間接

    インデッ

    拡張アド

    レシング

    インプライド

    ED

    57

    ED

    5F 7F 78 79 7A 7B 7C 7D 7E 0A 1ADD7Ed

    FD7Ed

    3Ann

    3E

    47 40 41 42 43 44 45 46 46DD

    d

    FD46d n

    06

    4F 48 49 4A 4B 4C 4D 4E 4EDD

    d

    FD4Ed n

    DD

    DD

    DD

    DD

    d

    d

    d

    d

    FD

    FD

    FD

    FD

    d

    d

    d

    d

    57 50 51 52 53 54 55 56 56 56

    0E

    16

    1E

    26

    2E

    36

    5E

    66

    6E

    5E

    66

    6E

    5F 58 59 5A 5B 5C 5D 5E

    67 60 61 62 63 64 65 66

    6F 68 69 6A 6B 6C 6D 6E

    77 70 71 72 73 74 75

    02

    12

    DD

    dFD

    d

    DD DD DD DD DD DD

    d d d d d d

    FD FD FD FD FD FD

    d d d d d d

    77 70 71 72 73 74 75

    77 70 71 72 73 74 75

    ED

    47

    ED

    4F

    32nn

    FD

    DD

    d

    dn36

    36n

    8ビットロード”LD” ソース 注36

    注31

    注32

    注33

    注34

    注35

    ディスティネーション

    クスド

    クスド

  • 16ビット転送命令

    レジスタ

    16ビットロード”LD”

    ディスティネーション

    AF BC DE HL SP IX IY nn (nn) (SP)

    AF

    BC

    DE

    HL

    SP

    IX

    IY

    (nn)

    (SP)

    ソース

    拡張イミ

    Σィエット

    拡張アド

    レシング

    レジスタ

    間接

    注37

    PUSH命令

    POP命令

    拡張アドレシング

    レジスタ間接

    レジスタ

    F1

    C1

    D1

    E1

    DD

    FD

    E1

    E1

    01nn

    ED4B

    11

    21

    5B

    2A

    317B

    DD

    F9

    43 5322

    73

    F5 C5 D5 E5E5

    nn

    nn

    nn

    nn

    DD

    F9

    FDF9

    nn

    ED

    nn

    ED

    nn

    ED

    nn

    n2An

    21FD

    nn

    FD2Ann

    21DD

    nn

    nnnn n

    n

    DD FD

    nn

    nn

    FD

    22 22ED ED ED

    ↑(注)PUSHおよびPOP命令の

    全実行が終わったあとに

    SPが修正される。

    ポップ命令はプッシュ命令とちょうど逆の操作になる。

  • 16ビット算術演算命令

    BC DE HL SP IX IY

    HL

    IX

    IY

    HL

    HL

    ’ADD’

    ADD WITH CARRY AND

    SET FLAGS ’ADC’

    SUB WITH CARRY AND

    SET FLAGS ’SBC’

    INCREMENT ’INC’

    DECREMENT ’DEC’

    16ビット算術演算

    ソース

    ディスティネーション

    09 19 29 39

    DD DD DD DD09 19 39 29

    09 19 39 29

    FD FD FD FD

    ED ED ED ED

    ED ED ED ED

    4A 5A 6A 7A

    42 52 62 72

    23

    2B

    DD

    DD

    FD

    FD

    23

    2B

    03 13 23 33

    0B 1B 2B 3B

  • ジャンプコールリターング命令

    JUMP ’JP’

    JUMP ’JP’

    JUMP ’JP’

    JUMP ’JP’

    JUMP ’JR’

    ’CALL’

    DECREMENT B,

    JUMP IF NON

    ZERO ’DJNZ’

    RETURN

    ’RET’

    RETURN FROM

    INT ’RETI’

    RETURN FROM

    NON MASKABLE

    INT ’RETN’

    無条件 キャリ

    ノン・

    ゼロ

    パリティ

    偶数 奇数 負 正 カウント

    パリティゼロキャリ

    ノン・

    拡張イミ

    ディエット

    相対

    レジスタ

    間接

    間接

    間接

    間接

    レジスタ

    レジスタ

    レジスタ

    相対

    ディエット

    拡張イミ

    nn

    PC+e

    (HL)

    (IX)

    (IY)

    nn

    (SP)

    (SP+1)

    (SP+1)

    (SP)

    (SP+1)

    (SP)

    PC+e

    n

    nn

    n n n n n n n nn n n n n n n n

    n n n n n n n nn n n n n n n n n

    e-2 e-2 e-2 e-2 e-2

    C3 DA D2 CA C2 EA E2 FA F2

    E9

    DD

    E9

    FD

    E9

    C9

    ED

    4D

    ED

    45

    D8 D0 C8 C0 E8 E0 F8 F0

    18 38 30 28 20

    CD DC D4 CC C4 EC E4 FC F4

    10

    e-2

    ジャンプ,コール,リターングループ

    条件

    あるフラグは1つ以上の

    目的で用いられる。

    詳細は第6章参照。

  • CPU制御命令

    ’NOP’

    ’HALT’

    DISABLE INT ’(DI)’

    ENABLE INT ’(EI)’

    SET INT MODE 0

    ’IM0’

    SET INT MODE 1

    ’IM1’

    ’IM2’

    SET INT MODE 2

    00

    76

    F3

    FB

    ED

    46

    ED

    56

    ED

    5E

    CPU制御命令

    8080A モード

    38H番地へのコール命令

    レジスタIと割り込みデバイス

    からの8ビットデータを用いた

    間接コール命令

  • その他の命令

    Decimal Adjust Acc,’DAA’

    Complement Acc,’CPL’

    Negate Acc,’NEG’

    (2’complement)

    Complement Carry Flag,’CCF’

    Set Carry Flag,’SCF’

    27

    2F

    ED

    44

    3F

    37

    その他の操作

  • フラグの変化

    INIR;INDR;OTIR;OTDR

    命 令 C Z S N H

    V/

    ● ●

    ●●

    ● ● ●

    ● ● ●

    1 1

    X1

    X X X

    XX X1

    X0

    X X

    X X

    0IFF

    備 考

    ADD A,s;ADC A,s

    SUB s;SBC A,s,CP s

    NEG

    AND s

    OR s;XOR s

    INC

    DEC s

    ADD dd,ss

    ADC HL,ss

    RLA;RLCA;RRA;RRCA

    SBC HL,ss

    RL s;RLC s;RR s;RRC s

    SLA s;SRA s;SRL s

    RLD,RRD

    DAA

    CPL

    SCF

    CCF

    IN r,(C)

    INI;IND;OUTI;OUTD

    LDI,LDD

    LDIR,LDDR

    CPI,CPIR,CPD,CPDR

    LD A,I;LD A,R

    BIT b,s

    8ビット加算、キャリを含む加算

    8ビッ減算、キャリを含む加算、比較

    符号反転(ニゲイト)

    論理演算

    8ビット、インクリメント

    8ビット、デクリメント

    16ビット加算

    16ビットキャリを含む加算

    16ビットキャリを含む減算

    ローテイト・アキュウムレータ

    ローテイト・シフトs

    ローテイト・デジット 左、右

    デジタル・アジャスト・アキュムレータ

    アキュムレータ補数変数

    セット・キャリ

    キャリ補数変数

    レジスタ間接入力

    ブロック入出力

    B≠0 ならばZ=0、その他はZ=1

    ブロック転送

    B≠0 ならばP/V=0、その他はP/V=0

    ブロック・サーチ

    A=(HL) ならばZ=1、その他はZ=0

    BC≠0 ならばP/V=1、その他はP/V=0

    IFFの内容がP/Vにコピーされる

    sのビットbの内容がZにコピーされる

    記号の説明

    記号の説明

    C ;キャリ/リンク・フラグ 結果のMSBからのキャリがあれば、C=1。

    Z ;ゼロ・フラグ 零ならば、Z=1。

    S ;サイン・フラグ 結果のMSBが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 ; CPUレジスタA,B,C,D,E,H,L。

    ss ; 16ビット・ロケーション。

    n ; 8ビット値(0~255)。

    nn ; 16ビット値(0~65535)。

  • 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からの桁上がりが生じたとき

  • 入力命令

    入力命令群

    ソース

    入力ポート

    ディスティネーション

    入力

    INPUT’IN’

    ブロック入力

    コマンド

    ’INI’_INPUT &

    Inc HL,Dec B

    ’INIR’_INP,Inc HL,

    Dec B,REPEAT IF B≠0

    ’IND’_INPUTρ

    Dec HL,Dec B

    ’INDR’_INPUT,Dec HL,

    Dec B,REPEAT IF B≠0

    レジスタ・

    アドレシング

    レジスタ

    間接

    イミディ

    エット

    レジスタ

    間接

    (n)(C)

    (HL)

    DBn

    ED

    ED

    ED

    ED

    ED

    ED

    ED

    ED

    ED

    ED

    ED

    78

    40

    48

    50

    58

    60

    68

    A2

    B2

    AA

    BA

  • 出力命令

    レジスタレジスタ

    間接

    イミディ

    エット

    レジスタ

    間接

    レジスタ

    間接

    レジスタ

    間接

    レジスタ

    間接

    レジスタ

    間接

    A B C D E H L (HL)

    (n)

    (C)

    (C)

    (C)

    (C)

    (C)

    D3n

    ED ED ED ED ED ED ED

    ED

    79 41 49 51 59 61 69

    ED

    ED

    ED

    A3

    B3

    AB

    BB

    ’OUT’

    ’OUTI’_OUTPUT

    Inc HL,Dec b

    ’OTIR’_OUTPUT,Inc HL,

    Dec B,REPEAT IF B≠0

    ’OUTD’_OUTPUT

    Dec HL & B

    ’OTDR’_OUTPUT,Dec HL

    & B,REPEAT IF B≠0

    出力ポート

    ディスティネーション

    ブロック出力

    コマンド

    ソース

    出力命令群

  • ビット操作命令レジスタ・アドレシング

    レジス

    タ間接

    インデッ

    クスド

    ビット

    TEST

    ’BIT’

    RESET

    BIT

    ’RES’

    SET

    BIT

    ’SET’

    A B C D E H L (HL)(IX+d)(IY+d)

    CB CB CB CB CB CB CB CB CB CB

    CB CB CB CB CB CB CB CB CB CB

    CB CB CB CB CB CB CB CB CB CB

    CB CB CB CB CB CB CB CB CB CB

    CB CB CB CB CB CB CB CB CB CB

    CB CB CB CB CB CB CB CB CB CB

    CB CB CB CB CB CB CB CB CB CB

    CB CB CB CB CB CB CB CBCB CB

    CB CB CB CB CB CB CB CBCB CB

    CB CB CB CB CB CB CB CB CB CB

    CB CB CB CB CB CB CB CBCB CB

    CB CB CB CB CB CB CB CB CB CB

    CB CB CB CB CB CB CB CB CB CB

    CB CB CB CB CB CB CB CB CB CB

    CB CB CB CB CB CB CB CB CB CB

    CB CB CB CB CB CB CB CB CB CB

    CB CB CB CB CB CB CB CB CB CB

    CB CB CB CB CB CB CB CB CB CB

    CB CB CB CB CB CB CB CB CB CB

    CB CB CB CB CB CB CB CBCB CB

    CB CB CB CB CB CB CB CB CB CB

    CB CB CB CB CB CB CB CBCB CB

    CB CB CB CB CB CB CB CB CB CB

    CB CB CB CB CB CB CB CBCB CB

    40 41 42 43 44 45 4647

    48 49 4A 4B 4E4C 4D4F

    DD FD

    d

    FD

    FD

    FD

    FD

    FD

    FD

    FD

    FD

    FD

    FD

    FD

    FD

    FD

    FD

    FD

    FD

    FD

    FD

    FD

    FD

    FD

    FD

    FD

    DD

    DD

    DD

    DD

    DD

    DD

    DD

    DD

    DD

    DD

    DD

    DD

    DD

    DD

    DD

    DD

    DD

    DD

    DD

    DD

    DD

    DD

    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

    46 46

    4E4E

    50 5157 52 53 54 55 56

    5F 58 59 5A 5B 5C 5D 5E

    67 60 61 62 63 64 65 66

    6F 68 69 6A 6B 6C 6D 6E

    77 70 71 72 73 74 75 76

    7F 78 79 7A 7B 7C 7D 7E

    87 80 81 82 83 84 85 86

    8F 88 89 8A 8B 8C 8D 8E

    97 90 91 92 93 94 95 96

    9F 98 99 9A 9B 9C 9D 9E

    A7 AO A1 A2 A3 A4 A5 A6

    AF A8 A9 AA AB AC AD AE

    B7 B0 B1 B2 B3 B4 B5 B6

    BF B8 B9 BA BB BC BD BE

    C7 C0 C1 C2 C3 C4 C5 C6

    CF C8 C9 CA CB CC CD CE

    D7 D0 D1 D2 D3 D4 D5 D6

    DF D8 D9 DA DB DC DD DE

    E7 E0 E1 E2 E3 E4 E5 E6

    EF E8 E9 EA EB EC ED EE

    F7 F0 F1 F2 F3 F4 F5 F6

    FF F8 F9 FA FB FC FD FE

    56 56

    5E 5E

    66 66

    6E 6E

    76 76

    7E 7E

    86 86

    8E 8E

    96 96

    9E 9E

    A6 A6

    AE AE

    B6 B6

    BE BE

    C6 C6

    CE CE

    D6 D6

    DE DE

    E6 E6

    EE EE

    F6 F6

    FE FE

    ビット操作グループ

  • ブロック転送命令

    レジスタ

    間接

    ディスティネーション

    (HL)

    (DE)

    ED

    A0

    B0

    A8

    B8

    HLはソースのポインタ。

    DEはディスティネーションのポインタ。

    BCはバイトカウンタ。

    ’LDI’_Load(DE)←(HL)

    Inc HL & DE,Dec BC

    ’LDIR’_Load(DE)←(HL)

    Inc HL & DE,Dec BC,Repeat until BC=0

    ’LDD’_Load(DE)←(HL)

    Dec HL & DE,Dec BC

    ’LDDR’_Load(DE)←(HL)

    Dec HL & DE,Dec BC,Repeat until BC=0

    ED

    ED

    ED

    レジスタ

    間接

    ソース

    ブロック転送グループ

    ロケーション

  • ローテートとシフト命令

    ソースおよびディスティネーション

    ローテイト

    あるいは

    シフトの型

    ローテイトとシフト

    A B C D E H L (HL)

    (IX

    +d)

    (IY

    +d)

    ’RLC’

    ’RRC’

    ’RR’

    ’RL’

    ’SLA’

    ’SRA’

    ’SRL’

    ’RLD’

    ’RRD’

    CB

    CB

    CB

    CB

    CB

    CB

    CB

    CB CB CB CB CB CB CB

    CB CB CB CB CB CB CB

    CB CB CB CB CB CB CB

    CB CB CB CB CB CB CB

    CB CB CB CB CB CB CB

    CB CB CB CB CB CB CB

    CB CB CB CB CB CB CB

    07 00 01 02 03 04 05 06CB CB

    CBCB

    CB

    CB

    CB

    CB

    CB

    CB

    CB

    CB

    CB

    CB

    DD FD

    d

    DD

    DD

    DD

    DD

    DD

    DD

    FD

    FD

    FD

    FD

    FD

    FD

    d

    d

    d

    d

    d

    d

    0F 08 09 0A 0B 0C 0D 0E

    17 10 11 12 13 14 15 16

    1F 18 19 1A 1B 1C 1D 1E

    27 20 21 22 23 24 25 26

    2F 28 29 2A 2B 2C 2D 2E

    3F 38 39 3A 3B 3C 3D 3E 3E 3E

    2E 2E

    26 26

    1E 1E

    16 16

    0E 0E

    06 06d

    d

    d

    d

    d

    d

    d

    ED

    ED

    67

    6F

    RLCA

    RRCA

    RLA

    RRA

    07

    0F

    17

    1F

    左ローテイト・サーキュラb7 b0CY

    CY

    右ローテイト・サーキュラ

    左ローテイト

    右ローテイト

    算術的左シフト

    算術的右シフト

    論理的右シフト

    左ローテイト

    右ローテイト

    b3 b0 b0b3 b0b3

    ACC

    (HL)デジット

    ACC

    (HL)デジット

  • ブロックサーチ命令

    Repeat until BC=0 or find match

    HLはアキュウムレータの内容と照合する

    メモリの位置のポインタ。

    BCはバイトカウンタ。

    ’CPI’

    Inc HL,Dec BC

    ’CPIR’,Inc HL,Dec BC

    ’CPD’Dec HL & BC

    A1

    B1

    A9

    B9

    (HL)

    レジスタ

    間接

    ED

    ED

    ED

    ED

    repeat until BC=0 or find match

    ’CPDR’Dec HL & BC

    ブロックサーチサーチ

    ロケーション

  • 割り込みとは

    現在実行中の処理を一時中断し,より緊急度の高い処理に強制的に実行を移すこと.

    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

    STARTSTART

    START

    割り込みによる方法

  • Z80の割り込み処理

    IEI IEO IEI IEO IEI IEO IEI IEO

    Z80

    CPU メモリI/O1 I/O2 I/O3 I/O4

    Vcc

    H LH H L L L L

    割り込み

    INT信号

    Iレジスタ 28H

    IO2 アドレス 00H

    I + IO2 = 2800H

    0000H

    2800H

    3000H

    4000H5000H

    00H30H00H40H00H50H

    処理1

    処理2

    処理3

    00H 02H 04H06H

    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を実行する.

  • マイコンによる各種制御法

    CPU ROM/RAM IO-1 IO-2

    温度 / モータ制御など

    アドレスデータ

    コントロール

    制 御計 測

    A)一定時間毎に計測し,設定値との差を修正する。

    B)設定値との差が指定値を上回ったときのみ修正をくわえる。

    計測

    計測制御

    有効

    時間

    計測

    計測制御

    計測制御

    有効

    無効

    無効

    有効

    計測制御

    計測制御

    計測制御 時間

    有効

    有効

    有効

    無効

    無効

    無効

    無効

    無効

    無効

  • マイコンの制御対象のおよその応答時間

    1.キー入力:全く期待できない

    2.ディスプレイ表示:60分の1秒毎

    3.モータ制御:数10から数100回転毎の計測と制御

    4.温度制御:一般に対象物の温度慣性が大きく数分以上

    5.音による計測制御:音波の伝搬速度による

    6.光による計測制御:高速である

    7.

    8.

    9.

    10.

  • マイクロコンピュータの構成

    CPU ROM RAM I/O1

    Add BUSData BUS

    Control BUS

    I/O2

    16

    813

    クロック

    CPU 中央処理装置

    ROM 読み出し専用メモリ 電源を切っても内容が消えない

    RAM 読み書き(作業)用メモリ 電源を切ると内容が消える

    I/O 外部装置とのインターフェースに用いる。INPUT/OUTPUT

    クロック CPUを動作させるための基準信号。

    キーボード 表示装置 外部制御装置

    外部制御装置 例として モータ制御回路、温度センサ etc

    I/O

    i8255

    Z80PIO

    など

  • クロック回路とパワーオンリセット回路

    クロック回路 リセット回路

    5V

    SW

    図 2 3 リ セ ッ ト 回 路

    5VR

    F/F

    φ

    図 2 2 水 晶 発 振 回 路

    CPUの動作の基準となるZ80CPUのクロック条件は

    電源ON時に自動的にリセットを掛けるCPUはリセットされると次の状態になるPC => 0000H

  • ICメモリの種類

    読出し書込みメモリ 読出し専用メモリ

    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)(sequential access memory)

  • 記憶容量の表現

    210= 1024ビット 1Kbit 128バイト

    214= 16384ビット 16Kbit 2048バイト 2KB

    216= 65536ビット 64Kbit 8192バイト 8KB

    220= 1048576ビット 1Mbit 131072バイト 131KB

    230=1073741824ビット 1Gbit 134217728バイト 134MB

  • メモリ回路構成例例えば16Kビットメモリの場合

    1ビット構成 並列 1ビット*16384

    4ビット構成 並列 4ビット* 4096

    8ビット構成 系列 8ビット* 2048

    データ線

    D7

    D0

    1Bit

    構成

    4bit

    構成

    8bit

    構成

    行アドレス

    列アドレスメモリ メモリ メモリ

  • メモリ回路例

    ROM 8KB 0000H ~ 1FFFH メモリ名 2764RAM 8KB 2000H ~3FFFH メモリ名 6264

    RAM(6264)

    ROM(2764)

    D A

    ADD0-13

    A14

    CSCS

    RD

    MREQ

    WR

    1FFFH

    3FFFH

    0000H

    FFFFH

    ROM

    RAMOE OE

    WW

  • i8255の動作

    1.形状とピン配置

    2.i8255のブロック構成

    3.動作モード

    4.コントロールワードの設定

    5.Cポートのビット制御ワードの設定

    6.回路例

  • 1.形状とピン配置内部側端子 外部側端子

    PA7

    PA0

    PB7

    PB0

    PC7

    PC4PC3

    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は00モード1のときD6D5は01モード2のときD6D5は1X

    ポートA OUTPUTのとき 0INPUTのとき 1

    ポートC(上位4ビット)

    グループBモード

    モード0のとき 0

    モード1のとき 1

    OUTPUTのとき 0INPUTのとき 1

    ポートB

    OUTPUTのとき 0INPUTのとき 1

    ポートC(下位4ビット)

    D7 D6 D5 D4 D3 D2 D1 D0

  • 5.i8255のビットセットリセットコントロールワードの設定ビットセット/リセットのコントロールワード

    であるとき 0ドントケア

    ビット選択

    セット/リセット

    セット (”H")のとき 1リセット(”L")のとき 0

    ポートC

    選択ビットD3 D2 D1

    PC7 1 1 1PC6 1 1 0PC5 1 0 1PC4 1 0 0PC3 0 1 1PC2 0 1 0PC1 0 0 1PC0 0 0 0

    D7 D6 D4 D3 D2 D1 D0D5

  • 6.回路例

    C5

    C4

    C3

    C2

    C1

    C0

    i8255

    A 1

    A3

    A0

    DA

    60-5

    PMM8713

    US

    GND

    5V

    START

    STOP

    MODE

    GOAL

    5V

    CS

    WR

    RD

    RESET

    RD

    WR

    IORQ

    図 2 6 i 8 2 5 5 回 路

  • Z80PIOの動作

    1.形状とピン配置

    2.Z80PIOの構成

    3.動作モード

    4.コントロールワードの設定

    5.

    6.回路例

  • 1.形状とピン配置

  • 2.Z80PIOの構成

  • 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のみ

  • 5.プログラム例(1)

  • 5.プログラム例(2)

  • 5.プログラム例(3)

  • i8251の構成

  • 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) 受信用クロックパルス

  • Z80CTCの動作

  • Z80SIOの動作

  • マイクロコンピュータを構成する部品の知識 抵抗

    1.固定抵抗

    2.集合抵抗

    3.可変抵抗

    4.抵抗の等価回路

  • マイクロコンピュータを構成する部品の知識 コンデンサ

    1.固定コンデンサ2.可変コンデンサ3.コンデンサの種類電解コンデンサ セラミックコンデンサ マイラコンデンサ 空気コンデンサ

    4.コンデンサの等価回路と周波数特性

  • マイクロコンピュータを構成する部品の知識 ダイオード

    1.整流ダイオード

    2.発光ダイオード

    3.検波ダイオード

    4.定電圧ダイオード

    5.定電流ダイオード

    6.可変容量ダイオード

    7.フォットダイオード

  • マイクロコンピュータを構成する部品の知識 トランジスタ

    1.トランジスタの構造(PNP,NPN)

    2.トランジスタの動作

    3.

  • マイクロコンピュータを構成する部品の知識 TTL

  • マイクロコンピュータを構成する部品の知識 基板

  • マイクロコンピュータを構成する部品の知識 OPアンプ

    1.形状2.名称例3.差動増幅回路4.非反転増幅回路5.反転増幅回路6.微分回路7.積分回路8.加算回路9.比較回路

  • OPアンプの動作(差動増幅)

  • OPアンプの動作(反転増幅)

  • OPアンプの動作(非反転増幅)

  • OPアンプの動作(微分回路)

  • OPアンプの動作(積分動作)

  • OPアンプの動作(比較動作)

  • OPアンプの動作(加算回路)

  • マイクロコンピュータを構成する部品の知識 FET

  • 論理回路の知識 (OR,NOR)

  • 論理回路の知識(AND NAND)

  • 論理回路の知識(BUFFER NOR)

  • 論理素子のシンボル

  • カラーコードの知識

    1 茶を1杯2 赤い2んじん3 第3の男4 黄子恵子5 五月みどり みどりご6 青二才の6で無し7 紫7部8 8イヤー9 ホワイト9リスマス0 黒い0服

  • パワーオンリセット動作

    Z80は電源ONしてもプログラムカウンタは0000Hでない

  • プルアップ回路と動作

  • スリーステートバッファ回路の動作

  • 回路の知識(定電圧駆動と定電流駆動)

  • 回路の知識(鳳ーテブナンの定理)

  • 回路の知識(重ね合わせの理)

  • 電子回路の知識(等価回路)

  • i8255による制御回路例

    RESET

    PB0

    PB0

    PB7

    PA0

    PA7

    PC0

    PC7

    AB

    012

    22

    5V

    5V

    5V

    3.9V

    1K

    1K

    1K1K

    22

    22

    22

    22

    22

    22

    220

    5V

    20K

    3.9V

    3K

    1.1K

    0.1

    10K TPS603

    ホトTR

    10μF10K

    10K

    8.2K 20K

    100K

    1K10μF

    MIC

    3.3K

    3.9V

    外部入力

    LED1

    LED8

    μPA2003×4

    7406×4

    DATAC0C1

    VCC RS

    C0CLK

    A1

    A0A2

    A3

    10K

    リレー1 リレー35V

    μPA2003×3

    10K

    VR

    10μF

    10μF

    100μF

    LM386

    2SD633×41K

    1K

    1K

    1K

    PA0

    PA7

    PC0

    PC7

    PB7

    PB4

    PB1

    PB2

    PB3

    CS

    RESET

    A0

    A1

    RD

    WR

    D0

    D7

    D7

    D0

    RD

    WR

    A0

    A1

    CS

    DIR

    A B

    G

    10K

    5V

    1K

    74LS32

    74LS00

    74LS04

    74LS04

    74LS04

    74LS04

    10K 5V

    5V

    10K

    10K 10K 10K

    74LS00

    74LS266

    74LS139

    74LS245

    33

    5V

    3.9V

    GND

    47μF

    RD3.9EB

    0.1×9

    47μF100μF

    5V

    GND

    割り込み出力

    5V

    5V

    10K

    10KI/OW(WR)

    I/OR(RD)

    D0

    D7

    I/O

    RESETOUT

    A1

    A0

    A2A3

    A4

    A5

    A6

    A7

    割り込みSW

    IC2

    i8255

    IC1

    i8255

    5V

    LM358

    LM358MZ-5 MZ-5MZ-5

    SP

    MB-4052

    JD

    JC

    JB

    JA

  • ブロック構成図

    LED駆動回路

    リレー駆動回路

    オーディオアンプ

    スピーカ

    A/D

    コンバータ

    SW-1 SW-2 SW-3 SW-4

    リレー

    リレー

    リレー

    外線端子

    ホトトランジスタ

    サーミスタ

    マイク

    外線端子

    温度

    ブッファ

    ポートA

    ポートB

    ポートC

    ユーザに開放

    PB7-0

    PC7

    PC6-4

    PA3-0

    PA7

    PC3-0

    アドレス

    レコード

    回 路

    A2-1

    D7-0

    CS

    WR

    RD

    CS

    A2-1

    WR

    RD

    D7-0

    IC

    28255A

    A2-1

    WR

    RD

    D7-0

    A7-2

    IORQ

    IC

    18255A

  • アドレスレコード回路

    A0

    A1

    A2

    A3

    A4

    A5

    A7

    A6

    5V

    Y0

    Y1

    Y2

    Y3

    CS

    JA

    CS

    5VSB8-103

    SB8-103

    A0

    A1

    74LS00

    74LS266

    10K ×4

    2.2K 74LS139

    図 5 ア ド レ ス レ コ ー ド 回 路

    8255

    8255

  • LED駆動回路

    2.7K

    7.2K

    3K

    220・ PA-2003

    220

    8255A

    ポートB8255A

    ポートB

    5V 5V

    7406

    図 6 L E D 駆 動 回 路

  • センサ回路MIC

    RS

    DATA

    ADC・CLK

    C 0

    A 0

    A 1

    A 2

    A 3

    C 1

    VCC 2

    CS

    MB4025

    3.9V

    10・F1K

    100K

    10K

    3.3K

    10K

    1 0・F

    LM358

    20K

    3K

    1.1K

    8 .2K

    20K

    0.1・F

    3.9V

    10K

    5V

    3.9V

    LM358

    図 1 2 セ ン サ 回 路

    PA7

    PC3

    PC2

    PC1

    PC0

    8255A

    外部入力

    サーミスタ

    ホトTR

    TPS603

    2 .0

    1.8

    1.6

    1.4

    1.2

    1.0

    0.8

    0.6

    0.2

    0.4

    0.0

    -10 0 10 20 30 40

    出力電圧

    (V)

    温度(゜C)

    図 1 3 温 度 セ ン サ 回 路 の 出 力 電 圧

  • ステッピングモータの構造

    A相

    B相

    A相

    B相

    A’A’

    B B

    B’

    B’

    赤白

    図 1 4 ス テ ッ ピ ン グ モ ー タ K P 4 P 8 - 2 0 6 の 構 造

    固定子

    B’

    B’

    +電源へ+電源へ

    A’A’

  • デジタルシステム装置の設計例(ワンボードマイコン)

  • デジタルシステム装置の設計例(マイクロマウス)