情報工学実験Ⅱ講義 -...

193
情報工学実験Ⅱ講義 1週 A1 マイクロコンピュータ・トレーニングの使い方 2週 A2 マイクロプロセッサZ80CPUの構造と命令 3週 B1 i8255の構造と使い方 4週 B2 音の発生と待ちプログラム 5週 B3 キー入力回路の知識 6週 B4 A/D D/A変換回路の知識 7週 C1 TTLの特性 8週 C2 TTLの使い方 9週 C3 トランジスタ回路の増幅 第10週 C4 トランジスタ回路のスイッチング動作 第11週 C5 インタフェースの知識 第12週 C6 OPアンプ回路の知識 第13週 C7 テスト

Transcript of 情報工学実験Ⅱ講義 -...

Page 1: 情報工学実験Ⅱ講義 - 福岡工業大学y-tani/Lecture/Other/lec2.pdf情報工学実験Ⅱ講義 第1週A1 マイクロコンピュータ・トレーニングの使い方 第2週A2

情報工学実験Ⅱ講義

第 1週 A1 マイクロコンピュータ・トレーニングの使い方第 2週 A2 マイクロプロセッサZ80CPUの構造と命令第 3週 B1 i8255の構造と使い方第 4週 B2 音の発生と待ちプログラム第 5週 B3 キー入力回路の知識第 6週 B4 A/D D/A変換回路の知識第 7週 C1 TTLの特性第 8週 C2 TTLの使い方第 9週 C3 トランジスタ回路の増幅第10週 C4 トランジスタ回路のスイッチング動作第11週 C5 インタフェースの知識第12週 C6 OPアンプ回路の知識第13週 C7 テスト

Page 2: 情報工学実験Ⅱ講義 - 福岡工業大学y-tani/Lecture/Other/lec2.pdf情報工学実験Ⅱ講義 第1週A1 マイクロコンピュータ・トレーニングの使い方 第2週A2

第1週 ワンボードマイコンの使い方

Page 3: 情報工学実験Ⅱ講義 - 福岡工業大学y-tani/Lecture/Other/lec2.pdf情報工学実験Ⅱ講義 第1週A1 マイクロコンピュータ・トレーニングの使い方 第2週A2

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

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ビット

インテル

モトローラ

ザイログ

ビット・スライス

Page 4: 情報工学実験Ⅱ講義 - 福岡工業大学y-tani/Lecture/Other/lec2.pdf情報工学実験Ⅱ講義 第1週A1 マイクロコンピュータ・トレーニングの使い方 第2週A2

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

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

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

・ PICマイコングループMicrochip Technology PICシリーズ

Page 5: 情報工学実験Ⅱ講義 - 福岡工業大学y-tani/Lecture/Other/lec2.pdf情報工学実験Ⅱ講義 第1週A1 マイクロコンピュータ・トレーニングの使い方 第2週A2

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

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

など

Page 6: 情報工学実験Ⅱ講義 - 福岡工業大学y-tani/Lecture/Other/lec2.pdf情報工学実験Ⅱ講義 第1週A1 マイクロコンピュータ・トレーニングの使い方 第2週A2

記憶容量の表現

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

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

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

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

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

Page 7: 情報工学実験Ⅱ講義 - 福岡工業大学y-tani/Lecture/Other/lec2.pdf情報工学実験Ⅱ講義 第1週A1 マイクロコンピュータ・トレーニングの使い方 第2週A2

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

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

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

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

データ線

D7

D0

1Bit

構成

4bit

構成

8bit

構成

行アドレス

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

Page 8: 情報工学実験Ⅱ講義 - 福岡工業大学y-tani/Lecture/Other/lec2.pdf情報工学実験Ⅱ講義 第1週A1 マイクロコンピュータ・トレーニングの使い方 第2週A2

メモリ回路例

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

Page 9: 情報工学実験Ⅱ講義 - 福岡工業大学y-tani/Lecture/Other/lec2.pdf情報工学実験Ⅱ講義 第1週A1 マイクロコンピュータ・トレーニングの使い方 第2週A2

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

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

5V

SW

図 2 3 リ セ ッ ト 回 路

5VR

F/F

φ

図 2 2 水 晶 発 振 回 路

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

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

Page 10: 情報工学実験Ⅱ講義 - 福岡工業大学y-tani/Lecture/Other/lec2.pdf情報工学実験Ⅱ講義 第1週A1 マイクロコンピュータ・トレーニングの使い方 第2週A2

ICメモリの種類

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

Read write memory RWM read only memory ROM

電源を切るとデータが消える 電源を切ってもデータは消えない

Page 11: 情報工学実験Ⅱ講義 - 福岡工業大学y-tani/Lecture/Other/lec2.pdf情報工学実験Ⅱ講義 第1週A1 マイクロコンピュータ・トレーニングの使い方 第2週A2

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)

Page 12: 情報工学実験Ⅱ講義 - 福岡工業大学y-tani/Lecture/Other/lec2.pdf情報工学実験Ⅱ講義 第1週A1 マイクロコンピュータ・トレーニングの使い方 第2週A2

ワンボードマイコンの回路

Page 13: 情報工学実験Ⅱ講義 - 福岡工業大学y-tani/Lecture/Other/lec2.pdf情報工学実験Ⅱ講義 第1週A1 マイクロコンピュータ・トレーニングの使い方 第2週A2
Page 14: 情報工学実験Ⅱ講義 - 福岡工業大学y-tani/Lecture/Other/lec2.pdf情報工学実験Ⅱ講義 第1週A1 マイクロコンピュータ・トレーニングの使い方 第2週A2

第2週A2マイクロプロセッサZ80CPUの構造と

命令

Page 15: 情報工学実験Ⅱ講義 - 福岡工業大学y-tani/Lecture/Other/lec2.pdf情報工学実験Ⅱ講義 第1週A1 マイクロコンピュータ・トレーニングの使い方 第2週A2

Z80マイクロプロセッサのアーキテクチャ

B C

D E

H L

IX

IY

SP

PC

C’E’

L’

IR

バッファ

ALU

A

F

A'

バッファ

内部バス データバス

アドレスバス

コントロール

バス

メモリ

&入出力ポート

レジスタ指定

デコーダ

フラグ

Page 16: 情報工学実験Ⅱ講義 - 福岡工業大学y-tani/Lecture/Other/lec2.pdf情報工学実験Ⅱ講義 第1週A1 マイクロコンピュータ・トレーニングの使い方 第2週A2

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 リフレッシュレジスタ

Page 17: 情報工学実験Ⅱ講義 - 福岡工業大学y-tani/Lecture/Other/lec2.pdf情報工学実験Ⅱ講義 第1週A1 マイクロコンピュータ・トレーニングの使い方 第2週A2

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

負論理動作

正論理動作

Page 18: 情報工学実験Ⅱ講義 - 福岡工業大学y-tani/Lecture/Other/lec2.pdf情報工学実験Ⅱ講義 第1週A1 マイクロコンピュータ・トレーニングの使い方 第2週A2

Z80CPUの端子の機能(1)アドレスA0-A15 ; アドレスバス トライステート,アクティブ“H”

メモリ内のデータや入出力デバイスのデータの送受のためのアドレス指定を行う.データD7-D0 ;データバス トライステート,アクティブ“H”

8ビットの双方向性データバス.M1 ; マシンサイクル 出力 アクティブ “L”

現在のマシンサイクルが命令実行中のOPコードフェッチサイクルであるときに出力.2バイトのOPコード実行中にはOPコードフェッチサイクル毎に出力.MERQ ; メモリ要求 トライステート出力 アクティブ“L”

メモリ読み出し,メモリ書き込みの実効アドレスがアドレスバスに乗っているときに出される.IORQ ; 入出力要求 トライステート出力 アクティブ“L”

入出力の読み出し書き込みのための実効入出力アドレスがアドレスバスの下位8ビット上に乗っているときに出される.

Page 19: 情報工学実験Ⅱ講義 - 福岡工業大学y-tani/Lecture/Other/lec2.pdf情報工学実験Ⅱ講義 第1週A1 マイクロコンピュータ・トレーニングの使い方 第2週A2

Z80CPUの端子の機能(2)

RD ; メモリ読み出し トライステート出力 アクティブ“L”CPUがメモリ,あるいは入出力デバイスからデータを受け入

れる期間に出力.

WR ; メモリ書き込み トライステート出力 アクティブ“L”CPUデータバスに指定したメモリあるいは入出力デバイスに

ストアするべきデータが乗っているときに出される.

RFSH ; レフレッシュ 出力 アクテイブ“L”ダイナミックメモリのためのリフレッシュアドレスがアドレスバスに乗っているときに出される.

HALT ; ホールド 出力 アクティブ“L”CPUがHALT命令を実行し,ノンマスカブルあるいはノンマスカブルな割り込み待ちとなったとき出される.ホールド時はNOPを実行することによりリフレッシュ信号を出し続ける.

Page 20: 情報工学実験Ⅱ講義 - 福岡工業大学y-tani/Lecture/Other/lec2.pdf情報工学実験Ⅱ講義 第1週A1 マイクロコンピュータ・トレーニングの使い方 第2週A2

Z80CPUの端子の機能(3)

WAIT ; ウエイト 入力 アクティブ“L”この信号を用いて,メモリあるいは入出力デバイスがデータの送出の準備が出来ていない旨をZ80CPUに知らせる.この信号がアクティブである限りCPUはウェイト状態を続ける.

INT ; 割り込み要求 入力 アクティブ“L”割り込み要求信号は入出力デバイスから発せられる.ソフト的(プログラム)に割り込み許可フラグ(1FF)がセットしてあり,BUSRQ信号がノンアクティブならば割り込み要求は実行中の命令が終わり次第受け付けられる.

NMI ; ノンマスカブル割り込み 入力 下がりエッジ検知INTより高位の優先順位を持っていて現在実行中の命令の最後のTサイクルの立ち上がりまでに入力しているとその命令完了後に受け付けられる.割り込みの許可フラグに関係ない.NMI入力でCPUは自動的に0066H番地からスタートする.

