Toàn bộ các tín hiệu của8085 có thể đuợc phân thành6nhó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 tần số
(6) Các cổngI/Onối tiếp
11 trang |
Chia sẻ: tranhoai21 | Lượt xem: 1840 | Lượt tải: 1
Bạn đang xem nội dung tài liệu Tín hiệu của 8085, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
LUÂÄN VĂN TỐT NGHIỆP
12
Toàn bộ các tín hiệu của 8085 có thể đuợ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 tần số
(6) Các cổng I/O nối tiếp
Hình 3: các nhóm hoạt động của 8085
I.1.1.2. Cấu trúc bên trong 8085:
8085ù 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 (Timing 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)
(xem hình 4).
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
LUÂÄN VĂN TỐT NGHIỆP
13
Hình 4: Sơ đồ khối chức năng của 8085
I.1.2. Cấu trúc phần mềm:
Tập lệnh của 8085
Một lệnh (Instruction) là một mẫu nhị phân (binary pattern) được thiết kế bên
trong vi xử lý để thực hiện một chức năng cụ thể (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ể được phân thành 5 nhóm chức năng :
Các hoạt động (sao chép) truyền dữ liệu
Các hoạt động toán học
Các hoạt động logic
Các hoạt động rẽ nhánh
Và, các hoạt động điều khiển
Tập lệnh vi xử lý 8085 được phân thành 3 nhóm tuỳ theo kích cỡ từ :
1. Các lệnh một từ hoặc 1 byte
2. Các lệnh hai từ hoặc 2 byte
3. Các lệnh ba từ hoặc 3 byte
Accumulater
Address Buffer
(8)
AD15 - AD8
Address Bus
Array
Register
Data Address Buffer
(8)
AD7 - AD0
Address Data Bus
X1
X2
Power Supply
+5V
GND
Timing and Control
Interrupt Control
8 Bit Internal Data Bus
(8) (8) (8)
Temp. Reg. InstructionRegister
Instruction
Decoder
and
Machine
Cycle
Encoding
Flag
Flip Flops
Arithmatic
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 TRAPINTA
Stack Pointer
Program Counter
Incrementer / Decrementer
Address Lactch
Multiplexer
(8) (8)
(8)
(8)
(8)
(8)
(8)
(8)
(16)
(16)
(16)
Reg. Reg.
Reg. Reg.
Reg. Reg.
Re
g.
Sel
ect
W Z
B C
D E
H L
Temp. Reg.Temp. Reg.
Serial I/O Control
SID SOD
LUÂÄN VĂN TỐT NGHIỆP
14
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, byte 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, 2 byte theo sau là
dữ liệu (nội dung hoặc địa chỉ) 16 bit.
I.2. IC NGOẠI VI 8255:
I.2.1. Cấu trúc:
I.2.1.1. Phần cứng:
8255 là một thiết bị I/O giao tiếp song song, nó có thể được lập trình để
truyền dữ liệu dưới các điều kiện khác nhau, từ I/O đơn giản đến I/O có ngắt. Nó
khá linh hoạt, đa năng và tinh tế (khi có nhiều cổng I/O được đòi hỏi), nhưng cũng
phức tạp. Nó là một thiết bị I/O phổ dụng có thể được sử dụng với hầu hết bất kỳ bộ
vi xử lý nào.
8255 có 40 chân dạng DIP như hình 5.
Hình 5 : sơ đồ chân và Sơ đồ khối của 8255
Bảng 2: Bảng liệt kê chức năng các chân IC 8255
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
40
39
38
37
36
35
34
33
32
31
30
29
28
27
26
25
24
23
22
21
A1
A0
PB7
PB6
PB5
PB4
PB3
D0
D1
D2
D3
D4
D5
D6
D7
PC7
PC6
PC5
PC4
PC0
PC1
PC2
PC3
PB0
PB1
PB2
PA4
PA5
PA6
PA7
PA3
PA2
PA1
PA0
WR
CS RESET
GND
Vcc
8255
Group
A
Port C
Upper
(4)
Group
A
Port C
Lower
(4)
Group
B
Port
B
(8)
Group
A
Port
A
(8)
Group
A
Control
Group
A
Control
Data
Bus
Buffer
Read
Write
Control
Logic
I/O
PA7-PA0
I/O
PA7-PA0
I/O
PA7-PA0
I/O
PA7-PA0
Bidirectional
Data Bus
D7-D0
RD
WR
A1
A0
RESET
CS
RD
LUÂÄN VĂN TỐT NGHIỆP
15
Tên các chân Chức năng
D7 – D0 Data bus (Bi – Direction)
RESET Rest Input
CS\ Chip Select
RD\ Read Input
WR\ Write Input
A0, A1 Port Address
PA7 – PA0 Port A
PB7 – PB0 Port B
PC7 – BC0 Port C
Sơ đồ khối trên hình 5. trình bày hai cổng 8 bit (A và B) và hai cổng 4 bit (CU
và CL) bộ điện tuyến dữ liệu, và logic điều khiển. Hình 5.9 (b) trình bày một sơ đồ
đơn giản hóa nhưng mở rộng của cấu trúc bên trong, chứa một thanh ghi điểu khiển.
Sơ đồ khối này chứa tất cả các phần tử của một thiết bị lập trình; cổng C thực hiện
chức năng tương tự chức năng của thanh ghi trạng thái, ngoài ra còn cung cấp các tín
hiệu bắt tay.
I.2.1.2. Phần mềm:
Từ điều khiển
Hình 6 trình bày một thanh ghi được gọi là thanh ghi điều khiển (control
register). Nội dung của thanh ghi này, gọi là từ điều khiển (control word), nêu rõ
một chức năng I/O cho mỗi cổng. Thanh ghi có thể được xâm nhập để ghi từ điều
khiển. Khi A0 và A1 ở mức logic 1, như đã đề cập ở trên. Thanh ghi này không thể bị
xâm nhập đối với hoạt động Đọc.
Bit D7 của thanh ghi điều khiển nêu rõ hoặc chức năng I/O hoặc chức năng
Đặt/Đặt lại bit như phân loại trong Hình 5.8 (b). Nếu D7 = 1các bit D6 D5 quyết
định các chức năng I/O ở các mốt khác nhau. Nếu bit D7 = 0, cổng C hoạt động ở
mốt Đặt/Đặt lại bit (BSR). Từ điều khiển BSR không ảnh hưởng đến các chức năng
của các cổng A và B.
LUÂÄN VĂN TỐT NGHIỆP
16
Hình 6: Cấu trúc từ điều khiển của IC ngoại vi 8255.
Căn cứ vào từ điều khiển của 8255, có thể klhởi tạo 8255 ở các mode 0 hoặc
mode 1 hoặc mode 2, và có thể xác định hướng vào ra dữ liệu cho mỗi port.
Để trao đổi thông tin với các ngoại vi (ở đây là các mô - đun vào ra) thông qua
8255, ba bước sau đây là cần thiết :
(1) Xác định được địa chỉ các cổng A, B và C và của thanh ghi điều khiển theo
logic chọn chip (CS) và các đường địa chỉ A0, A1.
(2) Ghi từ điều khiển vào thanh ghi điều khiển.
(3) Ghi các lệnh I/O để thông tin với các ngoại vi thông qua cổng A,B và C.
Hệ thống Kit đã được đặt cho 8255 làm việc với các ngõ vào / ra ở mốt 0 như
sau :
1. Các ngõ ra được chốt
2. Các ngõ vào không được chốt
3. Các cổng không có khả năng bắt tay và ngắt.
Ví dụ:
Để A, C là cổng nhập (8 bít), B là cổng xuất(8bít), và chọn ngoại vi có địa chỉ
từ 00 – 03 thì phải làm như sau:
PORT C (LOWER)
1=INPUT
0=OUTPUT
D7 D6 D5 D4 D3 D2 D1 D0
PORT B
1=INPUT
0=OUTPUT
MODE SELECTION
0=MODE 0
1=MODE 1
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 B
GROUP A
MODE SET FLAG
1=ACTIVE
LUÂÄN VĂN TỐT NGHIỆP
17
Gởi từ điều khiển 99hex vào thanh ghi điều khiển.
Xuất từ điều khiển ra thanh ghi điều khiển có địa chỉ 03hex.
I.3. IC GIẢI MÃ HIỂN THỊ 8279:
I.3.1. Cấu trúc 8279
I.3.1.1. Phần cứng:
8279 là một phương pháp phần cứng để giao tiếp với bàn phím ma trận và
hiển thị đa hợp. Bất lợi của phương pháp dùng phần mềm là vi xử lí bị bận trong lúc
kiểm tra và làm tươi hiển thị. 8279 sẽ thay thế vi xử lí đảm trách hai nhiệm vụ này.
8279 (Hình ) là một thiết bị dạng DIP _ 40, có hai phần chính : bàn phím và
hiển thị. Phần bàn phím có thể được nối với một ma trận tối đa 64 phím, sự gõ phím
được giải nẩy và mãphím được lưu trữ vào bộ nhớ FIFO bên trong (First _ In _ First _
Out : Vào trước, ra trước) , và một tín hiệu ngắt được phát ra mỗi lần gõ phím. Phần
hiển thị có thể cung cấp một hiển thị có quét tối đa 16 Led. Phần này có bộ nhớ
RAM 16 x 8, có thể được sử dụng đọc / ghi thông tin cho các mục đích hiển thị. Phần
hiển thị có thể được khởi tạo ở dạng ghi phải (right entry) hoặc ghi trái (left entry).
Tần số xung đồng hồ cấp cho 8279 tối đa là 3,125MHz
Hình 7: Sơ đồ chân logic của 8279
Bảng 3: Chức năng các chân IC 8279
Tên chân Số chân Mô tả và chức năng
DB0 – DB7 8 Bi-directional
databus:Đường dữ liệu 2
LUÂÄN VĂN TỐT NGHIỆP
18
chiều.
Tất cả các lệnh và dữ liệu
giữaCPU và 8279 được
truyền trên những đường
dữ liệu này.
CLK 1 Clock input: ngõ vào xung
clock. Xung clock có tần ố
tối đa là 3,125MHz.
RESET 1 Reset in: dùng để đặt lại
trạng thái làm việc của
8279 khi ngõ vào này ở
mức cao.
Sau khi được reset, 8279
có thể làm việc ở chế độ:
Hiển thị 16 ký tự lối
vào trái.
Lập mã quét phím
khóa ngoài 2 phím.
CS\ 1 Chip select: tác động mức
thấp cho phép 8279 thực
hiện các chức năng kết
nối với CPU để truyền và
nhận dữ liệu.
A0 1 Buffer address: đường địa
chỉ này thương được kết
nối với đ5a chỉ A0 của vi
xử lý dùng để phân biệt
lệnh hay dữ liệu.
A0=[1]: tín hiệu vào ra
là lệnh.
A0=[0]:tín hiệu vào ra
là dữ liệu.
RD\, WR\ 2 Read, Write:ch phép đọc
hay ghi dữ liệu lên bus dữ
liệu, thanh ghi điều khiển
hay bộ nhớ RAM hiển thị.
LUÂÄN VĂN TỐT NGHIỆP
19
IRQ 1 Interrupt Request: đường
tín hiệu yêu cầu ngắt
(output). Ngõ ra này sẽ ở
mức cao nế có dữ liệu ở
trong bộ nhớ FIFO hay
SensorRAM, ngõ ra này
sẽ ở mức thấp mỗi khicó
sự đọc bộ nhớ
FIFO/SensorRAM và
trởlại mức cao khi d4có dữ
liệu chứa trong RAM.
Vss, Vcc 2 Cấp nguồn 0Vvà +5V cho
8279.
SL0 – SL3 4 Scan lines: 4 đường scan
line nàycó thể giải mã ra
16 đường hay mã hóa
thành 1 đường, được dùng
để quét phím hay ma trận
cảm biến và hiển thị.
RL0 – RL7 8 Return line: được nối với
đường scan line thông qua
các phím hay công tắc
cảm biến. Ở chế độ quét
phím, sẽ kết hợp với các
đường scan lines tạo thành
mã của phím được nhấn.
SHIFT
CTRL/STB
1
1
Shift, Control / Strobe
input Mode: trong chế độ
quét phím, mức logic của
từng ngõ vào này sẽ được
lưu trữ với vị trí của phím
để tạo ra 1 giá trị của
phím được nhấn.
OUT A0 – A3
OUT B0 – B3
4
4
Đêy là 2 portngõ ra của
thanh ghi hiển thị 16 x 4
bit. Dữ liệu từ những thanh
ghi này sẽ được đưa ra
đồng bộ kết hợp với các
LUÂÄN VĂN TỐT NGHIỆP
20
đường quét scan lines để
đa hợp thành số hiển thị.
Hai ngõ ra 4 bit này có thể
xóa độc lập và có thể kết
hợp với nhau để tạo thành
một ngõ ra 8 bit.
BD\ 1 Blanking display: dùng để
xóa hiển thị trong quá
trình chuyển đổi giữa các
số hay khi gặp lệnh xóa
hiển thị.
Sơ đồ khối logic (Hình 8) trình bày bốn phần chính của 8279 : bàn phím, quét,
hiển thị và giao tiếp vi xử lí. Các chức năng của các phần này được miêu tả như dưới
đây :
IR
BD
CL RESE DB0-
Data
Buffer
Control and
Timing
Registers
Timing
and
Control
Internal Data Bus (8)
Display
Address
Registers
16 x 8
Display
RAM
8 x 8
FIFO/Sensor
RAM
Keyboard
Debounce
and
Control
OUT A0-A3 OUT
Display
Registers
SL0-
Scan Counter
RD WR CS A0
I/O Control
8
FIFO/Sensor
RAM
Status
RL0-RL7
SHIF
Return
Hình 8: Sơ đồ khối của 8279
Để giao tiếp với vi xử lý, 8279 cần tám đường dữ liệu hai chiều (BD0 _ BD7),
một đường yêu cầu ngắt (IRQ), và sáu đường giao tiếp, kể cả đường địa chỉ của bộ
đệm (A0)
Khi A0 ở mức cao, các tín hiệu được hiểu như là các từ điều khiển và trạng
thái. Khi A0 ở mức thấp, các tín hiệu được hiểu là dữ liệu.
LUÂÄN VĂN TỐT NGHIỆP
21
Đường IRQ lên mức cao bất kì lúc nào việc ghi nhận dữ liệu vào FIFO. Tín
hiệu này được sử dụng để ngắt vi xử lí nhằm chỉ thị tính khả dụng của dữ liệu.
I.3.1.2. Lập trình cho 8279
Để có sử dụng 8279, cần biết các từ điều khiển của 8279.
8279 có tất cả tám từ điều khiển, tùy theo mục đích sử dụng mà sẽ chọn từ
điều khiển thích hợp.
Đặt mốt hiển thị / bàn phím
MSB LSB
Mã 0 0 0 D D K K K
Trong đó, D D là mốt hiển thị và K K K là mốt bàn phím
D D
0 0 Hiển thị 8 kí tự 8 bit _ ghi trái
0 1 Hiển thị 16 kí tự 8 bit _ ghi trái
1 0 Hiển thị 8 kí tự 8 bit _ ghi phải
1 1 Hiển thị 16 kí tự 8 bit _ ghi phải
K K K
0 0 0 Bàn phím quét có lập mã _ Khóa ngoài 2 phím
0 0 1 Bàn phím quét có giải mã _ Khóa ngoài 2 phím
0 1 0 Bàn phím quét có lập mã _ Xoay vòng N phím
0 1 1 Bàn phím quét có giải mã _ Xoay vòng N phím
1 0 0 Ma trận cảm biến, quét có lập mã
1 0 1 Ma trận cảm biến, quét có giải mã
1 1 0 Ngõ vào Strob, quét hiển thị có lập mã
1 1 0 Ngõ vào Strob, quét hiển thị có giải mã
Trong suốt thời gian RAM hiển thị đang bị xoá ( 160 S), nó không thể được
ghi vào. Bit có trọng số cao nhất (MSB) của từ trạng thái được đặt trong suốt thời
gian này. Khi RAM hiển thị trở nên khả dụng trở lại, bit này tự động được đặt lại.
LUÂÄN VĂN TỐT NGHIỆP
22
Khởi tạo 8279
Mặc dù 8279 có tới tám từ điều khiển, nhưng không phải lúc nào cũng sử
dụng hết tất cả tám từ này.
Khi khởi tạo một 8279, thứ tự các từ điều khiển sau đây là cần thiết :
+ Đặt mốt hiển thị / bàn phím
+ Lập trình xung đồng hồ
+ Xoá RAM hiển thị, hoặc FIFO hoặc cả hai
Các từ điều khiển còn lại có thể được gởi ra thanh ghi điều khiển trong lúc này
hoặc khi cần.
II. CÁC THAM SỐ CẦN THIẾT CỦA KIT:
Trên đây, đã giới thiệu các IC quạn trọng để có thể kết nối Kit với máy tính.
Ngoài ra, các thông số về địa chỉ cũng không kém phần quan trọng.
Bảng : Bảng đồ địa chỉ bộ nhớ của kit
Bộ nhớ A15 A14 A13 A12 A0
Vùng địa chỉ
bộ nhớ
0 0 0 0 0 0000H ROM1
0 0 0 1 1 1FFFH
0 0 1 0 0 2000H ROM2
0 0 1 1 1 3FFFH
0 1 0 0 0 4000H RAM1
0 1 0 1 1 5FFFH
0 1 1 0 0 6000H RAM2
0 1 1 1 1 7FFFH
1 0 0 0 0 8000H RAM3
1 0 0 1 1 9FFFH
1 0 1 0 0 A000H 8279
1 0 1 1 1 BFFFH
3 bit ứng với 6 trạng
thái của 6 vùng nhớ