Tải bản đầy đủ (.docx) (37 trang)

Thiết kế mạch điều khiển

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (409.71 KB, 37 trang )

1
Ñoà aùn toát nghieäp
CHÖÔNG 4

2
Đồ án tốt nghiệp
4.1 XÁC CẤU TRÚC MẠCH ĐIỀU KHIỂN
Dựa vào yêu cầu về phần điều khiển của cánh tay máy làm cơ sở cho việc xác
đònh cấu trúc mạch.
Do đó vấn đề đầu tiên là phải nghiên cứu kỹ cấu tạo của tay máy,tiếp theo phải
tìm hiểu rõ yêu cầu để điều khiển cánh tay máy .Việc nghiên cứu này sẽ cho cái nhìn về
cấu trúc mạch điều khiển. Cân nhắc giữa cấu hình và yêu cầu điều khiển sẽ chọn cấu
trúc mạch hợp lí.
Sơ đồ khối của mạch điều khiển được trình bày ở hình 4.1

3
Đồ án tốt nghiệp
Sơ đồ khối của mạch điều khiển

4
Đồ án tốt nghiệp
4. 2 ĐỊNH NGHĨA CÁC CHÂN VI XỬ LÍ
Vi xử lí (microproccesser) là một thiết bò bán dẫn chứa các mạch logic điện tử
đuộc chế tạo theo công nghệ LSI hoặc VLSI. Vi xử lí có khả năng thực hiện các chức
năng tính toán và tạo ra các quyết đònh làm thay đổi trình tự thi hành chương trình. vi xử
lí là một thiết bò logic lập trính đïc, được thiết kế bằng các thanh ghi, các flip_flop và
các phần tử đònh thời. Vi xử lí có một tập lệnh được thiết kế bên trong,đễ xử lí dữ liệu
và truyền thông với các thiết bò ngoại vi. Có nhiều loại vi xử lí và cũng có nhiều hãng
chế tạo vi xử lí (Intel, Zilog, Motorola)
8085 là một bộ vi xử lí 8 bit do Intel sản xuất , đầu tiên vào năm 1977. Nó có khả
năng đònh đòa chỉ cho bộ nhớ tới 64Kbyte. thiết bò này có 40 chân, dạng DIP, đòi hỏi


nguồn đơn +5v. Hình trình bày sơ đồ chân của bộ vi xử lí 8085. Toàn bộ các tín hiệu có
thể được phân thành 6 nhóm:
(1) Tuyến đòa chỉ.
(2) Tuyến dữ liệu .
(3) Các tín hiệu trạng thái và điều khiển
(4) Nguồn cung cầp và các tín hiệu tần số
(5) Các ngắt và các tín hiệu khởi tạo ngoại vi
(6) Các cổng I/O nối tiếp

Control
and
Status Signals
+5V
AD7
AD0
A15
A8
SID
SOD
TRAP
X1 X2
Vcc
Vss
INTR
READY
HOLD
8085
GND
RST 7.5
RST 6.5

RST 5.5
RESET IN
RESET
OUT
CLK
OUT
28
21
19
12
30
29
33
34
32
31
11
18
35
39
36
2121
1 2
5
4
6
7
8
9
10

40 20
ALE
S0
S1
IO/M
RD
WR
INTA
HLDA
High Outer
Address Bus
Multiplexed
Address/Data Bus
Serial
I/O
Ports
Interrupts
and
Externally
Initiated
Signals




5
Đồ án tốt nghiệp
Hình 4.2 : sơ đồ chân và các tín hiệu của 8085
 Tuyến đòa chỉ
8085 có 8 đường tín hiệu, A

15
_A
8
là các tín hiệu một chiều, được sử dụng như
tuyến đòa chỉ cao
 Tuyến dữ liệu / đòa chỉ đa hợp
Các đường tín hiệu AD
7
–AD
0
là các đường hai chiều chúng phục vụ một mục
đích kép. Các đường này được sử dụng lúc thì như tuyến đòa chỉ thấp khi thì như một
tuyến dữ liệu. Khi thi hành một lệnh, trong một phần đầu của chu kì, các đường này được
sử dụng như là tuyến đòa chỉ thấp. Suốt phần còn lại của chu kì, các đường này được dùng