Page 21: 情報工学実験Ⅱ講義 - 福岡工業大学y-tani/Lecture/Other/lec2.pdf情報工学実験Ⅱ講義 第1週A1 マイクロコンピュータ・トレーニングの使い方 第2週A2

Z80CPUの端子の機能(4)RESET ; 入力 アクティブ“L”RESET入力によりプログラムカウンタはゼロとなりCPUは初期化される.このとき次の状態になる.

1)割り込み許可フラグがリセットされる.2)レジスタI=00H3)レジスタR=00H 4)割り込みはモード0にセットされる.

BUSRQ ; バス要求 入力 アクテイブ“L”バス要求信号によりCPUのアドレスバス,データバス,及びトライステート出力の制御線は他のデバイスが使用できるように高インピーダンスとなる.

BUSAK ; バスアクノレッジ 出力 アクテイブ“L”CPUのアドレスバスデータバス及びトライステート制御バスが高インピーダンスとなり外部デバイスが使用できるようになった時点で出力

Φ ; 単相のTTLレベルのクロック信号

Page 22: 情報工学実験Ⅱ講義 - 福岡工業大学y-tani/Lecture/Other/lec2.pdf情報工学実験Ⅱ講義 第1週A1 マイクロコンピュータ・トレーニングの使い方 第2週A2

CPU基本タイミング例

φ

サイクル命令

MI M2 M3

(OPコード・フェッチ) (メモリ読み出し) (メモリ書き込み)

T1 T2 T3 T4 T1 T2 T3 T1 T2 T3

マシン・サイクル

CPU基本タイミング例

Tサイクル

Page 23: 情報工学実験Ⅱ講義 - 福岡工業大学y-tani/Lecture/Other/lec2.pdf情報工学実験Ⅱ講義 第1週A1 マイクロコンピュータ・トレーニングの使い方 第2週A2

命令OPコードフェッチサイクルM1サイクル

T1 T2 T3 T4 T1

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

入力

RFSH

DB0~DB7

M1

WAIT

RD

MREQ

A0~A15

φ

命令OPコード・フェッチ(M1サイクル)

Page 24: 情報工学実験Ⅱ講義 - 福岡工業大学y-tani/Lecture/Other/lec2.pdf情報工学実験Ⅱ講義 第1週A1 マイクロコンピュータ・トレーニングの使い方 第2週A2

待ち時間を含む命令OPコードフェッチ

入力

φ

A0~A15

MREQ

RD

DB0~DB

M1

WAIT

RFSH

T1 T2 TW TW T3 T4

M1サイクル

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

待ち状態を含む命令OPコード・フェッチ

Page 25: 情報工学実験Ⅱ講義 - 福岡工業大学y-tani/Lecture/Other/lec2.pdf情報工学実験Ⅱ講義 第1週A1 マイクロコンピュータ・トレーニングの使い方 第2週A2

メモリ読み出し書き込みサイクル

T1 T2 T3 T1 T2 T3

メモリ読み出しサイクル メモリ書き込みサイクル

メモリ・アドレス メモリ・アドレス

入力 データ出力

図4-3 メモリ読み出し、書き込みサイクル

φ

A0~A15

MREQ

RD

WR

(D0~D7)

WAIT

Page 26: 情報工学実験Ⅱ講義 - 福岡工業大学y-tani/Lecture/Other/lec2.pdf情報工学実験Ⅱ講義 第1週A1 マイクロコンピュータ・トレーニングの使い方 第2週A2

待ち時間を含むメモリ読み出し書き込みサイクルT1 T2

φ

A0~A15

MREQ

WR

WAIT

TW TW T1T3

メモリ・アドレス

入力

データ出力

(D0~D7)

図4-3A 待ち状態を含むメモリ読み出し、書き込みサイクル

読み出し

サイクル

書き込み

サイクル

(D0~D7)

RD

Page 27: 情報工学実験Ⅱ講義 - 福岡工業大学y-tani/Lecture/Other/lec2.pdf情報工学実験Ⅱ講義 第1週A1 マイクロコンピュータ・トレーニングの使い方 第2週A2

入力・出力サイクル

T1 T2 TW T3 T1

入力

出力

φ

A0~A7

IORQ

RD

データ・バス

WAIT

WR

読み出し

サイクル

書き込み

サイクル

図4-4 入力、出力サイクル

データ・バス

Page 28: 情報工学実験Ⅱ講義 - 福岡工業大学y-tani/Lecture/Other/lec2.pdf情報工学実験Ⅱ講義 第1週A1 マイクロコンピュータ・トレーニングの使い方 第2週A2

待ち状態を含む入力・出力サイクル

T1 T2 TW TW T3

ポート・アドレス

入力

出力

φ

A0~A7

IORQ

データ・バス

RD

WAIT

読み出し

サイクル

書き込み

サイクル

図4-4A 待ち状態を含む入力、出力サイクル

データ・バス

WR

Page 29: 情報工学実験Ⅱ講義 - 福岡工業大学y-tani/Lecture/Other/lec2.pdf情報工学実験Ⅱ講義 第1週A1 マイクロコンピュータ・トレーニングの使い方 第2週A2

バス要求アクノレッジサイクル

最終TステートTx Tx Tx T1

サンプル

フロート状態

サンプル

図4-5 バス要求/アクノリッジ・サイクル

BUSRQ

φ

BUSAK

A0~A15

MREQ、RDWR、IORQRFSH

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

D0~D7

Page 30: 情報工学実験Ⅱ講義 - 福岡工業大学y-tani/Lecture/Other/lec2.pdf情報工学実験Ⅱ講義 第1週A1 マイクロコンピュータ・トレーニングの使い方 第2週A2

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

プログラム・カウンタ

入力

リフレッシュ

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

最終Tサイクル命令の最終Mサイクル M1

T1 T2 TW* TW* T3

φ

A0~A15

M1

MREQ

IORQ

データ・バス

WAIT

RD

INT

Page 31: 情報工学実験Ⅱ講義 - 福岡工業大学y-tani/Lecture/Other/lec2.pdf情報工学実験Ⅱ講義 第1週A1 マイクロコンピュータ・トレーニングの使い方 第2週A2

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

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

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

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

T1 T1T2 T3 T4

φ

NM1

A0~A15

M1

MREQ

RD

RFSH

Page 32: 情報工学実験Ⅱ講義 - 福岡工業大学y-tani/Lecture/Other/lec2.pdf情報工学実験Ⅱ講義 第1週A1 マイクロコンピュータ・トレーニングの使い方 第2週A2

ホールド状態解除

φ

HALT

INTor

NM1

M1 M1M1

T4 T1 T1T2 T2T4T3

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

メモリ・サイクル期間

で受け付けられる。

Page 33: 情報工学実験Ⅱ講義 - 福岡工業大学y-tani/Lecture/Other/lec2.pdf情報工学実験Ⅱ講義 第1週A1 マイクロコンピュータ・トレーニングの使い方 第2週A2

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

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

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

T1 T2 TW TW TW T3

WAIT

データ・バス

IORQ’

IORQ

M1

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

Tステート

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

Page 34: 情報工学実験Ⅱ講義 - 福岡工業大学y-tani/Lecture/Other/lec2.pdf情報工学実験Ⅱ講義 第1週A1 マイクロコンピュータ・トレーニングの使い方 第2週A2

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

・ ・ ・ ・ ・ ・ 変化なし

バイト数 3Mサイクル数 1Tステート数 10

Page 35: 情報工学実験Ⅱ講義 - 福岡工業大学y-tani/Lecture/Other/lec2.pdf情報工学実験Ⅱ講義 第1週A1 マイクロコンピュータ・トレーニングの使い方 第2週A2

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

1.メモリ・レジスタ直接アドレス指定memory register direct addressing

2.レジスタ間接アドレス指定register indirect addressing

3.直接数値指定immediate addressing

4.インデックスアドレス指定index addressing

5.相対アドレス指定relative addressing

6.ビット指定bit addressing

教科書版

Page 36: 情報工学実験Ⅱ講義 - 福岡工業大学y-tani/Lecture/Other/lec2.pdf情報工学実験Ⅱ講義 第1週A1 マイクロコンピュータ・トレーニングの使い方 第2週A2

Z80のアドレッシング・モード

1. イミディエット・アドレッシング2. 拡張イミディエット・アドレッシング3. ゼロ・ページ修飾アドレッシング4. 相対アドレッシング5. 拡張アドレッシング6. インデックスド・アドレッシング7. レジスタ・アドレッシング8. インブライト・アドレッシング9. レジスタ間接アドレッシング10. ビット・アドレッシング

Page 37: 情報工学実験Ⅱ講義 - 福岡工業大学y-tani/Lecture/Other/lec2.pdf情報工学実験Ⅱ講義 第1週A1 マイクロコンピュータ・トレーニングの使い方 第2週A2

1. イミディエット・アドレッシング

OPコードに続く1バイトを実効オペランドとする.

OPコード オペランド

例1 アキュームレータに定数をロードする.LD A , 80H A <= 80H

Page 38: 情報工学実験Ⅱ講義 - 福岡工業大学y-tani/Lecture/Other/lec2.pdf情報工学実験Ⅱ講義 第1週A1 マイクロコンピュータ・トレーニングの使い方 第2週A2

2. 拡張イミディエット・アドレッシング

イミディエット・アドレッシングを拡張したものでオペランドが2バイトになっている.

OPコード オペランド オペランド

(下位データ) (上位データ)

例 16ビットデータをHLレジスタ対にロードする.

LD HL , nn HL <= nn

LD HL ,1234H

Page 39: 情報工学実験Ⅱ講義 - 福岡工業大学y-tani/Lecture/Other/lec2.pdf情報工学実験Ⅱ講義 第1週A1 マイクロコンピュータ・トレーニングの使い方 第2週A2

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へジャンプ

Page 40: 情報工学実験Ⅱ講義 - 福岡工業大学y-tani/Lecture/Other/lec2.pdf情報工学実験Ⅱ講義 第1週A1 マイクロコンピュータ・トレーニングの使い方 第2週A2

