Tần số xung đồng hồ: 5MHz. Mạch tích xung đồng hồ được tích hợp có thể sử
dụng thạch anh, mạch RC, LC bên ngoài.
Đơn vò điều khiển được tích hợp.
Có 4 vector ngắt, trong đó có một dành cho nhu cầu ngắt không ngăn được (Non
– Maskable). Và một tương thích với 8080A.
Cổng vào/ra nối tiếp.
Tính nhò phân, thập phân và thập lục phân (tính 16 bit).
Khả năng đònh đòa chỉ trực tiếp 64 Kbyte.
Phần mềm tương thích 100% với Z80.
II.2. CẤU TRÚC PHẦN CỨNG 8085:
Sơ đồ chân của vi xử lý 8085 và sơ đồ logic ở hình 8.
Trong đó chức năng của các chân được trình bày dưới đây:
Chân
Ký hiệu In/Out
3 state
Ý nghóa
1,2 X
1
, X
2
I
X
1
, X
2
là 2 ngõ vào của mạch dao động. Tần số
ngõ vào được chia bơói 2 mạch chia bên trong.
Tần số làm việc phụ thuộc vào loại vi xử lý .
Đối với 8085A là 6 MHz.
Đối với 8085A1 là 12MHz.
Đối với 8085A2 là 10MHz.
3 Reset out O Cho biết CPU đang reset. Tín hiệu này có thể
dùng để reset các thành phần khác trong mạch.
4 SOD O Serial output. Ngõ ra dữ kiệu nối tiếp được xác
đònh bởi lệnh Sim.
5 SID I
Serial input ngõ vào dữ liệu nối tiếp. Nó được
nạp vào bit thứ 7 của thanh ghi A khi thực hiện
lệnh RIM.
6 TRAP I
Trap: tín hiệu ngắt không ngăn được. Ngõ vào
Trap được kích bởi cạnh lên.
7,8,9 RST 7,5;
6,5; 5,5
I
Restart Interrupt Request: là các tín hiệu ngắt
có thể ngăn được.
10 INTR I
Interrupt: là tín hiệu ngắt thông dụng có thể
che được. Lệnh được kích bằng mức.
11 INTA\ O
Interrupt Acknowledge: tín hiệu dùng để báo
cho thiết bò yêu cầu ngắt bởi tín hiệu INTR biết
rằng vi xử lý đã chấp nhận yêu cầu ngắt.
19-12
AD
7
÷AD
0
I/O-3
Address/databus: đường đòa chỉ và dữ liệu được
tích hợp chung. Ở trạng thái T
1
của chu kỳ máy
các ngõ này đóng vai trò là ngõ ra đòa chỉ. Các
trạng thái còn lại của chu kỳ máy đóng vai trò
đường dữ liệu.
20 Vss O-3
Ground
28-21
A
15
÷ A
18
O-3
Addess bus: các ngõ này dùng để xuất 8 bit đòa
chỉ cao.
30 ALE O
Addess Latch Enable: ngõ này tạo ra 1 xung ở
trạng thái T
1
của chu kỳ máy để xác đònh A
15
÷
A
8
và AD
7
÷ AD
0
là các đường đòa chỉ.
31 WR\ O-3
Write: dùng để xác đònh Microprocessor đang
thực hiện ghi dữ liệu lên bộ nhớ hay I/O.
32 RD\ O-3
Read dùng để xác đònh Microprocessor đang
thực hiện ghi dữ liệu lên bộ nhớ hay I/O.
29,
33,34
S
0
, S
1
IO/M\
O
O-3
Machine Cycle Status: 3 bit này cho biết trạng
thái chu kỳ máy.
II.3. CẤU TRÚC BÊN TRONG VI XỬ LÝ 8085:
Sơ đồ cấu trúc Microprocessor 8085A được trình bày ở hình vẽ.
Trong sơ đồ cấu trúc của 8085A có tất cả các khối của một Microprocessor
tổng quát, chỉ có vài điểm khác biệt:
Một trong hai thanh ghi Temp được thay thế bởi thanh ghi Accumulator do đó
các dữ liệu cho khối ALU thực hiện phải có một dữ liệu chứa trong thanh ghi A.
Các thanh ghi thông dụng B, C, D, E, H, L thanh ghi Accumulator, thanh ghi
trạng thái đều có chiều dài là 8 bit.
Program Counter và Stack pointer là các thanh ghi 16 bit do đó dung lượng bộ
nhớ 8085A có thể truy xuất là 64K byte.
Bus dữ liệu 8 bit D7 – D0 được đa hợp với 8 bit đòa thấp A7 – A0 tạo thành 8 bit
AD7 – AD0 do đó khi sử dụng Microprocessor 8085A phải giải mã đa hợp các
đường này để tách rời thành các đường đòa chỉ và các đường dữ liệu một cách chính
xác.
Các thanh ghi thông dụng B, C, D, E, H, L thanh ghi Accumulator, thanh ghi
trạng thái F đều có chiều dài là 8 bit. Các thanh ghi này có thể kết hợp lại tạo
thành từng cặp thanh ghi như BC, DE, HL, PSW ( chính là cặp thanh ghi AF).
Thanh ghi trạng thái Microprocessor 8085A có cấu trúc như sau:
S
Z
X
AC
X
P
X
C
7 6 5 4 3 2 1 0
Hình sơ đồ chân của vi xử lý 8085 và sơ đồ logic
Chức năng của các bit như sau:
Bit S (signal): bit dấu S=1 khi kết quả là số âm
S=0 khi kết quả là số dương
Bit Z(zero) bit zero Z=1 khi kết quả bằng 0
Z=0 khi kết quả khác 0
Bit AC (Auxiliary) bit tràn phụ AC=1 khi phép tính bò tràn lên bit thứ 3
AC=0 khi phép tính không bò tràn lên bit thứ
3
Bit P (Parity) bit chẵn lẻ P=1 khi kết quả là số chẵn.
P=0 khi kết quả là số lẻ.
Bit C (Carry) bit nhớ C=1 khi kết quả có số nhớ.
C= 0 Khi kết quả không có số nhớ.
Bit x: là các bit không có ý nghóa.
Microprocessor 8085A có ngõ vào Reset In dùng để Reset Microprocessor để
thoát khỏi 1 chương trình, khi tác động đến ngõ vào Reset, Microprocessor sẽ đặt
lại giá trò trong thanh ghi PC = 0000
H
và các chương trình sẽ bắt đầu thực hiện ở ô
nhớ có đòa chỉ 0000
H
.
GIỚI THIỆU 8255A:
III.1 CẤU TRÚC PHẦN CỨNG:
8085A là IC ngoại vi được chế tạo theo công nghệ LSI dùng để giao tiếp song
song giữa Microprocessor và thiết bò điều khiển bên ngoài.
Sơ đồ chân và sơ đồ logic:
Tên các chân 8255A:
D
7 –
D
0
: Data bus (Bi – Direction)
RESET: reset input
CS\: Chip select
RD\: Read input
WR\: Write input
A
0
-A
1
: Pord Address
PA7 – PA0: Port A
PB7 – PB0: Port B
PC7 – PC0: Port C
8255A giao tiếp với Microprocessor thông qua 3 bus: bus dữ liệu 8 bit D
7
– D
0
,
bus đòa chỉ A
1
A
2
, bus điều khiển RD\, WR\, CS\, Reset.
Mã lệnh, thông tin trạng thái và dữ liệu đều được truqền trên 8 đường dữ liệu
D
7
– D
0
. Microprocessor gởi dữ liệu đến 8255A hoặc Microprocessor đọc dữ liệu từ
8255A tùy thuộc vào lệnh điều khiển. Các đường tính hiệu RD\, WR\, của 8255A
được kết nối với các đường RD\, WR\ của Microprocessor.
8255A
PA
3
PA
2
PA
1
PA
0
RD\
CS\
GN
D
A
1
A
0
PC
7
PC
6
PC
5
PC
4
PC
0
PC
1
PC
2
PC
3
PB
0
PB
1
PB
2
PA
4
PA
5
PA
6
PA
7
WR\
RESET
D
0
D
1
D
2
D
3
D
4
D
5
D
6
D
7
V
CC
PB
7
PB
6
PB
5
PB
4
PB
3
RD\
WR\
RESET
A
0
A
1
CS\
PA7-
PA0
D7
-
D0
PC7-
PC4
PC3-
PC0
PB7-
PB0
Tín hiệu Reset dùng để khi khởi động 8225A khi cấp điện, khi bò Reset các
thanh ghi bên trong của 8255A đều bò xóa và 8255A ở trạng thái sẳn sàng làm việc.
Khi giao tiếp với Microprocessor, ngõ vào tín hiệu Reset này được kết nối với tín
hiệu Reset Out của Microprocessor.
Tín hiệu Chip select CS\ dùng để lựa chọn 8255A khi Microprocessor giao
tiếp với nhiều 8255A.
8255A có 3 port xuất nhập (I/O) có tên là Port A, port B, Port C, mỗi Port 8
bit. Port A gồm các bit PA
0
– PA
7
, Port B gồm các bit PB
0
– PB
7
, Port C gồm các bit
PC
0
– PC
7
. Các Port này có thể là các Port Input hoặc Output tùy thuộc vào lệnh
điều khiển, lệnh điều khiển do Microprocessor gởi đến chứa trong thanh ghi lệnh
(còn gọi là thanh ghi điều khiển) để điều khiển 8255A.
Các đường đòa chỉ A
1
A
0
của 8255A dùng để lựa chọn các Port và thanh ghi.
A
1
A
0
= 00
2
dùng để chọn các Port A, A
1
A
0
= 01
2
dùng để chọn các Port B, A
1
A
0
= 10
2
dùng để chọn các Port C, A
1
A
0
= 11
2
dùng để chọn thanh ghi điều khiển.
Trong sơ đồ khối của 8255A, các Port I/O của 8255A chia ra làm 2 nhóm:
nhóm A gồm Port A và 4 bit cao của Port C, nhóm B gồm Port B và 4 bit thấp của
Port C. Để sử dụng các Port của 8255A người lập trình phải gởi lệnh điều khiển ra
thanh ghi điều khiển để 8255A đònh cấu hình cho các Port đúng theo yêu cầu mà
người lập trình mong muốn.
Cấu trúc từ điều khiển của 8255A:
III.2 CẤU TRÚC PHẦN MỀM:
Do các Port ra của 8255A được chia làm 2 nhóm A và B tách rời nên từ điều
khiển của 8255A cũng được chia làm 2 nhóm.
Các bit D
2
D
1
D
0
dùng để đònh cấu hình cho nhóm B:
Bit D
0
dùng để thiết lập 4 bit thấp của C, D
0
= 0: Port C thấp là Port xuất dữ
liệu, D
0
= 1: Port C thấp là Port nhập dữ liệu.
Bit D
1
dùng để thiết lập Port B, D
1
= 0: Port B là Port xuất dữ liệu, D
1
= 1:
Port B là Port nhập dữ liệu.
Bit D
2
dùng để thiết lập Mode điều khiển chg nhóm B:
D
7
D
6
D
5
D
4
D
3
D
2
D
1
D
0
PORT C (LOWER)
1 = INPUT
0 = OUTPUT
PORT B
1 = INPUT
0 = OUTPUT
MODE SELECTION
0 = MODE 0
1 = MODE 1
GROUP B
PORT C (UPPER)
1 = INPUT
0 = OUTPUT
PORT A
1 = INPUT
0 = OUTPUT
MODE SELECTION
00 = MODE 0
01 = MODE 1
1X = MODE 2
GROUP A
MODE S
ET FLAG
1 = ACTIVE
D
2
= 0: Nhóm B hoạt động ở Mode 0.
D
2
= 1: Nhóm B hoạt động ở Mode 1.
Các bit D
6
D
5
D
4
D
3
dùng để đònh cấu hình cho nhóm A:
Bit D3 dùng để thiết lập 4 bit cao của C, D3 = 0: Port C là Port xuất dữ liệu,
D3 = 1: Port C là Port nhập dữ liệu.
Bit D4 dùng để thiết lập Port A, D4 = 0: Port A là Port xuất dữ liệu, D4 = 1:
Port A là Port nhập dữ liệu.
Bit D6 D5 dùng để thiết lập Mode điều khiển cho nhóm A:
D
6
D
5
= 00: Nhóm A hoạt động ở Mode 0.
D
6
D
5
= 01: Nhóm A hoạt động ở Mode 1.
D
6
D
5
= 11: Nhóm A hoạt động ở Mode 2.
III.2.1. CÁC NHÓM A VÀ B ĐƯC CẤU HÌNH Ở MỨC 0:
Từ điều khiển khi 2 nhóm A và B làm việc ở Mode 0:
Ở các Mode 0 các Port A, Port B, Port C thấp và Port C cao các Port xuất hoặc
nhập dữ liệu độc lập. Do có 4 bit để lựa chọn nên có 16 từ điều khiển khác nhau
cho 16 trạng thái xuất nhập của 4 Port.
III.2.2. CÁC NHÓM A VÀ B ĐƯC CẤU HÌNH Ở MỨC 1:
Từ điều khiển khi 2 nhóm A và B làm việc ở Mode 1:
Ở Mode 1 các Port A và Port B làm việc xuất nhập có chốt (Strobed I/O). ở
Mode này 2 Port A và Port B hoạt động độc lập với nhau và mỗi Port có 1 Port 4
bit điều khiển dữ liệu. Các Port 4 bit điều khiển dữ liệu được hình thành từ 4 bit
thấp và 4 bit cao của Port C.
Khi 8255A được cấu hình ở Mode 1, thiết bò giao tiếp muốn 8255A nhận dữ
liệu, thiết bò đó phải tạo ra 1 tín hiệu yêu cầu 8255A nhận dữ liệu, ngược lại 8255A
muốn gởi tín hiệu đến 1 thiết bò khác, 8225A phải tạo ra 1 tín hiệu yêu cầu thiết bò
đó nhận dữ liệu, tín hiệu yêu cầu đó gọi là tín hiệu Strobe.
Nhóm A làm việc ở cấu hình Mode 1:
Port A được cấu hình là Port nhập dữ liệu.
1
0
0
D
4
D
3
0
D
1
D
0
1
0
1
D
4
D
3
1
D
1
D
0
Chức năng của các đường tín hiệu được trình bày ở hình vẽ.
Các đường tín hiệu của Port C trở thành các đường điều khiển/ dữ liệu của Port
A.
Bit PC4 trở thành bit STB
A
(Strobe input – tác động mức thấp), được dùng để
chốt dữ liệu các ngõ vào PA7 – PA0 vào mạch chốt bên trong 8225A.
Bit PC5 trở thành bit IBF
A
( Input Buffer full – tác động mức cao), dùng để báo
cho thiết bò bên ngoài biết dữ liệu đã được chốt vào bên trong.
Bit PC3 trở thành bit INTR
A
(Input request – tác động mức cao), bit này có mức
logic 1 khi 2 bit STB
A
= 1, IBF = 1 và bit INTE
A
( Interrupt Enable) ở bên trong
8255A bằng 1. Bit INTE
A
được thiết lập mức logic 1 hay 0 dưới sự điều khiển phần
mềm bằng cấu trúc bit Set/Reset của 8255A. Ở hình vẽ trên bit INTR
A
bằng 1 dùng
để cho phép tín hiệu IBF xuất hiện tại ngõ ra INTR
A
của cổng AND. Tín hiệu
INTR
A
tác động đến ngõ vào ngắt của Microprocessor để báo cho Microprocessor
biết: dữ liệu mới đã xuất hiện ở Port A. Chương trình phục vụ ngắt sẽ đọc dữ liệu
vào và xóa yêu cầu ngắt.
Các bit còn lại của Port C PC6, PC7 là các bit xuất nhập bình thường tùy thuộc
vào bit D3 trong từ điều khiển. Các bit xxx được dùng để thiết lập cho nhóm B.
STB
A
IBF
A
INTR
A
I/O
PC
3
PC
5
PC
4
PC
6,7
INTE
A
RD
1
0
1
1
D
3
X
X
X
PA
7
-
PA
0
Control Word
MODE 1
(PORT A)
OBF
A
ACK
A
INTR
A
I/O
PC
3
PC
6
PC
7
PC
4,5
INTE
A
WR
1
0
1
0
D
3
X
X
X
PA
7
-
PA
0
Control Word
MODE 1
(PORT A)
Port A được cấu hình là Port xuất dữ liệu.
Chức năng của các đường tín hiệu được trình bày ở hình vẽ:
Các đường tín hiệu của Port C trở thành các đường điều khiển dữ liệu của Port
A.
Bit PC7 trở thành OBF
A
(Output Buffer Full – tác động mức thấâp), khi có dữ liệu
từ Microprocessor gởi ra Port A, tín hiệu OBF
A
sẽ yêu cầu thiết bò bên ngoài nhận
dữ liệu.
Bit PC6 trở thành bit ACK
A
(Acknowledeg Input – tác động mức thấp! thiết bò
nhận dữ liệu dùng tín hiệu này để báo cho 8255A biết dữ liệu đã được nhận và sẵn
sàng nhận dữ liệu tiếp theo.
Bit PC3 trở thành bit INTR
A
(Input request – tác động mức cao), bit này có mức
logic 1 khi 2 bit OBF
A
= 1, ACK = 1 và bit INTE
A
( Interrupt Enable) ở bên trong
8255A bằng 1. Tín hiệu INTR
A
tác động đến ngõ vào ngắt của Microprocessor để
báo cho Microprocessor biết thiết bò bên ngoài đã nhận dữ liệu ở Port A.
Các bit còn lại của Port C: PC4, PC5 là các bit xuất nhập bình thường tùy thuộc
vào bit D3 trong từ điều khiển. Các bit xxx được dùng để thiết lập cho nhóm B.
Nhóm B làm việc ở cấu hình Mode 1:
Port B được cấu hình là Port nhập dữ liệu.
Chức năng của các đường tín hiệu được trình bày như hình vẽ
Các đường tín hiệu của Port C trở thành các đường điều khiển/dữ liệu của
port B.
Chức năng của các bit điều khiển giống như nhóm A hoạt động ở Mode 1.
Port B được cấu hình là Port xuất dữ liệu.
Chức năng của các đường tín hiệu được trình bày ở hình vẽ
STB
B
IBF
B
INTR
B PC
0
PC
1
PC
2
INTE
B
RD
1
X
X
X
X
1
1
X
PB
7
-
PB
0
Control Word
MODE 1
(PORT B)
Các đường tín hiệu của Port C trở thành các đường điều khiển/ dữ liệu của
Port B.
Chức năng của các bit điều khiển giống như nhóm A hoạt độfg ở Mode 1.
Các bit xxx được dùng để thiết lập cho nhóm A, bit D0 không có tác dụng
trong trường hợp cả 2 nhóm làm việc ở Mode 1.
III.2.3. CÁC NHÓM A CỦA 8255A LÀM VIỆC Ở MODE 2:
Mode 2 là kiểu hoạt động Strobed Bi-directional IO, sự khác biệt với các Mode
1 là Port có hai chức năng xuất nhập dữ liệu.
Từ điều khiển khi hai nhóm A hoạt động ở Mode 2:
Chức năng của các đường tín hiệu như hình vẽ:
OBF
B
ACK
B
INTR
B PC
0
PC
1
PC
2
INTE
B
WR
1
X
X
X
X
1
0
X
PA
7
-
PA
0
Control Word
MODE 1
(PORT A)
1
1
X
X
X
X
X
X