8085
CLK(OUT)
RESET(OUT)
A11
S0
AD6
22
INTA
Vss
AD2
3 HLDA
32
35
38
15

5
S1
AD5
21
24
18
7
RST5.5
IO/M
X2
RST7.5
AD1
13
10
9
8
SOD
INTR
WR
17
2 HOLD
28
30
39
11
4
AD4
29
31
37

40
6
1
READY
X1
AD0
19
A10
A12
A15
RD
SID
16
Vcc
36
14
RST6.5
20
23
26
A9
A14
ALE
AD7
25
A8
A13
TRAP
27
33

12
AD3
34
RESET IN
8085 Pinout




6
Đồ án tốt nghiệp
như tuyến dữ liệu. Điều này cũng được gọi là đa hợp tuyến (multiplexing the bus). Tuy
nhiên, tuyến đòa chỉ thấp có thể được tách ra từ các tín hiệu này nhờ sử dụng một mạch
chốt (latch)
 Các tín hiệu điều khiển và trạng thái
Nhóm các tín hiệu này bao gồm hai tín hiệu điều khiển (RD và WR), 3 tín hiệu
trạng thái (IO/M, S
1
và S
0
) để xác đònh lọai hoạt động, và một tín hiệu đặc biệt (ALE) để
chỉ thò sự bắt đầu của hoạt động.
∗ALE -Address latch enable: Cho phép chốt đòa chỉ .Đây là một xung dương tác động
cạnh lên được phát ra mỗi lần 8085 bắt đầu một hoạt động (chu kì máy); nó chi thò rằng
các bit AD
7
-AD
0
là các bit đòa chỉ. Tín hiệu này về cơ bản được sử dụng để chốt các đòa
chỉ thấp từ tuyến đa hợp và cho ra một tập riêng biệt 8 đường đòa chỉ AD

7
-

AD
0
.ALE là
một tín hiệu điều khiển
∗ RD - Read : Đọc đây là tín hiệu điều khiển đọc (tác dộng mức thấp). tín hiệu này chỉ
thò đọc I/O hặc bộ nhớ và dữ liệu có khả dụng trên tuyến dư liệu.
∗ WR -Write : Ghi đây là tín hiệu điều khiển ghi (tác động mức thấp). Tín hiệu này chỉ
thò rằng dữ liệu trên tuyến dữ kiệu được ghi vào một ô nhớ hoặc I/O đã chọn
∗ IO / M :Input –Output / Memory. Đây là tín hiệu trạng thái được sử dụng để phân
biệt giữa các hoạt độâng IO và bộ nhớù. Khi nó ở mức thấp,nó chỉ thò một hoạt động liên
quan đến bộ nhớ. Tín hiệu này được kết hợp với RD và WR để tạo ra các tín hiệu điều
khiển I/O và bộ nhớ.
∗ S
1
và S
0
: Status đây là các tín hiệu trang thái, tương tự IO/ M, có thể xác đònh các
hoạt động khác nhau ,nhưng chúng hiếm khi được sử dụng trong các hệ thống nhỏ.
Toàn bộ các hoạt động và cá tín hiệu trạng thái liên kết được liệt kê trong bảng 4.1
 Nguồn cung cấp và tần số xung đồng hồ
∗ Vcc : nguồn cung cấp +5V
∗ Vss : tham chiếu đất (mass )
∗ X
1
và X
2
: một thạch anh (hoặc mạng RC, LC ) được nối tại hai chân này

Mỗi chủng loại 8085 điều có tần số tối đa cho phếp đưa vào hai chân này
6MHZ : đối với 8085A
10MHZ : đối với 8085A-2
12MHZ : đối với 8085A-1
tần số đưa vaò từ X
1
,X
2
được chia 2 bên trong vi xử lí
∗ CLK (out) - Clock Output : ngõ ra xung đồng hồ .Cung cấp các tín hòêu xung đồng hồ
cho các thành phần khác thuộc hệ thống .Nó có cùng tần tần số với xung đồng hồ bên
trong vi xử lí .
Do đó :
fx
1
x
2
f
CLK
= 
2