4. 相対アドレッシング

OPコードに続く1バイトにより,ジャンプ命令のある場所からのジャンプ先を指定する.

OPコード オペランド(2の補数)

ジャンプ先:OPコードのアドレス+2+(オペランド)

符号付き2の補数の範囲は-128から+127であるので

+129から-126の範囲へのジャンプ指定となる.

例 JR e PC <= PC+e

JR命令のある番地からeだけ離れた番地へ無条件でジャンプする

Page 41: 情報工学実験Ⅱ講義 - 福岡工業大学y-tani/Lecture/Other/lec2.pdf情報工学実験Ⅱ講義 第1週A1 マイクロコンピュータ・トレーニングの使い方 第2週A2

5. 拡張アドレッシング

命令に2バイトのアドレスデータを含む.メモリのある番地から他の番地へジャンプしたり,ある位置でのデータの出し入れに使う.

OPコード下位アドレスまたは下位オペランド上位アドレスまたは上位オペランド

例 LD A , (nn) A <= (nn)

LD A ,(1234H)1234H番地の内容をAレジスタに転送する

Page 42: 情報工学実験Ⅱ講義 - 福岡工業大学y-tani/Lecture/Other/lec2.pdf情報工学実験Ⅱ講義 第1週A1 マイクロコンピュータ・トレーニングの使い方 第2週A2

6. インデックスド・アドレッシング

OPコードのあとにメモリ・アドレスのポインタであるインデックスレジスタの内容に加えるディスプレイスメントを指定するデータバイトが置かれる.この操作でインデックスレジスタの内容は変わらない.

OPコード OPコード d(ディスプレイスメント)

(2バイトコード) (符号付き2の補数)

例 LD A ,(IX+d) A <= (IX+d)インデックスレジスタで指定するアドレスにdを加えたアドレスの内容をAレジスタに転送する.

Page 43: 情報工学実験Ⅱ講義 - 福岡工業大学y-tani/Lecture/Other/lec2.pdf情報工学実験Ⅱ講義 第1週A1 マイクロコンピュータ・トレーニングの使い方 第2週A2

7. レジスタ・アドレッシング

OPコード内にレジスタ指定ビットがある.1バイト命令である.

OPコード

例 LD B ,C B <= C

Page 44: 情報工学実験Ⅱ講義 - 福岡工業大学y-tani/Lecture/Other/lec2.pdf情報工学実験Ⅱ講義 第1週A1 マイクロコンピュータ・トレーニングの使い方 第2週A2

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

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

OPコード

例1 演算命令

ADD A , B A <= A+B

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

Page 45: 情報工学実験Ⅱ講義 - 福岡工業大学y-tani/Lecture/Other/lec2.pdf情報工学実験Ⅱ講義 第1週A1 マイクロコンピュータ・トレーニングの使い方 第2週A2

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

メモリ内の位置指定のポインタとして16ビットのレジスタペアが使用される.

OPコード (1バイトまたは2バイト)

例 LD A , (HL) A <= (HL)

HLで示す番地の内容をAレジスタに転送する.

Page 46: 情報工学実験Ⅱ講義 - 福岡工業大学y-tani/Lecture/Other/lec2.pdf情報工学実験Ⅱ講義 第1週A1 マイクロコンピュータ・トレーニングの使い方 第2週A2

10. ビット・アドレッシング

Z80にはビットセット リセット テスト命令がある.これらの命令は,どのメモリ位置 CPUレジスタに対しても有効でレジスタ,レジスタ間接及びインデックスドのいずれのアドレッシングモードでも操作できる.

例 BIT 0,A

A の0ビット目のテスト,結果はFレジスタに

RES 1,(HL)

HLで示す番地の内容の1ビット目のを0にする.

SET 2,(IX+d)

インデックスレジスタで示すアドレス+d番地の内容の2ビット目を1にする.

Page 47: 情報工学実験Ⅱ講義 - 福岡工業大学y-tani/Lecture/Other/lec2.pdf情報工学実験Ⅱ講義 第1週A1 マイクロコンピュータ・トレーニングの使い方 第2週A2

メモリ・レジスタ直接アドレス指定

メモリの番地やレジスタ名を直接命令の中で指定する

1. ADD A , B A <= A + B2. LD A , (0100H) A <= (0100H)

Page 48: 情報工学実験Ⅱ講義 - 福岡工業大学y-tani/Lecture/Other/lec2.pdf情報工学実験Ⅱ講義 第1週A1 マイクロコンピュータ・トレーニングの使い方 第2週A2

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

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

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

(3)分岐命令( branch instruction )

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

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

(6)CPU制御命令( CPU control instruction )

Page 49: 情報工学実験Ⅱ講義 - 福岡工業大学y-tani/Lecture/Other/lec2.pdf情報工学実験Ⅱ講義 第1週A1 マイクロコンピュータ・トレーニングの使い方 第2週A2

(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)

Page 50: 情報工学実験Ⅱ講義 - 福岡工業大学y-tani/Lecture/Other/lec2.pdf情報工学実験Ⅱ講義 第1週A1 マイクロコンピュータ・トレーニングの使い方 第2週A2

