Search Header Logo
Chương 3

Chương 3

Assessment

Presentation

•

Mathematics

•

University

•

Practice Problem

•

Hard

•
CCSS
6.NS.B.3

Standards-aligned

Created by

Khánh Quốc

FREE Resource

118 Slides • 0 Questions

1

media

KỸ ThUẬT VI XỬ LÝ

GV: ThS. Nguyễn Trung Thị Hoa Trang

Microproccesor Engineering

2

media

CHƯƠNG 3. VI XỬ LÝ 8085 CỦA INTEL

ĐẶC TÍNH CỦA VXL 8085

CẤU TRÚC CỦA VXL 8085

SƠ ĐỒ CHỨC NĂNG CÁC CHÂN CỦA VI XỬ LÝ 8085

CÁC MẠCH ĐIỆN KẾT NỐT VI XỬ LÝ 8085

BỘ NHỚ CỦA VXL 8085

3

media


MỤC TIÊU CỦA CHƯƠNG
Sau khi học xong chương này người học sẽ có khả
năng:
 Kiến thức:
- Trình bày đặc tính cơ bản của VXL 8085
- Trình bày được cấu trúc của VXL 8085
- Trình bày được sơ đồ chân và ý nghĩa các chân của VXL
8085
- Trình bày được các mạch điện cơ bản kết nối với VXL
8085
 Kỹ năng:
- Ghép nối được bộ nhớ cho VXL

4

media

CHƯƠNG 3. VI XỬ LÝ 8085 CỦA INTEL

Câu 7: Nêu vai trò của bộ đếm chương trình trong
hoạt động của vi xử lý?
Câu 8: Thanh ghi lệnh có vai trò gì trong hoạt động
của vi xử lý?
Câu 9: Phân biệt chu kì máy, chu kì lệnh trong hoạt
động của vi xử lý?
Câu 10: Ngăn xếp (stack) là gì? Ứng dụng cơ bản
của ngăn xếp?

5

media

CHƯƠNG 3. VI XỬ LÝ 8085 CỦA INTEL

3. 1. Đặc tính của Vi xử lý 8085
- Vi xử lý 8 bit (có khả năng truyền 8 bit

dữ liệu cùng một lúc).

- Cấp nguồn đơn: +5VDC
- Hoạt động cần fclk khoảng 3MHz (chu

kỳ đồng hồ là 320ns). Có bộ dao động
bên trong dùng LC, RC hoặc Thạch
anh.

- Có 16 bit địa chỉ, có thể truy nhập bộ

nhớ có dung lượng tối đa 64KB.

- Có 8 bit địa chỉ cổng vào/ra, như vậy

có thể điều khiển được (28) 256 cổng
vào/ra.

- Có 80 lệnh cơ bản và 246 mã lệnh.

6

media

CHƯƠNG 3. VI XỬ LÝ 8085 CỦA INTEL

3. 1. Đặc tính của Vi xử lý 8085

- Có 5 ngắt cứng: TRAT, RST7.5, RST6.5, RST5.5 và INTR.
- Có cổng vào ra nối tiếp cho phép truyền thông nối tiếp.
- Có các tín hiệu điều khiển (𝐼𝑂/ ഥ𝑀, 𝑅𝐷, 𝑊𝑅) để điều khiển

quá trình đọc ghi dữ liệu.

- Cho phép sử dụng chế độ truy xuất bộ nhớ trực tiếp

(DMA).

- Có thể kết hợp 3 chip vi xử lý khi sử dụng các chip điều

khiển I/O như IC8155 hoặc IC8355 .

7

media

CHƯƠNG 3. VI XỬ LÝ 8085 CỦA INTEL

3. 1. Đặc tính của Vi xử lý 8085

Vi xử lý 8085 có 3

thành

phần

chính

là:

Đơn vị số học và logic
(ALU), bộ điều khiển và
định

thời

(Timing

and

Cotrol) và một số thanh
ghi (Registers).

Hình 3.1 – Cấu trúc bên trong của vi xử lý
8085

8

media

CHƯƠNG 3. VI XỬ LÝ 8085 CỦA INTEL

3. 1. Đặc tính của Vi xử lý 8085

Khối ALU của vi xử lý 8085 làm việc với 8 bit dữ liệu,

gồm các khối thực hiện các phép toán số học và logic
sau:

[1] ADD (cộng)
[2] SUB (trừ)
[3] AND
[4] OR
[5] XOR
[6] NOT
[7] Increment (Tăng dần 1 đơn vị)
[8] Decrement (Giảm dần 1 đơn vị)
[9] Left shift (dịch trái)
[10] Clear (xóa về 0)

9

media

CHƯƠNG 3. VI XỬ LÝ 8085 CỦA INTEL

3. 1. Đặc tính của Vi xử lý 8085

Timing and Control Unit - Bộ điều khiển và định thời: là

một phần của CPU.

-

Nó có nhiệm vụ điều khiển toàn bộ các quá trình hoạt
động của vi xử lý, gồm việc đồng bộ xung nhịp, nạp
lệnh, giải mã lệnh, tạo các tín hiệu phù hợp để thực
hiện lệnh.

-

Nó cung cấp các tín hiệu trạng thái, điều khiển và thời
gian cần thiết cho hoạt động của bộ nhớ và các thiết
bị I / O.

-

Nó kiểm soát toàn bộ hoạt động của bộ vi xử lý và
các thiết bị ngoại vi kết nối với nó.
Như vậy có thể thấy rằng bộ phận điều khiển của CPU

hoạt động như một bộ não của máy tính.

10

media

CHƯƠNG 3. VI XỬ LÝ 8085 CỦA INTEL

3. 1. Đặc tính của Vi xử lý 8085

Registers – Thanh ghi là những bộ nhớ nhỏ trong CPU. Chúng

được bộ vi xử lý sử dụng để lưu trữ tạm thời và thao tác dữ liệu. Dữ
liệu vẫn còn trong thanh ghi cho đến khi chúng được gửi đến bộ
nhớ hoặc các thiết bị I / O. Bộ vi xử lý Intel 8085 có các thanh ghi
như:

1. Thanh ghi tích lũy 8 bit (ACC-Accumulator) tức là thanh ghi

A.

2. Sáu thanh ghi mục đích chung 8 bit: B, C, D, E, H và L.
3. Bộ đếm chương trình 16 bit (PC-Program counter)
4. Thanh ghi lệnh (Instruction register)
5. Con trỏ ngăn xếp (SP - Stack pointer)
6. Thanh ghi trạng thái (Status register)
7. Thanh ghi tạm thời (Temporary register)
8. Thanh ghi cờ (Flag register)

11

media

CHƯƠNG 3. VI XỬ LÝ 8085 CỦA INTEL