7
Đồ án tốt nghiệp
Bảng 4.1: trạng thái chu kì máy và các tín hiệu điều khiển 8085
Trạng thái
Chu kỳ máy IO/M S
1
S
0

Các tín hiệu điều khiển
Tìm kiếm mã hoạt động 0 1 1 RD = 0
Đọc bộ nhớ 0 1 0 RD = 0
Ghi vào bộ nhớ 0 0 1 WR = 0
Đọc I/O
1 1 0 RD = 0
Ghi vào I/O
1 0 1 WR = 0
Yêu cầu ngắt 1 1 1 INTA = 0
Dừng Z 0 0
Treo Z X X RD , WR = Z
Đặt lại Z X X và INTA = 1

Z =Tổng trở cao (3 trạng thái : Tri –States)
X = Không xác đònh ( Don’t care )
 Các ngắt và các hoạt động Khởi tạo bên ngòai
Vi xử lí 8085 có năm tín hiệu ngắt có thể được sử dụng để ngắt một sự thi hành
chương trình. Vi xử lí trả lời một ngắt bằng tín hiệu INTA (Interrupt Acknowledge).
Ngòai các ngắt, ba chân –RESET, HOLD và READY- Tiếp nhận các tín hiệu khởi
tạo bên ngoài như là các ngõ vào.
Để đáp ứng yêu cầu HOLD, vi xử lí có một tín hiệu gọi là HLDA (Hold Acknowledge)
∗ RESET IN : Khi tín hiệu trên chân này xuống mức logic thấp,bộ đém chương trình
được đặt lại về không, các tuyến ở trạng thái tổng trở cao và vi xử lí bò đặt lại (reset)
∗ RESET OUT : Tín hiệu này chỉ thò rằng vi xử lí đang đặt lại.Tín hiệu này có thể được
sử dụng để đặt lại các thiết bò khác.
Các tín hiệu khác ,xem Bảng 4.2
Bảng 4.2 : Các ngắt và các tín hiệu khởi tạo bên ngoài 8085
• INTR (Vào ) : Interrupt Request
Tín hiệu này được sử dụng như là một bộ ngắt phổ dụng(general purpose interrupt), nó
tương tự với tín hiệu INT của 8085A

• INTA (Ra) : Interrupt Acknowledge
Tín hiệu này dùng để trả lời một ngắt
• RST 7.5 (Vào) : Restart Interrupt;
RST 6.5
RST 5.5

8
Đồ án tốt nghiệp
Đây là các ngắt có đònh hướng (vectored interrupt) và che được.Chúng có quyền ưu tiên
ngắt cao hơn INTR. Trong số ba ngắt này, thứ tự ưu tiên là RST 7.5,RST 6.5 và 5.5
TRAP (Vào)
Đây là một ngắt không che được và có quyền ưu tiên cao nhất
Lọai ngắt Ô nhớ để gọi ngắt
1. TRAP 0024
2. RST 7.5 003C
3. RST 6.5 0034
4. RST 5.5 002C
• HOLD (Vào)
Tín hiệu này chỉ thò rằng một thiết bò ngoại vi như bộ điều khiển DMA (Direct
Memory Access) đang yêu cầu sử dụng các tuyến đòa chỉ và dữ liệu
• HLDA (Ra) : Hold Acknowledge
Tín hiệu trả lời theo yêu cầu HOLD
• READY (Vào)
Tín hiệu này được sử dụng để trì hoãn các chu kỳ.Đọc hay Ghi của vi xử lí cho đến khi
một ngoại vi sẵn sàng để gởi hoặc nhận dữ liệu.Khi tín hiệu này xuống thấp,vi xử lí đợi
trong một số nguyên lần các chu kỳ đồng hồ cho khi nó lên cao.
 Các cổng I/O nối tiếp