(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

Page 51: 情報工学実験Ⅱ講義 - 福岡工業大学y-tani/Lecture/Other/lec2.pdf情報工学実験Ⅱ講義 第1週A1 マイクロコンピュータ・トレーニングの使い方 第2週A2

(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”

Page 52: 情報工学実験Ⅱ講義 - 福岡工業大学y-tani/Lecture/Other/lec2.pdf情報工学実験Ⅱ講義 第1週A1 マイクロコンピュータ・トレーニングの使い方 第2週A2

(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”

Page 53: 情報工学実験Ⅱ講義 - 福岡工業大学y-tani/Lecture/Other/lec2.pdf情報工学実験Ⅱ講義 第1週A1 マイクロコンピュータ・トレーニングの使い方 第2週A2

(5)入出力命令

ニーモニック 機能

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

IN r , ( C ) r <= ( C )

レジスタCで示すポート番号の内容を r レジスタに入力

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

OUT (C),A レジスタCで示すポート番号<=A

他に

OTIR,OUTD,OTDR,INI,INIR,IND,INDR

Page 54: 情報工学実験Ⅱ講義 - 福岡工業大学y-tani/Lecture/Other/lec2.pdf情報工学実験Ⅱ講義 第1週A1 マイクロコンピュータ・トレーニングの使い方 第2週A2

(6)CPU制御命令

ニーモニック 機能

NOP 何もしない

HALT 停止状態になる

DI 割り込み受付禁止

EI 割り込み受付許可

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

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

IM2 割り込みモード2

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

Page 55: 情報工学実験Ⅱ講義 - 福岡工業大学y-tani/Lecture/Other/lec2.pdf情報工学実験Ⅱ講義 第1週A1 マイクロコンピュータ・トレーニングの使い方 第2週A2

ローティとシフト命令

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

Page 56: 情報工学実験Ⅱ講義 - 福岡工業大学y-tani/Lecture/Other/lec2.pdf情報工学実験Ⅱ講義 第1週A1 マイクロコンピュータ・トレーニングの使い方 第2週A2

ブロックサーチ命令

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がゼロか,比較した結果が等しくなるまで繰り返す.

Page 57: 情報工学実験Ⅱ講義 - 福岡工業大学y-tani/Lecture/Other/lec2.pdf情報工学実験Ⅱ講義 第1週A1 マイクロコンピュータ・トレーニングの使い方 第2週A2

交換

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)

Page 58: 情報工学実験Ⅱ講義 - 福岡工業大学y-tani/Lecture/Other/lec2.pdf情報工学実験Ⅱ講義 第1週A1 マイクロコンピュータ・トレーニングの使い方 第2週A2

リスタート命令

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

Page 59: 情報工学実験Ⅱ講義 - 福岡工業大学y-tani/Lecture/Other/lec2.pdf情報工学実験Ⅱ講義 第1週A1 マイクロコンピュータ・トレーニングの使い方 第2週A2

その他の操作命令

DAA

2進化10進法による加減算の際にAの内容を補正する

CPL

Aの内容について1の補数をとる.(反転させる)

NEG A<=0-A

Aの内容について2の補数をとる.

CCF

キャリーフラグの内容の1の補数をとる

SCF CY <= 1

キャリーフラグをセットする.

Page 60: 情報工学実験Ⅱ講義 - 福岡工業大学y-tani/Lecture/Other/lec2.pdf情報工学実験Ⅱ講義 第1週A1 マイクロコンピュータ・トレーニングの使い方 第2週A2

ブロック転送命令

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

(HL)の内容を(DE)へ転送する.この操作をBCが0になるまで繰り返す.

Page 61: 情報工学実験Ⅱ講義 - 福岡工業大学y-tani/Lecture/Other/lec2.pdf情報工学実験Ⅱ講義 第1週A1 マイクロコンピュータ・トレーニングの使い方 第2週A2

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

Page 62: 情報工学実験Ⅱ講義 - 福岡工業大学y-tani/Lecture/Other/lec2.pdf情報工学実験Ⅱ講義 第1週A1 マイクロコンピュータ・トレーニングの使い方 第2週A2

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

ディスティネーション

クスド

クスド

Page 63: 情報工学実験Ⅱ講義 - 福岡工業大学y-tani/Lecture/Other/lec2.pdf情報工学実験Ⅱ講義 第1週A1 マイクロコンピュータ・トレーニングの使い方 第2週A2

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が修正される。

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

Page 64: 情報工学実験Ⅱ講義 - 福岡工業大学y-tani/Lecture/Other/lec2.pdf情報工学実験Ⅱ講義 第1週A1 マイクロコンピュータ・トレーニングの使い方 第2週A2

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

Page 65: 情報工学実験Ⅱ講義 - 福岡工業大学y-tani/Lecture/Other/lec2.pdf情報工学実験Ⅱ講義 第1週A1 マイクロコンピュータ・トレーニングの使い方 第2週A2

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

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章参照。

Page 66: 情報工学実験Ⅱ講義 - 福岡工業大学y-tani/Lecture/Other/lec2.pdf情報工学実験Ⅱ講義 第1週A1 マイクロコンピュータ・トレーニングの使い方 第2週A2

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ビットデータを用いた

間接コール命令

Page 67: 情報工学実験Ⅱ講義 - 福岡工業大学y-tani/Lecture/Other/lec2.pdf情報工学実験Ⅱ講義 第1週A1 マイクロコンピュータ・トレーニングの使い方 第2週A2

その他の命令

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

その他の操作

Page 68: 情報工学実験Ⅱ講義 - 福岡工業大学y-tani/Lecture/Other/lec2.pdf情報工学実験Ⅱ講義 第1週A1 マイクロコンピュータ・トレーニングの使い方 第2週A2

フラグの変化

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)。

Page 69: 情報工学実験Ⅱ講義 - 福岡工業大学y-tani/Lecture/Other/lec2.pdf情報工学実験Ⅱ講義 第1週A1 マイクロコンピュータ・トレーニングの使い方 第2週A2

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

Page 70: 情報工学実験Ⅱ講義 - 福岡工業大学y-tani/Lecture/Other/lec2.pdf情報工学実験Ⅱ講義 第1週A1 マイクロコンピュータ・トレーニングの使い方 第2週A2

入力命令

入力命令群

ソース

入力ポート

ディスティネーション

入力

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

Page 71: 情報工学実験Ⅱ講義 - 福岡工業大学y-tani/Lecture/Other/lec2.pdf情報工学実験Ⅱ講義 第1週A1 マイクロコンピュータ・トレーニングの使い方 第2週A2

出力命令

レジスタレジスタ

間接

イミディ

エット

レジスタ

間接

レジスタ

間接

レジスタ

間接

レジスタ

間接

レジスタ

間接

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

出力ポート

ディスティネーション

ブロック出力

コマンド

ソース

出力命令群

Page 72: 情報工学実験Ⅱ講義 - 福岡工業大学y-tani/Lecture/Other/lec2.pdf情報工学実験Ⅱ講義 第1週A1 マイクロコンピュータ・トレーニングの使い方 第2週A2

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

レジス

タ間接

インデッ

クスド

ビット

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 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 CBCB 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 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 CBCB 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 CBCB CB

CB CB CB CB CB CB CB CBCB 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

ビット操作グループ

Page 73: 情報工学実験Ⅱ講義 - 福岡工業大学y-tani/Lecture/Other/lec2.pdf情報工学実験Ⅱ講義 第1週A1 マイクロコンピュータ・トレーニングの使い方 第2週A2

ブロック転送命令

レジスタ

間接

ディスティネーション

(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

レジスタ

間接

ソース

ブロック転送グループ

ロケーション

Page 74: 情報工学実験Ⅱ講義 - 福岡工業大学y-tani/Lecture/Other/lec2.pdf情報工学実験Ⅱ講義 第1週A1 マイクロコンピュータ・トレーニングの使い方 第2週A2

ローテートとシフト命令

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

ローテイト

あるいは

シフトの型

ローテイトとシフト

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)デジット

Page 75: 情報工学実験Ⅱ講義 - 福岡工業大学y-tani/Lecture/Other/lec2.pdf情報工学実験Ⅱ講義 第1週A1 マイクロコンピュータ・トレーニングの使い方 第2週A2

ブロックサーチ命令

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

ブロックサーチサーチ

ロケーション

Page 76: 情報工学実験Ⅱ講義 - 福岡工業大学y-tani/Lecture/Other/lec2.pdf情報工学実験Ⅱ講義 第1週A1 マイクロコンピュータ・トレーニングの使い方 第2週A2

16ビットロード命令

Page 77: 情報工学実験Ⅱ講義 - 福岡工業大学y-tani/Lecture/Other/lec2.pdf情報工学実験Ⅱ講義 第1週A1 マイクロコンピュータ・トレーニングの使い方 第2週A2

16ビット算術演算命令

Page 78: 情報工学実験Ⅱ講義 - 福岡工業大学y-tani/Lecture/Other/lec2.pdf情報工学実験Ⅱ講義 第1週A1 マイクロコンピュータ・トレーニングの使い方 第2週A2

8ビットロード命令

Page 79: 情報工学実験Ⅱ講義 - 福岡工業大学y-tani/Lecture/Other/lec2.pdf情報工学実験Ⅱ講義 第1週A1 マイクロコンピュータ・トレーニングの使い方 第2週A2

8ビット算術演算命令

Page 80: 情報工学実験Ⅱ講義 - 福岡工業大学y-tani/Lecture/Other/lec2.pdf情報工学実験Ⅱ講義 第1週A1 マイクロコンピュータ・トレーニングの使い方 第2週A2
Page 81: 情報工学実験Ⅱ講義 - 福岡工業大学y-tani/Lecture/Other/lec2.pdf情報工学実験Ⅱ講義 第1週A1 マイクロコンピュータ・トレーニングの使い方 第2週A2

第3週 B1 i8255の構造と使い方

Page 82: 情報工学実験Ⅱ講義 - 福岡工業大学y-tani/Lecture/Other/lec2.pdf情報工学実験Ⅱ講義 第1週A1 マイクロコンピュータ・トレーニングの使い方 第2週A2

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側 周辺側

( )内はビット数

Page 83: 情報工学実験Ⅱ講義 - 福岡工業大学y-tani/Lecture/Other/lec2.pdf情報工学実験Ⅱ講義 第1週A1 マイクロコンピュータ・トレーニングの使い方 第2週A2

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ビット使用

Page 84: 情報工学実験Ⅱ講義 - 福岡工業大学y-tani/Lecture/Other/lec2.pdf情報工学実験Ⅱ講義 第1週A1 マイクロコンピュータ・トレーニングの使い方 第2週A2

4.i8255のモードセットモード0ベーシックインプットアウトプットモード (A,Bグループ)

モード1ストローブインプットアウトプットモード(A,Bグループ)

モード2双方向バス(Aグループのみ)

モードセットのコントロールワードであるとき 1

グループモードモード0のときD6D5は00モード1のときD6D5は01モード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 D0

Page 85: 情報工学実験Ⅱ講義 - 福岡工業大学y-tani/Lecture/Other/lec2.pdf情報工学実験Ⅱ講義 第1週A1 マイクロコンピュータ・トレーニングの使い方 第2週A2

5.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 D4 D3 D2 D1 D0D5

Page 86: 情報工学実験Ⅱ講義 - 福岡工業大学y-tani/Lecture/Other/lec2.pdf情報工学実験Ⅱ講義 第1週A1 マイクロコンピュータ・トレーニングの使い方 第2週A2

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 回 路

Page 87: 情報工学実験Ⅱ講義 - 福岡工業大学y-tani/Lecture/Other/lec2.pdf情報工学実験Ⅱ講義 第1週A1 マイクロコンピュータ・トレーニングの使い方 第2週A2
Page 88: 情報工学実験Ⅱ講義 - 福岡工業大学y-tani/Lecture/Other/lec2.pdf情報工学実験Ⅱ講義 第1週A1 マイクロコンピュータ・トレーニングの使い方 第2週A2

第4週 B2 音の発生と待ちプログラム

Page 89: 情報工学実験Ⅱ講義 - 福岡工業大学y-tani/Lecture/Other/lec2.pdf情報工学実験Ⅱ講義 第1週A1 マイクロコンピュータ・トレーニングの使い方 第2週A2

i8255によるクロックの発生start

(PX) <= H

(PX) <= L

wait(t)

END

wait(t)

A= A- 1

A<= N

A=0

T

f=1/T(Hz)

i8255 PX

Page 90: 情報工学実験Ⅱ講義 - 福岡工業大学y-tani/Lecture/Other/lec2.pdf情報工学実験Ⅱ講義 第1週A1 マイクロコンピュータ・トレーニングの使い方 第2週A2

待ちプログラム例 CALL WAIT ; T0 =17

WAIT: PUSH AF ; T1 =11

PUSH HL ; T2 =11

LD H,xxH ; T3=7

LOP1: LD L,yyH ; T4=7

LOP2: DEC L ; T5=4

JP NZ,LOP2 ; T6=10

DEC H ; T7=4

JP NZ,LOP1 ; T8=10

POP HL ; T9=10

POP AF ; T10=10

RET ; T11=10

TWAIT=T0+T1+T2+T3+xx{T4+yy(T5+T6)+T7+T8}+T9+T10+T11

Page 91: 情報工学実験Ⅱ講義 - 福岡工業大学y-tani/Lecture/Other/lec2.pdf情報工学実験Ⅱ講義 第1週A1 マイクロコンピュータ・トレーニングの使い方 第2週A2

プログラム例

;******************************; REIDAI program; 3年1組 FUKUOKA TAROU; H15.10.4;*****************************

[0000] : PPIPA EQU 00H[0001] : PPIPB EQU 01H[0002] : PPIPC EQU 02H[0003] : PPICW EQU 03H[0700] : SPADD EQU 0700H ;stack add[85D0] : OUTABP EQU 85D0H

;; start program;

[0000] : ORG 0000H[0000] : 31 00 07 LD SP,SPADD ;[0003] : 3E 80 LD A,80H ;PA,PB,PC OUT[0005] : D3 03 OUT (PPICW),A[0007] : 21 E0 00 LD HL,00E0H[000A] : DB 00 LOOP: IN A,(PPIPA)[000C] : 32 50 01 LD (KEYBF),A[000F] : 06 00 LD B,00H[0011] : 3A 50 01 LD A,(KEYBF)[0014] : B8 CP B[0015] : CA 26 00 JP Z,ENDP[0018] : 36 00 LD (HL),00H[001A] : 35 OUTPUT: DEC (HL)[001B] : CA 0A 00 JP Z,LOOP[001E] : CD D0 85 CALL OUTABP[0021] : CD 27 00 CALL WAIT[0024] : 18 F4 JR OUTPUT[0026] : 76 ENDP: HALT

;; sub prgram;

[0027] : F5 WAIT: PUSH AF[0028] : E5 PUSH HL[0029] : 21 00 01 LD HL,HLDA[002C] : 16 00 LD D,00H[002E] : 3A 02 01 LD A,(EDA)[0031] : 5F LD E,A[0032] : ED 52 LOP: SBC HL,DE[0034] : C2 32 00 JP NZ,LOP[0037] : E1 POP HL[0038] : F1 POP AF[0039] : C9 RET

;; TABLE;

[0100] : ORG 0100H[0100] : FF FF HLDA: DW 0FFFFH[0102] : 01 EDA DB 01H

;; WORK;

[0150] : ORG 0150H[0150] : KEYBF: DS 01H[0151] : OUTBF: DS 100H[0251] : AABF: DS 01H

;END

Page 92: 情報工学実験Ⅱ講義 - 福岡工業大学y-tani/Lecture/Other/lec2.pdf情報工学実験Ⅱ講義 第1週A1 マイクロコンピュータ・トレーニングの使い方 第2週A2
Page 93: 情報工学実験Ⅱ講義 - 福岡工業大学y-tani/Lecture/Other/lec2.pdf情報工学実験Ⅱ講義 第1週A1 マイクロコンピュータ・トレーニングの使い方 第2週A2

第5週 B3 キー入力回路の知識

Page 94: 情報工学実験Ⅱ講義 - 福岡工業大学y-tani/Lecture/Other/lec2.pdf情報工学実験Ⅱ講義 第1週A1 マイクロコンピュータ・トレーニングの使い方 第2週A2

キー入力回路とチャタリング

IN A<= ( P )

ON?

IN A<= ( P )

WAIT 10mS

ON?

start

end

Vcc

SWON=> L

i8255

P

OFF

ON

OFF

ON

イメージ上

現実の波形

チャタリング6 ~ 8ms

Page 95: 情報工学実験Ⅱ講義 - 福岡工業大学y-tani/Lecture/Other/lec2.pdf情報工学実験Ⅱ講義 第1週A1 マイクロコンピュータ・トレーニングの使い方 第2週A2

キー入力の回路

0 7

ABCD

E

FGO

ADDDAINCDEC

FN1FN2FN3FN4FN5

FN6

SST

DA

DB

1E12E11E22E2

1Y01Y11Y21Y3

2Y02Y12Y22Y3

キー入力回路

IORQ

WR

RD

AD0AD1

RST RESET B0

B7

RD

WR

CS

A0A1

D0

D7 A7

A0

C7

C3

C1C2

C4

C0

C502

02

02

04

10k5V

CTC

LS155

Page 96: 情報工学実験Ⅱ講義 - 福岡工業大学y-tani/Lecture/Other/lec2.pdf情報工学実験Ⅱ講義 第1週A1 マイクロコンピュータ・トレーニングの使い方 第2週A2

キー入力プログラム start

(PC) <= (KEYSADD)A <= (PA)

A = 00H?

WAIT

C <= A

A = 00H?

KEYF=FFH

KEYF <= FFH

A <= C

A <= 00H

RET

KEYF <= 00H

A <= (KEYSADD)

ADD A

(KEYSADD) <= A

(KEYSADD)=01H?

(KEYSADD) <= 01H

A <= 00H

Y

N

YN

Y

KEYF 00 off状態

FF on状態OR 80HCPL

(PC) <= (KEYSADD)A <= (PA)

OR 80HCPL

2回目以降 最初のデータ 入力無し

10ms

キー入力プログラム

Crag <= キーデータ

Page 97: 情報工学実験Ⅱ講義 - 福岡工業大学y-tani/Lecture/Other/lec2.pdf情報工学実験Ⅱ講義 第1週A1 マイクロコンピュータ・トレーニングの使い方 第2週A2
Page 98: 情報工学実験Ⅱ講義 - 福岡工業大学y-tani/Lecture/Other/lec2.pdf情報工学実験Ⅱ講義 第1週A1 マイクロコンピュータ・トレーニングの使い方 第2週A2

第6週 B4 A/D D/A変換回路の知識

Page 99: 情報工学実験Ⅱ講義 - 福岡工業大学y-tani/Lecture/Other/lec2.pdf情報工学実験Ⅱ講義 第1週A1 マイクロコンピュータ・トレーニングの使い方 第2週A2

DA/AD変換の必要性

自然界はアナログの世界 マイコンはデジタルの世界である。

Page 100: 情報工学実験Ⅱ講義 - 福岡工業大学y-tani/Lecture/Other/lec2.pdf情報工学実験Ⅱ講義 第1週A1 マイクロコンピュータ・トレーニングの使い方 第2週A2

D/A変換回路

2R

2R

2R

2R

2R

2R

2R

2R

2R

74HC04

r1

5V

PA7

PA0

r2

μA741

アナログ電圧出力

VA

Page 101: 情報工学実験Ⅱ講義 - 福岡工業大学y-tani/Lecture/Other/lec2.pdf情報工学実験Ⅱ講義 第1週A1 マイクロコンピュータ・トレーニングの使い方 第2週A2

ラダー回路の性質テブナンの定理

重ね合わせの理

2R

2R

2R

2R

出力

入力3

入力2

入力1

入力0

2R

2R

2R

2R

2R

1V

出力

2R

2R

2R

2R

2R

1V

出力

2R

2R

2R

2R

2R

1V

出力

2R

2R

2R

2R

2R

1V出力

2R

Page 102: 情報工学実験Ⅱ講義 - 福岡工業大学y-tani/Lecture/Other/lec2.pdf情報工学実験Ⅱ講義 第1週A1 マイクロコンピュータ・トレーニングの使い方 第2週A2

テブナンの定理のよる解析

2R 2R

1/4V 出力

2R Z

Z’

2R 2R 2R 2R

R R

1V 出力

2R

X’

2R 2R 2R

R R

1/2V 出力

2R1/8V出力

2R

1/16V

2R 2R 2R

R R

1/2V 出力

2RY

Y’

Page 103: 情報工学実験Ⅱ講義 - 福岡工業大学y-tani/Lecture/Other/lec2.pdf情報工学実験Ⅱ講義 第1週A1 マイクロコンピュータ・トレーニングの使い方 第2週A2

A/D変換の原理

0 1 2 D FE7 8 9

ディジタル値

アナログ値

アナログ入力

D/A出力

コンパレータ出力

0V

5*(14/15)

=4,67V

5*(8/16)

5*(7/16)

=2.50V

=2.19V

E1

E2

E3

2R

2R

2R

2R

2R

アナログ電圧入力

VA

D/A出力

コンパレータ

コンパレータ出力

VcOUT

E1-4:5V

E0i0

i2

i3

i1

Page 104: 情報工学実験Ⅱ講義 - 福岡工業大学y-tani/Lecture/Other/lec2.pdf情報工学実験Ⅱ講義 第1週A1 マイクロコンピュータ・トレーニングの使い方 第2週A2

A/D変換回路

2R

2R

2R

2R

2R

2R

2R

2R

2R

μA311

μA7415V

74HC04

PB7

PB0

PC0

5V

1S1585

10K1S1585

r1 r

2

Page 105: 情報工学実験Ⅱ講義 - 福岡工業大学y-tani/Lecture/Other/lec2.pdf情報工学実験Ⅱ講義 第1週A1 マイクロコンピュータ・トレーニングの使い方 第2週A2
Page 106: 情報工学実験Ⅱ講義 - 福岡工業大学y-tani/Lecture/Other/lec2.pdf情報工学実験Ⅱ講義 第1週A1 マイクロコンピュータ・トレーニングの使い方 第2週A2

第7週 C1 TTLの使い方(1)

Page 107: 情報工学実験Ⅱ講義 - 福岡工業大学y-tani/Lecture/Other/lec2.pdf情報工学実験Ⅱ講義 第1週A1 マイクロコンピュータ・トレーニングの使い方 第2週A2

TTLの中身例(NAND)

Vcc

GND

出力Y入力

AB

1301.6k4k

1k

標準TTLの基本回路

Page 108: 情報工学実験Ⅱ講義 - 福岡工業大学y-tani/Lecture/Other/lec2.pdf情報工学実験Ⅱ講義 第1週A1 マイクロコンピュータ・トレーニングの使い方 第2週A2

TTLの特性Vcc

GND

出力Y

入力1301.6k4k

1k

on off off

off on off

Q1

Q2

H L HZ

L

H

VOL0.4V VIL0.8V

VIH2.0VVOH2.4V

IOL16mA IIL1.6mA

IOH400μA IIH40μA

ノーマルタイプTTLの入出特性GND

Vcc 5V出力条件 入力条件

Page 109: 情報工学実験Ⅱ講義 - 福岡工業大学y-tani/Lecture/Other/lec2.pdf情報工学実験Ⅱ講義 第1週A1 マイクロコンピュータ・トレーニングの使い方 第2週A2

TTLの入出力電流特性

シリーズ名 入力電流 出力電流

IIH(μA) ILI(mA) IOH(mA) IOL(mA)

SN74/54 40 -1.6 -0.4 16

SN74S/54S 50 -2 -1 20

SN74H/54H 50 -2 -0.5 20

SN74L/54L 10 -0.18 -0.1 2

SN74LS/54LS 20 -0.36 -0.2 4

Page 110: 情報工学実験Ⅱ講義 - 福岡工業大学y-tani/Lecture/Other/lec2.pdf情報工学実験Ⅱ講義 第1週A1 マイクロコンピュータ・トレーニングの使い方 第2週A2

TI社のTTLファミリー

SN74/54 TI社のTTLファミリの基本的シリーズ

SN74S/54S SN74/54シリーズの高信頼化

SN74H/54H SN74Sシリーズより以前に作られたSN74の高速化

SN74L/54L 低消費電力のTTL

SN74LS/54LS SN74Sを低消費電力化

Page 111: 情報工学実験Ⅱ講義 - 福岡工業大学y-tani/Lecture/Other/lec2.pdf情報工学実験Ⅱ講義 第1週A1 マイクロコンピュータ・トレーニングの使い方 第2週A2

オープンコレクタTTL

* オープンコレクタ

(O.C)を示す。

Vcc

GND

出力Y入力

AB

1.6k4k

1k

Page 112: 情報工学実験Ⅱ講義 - 福岡工業大学y-tani/Lecture/Other/lec2.pdf情報工学実験Ⅱ講義 第1週A1 マイクロコンピュータ・トレーニングの使い方 第2週A2

オープンコレクタによるレベル変換

Vcc

GND

出力Y

R

Page 113: 情報工学実験Ⅱ講義 - 福岡工業大学y-tani/Lecture/Other/lec2.pdf情報工学実験Ⅱ講義 第1週A1 マイクロコンピュータ・トレーニングの使い方 第2週A2

オープンコレクタによるドライバ

Vcc

GND

出力Y

Page 114: 情報工学実験Ⅱ講義 - 福岡工業大学y-tani/Lecture/Other/lec2.pdf情報工学実験Ⅱ講義 第1週A1 マイクロコンピュータ・トレーニングの使い方 第2週A2

オープンコレクタのワイヤード接続

GND

出力Y

オープンコレクタ出力

A

B

RVcc

Y=A*BIC1

IC2

複数の出力どうしを共通の外付け抵抗を用いて互いに接続する。これをワイヤード接続といい並列接続するだけでOR出力あるいはAND出力が得られる。

これを総じてワイヤードORという。

Page 115: 情報工学実験Ⅱ講義 - 福岡工業大学y-tani/Lecture/Other/lec2.pdf情報工学実験Ⅱ講義 第1週A1 マイクロコンピュータ・トレーニングの使い方 第2週A2

シュミットトリガTTL

2つのスレショルド電圧を持ち波形整形動作を行うことが出来る。入力電圧が立ち上がるときのスレショルド電圧VHと立ち下がる時のスレショルド電圧VLが異なるヒステリシス特性を持つため出力が一度、“H”または“L”に出力されれば、入力電圧にノイズが加わったとしてもそれがヒステリシス幅の電圧(VHーVL)以内の振幅であれば出力はノイズの影響を受けない。

応用例

1.入力波形がゆっくり変化するようななまった波形の整形.

2.交流波形をパルス波形に変換.

Page 116: 情報工学実験Ⅱ講義 - 福岡工業大学y-tani/Lecture/Other/lec2.pdf情報工学実験Ⅱ講義 第1週A1 マイクロコンピュータ・トレーニングの使い方 第2週A2

トライステートTTL (スリーステートTTL)

Vcc

GND

出力Y

入力1301.6k4k

1k

on off off

off on off

Q1

Q2

H L HZ

L

H

バスライン上で接続されていない状態を作る。

Page 117: 情報工学実験Ⅱ講義 - 福岡工業大学y-tani/Lecture/Other/lec2.pdf情報工学実験Ⅱ講義 第1週A1 マイクロコンピュータ・トレーニングの使い方 第2週A2
Page 118: 情報工学実験Ⅱ講義 - 福岡工業大学y-tani/Lecture/Other/lec2.pdf情報工学実験Ⅱ講義 第1週A1 マイクロコンピュータ・トレーニングの使い方 第2週A2

第8週 C2 TTLの使い方(2)

Page 119: 情報工学実験Ⅱ講義 - 福岡工業大学y-tani/Lecture/Other/lec2.pdf情報工学実験Ⅱ講義 第1週A1 マイクロコンピュータ・トレーニングの使い方 第2週A2

プルアップ抵抗

Vcc

R

Vcc Vcc

RR

Vcc

R

プルアップ抵抗Rの目的1.入力のインピーダンスを下げる2.H出力時の電圧を大きくする。3.Hレベル出力電流の増加4.立ち上がり出力波形の改善5.O.C TTLの負荷抵抗として用いる。

Rの値の求め方。

Page 120: 情報工学実験Ⅱ講義 - 福岡工業大学y-tani/Lecture/Other/lec2.pdf情報工学実験Ⅱ講義 第1週A1 マイクロコンピュータ・トレーニングの使い方 第2週A2

プルダウン抵抗

R

プルダウン抵抗Rの目的1.入力をLに固定する。2.入力のインピーダンスを下げる。3.抵抗を使わず直接グランドに落としてもよい。一般にはこのようにする。

Rの値の求め方。

Page 121: 情報工学実験Ⅱ講義 - 福岡工業大学y-tani/Lecture/Other/lec2.pdf情報工学実験Ⅱ講義 第1週A1 マイクロコンピュータ・トレーニングの使い方 第2週A2

LEDの駆動

Vf=2VR

EILED

I=(E-Vf)/R

a

Vcc VccVccVcc

R

RRR LED

LED

LEDLED

Page 122: 情報工学実験Ⅱ講義 - 福岡工業大学y-tani/Lecture/Other/lec2.pdf情報工学実験Ⅱ講義 第1週A1 マイクロコンピュータ・トレーニングの使い方 第2週A2

8セグメントLEDの駆動

a b c d e f g h

com

a b c d e f g h

comk a

カソードコモン型 アノードコモン型

Vcc

R

LEDVccR

LED

a

b

c

d

e

f g

h

8セグメントLED

a b c d e f g h11110010

a b c d e f g h00001101

3を表示する場合

Page 123: 情報工学実験Ⅱ講義 - 福岡工業大学y-tani/Lecture/Other/lec2.pdf情報工学実験Ⅱ講義 第1週A1 マイクロコンピュータ・トレーニングの使い方 第2週A2
Page 124: 情報工学実験Ⅱ講義 - 福岡工業大学y-tani/Lecture/Other/lec2.pdf情報工学実験Ⅱ講義 第1週A1 マイクロコンピュータ・トレーニングの使い方 第2週A2

第9週 C3 トランジスタ回路

Page 125: 情報工学実験Ⅱ講義 - 福岡工業大学y-tani/Lecture/Other/lec2.pdf情報工学実験Ⅱ講義 第1週A1 マイクロコンピュータ・トレーニングの使い方 第2週A2

トランジスタのバイアス回路(1)

Vcc

出力が取り出せない。

IcIb

Ibの制御が困難

Vb

RcRb

出力が取り出せる。Ibの制御が可能

出力

電源が2つ必要

VccVb

出力が取り出せる。Ibの制御が可能

Rb Rc

出力Vcc

Ibが温度の影響を受けやすい

Rb

Ra

Rc

出力 Vcc

Re

Ia Ib

Ia>>Ibが条件

Rb

Ra

Rc

出力 Vcc

Raを追加してVBEの変動を抑制Raの値に制約がある。

Page 126: 情報工学実験Ⅱ講義 - 福岡工業大学y-tani/Lecture/Other/lec2.pdf情報工学実験Ⅱ講義 第1週A1 マイクロコンピュータ・トレーニングの使い方 第2週A2

トランジスタのバイアス回路(2)

Rb Rc

出力Vcc

Re

IbRb

Ra

Rc

出力Vcc

Re

Ia IbRb Rc

出力Vcc

Ia Ib

Page 127: 情報工学実験Ⅱ講義 - 福岡工業大学y-tani/Lecture/Other/lec2.pdf情報工学実験Ⅱ講義 第1週A1 マイクロコンピュータ・トレーニングの使い方 第2週A2

トランジスタのDC動作

Rb

Ra

Rc

出力 Vcc

Re

Ia Ib

Ia>>Ibが条件

Rb

Ra

Rc

出力 Vcc

Re

Ia Ib

Ia>>Ibが条件

Page 128: 情報工学実験Ⅱ講義 - 福岡工業大学y-tani/Lecture/Other/lec2.pdf情報工学実験Ⅱ講義 第1週A1 マイクロコンピュータ・トレーニングの使い方 第2週A2

トランジスタ回路の性質

Rb

Ra

Rc

出力 Vcc

Re

Ia Ib

Ia>>Ibが条件

Va

Vb Vc

Ve

1.コレクタ側は電流源動作

2.エミッタ側は電圧源動作

3.Vaが決まるとVeが決まる

(Reの値には依らない)

4.Ia>>Ibとするとオームの法則で回路の解析計算が出来る

Page 129: 情報工学実験Ⅱ講義 - 福岡工業大学y-tani/Lecture/Other/lec2.pdf情報工学実験Ⅱ講義 第1週A1 マイクロコンピュータ・トレーニングの使い方 第2週A2

トランジスタの等価回路

hi

hr v2 hf i1

i1

ho v2v1

v1=hi i1+hr v2

i2=hf i1+ho v2

i2

Page 130: 情報工学実験Ⅱ講義 - 福岡工業大学y-tani/Lecture/Other/lec2.pdf情報工学実験Ⅱ講義 第1週A1 マイクロコンピュータ・トレーニングの使い方 第2週A2

トランジスタの交流動作

Page 131: 情報工学実験Ⅱ講義 - 福岡工業大学y-tani/Lecture/Other/lec2.pdf情報工学実験Ⅱ講義 第1週A1 マイクロコンピュータ・トレーニングの使い方 第2週A2

トランジスタの等価回路

Page 132: 情報工学実験Ⅱ講義 - 福岡工業大学y-tani/Lecture/Other/lec2.pdf情報工学実験Ⅱ講義 第1週A1 マイクロコンピュータ・トレーニングの使い方 第2週A2

参考 電圧源と電流源

Page 133: 情報工学実験Ⅱ講義 - 福岡工業大学y-tani/Lecture/Other/lec2.pdf情報工学実験Ⅱ講義 第1週A1 マイクロコンピュータ・トレーニングの使い方 第2週A2
Page 134: 情報工学実験Ⅱ講義 - 福岡工業大学y-tani/Lecture/Other/lec2.pdf情報工学実験Ⅱ講義 第1週A1 マイクロコンピュータ・トレーニングの使い方 第2週A2

第10週 C4 トランジスタ回路のスイッチング

動作

Page 135: 情報工学実験Ⅱ講義 - 福岡工業大学y-tani/Lecture/Other/lec2.pdf情報工学実験Ⅱ講義 第1週A1 マイクロコンピュータ・トレーニングの使い方 第2週A2

トランジスタの特性

VBE

Ic

0.7V0.5V

遮断領域 飽和領域能動領域

VBE-Ic特性

VBEIc

Vcc

VB

Page 136: 情報工学実験Ⅱ講義 - 福岡工業大学y-tani/Lecture/Other/lec2.pdf情報工学実験Ⅱ講義 第1週A1 マイクロコンピュータ・トレーニングの使い方 第2週A2

トランジスタによるスイッチング動作

VccRc

Rb

VBE

Vcc VccR R

OFF ON

Vcc 0(H) (L)

Vcc

Vin

トランジスタを十分にONさせるために Ib>Vcc/Rc・HFE

Rb=(Vin-VBE)/Ib

Page 137: 情報工学実験Ⅱ講義 - 福岡工業大学y-tani/Lecture/Other/lec2.pdf情報工学実験Ⅱ講義 第1週A1 マイクロコンピュータ・トレーニングの使い方 第2週A2

スイッチングの高速化

Vcc

Rc

Rb

Cs

CbR

C1

R1

C2R2入力Vin

出力Vout

定抵抗回路C1・R1=C2・R2入力と出力の関係が周波数に無関係となる。

Cs:スピードアップコンデンサRb>RとしてCbの電荷を急速に放電させる。Csの値を適当に選ぶことによってエミッターベース容量Cbの影響を打ち消すことが出来る。

Page 138: 情報工学実験Ⅱ講義 - 福岡工業大学y-tani/Lecture/Other/lec2.pdf情報工学実験Ⅱ講義 第1週A1 マイクロコンピュータ・トレーニングの使い方 第2週A2

参考 定抵抗回路

R1

R2

C1

C2

Vin

Vout

Vin

Vout

(1/R1)+jωC1+(1/R2)+jωC2(1/R1)+jωC1

C1・R1=C2・R2

R1+R2

R2

Page 139: 情報工学実験Ⅱ講義 - 福岡工業大学y-tani/Lecture/Other/lec2.pdf情報工学実験Ⅱ講義 第1週A1 マイクロコンピュータ・トレーニングの使い方 第2週A2
Page 140: 情報工学実験Ⅱ講義 - 福岡工業大学y-tani/Lecture/Other/lec2.pdf情報工学実験Ⅱ講義 第1週A1 マイクロコンピュータ・トレーニングの使い方 第2週A2

第11週 C5 インタフェースの知識

Page 141: 情報工学実験Ⅱ講義 - 福岡工業大学y-tani/Lecture/Other/lec2.pdf情報工学実験Ⅱ講義 第1週A1 マイクロコンピュータ・トレーニングの使い方 第2週A2
Page 142: 情報工学実験Ⅱ講義 - 福岡工業大学y-tani/Lecture/Other/lec2.pdf情報工学実験Ⅱ講義 第1週A1 マイクロコンピュータ・トレーニングの使い方 第2週A2
Page 143: 情報工学実験Ⅱ講義 - 福岡工業大学y-tani/Lecture/Other/lec2.pdf情報工学実験Ⅱ講義 第1週A1 マイクロコンピュータ・トレーニングの使い方 第2週A2
Page 144: 情報工学実験Ⅱ講義 - 福岡工業大学y-tani/Lecture/Other/lec2.pdf情報工学実験Ⅱ講義 第1週A1 マイクロコンピュータ・トレーニングの使い方 第2週A2

第12週 C6 OPアンプ回路の知識

Page 145: 情報工学実験Ⅱ講義 - 福岡工業大学y-tani/Lecture/Other/lec2.pdf情報工学実験Ⅱ講義 第1週A1 マイクロコンピュータ・トレーニングの使い方 第2週A2

OPアンプの構成と特徴

R1 R2

RE

Vcc

入力1 入力2

出力1 出力2

RE

入力1 入力2

出力1 出力2

能動負荷能動負荷

電流源駆動

電流源駆動

1.電圧増幅度が極めて大きい A=∞

2.入力インピーダンスが極めて大きい Zin=∞

3.出力インピーダンスが極めて小さい Zout=0

Page 146: 情報工学実験Ⅱ講義 - 福岡工業大学y-tani/Lecture/Other/lec2.pdf情報工学実験Ⅱ講義 第1週A1 マイクロコンピュータ・トレーニングの使い方 第2週A2

OPアンプの特性(周波数特性)

20

40

60

80

100

1 1M10 100 1k 10k 100k

120

-20

周波数(Hz)

利得

(dB)

10M

開ループ利得

-6dB/oct

又は-20dB/dec

Page 147: 情報工学実験Ⅱ講義 - 福岡工業大学y-tani/Lecture/Other/lec2.pdf情報工学実験Ⅱ講義 第1週A1 マイクロコンピュータ・トレーニングの使い方 第2週A2

差動増幅回路

R1

R2

R3R4

反転入力V1

非反転入力V2

出力

Vo=-(R2/R1)(V1-V2)

R1=R3R2=R4

Page 148: 情報工学実験Ⅱ講義 - 福岡工業大学y-tani/Lecture/Other/lec2.pdf情報工学実験Ⅱ講義 第1週A1 マイクロコンピュータ・トレーニングの使い方 第2週A2

反転増幅回路

R1

R2

R1//R2

入力Vin 出力

Vo=-Vin・R2/R1

R1

R2

Vin

Vout

Vout/Vin=-R2/R1

支点

反転増幅回路の入出力関係

Page 149: 情報工学実験Ⅱ講義 - 福岡工業大学y-tani/Lecture/Other/lec2.pdf情報工学実験Ⅱ講義 第1週A1 マイクロコンピュータ・トレーニングの使い方 第2週A2

非反転増幅回路

R1

R2

入力Vin 出力

Vo=Vin・(R1+R2)/R1R1//R2

支点

R1

R2

VinVout

Vout/Vin=(R1+R2)/R1

非反転出力回路の入出力関係

Page 150: 情報工学実験Ⅱ講義 - 福岡工業大学y-tani/Lecture/Other/lec2.pdf情報工学実験Ⅱ講義 第1週A1 マイクロコンピュータ・トレーニングの使い方 第2週A2

OPアンプの応用(加算回路)

V1

V2

V3Vout

R1

R2

R3

Rf

加算回路

Vout=-Rf{(V1/R1)+(V2/R2)+(V3/R3)}

Page 151: 情報工学実験Ⅱ講義 - 福岡工業大学y-tani/Lecture/Other/lec2.pdf情報工学実験Ⅱ講義 第1週A1 マイクロコンピュータ・トレーニングの使い方 第2週A2

OPアンプの応用(微分回路と積分回路)

Vin VoutR

C

積分回路

Vout=(-1/CR)∫Vin d t

VinVout

C

R

微分回路

Vout=-CR(dVin/d t)

Page 152: 情報工学実験Ⅱ講義 - 福岡工業大学y-tani/Lecture/Other/lec2.pdf情報工学実験Ⅱ講義 第1週A1 マイクロコンピュータ・トレーニングの使い方 第2週A2

OPアンプの応用(比較回路、ボルテージフォロア)

+V

-V

VinVoutVin

Vs(基準電圧)

Vout

Vs比較回路

ボルテージフォロア

インピーダンス変換

緩衝器(バッファ)

Page 153: 情報工学実験Ⅱ講義 - 福岡工業大学y-tani/Lecture/Other/lec2.pdf情報工学実験Ⅱ講義 第1週A1 マイクロコンピュータ・トレーニングの使い方 第2週A2
Page 154: 情報工学実験Ⅱ講義 - 福岡工業大学y-tani/Lecture/Other/lec2.pdf情報工学実験Ⅱ講義 第1週A1 マイクロコンピュータ・トレーニングの使い方 第2週A2

第13週 実装技術

Page 155: 情報工学実験Ⅱ講義 - 福岡工業大学y-tani/Lecture/Other/lec2.pdf情報工学実験Ⅱ講義 第1週A1 マイクロコンピュータ・トレーニングの使い方 第2週A2

回路の配線上の注意点1.等価回路が再現できるように配線や配置を行う。2.コモンインピーダンスが生じないように注意する。3.アースラインがループにならないように注意する。4.信号が流れるラインは短くする。5.直流が流れる場所は長い配線が生じてもよい。6.電源ラインやアースラインは極力太い配線を利用して配線する。7.8ビットなどの信号ラインで高速な信号を扱う場合は、すべての線の長さは同じにする。8.電源インピーダンスは極力小さくする。9.高インピーダンス回路は極力短く配線する。10.配線はなるべく多芯線を用いる。11.部品の配置等では回路間の結合が生じないように配慮する。12.デジタル回路とアナログ回路はなるべく別々に配置する。13.小信号を扱う回路と大信号を扱う回路はなるべく共存させない。

Page 156: 情報工学実験Ⅱ講義 - 福岡工業大学y-tani/Lecture/Other/lec2.pdf情報工学実験Ⅱ講義 第1週A1 マイクロコンピュータ・トレーニングの使い方 第2週A2
Page 157: 情報工学実験Ⅱ講義 - 福岡工業大学y-tani/Lecture/Other/lec2.pdf情報工学実験Ⅱ講義 第1週A1 マイクロコンピュータ・トレーニングの使い方 第2週A2
Page 158: 情報工学実験Ⅱ講義 - 福岡工業大学y-tani/Lecture/Other/lec2.pdf情報工学実験Ⅱ講義 第1週A1 マイクロコンピュータ・トレーニングの使い方 第2週A2

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

1.固定抵抗

2.集合抵抗

3.可変抵抗

4.抵抗の等価回路

Page 159: 情報工学実験Ⅱ講義 - 福岡工業大学y-tani/Lecture/Other/lec2.pdf情報工学実験Ⅱ講義 第1週A1 マイクロコンピュータ・トレーニングの使い方 第2週A2

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

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

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

Page 160: 情報工学実験Ⅱ講義 - 福岡工業大学y-tani/Lecture/Other/lec2.pdf情報工学実験Ⅱ講義 第1週A1 マイクロコンピュータ・トレーニングの使い方 第2週A2

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

1.整流ダイオード

2.発光ダイオード

3.検波ダイオード

4.定電圧ダイオード

5.定電流ダイオード

6.可変容量ダイオード

7.フォットダイオード

Page 161: 情報工学実験Ⅱ講義 - 福岡工業大学y-tani/Lecture/Other/lec2.pdf情報工学実験Ⅱ講義 第1週A1 マイクロコンピュータ・トレーニングの使い方 第2週A2

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

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

2.トランジスタの動作

3.

Page 162: 情報工学実験Ⅱ講義 - 福岡工業大学y-tani/Lecture/Other/lec2.pdf情報工学実験Ⅱ講義 第1週A1 マイクロコンピュータ・トレーニングの使い方 第2週A2

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

Page 163: 情報工学実験Ⅱ講義 - 福岡工業大学y-tani/Lecture/Other/lec2.pdf情報工学実験Ⅱ講義 第1週A1 マイクロコンピュータ・トレーニングの使い方 第2週A2

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

Page 164: 情報工学実験Ⅱ講義 - 福岡工業大学y-tani/Lecture/Other/lec2.pdf情報工学実験Ⅱ講義 第1週A1 マイクロコンピュータ・トレーニングの使い方 第2週A2

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

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

Page 165: 情報工学実験Ⅱ講義 - 福岡工業大学y-tani/Lecture/Other/lec2.pdf情報工学実験Ⅱ講義 第1週A1 マイクロコンピュータ・トレーニングの使い方 第2週A2

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

Page 166: 情報工学実験Ⅱ講義 - 福岡工業大学y-tani/Lecture/Other/lec2.pdf情報工学実験Ⅱ講義 第1週A1 マイクロコンピュータ・トレーニングの使い方 第2週A2

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

Page 167: 情報工学実験Ⅱ講義 - 福岡工業大学y-tani/Lecture/Other/lec2.pdf情報工学実験Ⅱ講義 第1週A1 マイクロコンピュータ・トレーニングの使い方 第2週A2

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

Page 168: 情報工学実験Ⅱ講義 - 福岡工業大学y-tani/Lecture/Other/lec2.pdf情報工学実験Ⅱ講義 第1週A1 マイクロコンピュータ・トレーニングの使い方 第2週A2

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

Page 169: 情報工学実験Ⅱ講義 - 福岡工業大学y-tani/Lecture/Other/lec2.pdf情報工学実験Ⅱ講義 第1週A1 マイクロコンピュータ・トレーニングの使い方 第2週A2

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

Page 170: 情報工学実験Ⅱ講義 - 福岡工業大学y-tani/Lecture/Other/lec2.pdf情報工学実験Ⅱ講義 第1週A1 マイクロコンピュータ・トレーニングの使い方 第2週A2

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

Page 171: 情報工学実験Ⅱ講義 - 福岡工業大学y-tani/Lecture/Other/lec2.pdf情報工学実験Ⅱ講義 第1週A1 マイクロコンピュータ・トレーニングの使い方 第2週A2

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

Page 172: 情報工学実験Ⅱ講義 - 福岡工業大学y-tani/Lecture/Other/lec2.pdf情報工学実験Ⅱ講義 第1週A1 マイクロコンピュータ・トレーニングの使い方 第2週A2

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

Page 173: 情報工学実験Ⅱ講義 - 福岡工業大学y-tani/Lecture/Other/lec2.pdf情報工学実験Ⅱ講義 第1週A1 マイクロコンピュータ・トレーニングの使い方 第2週A2

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

Page 174: 情報工学実験Ⅱ講義 - 福岡工業大学y-tani/Lecture/Other/lec2.pdf情報工学実験Ⅱ講義 第1週A1 マイクロコンピュータ・トレーニングの使い方 第2週A2

論理回路の知識(AND NAND)

Page 175: 情報工学実験Ⅱ講義 - 福岡工業大学y-tani/Lecture/Other/lec2.pdf情報工学実験Ⅱ講義 第1週A1 マイクロコンピュータ・トレーニングの使い方 第2週A2

論理回路の知識(BUFFER NOR)

Page 176: 情報工学実験Ⅱ講義 - 福岡工業大学y-tani/Lecture/Other/lec2.pdf情報工学実験Ⅱ講義 第1週A1 マイクロコンピュータ・トレーニングの使い方 第2週A2

論理素子のシンボル

Page 177: 情報工学実験Ⅱ講義 - 福岡工業大学y-tani/Lecture/Other/lec2.pdf情報工学実験Ⅱ講義 第1週A1 マイクロコンピュータ・トレーニングの使い方 第2週A2

カラーコードの知識

Page 178: 情報工学実験Ⅱ講義 - 福岡工業大学y-tani/Lecture/Other/lec2.pdf情報工学実験Ⅱ講義 第1週A1 マイクロコンピュータ・トレーニングの使い方 第2週A2

パワーオンリセット動作

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

Page 179: 情報工学実験Ⅱ講義 - 福岡工業大学y-tani/Lecture/Other/lec2.pdf情報工学実験Ⅱ講義 第1週A1 マイクロコンピュータ・トレーニングの使い方 第2週A2

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

Page 180: 情報工学実験Ⅱ講義 - 福岡工業大学y-tani/Lecture/Other/lec2.pdf情報工学実験Ⅱ講義 第1週A1 マイクロコンピュータ・トレーニングの使い方 第2週A2

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

Page 181: 情報工学実験Ⅱ講義 - 福岡工業大学y-tani/Lecture/Other/lec2.pdf情報工学実験Ⅱ講義 第1週A1 マイクロコンピュータ・トレーニングの使い方 第2週A2

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

Page 182: 情報工学実験Ⅱ講義 - 福岡工業大学y-tani/Lecture/Other/lec2.pdf情報工学実験Ⅱ講義 第1週A1 マイクロコンピュータ・トレーニングの使い方 第2週A2

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

Page 183: 情報工学実験Ⅱ講義 - 福岡工業大学y-tani/Lecture/Other/lec2.pdf情報工学実験Ⅱ講義 第1週A1 マイクロコンピュータ・トレーニングの使い方 第2週A2

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

Page 184: 情報工学実験Ⅱ講義 - 福岡工業大学y-tani/Lecture/Other/lec2.pdf情報工学実験Ⅱ講義 第1週A1 マイクロコンピュータ・トレーニングの使い方 第2週A2

2進ー7セグメントモジュール

Page 185: 情報工学実験Ⅱ講義 - 福岡工業大学y-tani/Lecture/Other/lec2.pdf情報工学実験Ⅱ講義 第1週A1 マイクロコンピュータ・トレーニングの使い方 第2週A2

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

CPU ROM/RAM IO-1 IO-2

温度 / モータ制御など

アドレスデータ

コントロール

制 御計 測

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

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

計測

計測制御

有効

時間

計測

計測制御

計測制御

有効

無効

無効

有効

計測制御

計測制御

計測制御 時間

有効

有効

有効

無効

無効

無効

無効

無効

無効

Page 186: 情報工学実験Ⅱ講義 - 福岡工業大学y-tani/Lecture/Other/lec2.pdf情報工学実験Ⅱ講義 第1週A1 マイクロコンピュータ・トレーニングの使い方 第2週A2

一般の処理と割り込み処理の違い 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

割り込みによる方法

Page 187: 情報工学実験Ⅱ講義 - 福岡工業大学y-tani/Lecture/Other/lec2.pdf情報工学実験Ⅱ講義 第1週A1 マイクロコンピュータ・トレーニングの使い方 第2週A2

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

Page 188: 情報工学実験Ⅱ講義 - 福岡工業大学y-tani/Lecture/Other/lec2.pdf情報工学実験Ⅱ講義 第1週A1 マイクロコンピュータ・トレーニングの使い方 第2週A2

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

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

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

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

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

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

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

7.

8.

9.

10.

Page 189: 情報工学実験Ⅱ講義 - 福岡工業大学y-tani/Lecture/Other/lec2.pdf情報工学実験Ⅱ講義 第1週A1 マイクロコンピュータ・トレーニングの使い方 第2週A2

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

Page 190: 情報工学実験Ⅱ講義 - 福岡工業大学y-tani/Lecture/Other/lec2.pdf情報工学実験Ⅱ講義 第1週A1 マイクロコンピュータ・トレーニングの使い方 第2週A2

割り込みとは

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

1.電源遮断など異常事態が発生したときの対応2.プロセッサに比べて処理速度の遅い入出力装置とのデータ転送3.タイマからの割り込みを利用したリアルタイム制御4.不正な演算など異常事態が生じた場合からの復帰5.プログラムが暴走したときなどからの復帰

別の観点から見ると 外部機器主導の制御方法である.処理中

処理依頼1

処理依頼2 優先順位が高

い方から処理優先順位が低い

方の処理が行わ

れていた場合

処理1 処理2

処理1

処理2

Page 191: 情報工学実験Ⅱ講義 - 福岡工業大学y-tani/Lecture/Other/lec2.pdf情報工学実験Ⅱ講義 第1週A1 マイクロコンピュータ・トレーニングの使い方 第2週A2

マイクロコンピュータを理解する技術

1 デジタル回路

2 アナログ回路

3 制御回路

4.プログラミング技術

5.実装技術

6.センサー技術

7.マイクロコンピュータのハード回路とプログラム命令

Page 192: 情報工学実験Ⅱ講義 - 福岡工業大学y-tani/Lecture/Other/lec2.pdf情報工学実験Ⅱ講義 第1週A1 マイクロコンピュータ・トレーニングの使い方 第2週A2
Page 193: 情報工学実験Ⅱ講義 - 福岡工業大学y-tani/Lecture/Other/lec2.pdf情報工学実験Ⅱ講義 第1週A1 マイクロコンピュータ・トレーニングの使い方 第2週A2