3. 2. Cấu trúc của Vi xử lý 8085
Các khối chức năng gồm:
[1] Mảng thanh ghi (Registor Array)
[2] Khối logic số học (ALU)
[3] Bộ giải mã lệnh và mã hóa chu kỳ máy (Instruction
Decoder and Machine Cycle Encoding)
[4] Bộ đệm địa chỉ (Address Buffer)
[5] Bộ đệm dữ liệu/ địa chỉ (Data/ Address Buffer
[6] Bộ tăng/ giảm địa chỉ chốt (Increnenter/Decrenenter
Address Latch)
[7] Điều khiển ngắt (Interrupt Control)
[8] Điều khiển cổng vào ra nối tiếp (Serial I/O Control)
[9] Mạch tạo dao động và điều khiển (Timing and Control)

12

media

CHƯƠNG 3. VI XỬ LÝ 8085 CỦA INTEL

3. 2. Cấu trúc của Vi xử lý 8085

3.2.1. Cấu trúc của mảng thanh ghi

Hình 3.2 – Cấu trúc của
mảng thanh ghi trong

8085

W Reg.

Z Reg.

B Reg.

C Reg.

D Reg.

E Reg.

H Reg.

L Reg.

Con trỏ ngăn xếp
(SP_stack Pointer)

Bộ đếm chương trình

(PC_Program

Counter)

Các thanh ghi mà người sử dụng có thể thay

đổi giá trị (lập trình) bao gồm:
6 thanh ghi chức năng chung 8 bit (B, C,

D, E, H, L)

2 thanh ghi 16 bit (SP và PC).

Các thanh ghi không thay đổi từ chương

trình người sử dụng mà bị thay đổi nội dung
bởi các lệnh bên trong của Vi xử lý:
Thanh ghi tạm thời W và Z

Các thành ghi đặc biệt

Thanh ghi dùng chung A (Accumulator

Reg.)

Thanh ghi lệnh (Instruction Reg.)
Thanh ghi cờ (Flag Reg.)

13

media

CHƯƠNG 3. VI XỬ LÝ 8085 CỦA INTEL

3.2.1. Cấu trúc của mảng thanh ghi

3.2.1.1. Các thanh ghi chức năng chung
- Gồm 6 thanh ghi chức năng chung 8 bit (B, C, D, E, H,

L)

- Có thể dùng như các thanh ghi đơn 8 bit hoặc ghép

lại thành từng cặp thành thanh ghi 16 bit như BC, DE
và HL. Khi ghép lại thành từng cặp thì byte cao được
đặt trong thanh ghi đầu tiên (ví dụ thanh ghi B trong
cặp BC), B là byte cao và C là byte thấp.

- Thanh ghi HL có thể được sử dụng như 1 con trỏ dữ liệu

trong con trỏ chương trình.

- Để ghi và đọc giá trị trong các thanh ghi này, sử dụng

1 lệnh bên trong mà không cần truy nhập Bus. Chính vì
vậy, mà tốc độ truy nhập cao hơn so với truy nhập vào

14

media

CHƯƠNG 3. VI XỬ LÝ 8085 CỦA INTEL

3.2.1. Cấu trúc của mảng thanh ghi

3.2.1.2. Các thanh ghi tạm thời
- Các thanh ghi w và z là các thanh ghi tạm thời. Chúng sử

dụng để lưu giữ dữ liệu 8 bit trong quá trình thực hiện 1 số
lệnh.
Ví dụ: lệnh CALL (gọi 1 chương trình con) được dùng để
chuyển quyền điều khiển chương trình đến 1 chương trình
con. Lệnh này sẽ cất giữ bộ đếm chương trình (PC) hiện tại
vào trong ngăn xếp và nạp địa chỉ chứa chương trình con
vào bộ đếm chương trình (PC). Địa chỉ tạm thời này được
chứa trong thanh ghi w và z và được đưa ra bus ở chu kỳ
đầu thực hiện lệnh (Fetch).

15

media

CHƯƠNG 3. VI XỬ LÝ 8085 CỦA INTEL

3.2.1. Cấu trúc của mảng thanh ghi

3.2.1.3. Các thanh ghi 16 bit
[1] Bộ đếm chương trình (PC):
- Bộ đếm chương trình là 1 thanh ghi chức năng đặc biệt

và là một trong những thanh ghi quan trọng nhất của vi
xử lý, nó điều hành vi xử lý cần thực hiện công việc gì và
thể hiện như thế nào, nó quyết định lệnh nào được thực hiện
trước tiên và lệnh tiếp theo là gì.

- Bộ đếm chương trình xác định địa chỉ của vùng nhớ của lệnh kế

tiếp sẽ được thực hiện. Bộ đếm chương trình 16 bit có thể địa chỉ
hóa được 216(64KB) giá trị trong bộ nhớ.
Nêu vai trò của bộ đếm chương trình trong hoạt động
của vi xử lý?

16

media

CHƯƠNG 3. VI XỬ LÝ 8085 CỦA INTEL

3.2.1. Cấu trúc của mảng thanh ghi

3.2.1.3. Các thanh ghi 16 bit
[1] Bộ đếm chương trình (PC):

Thường thường, khi thực hiện xong 1 câu
lệnh bộ đếm chương trình sẽ tự động tăng
lên 1 giá trị để thực hiện lệnh tiếp theo.
Tuy nhiên khi gọi 1 chương trình con sẽ
thực hiện 1 lệnh cho phép nạp địa chỉ
vùng nhớ có chứa chương trình con vào
bộ đếm chương trình. Khi chương trình
con được thực hiện bộ đếm chương trình
sẽ chứa địa chỉ vùng nhớ có câu lệnh
đầu tiên của chương trình con. Sau khi
thực hiện xong chương trình con, bộ đếm
chương trình sẽ được nạp địa chỉ vùng
nhớ của câu lệnh tiếp theo mà trước khi
chương trình con thực hiện.

17

media

CHƯƠNG 3. VI XỬ LÝ 8085 CỦA INTEL

3.2.1. Cấu trúc của mảng thanh ghi

3.2.1.3. Các thanh ghi 16 bit
[2] Con trỏ ngăn xếp (SP):

Thanh ghi con trỏ ngăn xếp này rất quan trọng trong khi

sử dụng để gọi 1 chương trình con. Khi 1 chương trình con
được gọi, vi xử lý cần lưu trữ vị trí của câu lệnh trong
chương trình chính. Vị trí này được gọi là địa chỉ trả về,
được lưu trong 1 vùng nhớ đặc biệt gọi là ngăn xếp (là một
vùng nhớ dành riêng ở trong RAM). Trước khi trao quyền
điều khiển cho chương trình con, địa chỉ trả về cần được
cất giữ vào trong ngăn xếp. Sau khi thực hiện xong chương
trình con, địa chỉ trả về được lấy ra từ trong ngăn xếp và
nạp vào bộ đếm chương trình.

18

media

CHƯƠNG 3. VI XỬ LÝ 8085 CỦA INTEL

3.2.1. Cấu trúc của mảng thanh ghi

3.2.1.3. Các thanh ghi 16 bit
[2] Con trỏ ngăn xếp (SP)

Ngăn xếp (stack) là một cấu trúc

dữ liệu trừu tượng hoạt động theo
nguyên tắc "vào sau, ra trước" (Last
In, First Out - LIFO) dùng để lưu trữ vị trí
của câu lệnh trong chương trình chính.
Ứng dụng: quản lý lời gọi hàm, quản
lý ngắt, lưu trữ biến cục bộ của hàm,
quản lý tham số hàm, đảo ngược
chuỗi, đánh dấu biểu thức, kiểm tra
dấu ngoặc, chuyển đổi giữa các hệ
đếm

Ngăn xếp (stack) là gì? Ứng dụng cơ bản của ngăn xế

19

media

CHƯƠNG 3. VI XỬ LÝ 8085 CỦA INTEL

3.2.1. Cấu trúc của mảng thanh ghi

3.2.1.4. Các thanh ghi đặc biệt
Thanh ghi dùng chung A (accumlator): đây là thanh ghi

3 trạng thái 8 bit (tri-state), nó hay được dùng nhất trong
các phép toán số học, logic, nạp và ghi dữ liệu, truy nhập
các cổng vào/ ra. Tất cả các kết quả của phép toán số
học và logic đều được nạp vào thanh ghi A, do tần suất
thực hiện các lệnh này lớn nên thông thường thanh ghi A
hay được sử dụng nhất.

Thanh ghi lệnh (Instruction register): Khi thực hiện lệnh, đầu

tiên mã lệnh sẽ được nạp vào vi xử lý từ bộ nhớ chương
trình. Vi xử lý sẽ lưu mã lệnh vào thanh ghi lệnh. Mã lệnh
này sau đó sẽ được đưa vào bộ giải mã lệnh để lựa chọn 1
trong số 256 giá trị tương ứng.

20

media

CHƯƠNG 3. VI XỬ LÝ 8085 CỦA INTEL

3.2.1. Cấu trúc của mảng thanh ghi

3.2.1.4. Các thanh ghi đặc biệt
Thanh ghi cờ (Flag): Đây là thanh ghi 8 bit, trong đó có 5

bit được sử dụng để báo hiệu, để nhận biết của trạng thái
sau của quá trình thực hiện lệnh nào đó. Chúng bao gồm
các cờ: s (cờ dấu), z (cờ zero), AC (cờ báo tràn phụ), P (cờ
báo chẵn lẻ) và CY (cờ tràn).
D7

D6

D5

D4

D3

D2

D1

D0

S

Z

-

AC

-

P

-

CY

cờ dấu
cờ zero

cờ báo tràn
phụ

cờ báo chẵn

lẻ

cờ tràn

21

media

CHƯƠNG 3. VI XỬ LÝ 8085 CỦA INTEL

3.2.1. Cấu trúc của mảng thanh ghi

3.2.1.4. Các thanh ghi đặc biệt
Thanh ghi cờ (Flag):

Cờ dấu (S)

Sau khi thực hiện phép toán số học và logic nếu bit D7 của kết quả có giá
trị 1, thì cờ dấu s được đặt giá trị 1. Như vậy nếu byte nhận được có bit D7
là 1 thì số đó là số âm, ngược lại là số dương.

Cờ zero (z)

z=1 nếu kết quả thực hiện trong ALU có giá trị 0 và cờ này sẽ bị xóa (z=0)
nếu kết quả ≠ 0. Cờ zero cũng được đặt lên 1 khi sử dụng lệnh tăng hoặc
giảm giá trị của 1 thanh ghi nào đó mà kết quả có giá trị 0

Cờ tràn phụ
(AC)

AC=1 trong trường hợp bị tràn bit số 3, tức là giá trị từ bit D3 bị đẩy sang bit
D4. Cờ này được sử dụng khi thực hiện lệnh với dữ liệu BCD và người sử
dụng không thay đổi được giá trị của cờ này.

Cờ chẵn lẻ
(P_Parity)

Bit kiểm tra chẵn lẻ dùng để xác định số lượng bit 1 trong thanh ghi dùng
chung A là chẵn hay lẻ. sau phép toán số học hoặc logic nếu trong kết
quả có số lượng bit 1 là chẵn thì cờ này được đặt lên 1, nếu là lẻ thì giá trị
của nó sẽ là 0.

Cờ tràn (CY)

Giá trị cờ này được đặt lên 1 nếu bị tràn bit 7

22

media

CHƯƠNG 3. VI XỬ LÝ 8085 CỦA INTEL

3.2.1. Cấu trúc của mảng thanh ghi

3.2.1.4. Các thanh ghi đặc biệt

Thanh ghi cờ (Flag): Đây là thanh ghi 8 bit, trong đó có 5 bit

được sử dụng để báo dấu hiệu để nhận biết của trạng thái sau
quá trình thực hiện lệnh nào đó.
Ví dụ phép tính có cờ tràn như sau:

10011011

+ 01110101
1 00010000

Phép
cộng

Kết
quả

Nhớ

0 + 0

=

0

0

0 + 1

=

1

0

1 + 0

=

1

0

1 + 1

=

0

1

Bướ

c

Cộ

t

Thực hiện

1

1

1 + 1 = 0 nhớ 1

2

2

1 + 0 = 1 + 1 (1 nhớ ở b1) = 0 nhớ 1

3

3

0 + 1 = 1 + 1 (1 nhớ ở b2) = 0 nhớ 1

4

4

1 + 0 = 1 + 1 (1 nhớ ở b3) = 0 nhớ 1

5

5

1 + 1 = 0 (nhớ 1) + 1 (1 nhớ ở b4) =
1

6

6

0 + 1 = 1 + 1 (1 nhớ ở b5) = 0 nhớ 1

7

7

0 + 1 = 1 + 1 (1 nhớ ở b6) = 0 nhớ 1

8

8

1 + 0 = 1 + 1 (1 nhớ ở b7) = 0 nhớ 1
(tràn)

23

media

CHƯƠNG 3. VI XỬ LÝ 8085 CỦA INTEL

3.2.1. Cấu trúc của mảng thanh ghi

3.2.1.4. Các thanh ghi đặc biệt

Thanh ghi cờ (Flag): Đây là thanh ghi 8 bit, trong đó có 5 bit

được sử dụng để báo dấu hiệu để nhận biết của trạng thái sau
quá trình thực hiện lệnh nào đó.
Ví dụ phép tính có cờ tràn như sau:

10001001

− 10101011
1 11011110

Bướ

c

Cộ

t

Thực hiện

1

1

1 – 1 = 0

2

2

0 – 1 = 1 nhớ -1

3

3

0 – 0 = 0 -1 (nhớ -1 ở b2) = 1 nhớ -1

4

4

1 – 1 = 0 – 1 (nhớ -1 ở b3) = 1 nhớ -
1

5

5

0 – 0 = 0 – 1 (nhớ -1 ở b4) = 1 nhớ -
1

6

6

0 – 1 = 1 (nhớ -1) – 1 (nhớ -1 ở b5)
= 0

7

7

0 – 0 = 0 – 1 (nhớ -1 ở b6) = 1 nhớ -
1

Phép trừ
Kết quả
Nhớ

0 - 0

=

0

0

0 - 1

=

1

-1

1 - 0

=

1

0

1 - 1

=

0

0

Số tràn =1 là số
âm

24

media

CHƯƠNG 3. VI XỬ LÝ 8085 CỦA INTEL

3.2.1. Cấu trúc của mảng thanh ghi

3.2.1.4. Các thanh ghi đặc biệt

Thanh ghi cờ (Flag): Đây là thanh ghi 8 bit, trong đó có 5 bit

được sử dụng để báo dấu hiệu để nhận biết của trạng thái sau
quá trình thực hiện lệnh nào đó.
Ví dụ phép tính có cờ tràn như sau:

10001001

− 10101011
1 11011110

10001001

+ 01010101

11011110

Phép
cộng

Kết
quả

Nhớ

0 + 0

=

0

0

0 + 1

=

1

0

1 + 0

=

1

0

1 + 1

=

0

1

Phép trừ
Kết
quả

Nhớ

0 - 0

=

0

0

0 - 1

=

1

-1

1 - 0

=

1

0

1 - 1

=

0

0

số bù 1(00100001) +1 = -100010=-34
số bù 1 của 10101011+1=số bù 2

Số tràn =1 là số
âm

25

media

CHƯƠNG 3. VI XỬ LÝ 8085 CỦA INTEL

3.2.2. Bộ giải mã lệnh (Instruction Decoder)

- Khi thực hiện lệnh đầu tiên vi xử lý nạp mã lệnh từ bộ nhớ vào

thanh ghi lệnh.

- Sau đó sẽ gửi mã lệnh đến bộ giải mã lệnh, bộ giải mã lệnh giải mã

nó và tạo tín hiệu điều khiển với nhịp thời gian phù hợp để điều

khiển thanh ghi, bộ đếm dữ liệu, ALU, tín hiệu ngoại vi phụ thuộc

câu lệnh cụ thể.

3:8

Decoder

(B)

I

3

8
CU

Tín hiệu điều
khiển

26

media

CHƯƠNG 3. VI XỬ LÝ 8085 CỦA INTEL

3.2.3. Bộ đệm địa chỉ (Address buffer)

Đây là bộ đệm điều khiển 1 chiều 8 bit. Nó được

sử dụng để điều khiển Bus địa chỉ bit cao (A8 ÷ A5),
đồng thời được sử dụng để chuyển về trạng thái trở
kháng cao. Bus địa chỉ bit cao khi gặp các trường
hợp như khởi động (reset), tạm dừng, dừng hay các
dòng địa chỉ này không dùng.

Đây là bộ đệm điều khiển 2 chiều 8 bit. Nó được

dùng để điều khiển việc chọn kênh giữa kênh địa chỉ

và kênh dữ liệu, tức là bus địa chỉ bit thấp (A7 ÷ A0) và

Bus dữ liệu (D0 ÷ D7). Đồng thời được sử dụng để

chuyển về trạng thái trở kháng cao. Bus chọn kênh dữ

liệu/ địa chỉ khi gặp các trường hợp như khởi động

(reset), tạm dừng, dừng hay các đường dữ liệu này

không dùng.

3.2.4. Bộ đệm dữ liệu/địa chỉ (Data/Address buffer)

27

media

CHƯƠNG 3. VI XỬ LÝ 8085 CỦA INTEL

3.2.5. Bộ tăng/giảm địa chỉ chốt (Increnenter/Decrenenter
Address Latch)

Là thanh ghi 16 bit này được sử dụng để tăng hay giảm nội

dung của bộ đếm chương trình (PC) hoặc con trỏ ngăn xếp.

Vi xử lý nạp lệnh, gửi mã và thực hiện lệnh 1 cách tuần tự,

các câu lệnh được thực hiện liên tiếp nhau theo trình tự từ trên

xuống dưới theo địa chỉ tăng dần của bộ nhớ. Tuy nhiên có những

trường hợp đòi hỏi vi xử lý thực hiện nhiệm vụ đặc biệt theo 1 yêu cầu

bất thường nào đó, chương trình đang chạy được tạm dừng chuyển

sang chạy 1 hàm ngắt để thực hiện đáp ứng đặc biệt. Sau khi hàm

ngắt thực hiện xong, chương trình đang chạy trước đó được thực

hiện tiếp từ điểm tạm dừng.

3.2.6. Điều khiển ngắt (Interrupt Control)

28

media

CHƯƠNG 3. VI XỬ LÝ 8085 CỦA INTEL

3.2.7. Điều khiển truyền thông nối tiếp (Serial I/O Control)

- Phục vụ việc truyền dữ liệu từ vi xử lý này đến vi xử lý khác hay

tới máy tính, thông thường sử dụng kênh truyền thông nối tiếp
không đồng bộ UART.

- Lợi thế của kênh truyền thông này là sử dụng ít dây kết nối do

đó giảm giá thành và khả năng chống nhiễu cao hơn kênh
truyền song song, đặc biệt là truyền với khoảng cách lớn.

- Với kênh truyền nối tiếp, trên đường truyền sẽ gửi từng bit tại một

thời điểm.

- Trong vi xử lý 8085, điều khiển cổng vào ra nối tiếp có 2 đường là

dữ liệu đầu ra nối tiếp (SOD) và dữ liệu đầu vào nối tiếp (SID).
Đường SOD được sử dụng để gửi dữ liệu nối tiếp, đường SID
được sử dụng nhận dữ liệu nối tiếp.

29

media

CHƯƠNG 3. VI XỬ LÝ 8085 CỦA INTEL

3.3. Sơ đồ chức năng các chân của Vi xử lý 8085

Hình 3.3 – Cấu hình chân của VXL 8085 và Sơ đồ chức năng chân của
VXL 8085

Các tín hiệu vào ra vi
xử lý có thể phân loại
thành 7 nhóm như sau:
- Các chân tạo dao

động và cấp nguồn.

- BUS dữ liệu và BUS

địa chỉ.

- BUS điều khiển.
- Tín hiệu ngắt.
- Tín hiệu vào ra nối

tiếp.

- Tín hiệu truy nhập bộ

nhớ trực tiếp DMA.

- Tín hiệu Reset.

30

media

CHƯƠNG 3. VI XỬ LÝ 8085 CỦA INTEL

3.3. Sơ đồ chức năng các chân của Vi xử lý 8085

3.3.1. Các chân tạo dao động và cấp nguồn

VCC :chân cấp nguồn đơn cực +5V

VSS : chân nối đất (mass)

X1 và X2: chân tạo dao động, mạch cộng hưởng LC,
RC hoặc thạch anh được kết nối vào hai chân này.
Mạch tạo dao động bên trong sau khi tạo ra dao động,
sẽ chia tần số với hệ số 2. Ví dụ để hệ thống vi xử lý làm
việc với tần số 3Mhz, mạch dao động cần tạo tần số
6Mhz.

CLK OUT: Tín hiệu này được sử dụng như tín hiệu xung
nhịp cho thiết bị khác. Tần số này bằng ½ tần số được
tạo ra từ mạch dao động.

31

media

CHƯƠNG 3. VI XỬ LÝ 8085 CỦA INTEL

3.3. Sơ đồ chức năng các chân của Vi xử lý 8085

3.3.2. Bus dữ liệu và Bus địa chỉ

ADo ÷ AD7: Các chân của 8 bit dữ liệu (D0 đến D7) được
sử dụng chung với 8 bit địa chỉ thấp (A0 đến A7), và
hoạt động theo nguyên tắc dồn kênh (Multiplexing). Tại
phần đầu của chu kỳ máy (T1) 8 bit thấp của địa chỉ
vùng nhớ hoặc địa chỉ vào ra được áp lên BUS. Tại các
phần sau của chu kỳ máy (T2 và T3) đường BUS này
được sử dụng cho 8 bit dữ liệu 2 chiều.

Bus địa chỉ A8 ÷ A15: Phần bit cao của 16 bit địa chỉ
được áp vào các đường dây địa chỉ từ A8 đến A15.
Các chân này được sử dụng chuyên cho đường BUS
địa chỉ các bit cao.

32

media

CHƯƠNG 3. VI XỬ LÝ 8085 CỦA INTEL

3.3. Sơ đồ chức năng các chân của Vi xử lý 8085

3.3.3. Tín hiệu trạng thái và điều khiển

ALE (Address Latch Enable – Cho phép chốt địa chỉ): Như chúng
ta

đã

biết

các

đường

AD0

đến

AD7

được

dồn

kênh

(multiplexing) các địa chỉ byte thấp từ A0 đến A7 hoạt động chỉ
trong thời gian T1 của chu kỳ máy để truy nhập vào vùng nhớ
hoặc địa chỉ vào ra (I/O). Điều này có nghĩa là địa chỉ byte thấp
cần được chốt (giữ lại) cho các thời điểm sau của chu kỳ máy.
Việc chốt các địa chỉ bit thấp được thực hiện bởi tín hiệu “Cho
phép chốt địa chỉ-ALE” và được đưa ra bên ngoài vi xử lý 8085.

33

media

CHƯƠNG 3. VI XỬ LÝ 8085 CỦA INTEL

3.3. Sơ đồ chức năng các chân của Vi xử lý 8085

3.3.3. Tín hiệu trạng thái và điều khiển

𝐑𝐃 và WR : Các tín hiệu này được sử dụng để điều khiển chiều
của dòng dữ liệu giữa vi xử lý và bộ nhớ hoặc thiết bị vào ra.
Mức thấp của chân RD thể hiện rằng một dữ liệu cần được đọc từ
vùng nhớ hoặc cổng vào ra lựa chọn thông qua BUS dữ liệu.
Mức thấp của chân WR thể hiện rằng một dữ liệu cần phải ghi vào
vùng nhớ hoặc cổng vào/ra lựa chọn thông qua BUS dữ liệu.

Chu kỳ đọc/ghi

34

media

CHƯƠNG 3. VI XỬ LÝ 8085 CỦA INTEL

3.3. Sơ đồ chức năng các chân của Vi xử lý 8085

3.3.3. Tín hiệu trạng thái và điều khiển

IO/M: Tín hiệu IO/M được sử dụng để phân biệt giữa

các hoạt động liên quan đến cổng vào/ra hay bộ nhớ.

- Khi tín hiệu này ở mức thấp (IO / M = 0), nó biểu thị các hoạt động liên

quan đến bộ nhớ.

- Khi tín hiệu này ở mức cao (IO / M = 1), nó biểu thị một hoạt động I / O.

S0 và S1 : S0 và S1 thể hiện dạng của chu kỳ máy hoạt
động:

đọc

(S0=0,S1=1),

ghi

(S0=1,S1=0),

nạp

lệnh

(S0=S1=1) hay tạm dừng (Halt, S0=S1=0)

35

media

CHƯƠNG 3. VI XỬ LÝ 8085 CỦA INTEL

3.3. Sơ đồ chức năng các chân của Vi xử lý 8085

3.3.3. Tín hiệu trạng thái và điều khiển

36

media

CHƯƠNG 3. VI XỬ LÝ 8085 CỦA INTEL

3.3. Sơ đồ chức năng các chân của Vi xử lý 8085

3.3.3. Tín hiệu trạng thái và điều khiển

READY:
-

Được sử dụng để vi xử lý nhận biết được trạng thái sẵn
sàng của các thiết bị ngoại vi mà nó kết nối. Nếu thiết
bị ngoại vi chưa sẵn sàng thì vi xử lý cần phải đợi khi kết
nối.

-

Tín hiệu này được sử dụng để đồng bộ với các thiết bị
ngoại vi hoạt động chậm hơn so với vi xử lý.

37

media

CHƯƠNG 3. VI XỬ LÝ 8085 CỦA INTEL

3.3. Sơ đồ chức năng các chân của Vi xử lý 8085

3.3.4. Tín hiệu ngắt

Vi xử lý 8085 có 5 tín hiệu ngắt cứng, các ngắt này có

mức ưu tiên cố định của dịch vụ ngắt: TRAP (mức ưu
tiên 1), RST7.5 (mức ưu tiên 2), RST 6.5 (mức ưu tiên 3),
RST5.5 (mức ưu tiên 4), và INTR (mức ưu tiên 5). Vi xử lý
sẽ xử lý các đòi hỏi ngắt này tại thời điểm cuối của lệnh
đang thực hiện.

Tín hiệu 𝐼𝑁𝑇𝐴 (Acknowledge Interrupt- Ngắt báo nhận):

Khi có một yêu cầu ngắt được gửi đến VXL và sau khi
chấp nhận ngắt, VXL sẽ gửi tín hiệu 𝐼𝑁𝑇𝐴 (hoạt động ở
mức thấp) đến thiết bị ngoại vi.

38

media

CHƯƠNG 3. VI XỬ LÝ 8085 CỦA INTEL

3.3. Sơ đồ chức năng các chân của Vi xử lý 8085

3.3.5. Tín hiệu vào ra nối tiếp

Tín hiệu SID (Đường dữ liệu đầu vào nối tiếp): Là một

đường đầu vào mà qua đó bộ VXL chấp nhận dữ liệu
nối tiếp.

Tín hiệu SOD (Đường dữ liệu ra nối tiếp): Là một đường

đầu ra mà qua đó bộ VXL gửi dữ liệu nối tiếp đầu ra.

39

media

CHƯƠNG 3. VI XỬ LÝ 8085 CỦA INTEL

3.3. Sơ đồ chức năng các chân của Vi xử lý 8085

3.3.6. Tín hiệu truy nhập bộ nhớ trực tiếp DMA

DMA (Direct memory access): là một cơ chế truyền dữ
liệu tốc độ cao từ ngoại vi tới bộ nhớ cũng như từ bộ
nhớ tới bộ nhớ.
-

HOLD: Tín hiệu này chỉ ra rằng một thiết bị ngoại vi
như bộ điều khiển DMA đang yêu cầu sử dụng bus
địa chỉ, bus dữ liệu và bus điều khiển của vi xử lý.

-

HLDA: Tín hiệu tích cực ở mức cao sử dụng để báo
hiệu sự chấp nhận đòi hỏi HOLD.

40

media

CHƯƠNG 3. VI XỬ LÝ 8085 CỦA INTEL

3.3. Sơ đồ chức năng các chân của Vi xử lý 8085

3.3.7. Tín hiệu Reset

𝑅𝐸𝑆𝐸𝑇 𝐼𝑁: Khi chân này ở mức thấp thì:

+ Bộ đếm chương trình chuyển về địa chỉ 0 (0000H)
+ Xóa trạng thái cho phép ngắt và Flip-flops HLDA.
+ Chuyển BUS dữ liệu, địa chỉ và điều khiển về trạng thái

trở kháng cao (High Z). Chú ý là chỉ thực hiện khi tín
hiệu Reset ở trạng thái tích cực.

+ Chuyển nội dung các thanh ghi bên trong của vi xử

lý về giá trị ngầm định.

41

media

CHƯƠNG 3. VI XỬ LÝ 8085 CỦA INTEL

3.3. Sơ đồ chức năng các chân của Vi xử lý 8085

3.3.7. Tín hiệu Reset

RESET OUT: Tín hiệu tích cực ở mức cao để thông báo

là vi xử lý bắt đầu reset. Tín hiệu này được đồng bộ với
đồng hồ xung nhịp vi xử lý và có thể sử dụng reset thiết
bị khác có kết nối với vi xử lý.

42

media

CHƯƠNG 3. VI XỬ LÝ 8085 CỦA INTEL

3.4. Các mạch điện kết nối vi xử lý

2.4.1. Bộ tạo xung nhịp trên chip

Vi xử lý 8085 có bộ tạo xung

nhịp trên chip, bộ tạo xung
nhịp này đòi hỏi một bộ cộng
hưởng như LC, RC hay thạch
anh. Flip-flop T bên trong sẽ
chia tần số dao động với hệ
số 2. Do đó tần số hoạt động
của vi xử lý 8085 luôn bằng ½
tần số dao động của mạch
cộng hưởng bên ngoài (nối
với X1 và X2).

Hình 3.4: Sơ đồ khối bên trong
của bộ tạo xung nhịp trên chip

X1

X2

1

2

VCC(+5
V)

T

CL
K

Q

ത𝑄

CLKou

t

8085

43

media

CHƯƠNG 3. VI XỬ LÝ 8085 CỦA INTEL

3.4. Các mạch điện kết nối vi xử lý

2.4.2. Mạch tạo dao động

Mạch cộng hưởng LC: tần số cộng

hưởng của mạch này được tính
theo công thức:

𝑓𝑟 =
1

2𝜋.

𝐿(𝐶𝑒𝑥𝑡 + 𝐶𝑖𝑛𝑡)

Trong đó: Cint là điện dung bên trong,
thông thường có giá trị là 15pF. Tần số
dao động ra có sai lệch khoảng 10%.
Để giảm nhỏ sự sai lệch của tần số dao
động ra, cần sử dụng tụ Cext có dung
lượng lớn gấp đôi so với Cint, tức là
khoảng 30pF.

Hình 3.5: Mạch cộng

hưởng LC

X1

X2

8085

C

L

44

media

CHƯƠNG 3. VI XỬ LÝ 8085 CỦA INTEL

3.4. Các mạch điện kết nối vi xử lý

2.4.1. Mạch tạo dao động

Mạch cộng hưởng RC: Tần số

dao động ra của mạch này
không ổn định, nhưng mạch
này có ưu điểm là giá thành
thấp.

Hình 3.6: Mạch cộng hưởng

RC

X1

X2

8085

C
R

45

media

CHƯƠNG 3. VI XỬ LÝ 8085 CỦA INTEL

3.4. Các mạch điện kết nối vi xử lý

2.4.1. Mạch tạo dao động

Mạch cộng hưởng thạch

anh: Mạch này có độ ổn
định tần số ra nhất. Sử dụng
1 tụ dung lượng 20pF nối
đất để mạch dễ dao động
khi mới bật điện.

Hình 3.7: Mạch xung nhịp thạch
anh

X1

X2

8085

C

Cryst
al

46

media

CHƯƠNG 3. VI XỬ LÝ 8085 CỦA INTEL

3.4. Các mạch điện kết nối vi xử lý

2.4.1. Mạch dao động ngoài

Có thể sử dụng nguồn dao động từ bên ngoài cấp vào

vi xử lý theo mạch như hình dưới. Ở đây xung nhịp bên
ngoài được cấp cho chân X1 và chân X2 sẽ được để
trống.

Hình 3.7: Mạch dao động
ngoài

X1

X2

8085

Không nối
(NC)

CLK
ngoài

+5V

47

media

CHƯƠNG 3. VI XỬ LÝ 8085 CỦA INTEL

3.4. Các mạch điện kết nối vi xử lý

2.4.2. Mạch Reset

Hình 3.8: Mạch Reset

-

Khi Reset, con trỏ chương trình
chuyển về địa chỉ 0000H do khi
bắt đầu hoạt động, vi xử lý 8085
thực hiện lệnh đầu tiên từ địa
chỉ 0000H.

-

Khi bắt đầu bật nguồn reset cần
được sử dụng để chắc chắn là
lệnh đầu tiên được thực hiện từ
địa chỉ 0000H.

48

media

CHƯƠNG 3. VI XỬ LÝ 8085 CỦA INTEL

3.4. Các mạch điện kết nối vi xử lý

2.4.2. Mạch Reset

- Khi bật nguồn chân reset-in cần

ở trạng thái mức thấp ít nhất
trong khoảng thời gian 10 ms
sau đó dùng điện áp lên Vcc.
Trong mạch hình dưới, khi bật
nguồn hoặc ấn nút, chân reset-
in sẽ xuống mức thấp và từ từ
tăng lên điện áp 5V đủ thời gian
để vi xử lý reset. Diode được
dùng để xả điện áp trên tụ khi
nguồn bị cắt.

Hình 3.8: Mạch Reset

49

media

CHƯƠNG 3. VI XỬ LÝ 8085 CỦA INTEL

3.4. Các mạch điện kết nối vi xử lý

2.4.2. Mạch Reset

- Sau khi reset, vi xử lý nạp địa chỉ

0000H vào bộ đếm chương trình
PC và xóa cờ INTE. Cờ này có
tác

dụng

cấm

ngắt.

Thông

thường khi vi xử lý bắt địa chỉ
hoạt động cần khởi tạo các
tham số của hệ thống, để tránh
ảnh hưởng của ngắt trong quá
trình này ta cần cấm các ngắt
hoạt

động.

Sau

khi

khởitạo

tham số xong, nếu cần 1 ngắt
nào đó hoạt động có thể sử

Hình 3.8: Mạch Reset

50

media

CHƯƠNG 3. VI XỬ LÝ 8085 CỦA INTEL

3.5. Cấu trúc và sự hoạt động của ngắt trong vi xử lý 8085

3.5.1. Các dạng ngắt

Ngắt cứng (Hardware Interrupts )

Ngắt mền (Software

Interrupts )

Vi xử lý 8085 có 5 chân ngắt cứng là: RST5.5,
RST 6.5, RST7.5, TRAP và INTR. Cho phép thiết
bị ngoại vi tạm dừng sự hoạt động của
chương trình chính để thực hiện 1 chương
trình đặc biệt đáp ứng tác động của thiết bị
ngoại vi. Khi 1 ngắt hoạt động, vi xử lý sẽ thực
hiện nốt lệnh hiện tại, và chuyển sang thực
hiện 1 hàm để phục vụ thiết bị ngoại vi. Khi
thực hiện xong hàm này, vi xử lý lại trở về
chương trình chính tại thời điểm vừa rời khỏi.
dạng ngắt này, khi các chân vi xử lý được
dùng để nhận các đòi hỏi ngắt được gọi là
ngắt cứng.

Nguyên nhân xảy ra ngắt là
cho thực hiện 1 lệnh nào
đó. Sau khi thực hiện các
lệnh này vi xử lý sẽ thực
hiện nốt lệnh đang hoạt
động và chuyển sang gọi 1
hàm đặc biệt. Khi thực hiện
xong

hàm

này,

chương

trình điều khiển lại chuyển
về thực hiện chương trình
chính. Vi xử lý 8085 có 8
ngắt mềm từ RST0 đến RST7.

51

media

CHƯƠNG 3. VI XỬ LÝ 8085 CỦA INTEL

3.5. Cấu trúc và sự hoạt động của ngắt trong vi xử lý 8085

3.5.2. Tổng quan về cấu trúc ngắt

-Vi xử lý 8085 có 5 ngắt cứng như

sau: TRAP, RST7.5, RST6.5, RST5.5, và

INTR.

-Khi một chân ngắt bất kỳ (ngoại trừ

INTR) tích cực, mạch điều khiển bên

trong sẽ thực hiện lệnh gọi CALL

đến vùng nhớ định trước. Vùng nhớ

này được gọi là bảng vecto ngắt

và các ngắt này gọi là vecto ngắt.

-Riêng ngắt INTR không là dạng

vecto ngắt. thiết bị bên ngoài sẽ

gửi địa chỉ cần gọi.

52

media

CHƯƠNG 3. VI XỬ LÝ 8085 CỦA INTEL

3.5. Cấu trúc và sự hoạt động của ngắt trong vi xử lý 8085

3.5.2. Tổng quan về cấu trúc ngắt

-Với vi xử lý 8085, tất cả các ngắt
(ngoại

trừ
TRAP)

đều

bị
che

(maskable). Tức là bình thường sẽ
không hoạt động, khi cần hoạt động
1 ngắt nào đó, cần cho phép ngắt
đó tích cực bằng lệnh từ vi xử lý. Như
vậy từ vi xử lý có thể cấm ngắt hoặc
cho phép ngắt hoạt động.

-Riêng ngắt TRAP không bị che có
nghĩa là nó luôn ở chế độ sẵn sàng
hoạt động (mức ưu tiên cao nhất).

53

media

CHƯƠNG 3. VI XỬ LÝ 8085 CỦA INTEL

3.5. Cấu trúc và sự hoạt động của ngắt trong vi xử lý 8085

3.5.2. Tổng quan về cấu trúc ngắt

- TRAP: Dạng ngắt TRAP có thể là sườn xung và mức trạng thái. Điều này

có nghĩa là để chế độ ngắt hoạt động, chân TRAP cần chuyển trạng
thái từ mức thấp lên mức cao và giữ ở mức cao cho đến khi thực
hiện đáp ứng ngắt. Hoạt động theo nguyên tắc như vậy cho phép loại
trừ các yếu tố nhiễu.

54

media

CHƯƠNG 3. VI XỬ LÝ 8085 CỦA INTEL

3.5. Cấu trúc và sự hoạt động của ngắt trong vi xử lý 8085

3.5.2. Tổng quan về cấu trúc ngắt

- TRAP: Một sườn dương của tín hiện TRAP sẽ set D-flip-flop. Thông qua cổng

AND để kiểm tra trạng thái mức cao của đầu vào sẽ đưa ra mức 1 của cổng
đầu ra “đòi hỏi ngắt lỗi gọi hàm ở địa chỉ 002HH”. Có 2cách để xóa tín hiệu đầu
ra:
+ Tín hiệu reset của vi xử lý Reset-in
+ Tín hiệu mức cao báo đã bắt đầu thực hiện đáp ứng ngắt.

Khi có 1 đòi hỏi ngắt TRAP, vi

xử lý thực hiện nốt lệnh hiện tại,
sau đó nó cất giữ địa chỉ câu lệnh
tiếp theo (chính là địa chỉ sẽ trả về
khi

thực

hiện

xong

ngắt)

vào

trong ngăn xếp, tiếp đến sẽ nạp
vào bộ nhớ chương trình địa chỉ
0024H. Như vậy vi xử lý thực hiện
hàm đáp ứng ngắt tại địa chỉ
0024H.

55

media

CHƯƠNG 3. VI XỬ LÝ 8085 CỦA INTEL

3.5. Cấu trúc và sự hoạt động của ngắt trong vi xử lý 8085

3.5.2. Tổng quan về cấu trúc ngắt

- RST7.5.: là ngắt bị che, nó có mức độ ưu tiên thứ 2, nó hoạt động khi có

1 sườn xung dương, lúc này sẽ set flip-flop D, việc xóa flip-flop D được
thực hiện nhờ lệnh SIM của vi xử lý hoặc tín hiệu đã bắt đầu thực hiện
đáp ứng ngắt. Khi có tín hiệu sườn lên vào chân RST7.5 và bit che M7.5
ở mức 0 (tức là ngắt RST7.5 không bị che) thì vi xử lý sẽ thực hiện nốt
lệnh hiện tại. sau đó sẽ cấp giữ địa chỉ tiếp theo và trong ngăn xếp và
nạp con trỏ chương trình và vecto địa chỉ cố định là 003CH. Như vậy vi
xử lý thực hiện hàm đáp ứng ngắt tại địa chỉ 003CH. Địa chỉ này gọi là
địa chỉ thực hiện của ngắt RST7.5, RST6.5 và RST5.5

- RST6.5 và RST5.5: là ngắt dạng mức. Các ngắt này có thể bị che khi sử

dụng lệnh SIM. Ngắt RST6.5 có mức độ ưu tiên thứ ba và RST5.5 có mức
độ thứ tư. Địa chỉ vecto tương ứng của RST6.5 và RST5.5 là 0034H và
002CH.

56

media

CHƯƠNG 3. VI XỬ LÝ 8085 CỦA INTEL

3.5. Cấu trúc và sự hoạt động của ngắt trong vi xử lý 8085

3.5.2. Tổng quan về cấu trúc ngắt

- INTR: Ngắt này à ngắt bị che, nhưng không phải là ngắt vecto.nó có

mức ưu tiên thấp nhất. khi chân INTR ở mức cao vi xử lý sẽ thực hiện 1
chuỗi sự kiện sau:

+ Vi xử lý kiểm tra trạng thái cảu tín hiện INTR trong quá trình thực hiện

mỗi lệnh.

+ Nếu chân tín hiệu INTR ở mức cao và ngắt được cho phép hoạt

động , vi xử lý 8085 sẽ thực hiện nốt lệnh hiện tại và giữ tín hiệu đáp
ứng ngắt ở mức tích cực thấp (INTA)

+ Khi có tín hiệu INTA, mạch logic sẽ đưa lệnh OPCODE lên Bus dữ liệu.

nếu đây là lệnh nhiều byte, các byte sẽ lần lượt được đưa lệnh Bus.

+ Khi nhận được lệnh, vi xử lý lưu địa chỉ của lệnh kế tiếp vào trong

stack và thực hiện lệnh nhận được.

57

media

CHƯƠNG 3. VI XỬ LÝ 8085 CỦA INTEL

3.5. Cấu trúc và sự hoạt động của ngắt trong vi xử lý 8085

3.5.2. Tổng quan về cấu trúc ngắt

Chú ý: về lý thuyết có thể đặt bất kỳ lệnh nào lên bus dữ liệu. Tuy nhiên chỉ có
lệnh CALL và RST mới ghi nội dung của bộ đếm chương trình vào ngăn xếp,
đồng thời nó sẽ chuyển chương trình điều khiển đếm địa chỉ vecto ngắt tương
ứng với lệnh ngắt.
Đáp ứng với lệnh CALL: nêu thiết bị ngoại vi có yêu cầu thực hiện lệnh CALL
thì vi xử lý sẽ tạo ra trình tự thực hiện như sau:
+ Nó gửi 1 tín hiệu đáp ứng ngắt mức thấp lần thứ hai.
+ Để trả lời đáp ứng này, mạch logic ngoài sẽ giữ địa chỉ byte thấp của lệnh

gọi CALL.

+ Sau khi nhận được byte địa chỉ thấp, vi xử lý giữ tín hiệu đáp ứng ngắt mức

thấp lần thứ ba.

+ Để trả lời đáp ứng này, mạch logic ngoài sẽ giữ địa chỉ byte cao của lệnh

gọi CALL.

+ Sau khi nhận được 16 bit địa chỉ của lệnh CALL, vi xử lý 8085 cất giữ nội

dung của bộ đếm chương trình vào ngăn xếp, và thực hiện hàm nằm ở địa

58

media

CHƯƠNG 3. VI XỬ LÝ 8085 CỦA INTEL

3.5. Cấu trúc và sự hoạt động của ngắt trong vi xử lý 8085

3.5.2. Tổng quan về cấu trúc ngắt

Ví dụ: Trong hình bên là sơ đồ của mạch

logic ngoài gửi lệnh RST7.5. Mạch logic

ngoài điều khiển buffer ba trạng thái (tri-

state) với tín hiệu INTA từ vi xử lý. Tín hiệu này

là tín hiệu cho phép đầu ra tích cực (output

enable), đồng thời để xóa D flip-flop. Trước

tiên sẽ có 1 ngăn vẫn thực hiện ngắt từ thiết

bị bên ngoài (I/O derice) thông qua flip-

flop D để giữ tín hiệu INTR ở mức cao cho

đến khi vi xử lý 8085 giữ tín hiệu đã đáp ứng

ngắt. Chân tín hiệu INTA đưa1 tín hiệu cho

phép truyền tín hiệu từ đầu vào ra đầu ra

59

media

CHƯƠNG 3. VI XỬ LÝ 8085 CỦA INTEL

3.5. Cấu trúc và sự hoạt động của ngắt trong vi xử lý 8085

3.5.2. Tổng quan về cấu trúc ngắt

Ví dụ: Như hình trên, trên buffer sẽ có giá trị FCH

tương ứng với lệnh RST7.5. Vi xử lý 8085 sẽ nhận lệnh

này trong chu kỳ đáp ứng ngắt. Sau khi nhận được

lệnh, vi xử lý cất giữ nội dung

của bộ đếm chương

trình PC vào ngăn xếp. sau đó, chương trình điều

khiển sẽ chuyển về thực hiện ở địa chỉ 003CH (địa chỉ

cảu vecto ngắt RST7.5). Bảng dưới thể hiện các đặc

tính của ngắt cứng vi xử lý 8085.

Dạng

ngắt

Kiểu

hoạt

động

Mứcđộưu

tiên

Che

ngắt

Vecto địa

chỉ

TRAP

Sườn

và

mức

1 (cao nhất)

Không

0024H

RST7.5

Sườn

2

Có

003CH

RST6.5

Mức

3

Có

0034H

RST5.5

Mức

4

Có

002CH

INTR

Mức

5 (thấp nhất)Có

-

60

media

CHƯƠNG 3. VI XỬ LÝ 8085 CỦA INTEL

3.5. Cấu trúc và sự hoạt động của ngắt trong vi xử lý 8085

3.5.2. Tổng quan về cấu trúc ngắt

Ngắt mềm của 8085:
- Vi xử lý 8085 có 8 ngắt mềm từ RST0 đến RST7.

Địa chỉ vector ngắt được tính như sau:

Địa chỉ vector = số hiệu ngắt x 8

Ví dụ, địa chỉ vector ngắt của RST5 là 5 x 8 =

40 = 28H

Bảng bên thể hiện địa chỉ vector ngắt mềm.

Lệnh

Mã

Hex

Địa chỉ

vector

RST 0

C7

0000H

RST 1

CF

0008H

RST 2

D7

0010H

RST 3

DF

0018H

RST 4

E7

0020H

RST 5

EF

0028H

RST 6

F7

0030H

RST 7

FF

0038H

61

media

CHƯƠNG 3. VI XỬ LÝ 8085 CỦA INTEL

3.5. Cấu trúc và sự hoạt động của ngắt trong vi xử lý 8085

3.5.2. Tổng quan về cấu trúc ngắt

Lệnh che và không che ngắt

Việc che ngắt được cho phép (enable) hoặc cấm (disable) nhờ lệnh

trong chương trình (lệnh EI, DI và SIM).
-EI (enable interrupt) – cho phép ngắt. Lệnh EI sẽ set flip- flop D để đưa
mức cao vào các cổng AND của ngắt RST 7.5, RST 6.5, RST 5.5 và INTR.
Cần nhớ rằng khi 1 ngắt bất kỳ có đáp ứng, thì tín hiệu cho phép ngắt sẽ bị
xóa nhờ tín hiệu reset flip- flop D. Để cho phép ngắt trở lại cần thực hiện lại
lệnh EI.

-DI (disable interrupt) - Cấm ngắt. Lệnh DI xóa trạng thái cho phép ngắt
của flip- flop D, nó có hiệu lực với các ngắt RST 7.5, RST 6.5, RST 5.5 và INTR.

-SIM (set interrupt mask) – thiết lập chế độ ngắt. Lệnh này dùng để thiết lập
chế độ che ngắt và truyền ra cổng nối tiếp. Nó truyền nội dung của thanh
ghi dùng chung (ACC) tới mạch điều khiển ngắt và cổng vào/ra nối tiếp.
như vậy cần nạp vào thanh ghi dùng chung ACC nội dung phù hợp trước
khi thực hiện lệnh SIM.

62

media

CHƯƠNG 3. VI XỬ LÝ 8085 CỦA INTEL

3.6. Bus I/O, bộ nhớ và hệ thống

Đường BUS kết nối các thành phần chính bên trong vi xử lý (CPU, bộ
nhớ, cổng vào/ra) được gọi là BUS hệ thống. BUS hệ thống được chia
thành 3 nhóm chức năng sau:

BUS dữ liệu

BUS địa chỉ

BUS điều khiển

Vi xử lý 8085 có các đường BUS AD0 – AD15 là Bus địa chỉ và dữ liệu,
các chân IO/M, 𝑅𝐷 và 𝑅𝑊 là đường BUS điều khiển.

63

media

CHƯƠNG 3. VI XỬ LÝ 8085 CỦA INTEL

3.6. Bus I/O, bộ nhớ và hệ thống

3.6.1.Bus địa chỉ và Bus dữ liệu

Như chúng ta đã biết các đường AD0 đến

AD7 được dồn kênh (multiplexing) các địa

chỉ byte thấp từ A0 đến A7 hoạt động chỉ

trong thời gian T1 của chu kỳ máy để truy

nhập vào vùng nhớ hoặc địa chỉ vào ra

(I/O). Điều này có nghĩa là địa chỉ byte thấp

cần được chốt (giữ lại) cho các thời điểm sau

của chu kỳ máy. Việc chốt các dữ liệu của

địa chỉ byte thấp được thực hiện nhờ tín hiệu

ALE từ vi xử lý 8085.

Hình bên thể hiện mạch phần cứng để chốt

địa chỉ byte thấp sử dụng IC 74LS373.

64

media

CHƯƠNG 3. VI XỬ LÝ 8085 CỦA INTEL

3.6. Bus I/O, bộ nhớ và hệ thống

3.6.2. Tín hiệu điều khiển

Vi xử lý 8085 có các chân RD và WR
để khởi tạo chu kỳ đọc và ghi. Do
các tín hiệu này được dùng chung
cho việc ghi/ đọc bộ nhớ và thiết bị
vào/ra bên ngoài, nên cần có mạch
tách các tín hiệu ghi đọc cho bộ nhớ
và thiết bị bên ngoài (I/O).
𝑀𝐸𝑀 𝑅 (Memory read)
𝑀𝐸𝑀 𝑊 (Memory write)
𝐼𝑂𝑅 (I/O read)
𝐼𝑂𝑊 (I/O write)
Có thể dùng mạch giải mã để tách
các tín hiệu này.

65

media

CHƯƠNG 3. VI XỬ LÝ 8085 CỦA INTEL

3.6. Bus I/O, bộ nhớ và hệ thống

3.6.2. Tín hiệu điều khiển

𝐼𝑂/ ഥ𝑀

𝑅𝐷

W𝑅

𝑀𝐸𝑀𝑅

𝑀𝐸𝑀𝑾

𝐼𝑂𝑅

𝐼𝑂𝑊

0

0

0

Điều kiện này không bao giờ xảy ra
do ghi và đọc không đồng thời

0

0

1

0

1

1

1

0

1

0

1

0

1

1

0

1

1

1

1

1

1

1

0

0

Điều kiện này không bao giờ xảy ra
do ghi và đọc không đồng thời

1

0

1

1

1

0

1

1

1

0

1

1

1

0

1

1

1

1

1

1

1

66

media

CHƯƠNG 3. VI XỬ LÝ 8085 CỦA INTEL

3.6. Bus I/O, bộ nhớ và hệ thống

3.6.3. Điều khiển bus

- BUS 1 chiều: sử dụng IC 74LS244 để

điều khiển BUS như hình bên. Mỗi cổng

này có thể cung cấp dòng ra là 15

mA và dòng nhận là 24 mA. Các

đường BUS được chia thành 2 nhóm

để cho phép từng nhóm hoạt động sử

dụng các chân điều khiển 1G và 2G.

67

media

CHƯƠNG 3. VI XỬ LÝ 8085 CỦA INTEL

3.6. Bus I/O, bộ nhớ và hệ thống

3.6.3. Điều khiển bus

- BUS 2 chiều: lúc này sử dụng IC

74LS245. Khác với IC 74LS244 có thêm
chân DIR quy định chiều hoạt động ,
khi DIR ở mức cao, dữ liệu dự trữ
hướng A sang B và khi ở mức thấp dữ
liệu đi từ B sang A. Tương tự như vậy,
dòng ra có thể lên đến 15 mA, còn
dòng nhận là 24 mA.

68

media

CHƯƠNG 3. VI XỬ LÝ 8085 CỦA INTEL

3.5. Bộ nhớ của VXL 8085

Bộ nhớ cố định ROM (Read Only Memory)

ROM

ROM có khả năng lập

trình - PROM

Bộ nhớ bán cố
định - EPROM

Được gọi là vi mạch nhớ cố định
vì số liệu do hãng chế tạo nạp
một lần và thông tin sẽ được lưu
trữ vĩnh viễn, sau đó chỉ có thể
đọc ra mà thôi. Khi nguồn điện
mất thì số liệu vẫn được giữ
nguyên. Vì vậy các bộ nhớ cố
định thường được sử dụng để
lưu trữ các chương trình kiểm
tra và khởi động một hệ vi xử lý
khi bật nguồn hoặc các thông
số của những lần chạy trước.

Programable

ROM:

Người thiết kế có khả
năng nạp chương trình
vào

ROM

nhưng

chỉ

được một lần duy nhất
và không thể sửa đổi
được.

Erasable
Programable
ROM:

Người

sử

dụng có thể nạp
và

xoá

chương

trình một số lần. Có
thể nạp bằng xung
điện và xoá bằng
tia cực tím. Hiện tại
EPROM

đang

được

dùng

khá

phổ biến.

69

media

CHƯƠNG 3. VI XỬ LÝ 8085 CỦA INTEL

3.5. Bộ nhớ của VXL 8085

Bộ nhớ cố định ROM (Read Only Memory)
Ngoài ra tuỳ theo các nạp xoá số liệu người ta còn chia

bộ nhớ bán cố định ra những loại như EEPOM, EAPROM,
FLASH.
EEPROM

EAROM

Flash

Có thể nạp
xoá

số
liệu

bằng
phương
pháp điện.

Có thể nạp xoá chương
trình một số lần, việc nạp
xoá đơn giản bằng tín
hiệu điện nhưng nhược
điểm của loại này là
thường đòi hỏi nhiều loại
điện áp khác nhau

Là một kiểu Chip EEPROM.
Chính là Chip nhớ ghi lại
được toàn bộ dữ liệu, giữ
được nội dung thông tin
lưu

trữ
khi

không

có

nguồn điện cắm trực tiếp.
Có tốc độ đọc ghi nhanh,
xoá theo khối.

70

media

CHƯƠNG 3. VI XỬ LÝ 8085 CỦA INTEL

3.5. Bộ nhớ của VXL 8085

Sơ đồ khối cơ bản của ROM
16x8 (16 từ 8 bit, kích cỡ từ = 8
bit)

-

Bởi vì dung lượng 16x8 nên có
8 đầu vào/ra dữ liệu, kích cỡ
từ là 8bit.

-

Bộ nhớ lưu trữ được 16 từ. Vì
vậy có 16 địa chỉ nhớ. Mà
16=24nên cần có mã địa chỉ 4
bit để giải mã một trong 16 địa
chỉ nhớ, cần 4 đường địa chỉ.

-

Kích cỡ từ là 8bit nên 16 từ =
16 byte

71

media

CHƯƠNG 3. VI XỬ LÝ 8085 CỦA INTEL

3.5. Bộ nhớ của VXL 8085

Bộ nhớ truy xuất ngẫu nhiên

RAM (Random Access Memory – bộ nhớ đọc/ghi): Bộ nhớ đọc
ghi còn gọi là bộ nhớ truy nhập ngẫu nhiên, người sử dụng có
thể ghi số liệu vào và đọc số liệu ra. Khi mất điện thì số liệu cũng
mất theo. RAM có hai loại.
RAM tĩnh (Static RAM) RAM động (Dynamic RAM)

- Loại RAM này lấy

cấu

trúc

Flip-Flop

làm đơn vị nhớ cơ
sở. Vì vậy, khi số liệu
đã được ghi vào
mà nguồn nuôi vẫn
có thì số liệu trong
RAM vẫn còn.

RAM động lợi dụng điện dung ký sinh của
cực cổng (Gate) transistor trường MOS để
chứa dữ liệu. Vì vậy, khi số liệu đã được đưa
vào mặc dù còn nguồn nuôi nhưng số liệu cứ
mất dần do điện tích của tụ giảm theo thời
gian. Để giữ lại số liệu ấy phải làm thêm một
mạch gọi là mạch làm tươi và có tín hiệu làm
tươi (Refresh).

72

media

CHƯƠNG 3. VI XỬ LÝ 8085 CỦA INTEL

3.5. Bộ nhớ của VXL 8085

Bộ nhớ truy xuất ngẫu
nhiên

RAM

thường

có

dung

lượng 1K, 4K, 8K, 64K, 128K,
256K

và

1024K

vớikích

thước từ 1, 4 hay 8 bit (có
thể mở rộng thêm).

Bộ nhớ thanh ghi

Tương

tự
như
ROM,

RAM

bao gồm một số

thanh ghi, mỗi thanh ghi
lưu trữ một từ dữ liệu và có
địa chỉ không trùng lặp.

73

media

CHƯƠNG 3. VI XỬ LÝ 8085 CỦA INTEL

3.5. Bộ nhớ của VXL 8085

Ví dụ 1: Một bộ nhớ có dung lượng 4Kx8bit. Hỏi:
a. Có bao nhiêu đầu vào dữ liệu và đầu ra dữ liệu?
b. Có bao nhiêu đường địa chỉ?
c. Dung lượng của nó tính theo byte?

Trả lời:
a. Bởi vì dung lượng 4Kx8bit hay 4K từ 8 bit nên có 8 đầu

vào data, 8 đầu ra data, kích cỡ từ là 8 bit.

b. Bộ nhớ lưu trữ được 4K=4x1024=4096 từ. Vì vậy có 4096

địa chỉ nhớ. Vì 4096=212nên cần có mã địa chỉ 12 bit để
giải mã một trong 4096 địa chỉ nhớ, cần 12 đường địa
chỉ.

c. Kích cỡ từ là 8bit nên 4096 từ = 4096 byte

74

media

CHƯƠNG 3. VI XỬ LÝ 8085 CỦA INTEL

3.5. Bộ nhớ của VXL 8085

Ví dụ 1: Một bộ nhớ có dung lượng 32x4bit. Hỏi:
a. Có bao nhiêu đầu vào dữ liệu và đầu ra dữ liệu?
b. Có bao nhiêu đường địa chỉ?
c. Dung lượng của nó tính theo byte?

Trả lời:
a. Bởi vì dung lượng 32x4bit hay 32 từ 4 bit nên có 4 đầu

vào data, 4 đầu ra data, kích cỡ từ là 4 bit.

b. Bộ nhớ lưu trữ được 32 từ. Vì vậy có 32 địa chỉ nhớ. Vì

32=25nên cần có mã địa chỉ 5 bit để giải mã một trong
32 địa chỉ nhớ, cần 5 đường địa chỉ.

c. Kích cỡ từ là 4bit, mà 1byte=8bit nên 32 từ = 16 byte

75

media

CHƯƠNG 3. VI XỬ LÝ 8085 CỦA INTEL

3.5. Bộ nhớ của VXL 8085

Mở rộng bộ nhớ (RAM)

Lý do mở rộng bộ nhớ: trong thực tế nhiều ứng dụng một

chip nhớ không thể đáp ứng được, do đó việc mở rộng

bộ nhớ và tăng kích cỡ từ là một vấn đề hết sức cần thiết.

Có 2 loại:

Tăng kích cỡ từ (tăng số lượng đường bus dữ liệu)

Tăng dung lượng (tăng số lượng đường bus địa chỉ)

76

media

CHƯƠNG 3. VI XỬ LÝ 8085 CỦA INTEL

3.5. Bộ nhớ của VXL 8085

Mở rộng bộ nhớ (RAM)

Tăng kích cỡ từ
Giả sử chúng ta cần một
bộ nhớ có thể lưu trữ
được

16x8

bit,

nhưng

thực tế ta chỉ có các
chip RAM 16x4bit với các
đường

vào/ra

(I/O)

chung.
Để giải quyết vấn đề này
ta có thể kết hợp hai chip
16x4bit lại với nhau để tạo
thành một bộ nhớ mong

Kết hợp 2 RAM 16x4 thành một mô-đun
16x8

77

media

CHƯƠNG 3. VI XỬ LÝ 8085 CỦA INTEL

3.5. Bộ nhớ của VXL 8085

Mở rộng bộ nhớ (RAM)

Tăng kích cỡ từ

Kết hợp 2 RAM 16x4 thành một mô-đun
16x8

78

media

CHƯƠNG 3. VI XỬ LÝ 8085 CỦA INTEL

3.5. Bộ nhớ của VXL 8085

Mở rộng bộ nhớ (RAM)

Tăng dung lượng

Kết hợp 2 RAM 16x4 thành một mô-đun
32x4

Giả sử ta cần một bộ
nhớ có dung lượng
32x4bit mà ta chỉ có
các chip 16x4bit. Để
tạo

ra

bộ
nhớ
có

dung lượng 32x4bit ta
sẽ
kết

hợp

2

chip

16x4it.

79

media

CHƯƠNG 3. VI XỬ LÝ 8085 CỦA INTEL

3.5. Bộ nhớ của VXL 8085

Mở rộng bộ nhớ (RAM)

Ví dụ 1: Thiết kế bộ
nhớ có dung lượng
2K x 8bit dùng các IC
nhớ 2K x 4bit.
Giải:

8bit/4bit=2

nên

cần 2IC

Bộ nhớ 2K = 2x2^10
= 2^11 nên cần 11
bit địa chỉ A0÷ A10
và có sơ đồ như
hình vẽ

Bộ nhớ 2K x 8bit với các IC nhớ 2K x 4bit

80

media

CHƯƠNG 3. VI XỬ LÝ 8085 CỦA INTEL

3.5. Bộ nhớ của VXL 8085

Mở rộng bộ nhớ (RAM)

Ví dụ 1: Thiết kế bộ
nhớ có dung lượng
2K x 8bit dùng các
IC nhớ 2K x 4bit.
Giải:

2. Sơ đồ kết nối:
Cần sử dụng 2 IC nhớ 2K x 4 bit để tạo ra bộ nhớ 2K x
8 bit.
3. Kết nối địa chỉ:
Cả hai IC nhớ sẽ chia sẻ chung các đường địa
chỉ từ A0 đến A10 (vì 2K = 2048 = 2^11).

Địa chỉ này sẽ điều khiển cả hai IC nhớ cùng một
lúc.
4. Kết nối dữ liệu:
Đầu ra dữ liệu của IC nhớ thứ nhất sẽ được kết nối
với 4 bit cao của bus dữ liệu (D4-D7).

Đầu ra dữ liệu của IC nhớ thứ hai sẽ được kết nối
với 4 bit thấp của bus dữ liệu (D0-D3).

5. Kết nối điều khiển:
Các tín hiệu điều khiển như CS, và R/W cũng sẽ
được chia sẻ chung giữa hai IC nhớ để đảm bảo
chúng hoạt động đồng bộ.

1. Số lượng IC nhớ cần dùng:
Mỗi IC nhớ có dung lượng 2K x 4
bit, tức là mỗi từ chỉ có 4 bit.
Để có từ 8 bit, cần ghép 2 IC nhớ
song song (mỗi IC cung cấp 4
bit).

81

media

CHƯƠNG 3. VI XỬ LÝ 8085 CỦA INTEL

3.5. Bộ nhớ của VXL 8085

Mở rộng bộ nhớ (RAM)

Ví dụ 2: Thiết kế bộ nhớ có dung
lượng 4K x 4bit dùng các IC nhớ
2K x 4bit.
Giải:

4K/2K=2 nên cần 2 IC

Bộ nhớ 2K = 2x2^10 = 2^11
nên cần 11 bit địa chỉ A0÷
A10.

Dùng thêm A11 để chọn IC
(0: IC1, 1:IC2)

82

media

CHƯƠNG 3. VI XỬ LÝ 8085 CỦA INTEL

3.5. Bộ nhớ của VXL 8085

Mở rộng bộ nhớ (RAM)

Ví dụ 2: Thiết kế bộ
nhớ có dung lượng
4K x 4bit dùng các IC
nhớ 2K x 4bit.
Giải:
3. Xác định địa chỉ của từng IC nhớ
Tổng dung lượng bộ nhớ 8085: 64K = 65536 địa chỉ từ
0000H đến FFFFH.
Địa chỉ bắt đầu: Có thể là bất kỳ địa chỉ nào trong không
gian bộ nhớ của 8085. Ta giả sử bắt đầu từ 0000H.
IC1: 0000H - 07FFH (2K địa chỉ)

IC2: 0800H – 0FFFH (2K địa chỉ)

1. Xác định số IC nhớ cần thiết
Dung lượng bộ nhớ yêu cầu: 4K

x 4 bit = 4096 x 4 bit = 16384 bits.

Dung lượng mỗi IC nhớ: 2K x 4

bit = 2048 x 4 bit = 8192 bits.

Số IC nhớ cần thiết: 16384 bits /

8192 bits = 2 IC nhớ.

2. Xác định số đường địa chỉ cần thiết
Dung lượng bộ nhớ: Một IC nhớ 2Kx4 bit có 2K
địa chỉ, tức là 2048 ô nhớ.

Số đường địa chỉ cần thiết: Để truy cập được
2048 ô nhớ, cần số bit địa chỉ là log2(2048)=11bit.
Do đó, cần 11 bit địa chỉ (A0-A10) để truy cập từng
ô nhớ trong một IC 2K x 4 bit.

Sử dụng thêm A11 để chọn IC nhớ (0: IC1, 1: IC2)

83

media

CHƯƠNG 3. VI XỬ LÝ 8085 CỦA INTEL

3.5. Bộ nhớ của VXL 8085

Mở rộng bộ nhớ (RAM)

Ví dụ 2: Thiết kế bộ
nhớ có dung lượng
4Kx4bit dùng các IC
nhớ 2Kx4bit.
Giải:
Số
IC

cần

dùng

=

4K/2K=2 IC

IC

nhớ
2K=2.1010=211

cần 11 đường địa chỉ
từ A0-A10

Cần thêm A11 để chọn

IC
‾ A11=0 IC1 được

84

media

CHƯƠNG 3. VI XỬ LÝ 8085 CỦA INTEL

3.5. Bộ nhớ của VXL 8085

Mở rộng bộ nhớ (RAM)

BTAD: Ghép nối bộ nhớ cho
8085 với các yêu cầu sau:
Vùng nhớ có dung lượng
8Kx4bit từ các IC nhớ 2Kx4bit
bắt đầu từ địa chỉ thấp nhất
trong không gian bộ nhớ
Giải:

Số IC cần dùng = 8K/2K=4 IC

IC nhớ 2K=2.1010=211cần 11 đường địa chỉ từ A0-
A10

Cần thêm A11, A12 để chọn IC
‾ A12 A11=00 IC1 được chọn
‾ A12 A11=01 IC2 được chọn
‾ A12 A11=10 IC3 được chọn
‾ A12 A11=11 IC4 được chọn

85

media

CHƯƠNG 3. VI XỬ LÝ 8085 CỦA INTEL

3.5. Bộ nhớ của VXL 8085

Mở rộng bộ nhớ (RAM)

BTAD: Ghép nối bộ nhớ cho
8085 với các yêu cầu sau:
Vùng

nhớ
có

dung

lượng

8Kx4bit từ các IC nhớ 2Kx4bit
bắt đầu từ địa chỉ thấp nhất
trong không gian bộ nhớ
Giải:
1. Xác định số IC nhớ cần thiết:
Dung lượng bộ nhớ yêu cầu:

8Kx4bit = 8192x4bit = 32Kbits.

Dung lượng mỗi IC nhớ:

2Kx4 bit = 2048x4bit = 8Kbits.

Số IC nhớ cần thiết:

32Kbits / 8Kbits = 4 IC nhớ.

2. Số đường địa chỉ cần thiết
Dung lượng bộ nhớ: Một IC nhớ 2Kx4bit có 2K
địa chỉ, tức là 2048 ô nhớ.

Số đường địa chỉ cần thiết: Để truy cập được
2048 ô nhớ, cần số bit địa chỉ là log2(2048)=11bit.
Do đó, cần 11 bit địa chỉ để truy cập từng ô nhớ
trong một IC 2Kx4bit

3. Sử dụng địa chỉ A0 đến A10 và A11, A12
A0 đến A10: Đối với từng IC nhớ, 11 bit địa chỉ
từ A0 đến A10 được sử dụng để chỉ ra từng ô
nhớ trong IC.

A11, A12: Để chọn giữa các IC nhớ, sử dụng
thêm 2 bit địa chỉ (A11 và A12). Với 2 bit này, ta
có thể chọn được 4 IC khác nhau (00, 01, 10,
11).

86

media

CHƯƠNG 3. VI XỬ LÝ 8085 CỦA INTEL

3.5. Bộ nhớ của VXL 8085

Mở rộng bộ nhớ (RAM)

BTAD: Ghép nối bộ nhớ cho
8085 với các yêu cầu sau:
Vùng

nhớ
có

dung

lượng

8Kx4bit từ các IC nhớ 2Kx4bit
bắt đầu từ địa chỉ thấp nhất
trong không gian bộ nhớ
Giải:

4. Xác định địa chỉ của từng IC nhớ:
Với vùng nhớ 8K, địa chỉ bắt đầu từ

0000H và kết thúc tại 1FFFH (8192 địa
chỉ).

Chia đều 8K địa chỉ này cho 4 IC nhớ,

mỗi IC sẽ chiếm 2K địa chỉ.
• IC 1: 0000H - 07FFH (2K địa chỉ)
• IC 2: 0800H - 0FFFH (2K địa chỉ)
• IC 3: 1000H - 17FFH (2K địa chỉ)
• IC 4: 1800H - 1FFFH (2K địa chỉ)

87

media

CHƯƠNG 3. VI XỬ LÝ 8085 CỦA INTEL

3.5. Bộ nhớ của VXL 8085

Mở rộng bộ nhớ (RAM)

5. Thiết lập mạch chọn chip (Chip Select):
Bảng chọn chip với A12 và A11.

A12

A11

IC được chọn

0

0

IC1 (0000H -
07FFH)

0

1

IC2 (0800H -
0FFFH)

1

0

IC3 (1000H -
17FFH)

1

1

IC4 (1800H -
1FFFH)

6. Kết nối IC nhớ với vi xử lý:

88

media

CHƯƠNG 3. VI XỬ LÝ 8085 CỦA INTEL

3.5. Bộ nhớ của VXL 8085

Mở rộng bộ nhớ (RAM)

Ví dụ 3: Thiết kế bộ
nhớ 16Kx8 dùng các
IC nhớ 16Kx1.
Giải:

Bộ
nhớ
16K

=

16x2^10 = 2^14 nên
cần 14 bit địa chỉ A0÷
A13. Dùng 8 IC này
đấu song song các
đầu địa chỉ còn các
đầu dữ liệu độc lập

89

media

CHƯƠNG 3. VI XỬ LÝ 8085 CỦA INTEL

3.5. Bộ nhớ của VXL 8085

Ví dụ 4: Thiết kế bộ nhớ
ROM 8K x 8 bit từ các IC
ROM 1K x 8bit.
Giải:
8K/1K=8 nên cần 8 IC

nhớ

Các IC ROM 1K=2^10

có 10 bit địa chỉ A0 ÷
A9.

Sử
dụng

thêm

A10,

A11, A12 để chọn IC.
Khi đó ta dùng bộ giải
mã địa chỉ 74LS138 (3
đầu vào, tám đầu ra)
và thực hiện bộ nhớ

90

media

CHƯƠNG 3. VI XỬ LÝ 8085 CỦA INTEL

3.6. Sơ đồ ghép nối hệ thống

Đây là sơ đồ ghép nối Vi xử lý 8085 với Bus hệ
thống, ngoài ra trong sơ đồ còn có mạch tạo
dao động sử dụng thạch anh và mạch để
reset.
-Các đường tín hiệu ngắt cứng (5 ngắt cứng)
và HOLD không dùng nên được nối đất để
chống nhiễu.

-Các đường điều khiển DMA (SID và SOD)
không dùng.

-Tín hiệu READY được nối với +5V (đưa lên
mức cao) để báo hiệu là bộ nhớ hoặc thiết
bị ngoại vi đã sẵn sàng truyền hoặc nhận dữ
liệu.

-Tín hiệu ALE nối với chân G của IC chốt địa
chỉ 74LS373 để chốt địa chỉ byte thấp
(A0÷A7) ở thời gian T1 của chu kỳ máy.

91

media

CHƯƠNG 3. VI XỬ LÝ 8085 CỦA INTEL

3.7. Chu kỳ lệnh, chu kỳ máy

Khi thực hiện lệnh thông thường, vi xử lý tiến hành tuần tự các bước

sau: nạp lệnh, giải mã lệnh và thực hiện, sau đó lặp lại cho đến khi thực
hiện lệnh tạm dừng (Halt).

Khi

lệnh

Halt đượcthực

hiện vi xử lý chuyển vào
trạng thái tạm dừng, để
thoát khỏi trạng thái này
cầntín

hiệureset

(khởi

động lại). Như vậy sau khi
có tín hiệu reset vi xử lý lại
bắt đầu nạp lệnh, giải mã
và thực hiện. Quá trình này
gọi là chu kỳ lệnh.

92

media

CHƯƠNG 3. VI XỬ LÝ 8085 CỦA INTEL

3.7. Chu kỳ lệnh, chu kỳ máy

-

Chu kỳ lệnh (Instruction cycle) là thời gian cần thiết để tìm nạp và thực thi toàn bộ
một lệnh. Nó bao gồm:
+ Chu kỳ tìm nạp (Fetch cycle): Lệnh tiếp theo được tìm nạp theo địa chỉ được lưu

trữ trong bộ đếm chương trình (PC) và sau đó được lưu trữ trong thanh ghi lệnh.

+ Chu kỳ thực thi (Execution cycle) - bao gồm đọc bộ nhớ (MR), ghi bộ nhớ

(MW), đọc đầu ra đầu vào (IOR) và ghi đầu ra đầu vào (IOW)

93

media

CHƯƠNG 3. VI XỬ LÝ 8085 CỦA INTEL

3.7. Chu kỳ lệnh, chu kỳ máy

- Chu kỳ máy (Machine cycle) là thời gian cần thiết của bộ vi

xử lý để hoàn thành một hoạt động truy cập bộ nhớ hoặc
thiết bị vào/ra.

- Trạng thái T (T-state) là một khoảng

thời gian của tần số xung nhịp của bộ
vi xử lý.

94

media

CHƯƠNG 3. VI XỬ LÝ 8085 CỦA INTEL

3.7. Chu kỳ lệnh, chu kỳ máy

Vi xử lý 8085 có 7 dạng chu kỳ máy, chúng gồm:
+ Nạp lệnh (opcode fetch)
+ Đọc bộ nhớ (read memory)
+ Ghi bộ nhớ (write memory)
+ Đọc I/O (read I/O)
+ Ghi I/O (write I/O)
+ Đáp ứng ngắt
+ Bus ở trạng thái không hoạt động (Bus idle)

95

media

CHƯƠNG 3. VI XỬ LÝ 8085 CỦA INTEL

3.7. Chu kỳ lệnh, chu kỳ máy

Chu

kỳ

máy

Tín hiệu trạng thái

Tín hiệu điều khiển

𝐈𝐎/ഥ𝐌
S1
S0
𝐑𝐃

𝐖𝐑
INTA

Nạp lệnh

0

1

1

0

1

1

Đọc bộ nhớ
0

1

0

0

1

1

Ghi bộ nhớ
0

0

1

1

0

1

Đọc I/O

1

1

0

0

1

1

Ghi I/O

1

0

1

1

0

1

Đáp
ứng

INTR

1

1

1

1

1

0

BUS nghỉ
0

0

0

1

1

1

96

media

CHƯƠNG 3. VI XỬ LÝ 8085 CỦA INTEL

3.8. Lệnh, thực hiện lệnh, thực hiện tuần tự và dòng dữ liệu
3.8.1. Mô tả tín hiệu

Tín hiệu xung nhịp (Clock signal)

-

Trong kỹ thuật điện tử tín hiệu nhịp, tín hiệu đồng hồ hay
xung nhịp là dao động giữa trạng thái cao và thấp và
được sử dụng như một tín hiệu tạo nhịp để phối hợp các
hành động của các mạch kỹ thuật số, đặc biệt là các
mạch kỹ thuật số đồng bộ.

-

Một tín hiệu đồng hồ được tạo ra bởi một mạch phát xung
nhịp, thường dùng là mạch dao động thạch anh để
có tần số ổn định. Nói chung có thể dùng các dạng sóng
khác nhau, song tín hiệu xung nhịp phổ biến nhất là ở
dạng sóng vuông.

97

media

CHƯƠNG 3. VI XỬ LÝ 8085 CỦA INTEL

3.8. Lệnh, thực hiện lệnh, thực hiện tuần tự và dòng dữ liệu
3.8.1. Mô tả tín hiệu

Tín hiệu xung nhịp (Clock signal)

Vi xử lý 8085 chia xung đồng
hồ dao động từ các chân X1
và X2 với hệ số 2. Tần số sau
khi chia được gọi là tần số
hoạt động. Trong điều kiện lý
tưởng, xung đồng hồ là xung
vuông với độ trước sườn xung
lên và xuống bằng không.
Nhưng trong thực tế độ trễ
này luôn tồn tại như hình
dưới.

98

media

CHƯƠNG 3. VI XỬ LÝ 8085 CỦA INTEL

3.8. Lệnh, thực hiện lệnh, thực hiện tuần tự và dòng dữ liệu
3.8.1. Mô tả tín hiệu

Tín hiệu đơn

Tín hiệu đơn có thể có các mức logic 0, 1 hoặc trạng thái trở

kháng cao (tri-state). Khi chuyển trạng thái cùng xuất hiện độ trễ thời
gian chuyển mức ở sườn lên và sườn xuống.

99

media

CHƯƠNG 3. VI XỬ LÝ 8085 CỦA INTEL

3.8. Lệnh, thực hiện lệnh, thực hiện tuần tự và dòng dữ liệu
3.8.1. Mô tả tín hiệu

Nhóm tín hiệu

Nhóm tín hiệu, còn được gọi là Bus gồm Bus dữ liệu và Bus địa chỉ.

Tín hiệu được ghép nhóm không thể hiện ở mức logic của từng tín hiệu,
tuy nhiên thể hiện thời điểm các tín hiệu đó ở trạng thái ổn định và đang
chuyển trạng thái (phần gạch chéo). Trạng thái trở kháng cao được thể
hiện bằng đường nét đứt.

100

media

CHƯƠNG 3. VI XỬ LÝ 8085 CỦA INTEL

3.8. Lệnh, thực hiện lệnh, thực hiện tuần tự và dòng dữ liệu
3.8.1. Mô tả tín hiệu

Nhóm tín hiệu

Trong hệ thống vi xử lý, tính tích cực của tín hiệu phụ thuộc vào sự

thay đổi trạng thái của tín hiệu khác. Có 4 khả năng xảy ra như sau:

(1) Tính tích cực của 1 tín hiệu phụ thuộc sự thay đổi trạng thái của 1 tín

hiệu khác.

(2) Tính tích cực của nhiều tín hiệu phụ thuộc sự thay đổi của 1 tín hiệu
(3) Tính tích cực của 1 tín hiệu phụ thuộc sự thay đổi của nhiều tín hiệu

khác

(4) Tính tích cực của nhiều tín hiệu phụ thuộc sự thay đổi của nhiều tín

hiệu khác.

(1)

(2)

(3)

(4)

101

media

CHƯƠNG 3. VI XỬ LÝ 8085 CỦA INTEL

3.8. Lệnh, thực hiện lệnh, thực hiện tuần tự và dòng dữ liệu
3.8.1. Giản đồ thời gian của 1 số tín hiệu

Tín hiệu ALE: Tín hiệu này tích cực ở mức cao. nó được tích cực tại
thời diểm đầu T1 của chu kỳ máy.

102

media

CHƯƠNG 3. VI XỬ LÝ 8085 CỦA INTEL

3.8. Lệnh, thực hiện lệnh, thực hiện tuần tự và dòng dữ liệu
3.8.1. Giản đồ thời gian của 1 số tín hiệu

A0 – A7 (địa chỉ byte thấp): Địa chỉ byte thấp được đưa ra bộ tách
kênh địa chỉ trong khoảng thời gian T1.

103

media

CHƯƠNG 3. VI XỬ LÝ 8085 CỦA INTEL

3.8. Lệnh, thực hiện lệnh, thực hiện tuần tự và dòng dữ liệu
3.8.1. Giản đồ thời gian của 1 số tín hiệu

BUS dữ liệu (data BUS): Dữ liệu từ bộ nhớ hoặc thiết bị ngoại vi đến vi
xử lý được đưa ra trong khoảng thời gian T2 và T3. Một chú ý quan
trọng là trong chu kỳ đọc, dữ liệu sẽ được đưa ra vào phần cuối của
khoảng thời gian T2, còn trong chu kỳ ghi dữ liệu được đưa ra vào
phần đầu của khoảng thời gian T2.

104

media

CHƯƠNG 3. VI XỬ LÝ 8085 CỦA INTEL

3.8. Lệnh, thực hiện lệnh, thực hiện tuần tự và dòng dữ liệu
3.8.1. Giản đồ thời gian của 1 số tín hiệu

Địa chỉ byte cao: các địa chỉ byte cao từ A8 – A15 được đưa ra
trong khoảng thời gian từ T1 đến T3 của chu kỳ máy.

105

media

CHƯƠNG 3. VI XỬ LÝ 8085 CỦA INTEL

3.8. Lệnh, thực hiện lệnh, thực hiện tuần tự và dòng dữ liệu
3.8.1. Giản đồ thời gian của 1 số tín hiệu

IO/M: các tín hiệu này được gọi là tín hiệu trạng thái. Nó quyết định
dạng chu kỳ máy sẽ thực hiện. Chúng được tích cực tại thời điểm T1
của chu kỳ máy và kéo dài đến khi kết thúc chu kỳ máy.

106

media

CHƯƠNG 3. VI XỬ LÝ 8085 CỦA INTEL

3.8. Lệnh, thực hiện lệnh, thực hiện tuần tự và dòng dữ liệu
3.8.1. Giản đồ thời gian của 1 số tín hiệu
RD và WR: các tín hiệu này quyết định chiều của quá trình truyền dữ

liệu. Khi RD tích cực, dữ liệu truyền từ bộ nhớ hoặc thiết bị ngoại vi tới vi
xử lý , và khi WR tích cực, dữ liệu sẽ truyền từ vi xử lý đến bộ nhớ hoặc
thiết bị ngoại vi. Lưu ý rằng hai tín hiệu này không bao giờ tích cực tại 1
thời điểm.

107

media

CHƯƠNG 3. VI XỬ LÝ 8085 CỦA INTEL

3.8. Lệnh, thực hiện lệnh, thực hiện tuần tự và dòng dữ liệu
3.8.2. Chu kỳ máy nạp lệnh

Chu kỳ máy đầu
tiên

của

quá

trình

thực

hiện

lệnh là nạp lệnh,
trong

chu

kỳ

này vi xử lý sẽ
tìm

đúng

mã

lệnh

để
thực

hiện. Vi xử lý sẽ
đưa

nộidung

của

bộ
đếm

chương trình lên
Bus địa chỉ và
thông qua quá
trình đọc sẽ đọc
mã

lệnh

của

108

media

CHƯƠNG 3. VI XỬ LÝ 8085 CỦA INTEL

3.8. Lệnh, thực hiện lệnh, thực hiện tuần tự và dòng dữ liệu
3.8.2. Chu kỳ máy nạp lệnh

Chiều dài của chu kỳ này không cố

định, nó nằm trong khoảng từ 4T đến 6T
phụ thuộc vào loại câu lệnh. Quá trình
nạp lệnh được thực hiện theo các bước
sau:
Bước 1 (thời gian T1): Vi xử lý đưa nội

dung của bộ đếm chươn trình lên BUS
địa chỉ. Các byte cao của bộ đếm
chương trình được đưa ra địa chỉ từ
A8 – A15. Tín hiệu ALE từ vi xử lý được
đưa ra để chốt địa chỉ byte thấp.
Đồng thời vi xử lý gửi tín hiệu trạng thái
IO/M, S1 và S0.

109

media

CHƯƠNG 3. VI XỬ LÝ 8085 CỦA INTEL

3.8. Lệnh, thực hiện lệnh, thực hiện tuần tự và dòng dữ liệu
3.8.2. Chu kỳ máy nạp lệnh

Bước 2 (thời gian T2): Tại thời điểm T2, các

địa chỉ byte được loại khỏi các chum
Ado-AD7. Vi xử lý gửi tín hiệu RD có mức
tích cực thấp để đọc dữ liệu từ bộ nhớ. Bộ
nhớ sẽ đưa nội dung của vùng nhớ,
tương ứng với địa chỉ áp vào từ chu kỳ
trước, ra BUS dữ liệu (AD0-AD7).

Bước 3 (thời gian T3): vi xử lý nạp dữ liệu

từ Bus dữ liệu vào thanh ghi lệnh và giữ
tín hiệu RD ở mức cao để cấm sự truy
nhập từ bộ nhớ.

Bước 4 (thời điểm T4): vi xử lý giải mã lệnh

và trên cơ sở lệnh nhận được sẽ quyết
định sử dụng khoảng thời gian T5 hay
quay lại T1 tương ứng với lệnh kế tiếp.

110

media

CHƯƠNG 3. VI XỬ LÝ 8085 CỦA INTEL

3.8. Lệnh, thực hiện lệnh, thực hiện tuần tự và dòng dữ liệu
3.8.3. Chu kỳ máy đọc bộ nhớ

Vi xử lý thực hiện
chu kỳ đọc bộ nhớ
đểđọcnộidung

các

RAM

hoặc

ROM.

Chiều

dài

của chu kỳ máy là
3T (T1 → T3). Trong
chu kỳ máy này, vi
xử lý lấy giá trị địa
chỉ cần đọc từ con
trỏngăn

xếp

từ

vùng nhớ có địa
chỉ cho trước đưa
lên

Bus

địa

chỉ.

Thông

qua

qua

quá trình đọc, đọc
dữ liệu cặp thanh
ghi

dùng

chung

hoặc

đếm

bộ

111

media

CHƯƠNG 3. VI XỬ LÝ 8085 CỦA INTEL

3.8. Lệnh, thực hiện lệnh, thực hiện tuần tự và dòng dữ liệu
3.8.3. Chu kỳ máy đọc bộ nhớ

Thời điểm T1: Vi xử lý lấy giá trị địa chỉ cần

đọc từ con trỏ ngăn xếp, cặp thanh ghi
dùng chung hoặc bộ đếm chương trình đưa
lên Bus địa chỉ. Đồng thời tích cực tín hiệu
ALE để chốt địa chỉ byte thấp và gửi các tín
hiệu trạng thái IO/M=0; S1=1; S0=0.

Thời điểm T2: vi xử lý giữ tín hiệu RD mức thấp

để cho phép truy nhập địa chỉ vùng nhớ. Bộ
nhớ sẽ đưa nội dung của vùng nhớ có địa
chỉ nhận được lên Bus dữ liệu (AD0-AD7).

Thời điểm T3: vi xử lý nạp dữ liệu từ Bus dữ liệu

vào các thanh ghi đặc biệt và chuyển chân
RD về mức cao để đa bộ nhớ về chế độ chờ
(disable memory).

112

media

CHƯƠNG 3. VI XỬ LÝ 8085 CỦA INTEL

3.8. Lệnh, thực hiện lệnh, thực hiện tuần tự và dòng dữ liệu
3.8.3. Chu kỳ máy ghi bộ nhớ

Vi xử lý thực hiện chu kỳ
ghi bộ nhớ để lưu dữ
liệu vào trong bộ nhớ
dữ liệu hoặc bộ nhớ
ngăn

xếp.

chiều

dài

cảu chu kỳ máy này là
3T (T1 → T3). Trong chu
kỳ máy này, vi xử lý lấy
giá trị địa chỉ cần ghi từ
con trỏ ngăn xếp hoặc
cặp

thanh

ghi

dùng

chung đưa lên Bus địa
chỉ. Thông qua qa ghi
sẽ lưu dữ liệu vào vùng
nhớ
có

địa

chỉ
cho

trước

113

media

CHƯƠNG 3. VI XỬ LÝ 8085 CỦA INTEL

3.8. Lệnh, thực hiện lệnh, thực hiện tuần tự và dòng dữ liệu
3.8.3. Chu kỳ máy ghi bộ nhớ

Thời điểm T1: vi xử lý lấy giá trị địa chỉ cần ghi

từ con trỏ ngăn xếp hoặc cặp thanh ghi
dùng chung đặt lên Bus địa chỉ. Đồng thời
tích cực tín hiệu ALE để chốt địa chỉ byte
thấp. trong thời điểm T1, vi xử lý giữ tín hiệu
trạng thái là IO/M=0; S1=0; S0=1.

Thời điểm T2: vi xử lý đưa dữ liệu lên Bus dữ

liệu và chuyển tín hiệu WR về mức thấp để ghi
vào vùng nhớ định trước.

Thời điểm T3: tín hiệu WR chuyển lên mức cao

để chuyển bộ nhớ về trạng thái chờ.

114

media

CHƯƠNG 3. VI XỬ LÝ 8085 CỦA INTEL

3.8. Lệnh, thực hiện lệnh, thực hiện tuần tự và dòng dữ liệu
3.8.4. Chu kỳ máy ghi /đọc thiết bị ngoại vi (I/O read, I/O write).

115

media

CHƯƠNG 3. VI XỬ LÝ 8085 CỦA INTEL

3.8. Lệnh, thực hiện lệnh, thực hiện tuần tự và dòng dữ liệu
3.8.4. Chu kỳ máy ghi /đọc thiết bị ngoại vi (I/O read, I/O write).

116

media

CHƯƠNG 3. VI XỬ LÝ 8085 CỦA INTEL

3.8. Lệnh, thực hiện lệnh, thực hiện tuần tự và dòng dữ liệu
3.8.5. Chu kỳ máy lệnh khởi động lại

117

media

CHƯƠNG 3. VI XỬ LÝ 8085 CỦA INTEL

3.8. Lệnh, thực hiện lệnh, thực hiện tuần tự và dòng dữ liệu
3.8.6. Chu kỳ máy đáp ứng ngắt

118

media

CHƯƠNG 3. VI XỬ LÝ 8085 CỦA INTEL

3.8. Lệnh, thực hiện lệnh, thực hiện tuần tự và dòng dữ liệu
3.8.7. Chu kỳ máy bus nghỉ

pattern-tertiary
media

KỸ ThUẬT VI XỬ LÝ

GV: ThS. Nguyễn Trung Thị Hoa Trang

Microproccesor Engineering

Show answer

Auto Play

Slide 1 / 118

SLIDE