Vi xử lí 8085 có hai tín hiệu để thực hiện việc truyền dữ liệu nối tiếp
∗ SID : Seria Input Data. Dữ liệu vào nối tiếp .tín hệu này nạp vào bit D7 của
thanh ghi A trong suốt quá trình thực hiện lệnh RIM

∗ SOD : Serial Out put Data. Dữ liệu ra nối tiếp.Lệnh này được niêu rõ bởi lệnh
SIM
4.3 CẤU TRÚC BÊN TRONG 8085
Hình 4.3 TRình bày cấu trúc bên trong của 8085. Nó bao gồm Đơn vò logic và số
học ALU (Arithmetic and Logic Unit ), đơn vò đònh thời và điều khiển
(Timng and Control Unit ), Bộ giải mã và thanh ghi lệnh (Instruction Register and
Decoder),Dãy thanh ghi (Register Array), Điều khiển ngắt (Interrupt Control) và Điều
khiển I/O nối tiếp (Serial I/O Control)

Accum ulater
Address Buffer
(8)
AD15 - AD8
Address Bus
Array
Register
Data Address Buffer
(8)
AD7 - AD0
Address Data Bus

X1
X2
Power Supply
+5V
GND
Tim ing and Control
Interrupt C ontrol
8 Bit Internal Data Bus
(8) (8) (8)

Tem p. Reg.
Instruction
Re gister
Instruction
Decoder
and
Machine
Cycle
Encoding
Flag
Flip Flops
Arithm atic
Logic
Unit
(8)
(ALU)
CLK
GEN
CLK OUT
READY
RD
WR
Control
Status DMA
Reset
ALE S0 S1
IO/M
HOLD
HLDA
RESET IN

RESET OUT
INTR RST 5.5 RST 7.5
RST 6.5
TRAP
INTA
Stack Pointer
Program Counter
Increm enter / Decrem enter
Address Lactch
Multiplexer
(8)
(8)
(8)
(8)
(8)
(8)
(8)
(8)
(16)
(16)
(16)
Reg.
Reg.
Reg. Reg.
Reg.
Reg.
Reg. Select
W Z
B C
D E

H L
Tem p. Reg.
Tem p. Reg.
Serial I/O C ontrol



SID
SOD
9
Đồ án tốt nghiệp

Hình 4.3 : Sơ đồ khối chức năng của 8085

 Đơn vò logic và số học ALU
Đơn vò này thực hiện các chức năng tính toán : nó bao gồm Thanh ghi tích trữ
(Accumulator), Thanh ghi tạm (Temporary register), các mạch logic và số học,và 5 cờ
báo (Flag). Thanh ghi tạm được dùng để duy trì dữ liệu trong suốt một hoạt động số học
và logic. Kết qua được lưu trữ vào thanh ghi tích trữ, và các cờ (các flip – flop ) được đặt
(set: bằng 1 ) họăc bò đặt lại (reset :bằng 0) tùy theo kết quả của hoạt động.
Các cờ chòu ảnh hưởng bởi các hoạt động số học và logic trong ALU. Trong hầu
hết các họat động này, kết quả được lữutru vào thanh ghi tích trữ. Do đó các cờ thường
phản ánh các điều kiện dữ liệu trong thanh ghi tích trữ-trừ một vài ngoại lệ.
∗ S – Sign Flag: Cờ dấu: Sau sự thi hành của một phép toán học hoặc một họat động
logic, nếu bit D7 của kết quả (luôn luôn trong thanh ghi tích trữ) bằng 1 thì cờ dấu được
đặt. Cờ này được sử dụng với các số có dấu. Trong một byte được cho,nếu D7 là 1, số
này được xem là số âm, nếu D7 bằng 0, số này được xem là số dương.trong các hoạt
động liên quan tới các số có dấu,bit D7 được phục vụ để chỉ thò dấu và bảy bit còn lại
được dùng để chỉ thò cho độ lớn (magnituge) của con số đó
∗ Z- Zero Flag : Cờ không : Cờ không được đặt (Z=1 )nếu hoạt động ALU có kết quả

bằng 0 .Cờ này được điều chỉnh bởi kết quả trong thanh ghi tích trữ cũng như trong các
thanh ghi khác.
∗ AC –Auxiliary Carry Flag : Cờ mượn phu : Trong một hoạt động toán học, khi số
mượn (carry ) được phát ra từ số D3 và chuyển sang số D4, thì cờ AC được đặt. Cờ này
chỉ được sử dụng bên trong đối với các phép toán liên quan đến số BCD, và không khả
dụng đối với người lập trình muốn chuyễn đổi trình tự một chương trình bằng một lệnh
nhảy
∗ P – Parity Flag : Cờ chẵn lẻ: Sau một phép toán số học hoặc một hoạt động
logic,nếu kết quả có một số chẵn các số 1 ,cò được đặt ( P= 1), nếu nó có một số lẻ các
số 1, thì cờ P được đặt lại (P =0)
∗ CY –Carry Flag : Cờ mượn : Nếu một phép toán số học dẫn đến sự vay mượn ,cờ
C được đặt, ngược lại thì nó được đặt lại
Vò trí các bit phục vụ cho các cờ này như sau trong thanh ghi cờ:

10
Đồ án tốt nghiệp
D7
S Z X AC x P x CY
Trong số năm cờ ,cờ AC được dùng bên trong đối với các phép toán BCD; tập lệnh
không chứa bất kì lệnh nhảy nào có điều kiện nào có liên quan đến cờ AC. Trong bốn cờ
còn lại, cờ Z và Cy là các cờ được sử dụng thường xuyên nhất.
 Đơn vò đònh thời và điều khiển
Đơn vò này đồng bộ tất cả các hoạt động của vi xử lí bằng xung đồng hồ, và phját ra
các tín hiệu điều khiển cần thiết cho việc truyền thông giữa vi xử lí và ngoại vi. Các tín
hiệu điều khiển có chức năng tương tự như xung đồng bộ (Synchronous pulse) trong một
Dao động kí. Các tín hiệu RD, WR là các xung đồng bộ có chỉ thò sẵn của dữ liệu trên
tuyến dữ liệu.
 Thanh ghi lệnh và bộ giải mã
Thanh ghi lệnh và bộ giải mã thuộc về ALU. Khi một lệnh được tìm thấy từ bộ
nhớ, nó được nạp vào thanh ghi lệnh. Bộ giải mã sẽ giải mã lệnh và thực thi trình tự của

các sự việc theo sau. Thanh ghi lệnh không thể được lập trình và không thể xâm nhập
bằng bất kì lệnh nào.
 Dãy thanh ghi
Các thanh ghi lập trình gồm có: A, B, C, D, E, F, H và L. Mỗi thanh ghi có thể
được lập trình độc lập hoặc kết hợp thành cặp thanh ghi : AF =(PSW), BC = (B), DE =
(D) và HL = (H).
Ngòai ra, còn có hai thanh ghi phụ, gọi là các thanh ghi tạm W và Z, thuộc dãy
thanh ghi. Các thanh ghi này được sử dụng để duy trì dữ liệu 8 bit trong khi thi hành một
số lệnh. Tuy nhiên, vì chúng được dùng bên trong, nên chúng không khả dụng đối với
nngười lập trình. Tức là người lập trình không cần thiết phải quan tâm đến nội dung trong
hai thanh ghi này.
SP (Stact Pointer)- Con trỏ ngăn xếp, PC (Program Counter) – bộ đếm chương trình
là hai thanh ghi 16 bit vô cùng quan trọng !
4.4 TẬP LỆNH CỦA 8085
Một lệnh (Instruction) là một mẫu nhò phân (binaray patter) được thiết kế bên trong
vi xử lí để thực hiện một chức năng cụ thể. Một nhóm đủ các lệnh được gọi là tập lệnh
(Instruction set), xác đònh các chức năng mà vi xử lí có thể thực hiện. Tập lệnh của 8085
có 74 lệnh (hơn 8080 hai lệnh), các lệnh này có thể phân thành 5 nhóm chức năng:
• Các họat động (sao chép ) truyền dữ liệu
• Các họat động toán học
• Các họat động logic
• Các họat động rẽ nhánh
• Các họat động điều khiển
 Các họat động (sao chép) truyền dữ liệu
Nhóm các lệnh này sao chép dữ liệu từ nơi nguồn đến nơi đích, mà không hề điều
chỉnh nội dung của nơi nguồn. Trong các sổ tay kỹ thuật, từ truyền dữ liệu được sử dụng
cho chức năng sao chép. Sau đây là các dạng truyền dữ liệu
Dạng truyền Ví dụ

11

Đồ án tốt nghiệp
Giữa các thanh ghi Sao chép nội dung của thanh ghi B
vào thanh ghi D
Byte dữ liệu cụ thể đến Nạp vào thanh ghi B byte dữ
thanh ghi hoặc ô nhớ 32
H
Giữa một ô nhớ và một thanh ghi Từ ô nhớ 2000
H
đến thanh ghi B

Giữa một thiết bò I/O và thanh ghi Từ bàn phím vào thanh ghi tích trữ
tích trữ
Giữa cặp thanh ghi và ngăn xếp Từ cặp thanh ghi BC đến hai ô nhớ được
đònh nghóa như ngăn xếp
 Các hoạt động toán học
Các lệnh này thực hiện các phép toán như cộng trừ, tăng và giảm
∗ Cộng: bất một số 8 bit , hoặc nội dung của thanh ghi hhoặc nội dung của một ô
nhớ có thể được cộng với nội dung của thanh ghi tích trữ và tổng được ghi vào thanh ghi
tích trữ . Hai thanh ghi hoặc ô nhớ không thể cộng trực tiếp với nhau. Lệnh DAD là một
ngoại lệ, nó cộng trực tiếp dữ liệu 16 bit trong các cặp thanh ghi
∗ Trừ : Bất kì một số 8 bit, hoặc nội dung của một thanh ghi, hoặc nội dung của
một ô nhớ có thể được trừ nội dung của thanh ghi tích trữ. Lệnh trừ được thực hiện ở dạng
bù 2,và kết quả nếu âm được biểu diễn ở dạng bù 2. Hai thanh ghi hoặc ô nhớkhông thể
được trừ trực tiếp.
∗ Tăng/giảm: Nội dung 8 bit của một thanh ghi hoặc một ô nhớ có thể được tăng
hhoặc giảm mỗi lần một đơn vò. tương tự nội dung 16 bit của một cặp thanh ghi cũng có
thể được tăng hoặc giảm đi một. Các hoạt động tăng và giảm khác với phép cộng và trừ
ở một cách thức quan trọng, đó là: chúng có thể được thực hiện trong bất kì thanh ghi
hoặc ô nhớ nào.
 Các hoạt động logic

Các lệnh này thực hiện các hoạt động logic khác nhau với nội dung của thanh ghi
tích trữ
∗ AND, OR, XOR: Bất kì một số 8 bit, hoặc nội dung của một thanh ghi, hoặc nội
dung của một ô nhớ có thể được logic AND, OR , XOR với nội dung của thanh ghi tích
trữ.
∗ Xoay: Mỗi bit trong thanh ghi tích trữ có thể được dòch phải hoặc dòch trái đến
vò trí kế tiếp.
∗ So sánh : Bất kì một số 8 bit, hoặc nội dung của thanh ghi, hoặc của ô nhớ có
thể được so sánh bằng, lớn hơn, nhỏ hơn với nội dung của thanh ghi tích trữ.
∗ Bù : Nội dung của thanh ghi tích trữcó thể được lấy bù : tất cả 0 được thay thế
bằng 1 và toàn bộ được đổi thành 0
 Các hoạt động rẽ nhánh
Nhóm các lệnh này làm thay đổi trình tự thi hành chương trình một cách có điều
kiện hoặc không có điều kiện
∗Nhảy : Các lệnh nhảy có điều kiện là một khía cạnh quan trọng để đưa ra những
quyết đònh lập trình. Các lệnh này kiểm tra một điều kiện nào đó(cờ Zero hoặc Carry)

12
Đồ án tốt nghiệp
và làm thay đổi trình tự chương trình khi bắt gặp điều kiện. Ngòai ra, còn có các lệnh
nhảy không điều kiện.
∗ Gọi,Trở về, và khởi động lại : Các lệnh này làm thay đổi trình tự của mội
chương trìnhhoặc bằng cách gọi một chương trình con hoặc trở về từ một chương trình
con. Các lệnh Gọi và Trở vềcũng có thể kiểm tra các cờ điều kiện
 Các hoạt động điều khiển .
Các lệnh này điều khiển các chức năng vận hành như là : Dừng, ngắt hoặc không
làm gì cả (No operation)
Tập lệnh vi xử lí 8085 được phân thành 3 nhóm:
1. Các lệnh một từ hoặc một byte
2. Các lệnh 2 từ hoặc hai byte

3.Các lệnh 3 từ hoặc 3 byte
Lệnh một byte chứa mã hoạt động (Opcode) và toán tử (Operand) trong cùng một
byte
Trong lệnh hai byte, búyt thứ nhất nêu lên mã hoạt động và theo sau là toán tử
Đối với lệnh ba byte, byte đầu tiên cho biết mã hoạt động, hai byte theo sau là dữ
liệu 16 bit (nội dung hoặc đòa chỉ)
4.4 CHỐT,ĐỆM TUYẾN ĐỊA CHỈ VÀ DỮ LIỆU CHO 8085
4.4.1 CHỐT TUYẾN ĐỊA CHỈ THẤP
Trong một hệ thống vi xử lí dùng 8085, bắt buộc phải chốt (Latch),tuyến đòa chỉ
thấp để giải đa hợp (demultiplex) tuyến AD
7
–AD
0
thành hai tuyến riêng biệt: tuyến đòa
chỉ thấp A
7
-A
0
và tuyến dữ liệu D
7
– D
0

Hình 4.4 trình bày sơ đồ sử dụng một mạch chốt và tín hiệu ALE để giải đa hợp tuyến
Tuyến AD
7
- AD
0
được kết nối như là ngõ vào đến mạch chốt 74LS373. Tín hiệu ALE,
được nối đến chân cho phép (G) của mạch chốt, tín hiệu điều khiển ngõ ra (OC) của

mạch chốt được nối đất.
Chân ALû mức cao trong mỗi chu kì T. Khi ALE ở mức cao,ngõ ra của mạch chốt thay
đổi theo dữ liệu (đòa chỉ vào)

AL E
AD0
AD1
AD2
AD3
AD4
AD5
AD6
AD7
Tuyến đòa chỉ
thấp đã được
chốt (giả i đa hợp)
A0
A1
A2
A3
A4
A5
A6
A7
Tuyến dữ liệu
đã được
giả i đa hợp
D0
D1
D2

D3
D4
D5
D6
D7
Tuyến đòa chỉ
dữ liệu đa
hợp từ vi xử
lí 8085




74LS373
D0
3
D1
4
D2
7
D3
8
D4
1 3
D5
1 4
D6
1 7
D7
1 8

OC
1
G
1 1
Q0
2
Q1
5
Q2
6
Q3
9
Q4
1 2
Q5
1 5
Q6
1 6
Q7
1 9
13
Đồ án tốt nghiệp
4.4.2 ĐỆM TUYẾN ĐỊA CHỈ CAO
Mạch đệm (buffer)là một mạch logic để khuếch đại dòng điện hoặc công suất.
Mạch đệm về cơ bản được sử dụng để làm tăng khả năng lái (drive) của một mạch logic
Hình 4.5 trình bày 74LS244, một mạch đệm một chiều (vì tuyến đòa chỉ là tuyến
một chiều,hướng tjừ vi xử lí đến các thiết bò bên ngòai) để làm tăng khả năng lái của
tuyến đòa chỉ cao. Về cơ bản, các tuyến của 8085 có thể cấp dòng 400µA (I
O H
= 400µA)

và rút dòng 2µA (I
I L
= 2µA); chúng chỉ có thể lái một tải logic TTL. Mặc dù bên trong
8085 đã có các mạch đệm dữ liệu và đòa chỉ, nhưng theo khuyến cáo của các nhà chế
tạo, một hệ thống vi xử lí có 10 thành phần trở lên nên dùng các mạch đệm.
Mạch đệm 74LS244 có khả năng cấp dòng 15mA và rút dòng 24mA.
4.5 ĐỆM TUYẾN DỮ LIỆU
Hình 4.5 cũng trình bày 74LS245, một mạch đệm hai chiều để làm tăng khả năng
lái của tuyến dữ liệu. 74LS245 có thể rút dòng 24mA và cấp dòng 15mA. 74LS245 có 8
đường dữ liêu hai chiều: hướng của dòng dữ liệu được xác đònh bởi chân điều khiển
hướng (DIR)


Hình 4.4 : Sơ đồ mạch chốt tuyến đòa chỉ thấp
14
Đồ án tốt nghiệp
RD
Tuyến đòa chỉ
cao củ a vi xử
lí 8085
Tuyến dữ liệu
đã giải đa hợp
từ 8085
Tuyến dữ liệu
củ a hệ thống
(đã được đệm )
Tuyến đòa chỉ
cao củ a hệ thống
(đã được đệm )





74LS244
1 A1
2
1 A2
4
1 A3
6
1 A4
8
2A 1
1 1
2A 2
1 3
2A 3
1 5
2A 4
1 7
1 G
1
2G
1 9
1 Y 1
1 8
1 Y 2
1 6
1 Y 3
1 4

1 Y 4
1 2
2Y1
9
2Y2
7
2Y3
5
2Y4
3
74LS245
A1
2
A2
3
A3
4
A4
5
A5
6
A6
7
A7
8
A8
9
G
1 9
DIR

1
B1
1 8
B2
1 7
B3
1 6
B4
1 5
B5
1 4
B6
1 3
B7
1 2
B8
1 1
A8
A9
A10
A11
A12
A13
A14
A15
D0
D1
D2
D3
D4

D5
D6
D7
A8
A9
A10
A11
A12
A13
A14
A15
D0
D1
D2
D3
D4
D5
D6
D7
Hình 4.5 : Sơ đo àmạch đệm tuyến đòa chỉ cao và tuyến dữ liệu
Hình 4.5 chứng tỏ rằng mạch đệm luôn được cho phép nhờ nối đất tín hiệu G.
Hướng của dòng dữ liệu được xác đònh bằng cách nối tín hiệu RD từ vi xử lí đến tín hiệu
DIR. Khi vi xử lí ghi (WR) vào một ngoại vi, RD lên cao vì dòng dữ liệu từ vi xử lí đến
các ngoại vi khi vi xử lí đang đọc (RD) từ một ngoai vi, RD xuống thấp và dòng dữ liệu
hướng đến vi xử lí, tuyến đòa chỉ thấp không cần thiết phải được đệm trong hệ thống này
(nếu đệm càng tốt) vì trong bản thân mạch chốt (74LS373), dữ liệu đòa chỉ đã được đệm
rồi. Tuyến điều khiển, nếu có đệm thì cách thức thực hiện như là của tuyến đòa chỉ cao.
Trong hệ thống vi xử lí ,các ngoại vi được kết nối ở dạng song song giữa tuyến đòa
chỉ tuyến dữ liệu và tuyến điều khiển. Vi xử lí chỉ thông tin với một trong các thiết bò tại
mọt thời điểm, khi đó phải cách li tất cả các thiết bò còn lại. Việc sử dụng các mạch ba

trạng thái (Tri_State). Sẽ giải quyết được vấn đề này
4.6 GIẢI MÃ ĐỊA CHỈ
Trong một hệ thống vi xử lý, ngoài các phần tử nhớ (ROM, RAM), vi xử lý còn
phải thông tin với các I/O ngoại vi (8255, 8279 ..). Để vi xử lý hiểu rằng, nó đang hay
cần thông tin với bộ nhớ nào (ROM hay RAM), hoặc với I/O nào 8255 và với phần tử

×