TRƯỜNG ĐẠI HỌC KỸ THUẬT
KHOA CÔNG NGHỆ THÔNG TIN
LUẬN VĂN TỐT NGHIỆP
Đề tài:
Thiết kế, thi công và viết chương trình điều khiển
mạch thực hành cho Z80 CPU.
Giao tiếp với máy tính qua ngõ máy in.
3
MỤC LỤC
Mở đầu ........................................................................................................... trang 4
Chương I Phân tích yêu cầu
1.1 Phân tích yêu cầu ..................................................................................... trang 5
1.2 Phương hướng giải quyết vấn đề ............................................................. trang 5
Chương II Thiết kế phần cứng
2.1. Phân tích các chức năng của cổng ghép nối với máy in ...................... trang 8
2.2. Kiến trúc Z80 CPU. .............................................................................. trang 10
2.3. Thiết kế chi tiết. ................................................................................... trang 48
2.4. Nguyên lý hoạt động. ........................................................................... trang 49
Sự phát triển đi lên vượt bậc của ngành kỹ thuật máy tính và điện tử hiện nay đã được minh
chứng cụ thể qua cuộc sống hằng ngày của chúng ta trong tất cả các lónh vực.
Việc ứng dụng máy vi tính vào kỹ thuật đo lường và điều khiển đã đem lại những kết quả
đầy tính ưu việt. Các thiết bò, hệ thống đo lường và điều khiển ghép nối với máy tính có độ
chính xác cao, thời gian thu thập số liệu ngắn, nhưng đáng quan tâm hơn là mức độ tự động hoá
trong việc thu nhận và xử lý dữ liệu.
Kỹ thuật số ra đời đã khắc phục được các khuyết điểm của kỹ thuật tương tự, làm cho các bộ
phận máy móc trở nên đơn giản, gọn nhẹ, ít tốn kém năng lượng và xử lý thông tin nhanh, chính
xác hơn so với kỹ thuật tương tự.
Tuy vậy, nếu sử dụng các bộ điều khiển dùng các IC số chúng vẫn còn mắc một số khuyết
điểm mà so với kỹ thuật vi xử lý nó vẫn tồn tại như:
- Kích thước lớn.
- Năng lượng tiêu thụ lớn.
- Tính mềm dẽo thấp, khó thay đổi.
- Khó sửa chữa, bảo trì.
Vi xử lý là một vi mạch điện tử có mật độ tích hợp cao, trong đó gồm các mạch số có khả
năng nhận, xử lý và xuất dữ liệu. Đặc biệt là quá trình xử lý dữ liệu được điều khiển theo một
chương trình gồm tập hợp các lệnh từ bên ngoài mà người sử dụng có thể thay đổi được một
cách dễ dàng. Một vi xử lý có thể thực hiện rất nhiều yêu cầu điều khiển khác nhau.
Kỹ thuật vi xử lý ra đời với sự kết hợp giữa phần cứng và phần mềm đã làm cho hoạt động
của các mạch điện trở nên mềm dẽo hơn với những phần mềm rất linh hoạt mà ta có thể sửa
chữa, thay đổi hoặc bổ sung làm cho chương trình điều khiển thêm phong phú tùy theo nhu cầu
của người sử dụng.
Kỹ thuật vi xử lý có tính phức tạp trong hoạt động, thiết kế nhưng lại rất kinh tế vì giá thành
hạ và kích thước chiếm chỗ không nhiều, có dung lượng cao. Ngoài ra về mặt kỹ thuật cũng hơn
hẳn kỹ thuật số vì quá trình hoạt động rất mềm dẽo, tốc độ xử lý cao và lại có thể mở rộng tính
năng hoạt động sau này cho mạch điện. Đây là ưu điểm rất thuận lợi mà kỹ thuật vi xử lý mang
lại.
- Tập thanh ghi được phân thành 3 loại:
. Tập thanh ghi chính (8 bit).
. Tập thanh ghi phụ (8 bit).
. Tập thanh ghi chuyên dụng (16 bits)
- Tập lệnh CPU Z80 có thể chia làm nhiều nhóm khác nhau theo nhiều cách. Ở đây
có thể chia thành 4 nhóm sau:
. Nhóm lệnh xử lý dữ kiện.
. Nhóm lệnh truyền dữ kiện.
. Nhóm lệnh kiểm soát chương trình.
. Nhóm lệnh kiểm soát trạng thái.
Phần mô tả chi tiết Z80 CPU sẽ được nói kỹ trong chương II.
1.2. Phương hướng giải quyết vấn đề.
1.2.1. Giao tiếp giữa PC & KIT Z80.
Để có thể thực hiện việc giao tiếp giữa máy tính và một KIT Z80 có thể dùng một trong hai
phương pháp sau:
6
Phương pháp thứ nhất: Thực hiện việc bắt tay giữa máy tính và KIT Z80 khi thao tác truyền
dữ liệu. Muốn thực hiện được điều này thì máy tính và KIT Z80 sẽ ở trong trạng thái sẵn sàng
hoạt động trước khi thực hiện thao tác bắt tay để truyền dữ liệu. Như vậy trên KIT Z80 sẽ có
một chương trình để có thể thực hiện thao tác này, việc ghép nối bus cùng với việc phát các tín
hiệu bắt tay giữa máy tính và KIT Z80 sẽ do chương trình bên trong KIT Z80 và chương trình
bên trong máy tính đảm nhiệm. Phương pháp này có ưu điểm là việc thu và nhận data sẽ diễn ra
đồng bộ, nhanh chóng và chính xác nhưng lại hơi phức tạp trong việc thực hiện các thao tác bắt
tay.
7 Addr bus : được lấy trực tiếp từ adress bus của KIT
Data bus : được lấy trực tiếp từ data bus của KIT
Ctrl bus gồm :
Wait : nối vào chân số của 74LS74 (U8A)
Reset : nối vào chân số của 74LS04 (U2E)
Chú ý : Trong chế độ Debug cần phải có biện pháp can thiệp vào chân interrupt của KIT Z80
bất kỳ, khi KIT này chạy ở chế độ có dùng ngắt.
Cấm=’0’ : Khi chạy ở chế độ Debug(cấm ngắt).
pin
8
Chương II. Thiết kế phần cứng
2.1. Phân tích các chức năng của cổng ghép nối với máy in.
Sự sắp xếp các chân ra ở cổng máy in với tất cả các đường dẫn được mô tả trên hình 2.1.
Chân Ký hiệu Vào/Ra Mô tả
1 STB Output Bit 0 của thanh ghi điều khiển
2 D0 Output Đường dữ liệu D0
3 D1 Output Đường dữ liệu D1
4 D2 Output Đường dữ liệu D2
5 D3 Output Đường dữ liệu D3
6 D4 Output Đường dữ liệu D4
7 D5 Output Đường dữ liệu D5
8 D6 Output Đường dữ liệu D6
9 D7 Output Đường dữ liệu D7
10 ACK Input Bit 6 của thanh ghi trạng thái
11 BUSY Input Bit 7 của thanh ghi trạng thái
12 PE Input Bit 5 của thanh ghi trạng thái
13 SLCT Input Bit 4 của thang ghi trạng thái
14 AF Output Bit 1 của thanh ghi điều khiển
15 ERROR Input Bit 3 của thanh ghi trạng thái
16 INIT Output Bit 2 của thanh ghi điều khiển
17 SLCTIN Output Bit 3 của thanh ghi điều khiển
18 GND
19 GND
20 GND
21 GND
Thanh ghi trạng thái (Đòa chỉ
cơ bản + 1)
D7 D6 D5 D4 D3 0 0 0
ERROR (pin 15)
SLCT (pin 13)
PE (pin 12)
ACK (pin 10)
BUSY (pin 11)
Thanh ghi điều khiển (Đòa chỉ cơ bản + 2)
D7 D6 D5 D4 D3 D2 D1 D0
STB (pin 1)
AF (pin 14)
INIT (pin 16)
SLCTIN (pin 17)
IRQ-Enable
Hình 2.2. Thanh ghi ở cổng máy in của máy tính PC.
Đòa chỉ đầu tiên đạt đến được của cổng máy in được xem như là đòa chỉ cơ bản. Ở các máy
tính PC đòa chỉ cơ bản của cổng máy in được sắp xếp như sau:
LPT1 (Cổng máy in thứ nhất) => Đòa chỉ cơ bản = 378H
Hoặc là 3BCH ở máy Laptop
LPT2 (Cổng máy in thứ hai) => Đòa chỉ cơ bản = 278H
Đòa chỉ cơ bản đồng nhất với thanh ghi dữ liệu. Thanh ghi trạng thái có đòa chỉ = đòa chỉ cơ
bản + 1. Cần chú ý rằng mức logic của BUSY (chân 11) được sắp xếp ngược với bit D7 của
thanh ghi trạng thái. Thanh ghi điều khiển với 4 đường dẫn lối ra của nó có đòa chỉ = đòa chỉ cơ
bản + 2. Ở đây lại cần chú ý tới sự đảo ngược của các tín hiệu: STB, AF, SLCTIN.
10
Z80 CPU chứa một bộ nhớ R/W 208 bit. Bộ nhớ này có thể được truy xuất bởi người lập
trình. Hình 1-2 cho thấy bộ nhớ này được cấu tạo bởi 8 thanh ghi 8 bit và 4 thanh ghi 16 bit. Tất
cả các thanh ghi của Z80 CPU đều dùng RAM tónh. Cc thanh ghi bao gồm 2 tập 6 thanh ghi đa
dụng, tập các thanh ghi này có thể được sử dụng độc lập như là các thanh ghi 8 bit hoặc từng
cặp như là các thanh ghi 16 bit. Có hai tập ( chính và phụ) thanh ghi tích lũy, thanh ghi cờ và
sáu thanh ghi đặc biệt.
Tập các thanh ghi đặc biệt.
Program Counter (PC): giữ đòa chỉ mười sáu bit của lệnh hiện tại đang được lấy về từ bộ
nhớ. PC tự động tăng sau khi nội dung của nó được đặt lên bus đòa chỉ. Khi 1 lệnh nhảy xảy ra, 1
giá trò mới được tự động đặt vào trong PC thay cho giá trò sẽ được tăng của nó.
Stack pointer (SP): giữ đòa chỉ 16 bit của đỉnh ngăn xếp hiện hành trong bộ nhớ RAM ngoài.
Bộ nhớ ngăn xếp bên ngoài được tổ chức như là 1 file vào sau ra trước (LIFO). Dữ liệu có thể
được đẩy vào ngăn xếp từ các thanh ghi xác đònh của CPU hay được lấy ra khỏi ngăn xếp để đưa
Giải mã
&
điều
khiển
CPU
Thanh
ghi
lệnh
Kiểm soát dữ kiện
ALU
Thanh ghi tích lũy và thanh ghi cờ: CPU bao gồm hai thanh ghi tích lũy độc lập và được kết
hợp với các thanh ghi cờ 8 bit. Thanh ghi tích lũy lưu giữ kết quả của phép toán logic và số học
trong khi thanh ghi cờ cho biết các điều kiện xác đònh khi thực hiện các phép toán 8 bit hay 16
bit như là cho biết kết quả của 1 phép tính có bằng 0 hay không. Người lập trình lựa chọn thanh
ghi tích lũy và thanh ghi cờ với 1 lệnh hoán chuyển đơn vì có thể làm việc với một trong hai cặp.
Các thanh ghi đa dụng: Có 2 tập đối xứng các thanh ghi đa dụng. Mỗi tập chứa 6 thanh ghi 8
bit hay như cặp thanh ghi 16 bit. Tập thứ nhất được gọi là BC, DE và HL trong khi tập lệnh tương
ứng được gọi là BC’, DE’ và HL’. Trong bất kỳ thời điểm nào người lập trình có thể chọn 1
trong các tập thanh ghi để làm việc qua 1 lệnh hoán chuyển đơn. Trong các hệ thống yêu cầu
đáp ứng ngắt nhanh, một tập của tập thanh ghi đa dụng và một thanh ghi cờ /tích lũy có thể
được dự trữ để giải quyết chương trình rất nhanh này. Chỉ cần một lệnh đơn giản được thực thi
để chạy giữa các chương trình. Điều này thu giảm thời gian phục vụ ngắt do việc loại bỏ yêu
cầu cất và khôi phục nội dung thanh ghi ở ngăn xếp trong thời gian ngắt hay xử lý chương trình
con. Các thanh ghi đa dụng này được dùng cho nhiều ứng dụng bởi người lập trình.
Thanh ghi tích lũy
A
Thanh ghi cờ
F
Thanh ghi tích lũy A’ Thanh ghi
cờ F’
12
B C B’ C’
D E D’ E’
H L H’ L’
Interrup vertor I Memory refresh R
2.2.5. Chức năng các chân của Z80.
a. Giới thiệu.
Thanh ghi
đa dụng
Tập thanh ghi chính
Tập thanh ghi phụ
Thanh ghi đa
dụng
Hình 1-2: Cấu trúc các thanh ghi của Z80 CPU
13
Sơ đồ các chân của Z80 CPU được mô tả trong hình sau : Z80 CPU
A0
30
A1
31
A2
32
A3
12
D3
8
D4
7
D5
9
D6
10
D7
13
/M1
27
/MREQ
19
/IORQ
20
/RD
21
/WR
22
/RFSH
28
/HALT
18
/WAIT
24
/INT
16
/NMI
• D7 ÷
÷÷
÷ D0: Data bus (input / output, active high, 3 trạng thái) D7 ÷ D0 tạo thành data bus 8 bit
hai chiều, sử dụng để trao đổi data với bộ nhớ và I/O.
• /HALT: Halt (output, active low) báo rằng CPU đang thực thi 1 lệnh Halt và sẽ chờ 1 trong
hai tín hiệu: /NMI hoặc /INT (với mask cho phép) trước khi sự điều khiển được khôi phục.
Trong thời gian Halt, CPU thực thi các lệnh NOP để duy trì việc làm tươi bộ nhớ.
• /INT: Interrup request (input, active low) Interrup request được thiết bò I/O phát ra. CPU
chấp nhận yêu cầu ngắt tại thời điểm cuối của lệnh hiện tại nếu được phần mềm cho phép.
/INT thường được nối vào các cổng OR và cần một trở kéo lên cho các ứng dụng loại này.
• /IORQ: Input/ Output Request (output, active low, 3 trạng thái) báo nửa thấp của address bus
giữ 1 đòa chỉ I/O hợp lệ cho hoạt động đọc hay ghi I/O. /IORQ cũng được phát đồng thời với
/M1 trong 1 chu kỳ công nhận ngắt để báo rằng 1 vertor đáp ứng ngắt có thể được đặt lên
data bus.
• /M1: Machine cycle one (output, active low) /M1 cùng với /MREQ báo rằng chu kỳ máy
hiện tại là chu kỳ lấy mã lệnh. /M1 cùng với /IORQ báo cho biết rằng đang ở chu kỳ công
nhận ngắt.
• /MREQ: Memory request (output, active low, 3 trạng thái) /MREQ báo rằng address bus
đang giữ một đòa chỉ hợp lệ cho việc đọc ghi bộ nhớ.
• /NMI: Non Maskable Interrup (input, tích cực cạnh xuống) /NMI có độ ưu tiên cao hơn /INT.
/NMI luôn luôn được chấp nhận tại chu kỳ cuối của lệnh hiện hành, độc lập với trạng thái
của Flip-Flop interrupt và tự động đưa CPU đến vò trí 0066h.
• /RD: Read (output, active low, 3 trạng thái) báo rằng CPU muốn đọc data từ bộ nhớ hay thiết
bò I/O. Thiết bò I/O được chỉ đònh hay bộ nhớ sẽ dùng tín hiệu này để đưa data lên data bus.
• /RESET: Reset (input, active low) /RESET khởi động CPU như sau: reset IFF1 & IFF2 xóa
PC và các thanh ghi I & R, đặt trạng thái interrupt đến chế độ 0. Trong thời gian reset, addr
bus và data bus sẽ ở trạng thái trở kháng cao và tất cả các đường điều khiển output sẽ ở
trạng thái không tích cực. Chú ý rằng đường /RESET phải active ít nhất là 3 chu kỳ xung
clock trước khi hoạt động reset hoàn tất.
• /RFSH: Refresh (output, active low) /RFSH cùng với /MREQ báo rằng 7 bit thấp của đường
và mỗi T
W
sau đó, CPU lấy mẫu đường Wait tại sườn xuống của
xung clock. Nếu đường Wait được tích cực tại thời điểm này, một trạng thái Wait khác sẽ được
thêm vào trong chu kỳ sau. Dùng kỹ thuật này thì việc đọc có thể kéo dài để phù hợp với thời
gian truy xuất của bất kỳ kiểu thiết bò bộ nhớ nào. b. Lấy lệnh.
Hình 3-2 là giản đồ thời gian của chu kỳ M1 (lấy mã lệnh). PC được đặt trên bus đòa chỉ tại
điểm bắt đầu của chu kỳ M1. Nửa chu kỳ clock sau đó tín hiệu /MREQ được tích cực. Tại thời
điểm này đòa chỉ tới bộ nhớ có đủ thời gian để ổn đònh do đó cạnh xuống của /MREQ có thể
được dùng như là một tín hiệu cho phép bộ nhớ RAM động. Đường /RD sẽ tích cực để chỉ ra
rằng data được đọc từ bộ nhớ sẽ được đưa lên data bus. CPU lấy mẫu data từ bộ nhớ trên bus
data tại sườn lên xung Clock của chu kỳ T3 và CPU dùng cạnh lên này để tắt tín hiệu /RD và
/MREQ. Như vậy, data đã sẵn sàng được CPU lấy mẫu trước khi tín hiệu /RD trở thành không
tích cực. Tại T3, T4 của chu kỳ lấy lệnh được dùng để làm tươi bộ nhớ RAM động. (CPU dùng
thời gian này để giải mã và thực thi các lệnh khác đã được lấy về, do đó sẽ không có hoạt động
Chu kỳ T
/Clk
c. Đọc và ghi bộ nhớ.
Hình 3-3 minh họa giản đồ thời gian của chu kỳ đọc, ghi bộ nhớ. Chu kỳ này thường được kéo
dài trong 3 chu kỳ xung clock trừ phi có trạng thái đợi được bộ nhớ yêu cầu qua tín hiệu /WAIT.
Tín hiệu /MREQ và tín hiệu /RD được dùng giống như trong chu kỳ lấy lệnh. Trong trường hợp
ghi bộ nhớ, /MREQ cũng trở thành tích cực khi bus đòa chỉ đã ở trạng thái ổn đònh do đó nó có
thể được dùng trực tiếp như là tín hiệu chọn chip cho bộ nhớ RAM động. Đường /WR tích cực
khi dữ liệu trên data bus đã ở trạng thái ổn đònh do đó nó có thể được dùng trực tiếp như là xung
/WR cho các bộ nhớ bán dẫn.
/RFSH
D7÷D0
/M1
/WAIT
/RD
/MREQ
A15÷A0
Refresh address
d. Chu kỳ nhập/xuất.
Hình 3-4 minh họa hoạt động đọc hay ghi I/O. Chú ý rằng trong thời gian hoạt động I/O thì
một trạng thái đợi được tự động thêm vào. Lý do là trong quá trình hoạt động I/O, thời gian từ
khi tín hiệu /IORQ trở nên tích cực cho đến khi CPU lấy mẫu đường /WAIT thì rất ngắn do đó
nếu không thêm trạng thái này vào thì không đủ thời gian để cổng I/O giải mã đòa chỉ của nó.
Ngoài ra, nếu không có trạng thái đợi thì sẽ khó khăn trong việc thiết kế các linh kiện I/O loại
MOS để có thể hoạt động tương ứng với tốc độ CPU. Trong thời gian xảy ra trạng thái đợi, tín
hiệu /WAIT luôn được lấy mẫu.
Trong quá trình đọc I/O, đường /RD được dùng để cho phép cổng được chọn đưa data lên data
bus giống như trong trường hợp đọc bộ nhớ. Trường hợp ghi I/O, đường /WR được dùng như là
Clock tới cổng I/O.
Hình 3-2: Chu kỳ đọc ghi bộ nhớ.
MEMORY ADDR
D7÷D0
/WAIT
/RD
/MREQ
A15÷A0
MEMORY ADDR
T
e. Chu kỳ Bus Req/Ack.
Hình 3-5 minh họa giản đồ thời gian của chu kỳ bus request/ack. Tín hiệu /BUSREQ được
CPU lấy mẫu ở cạnh lên của chu kỳ Clock cuối trong một chu kỳ máy. Nếu tín hiệu /BUSREQ
tích cực, CPU sẽ đặt đòa chỉ, dữ liệu và các tín hiệu điều khiển ở trạng thái trở kháng cao tại
cạnh lên của xung Clock kế tiếp. Tại thời điểm đó, thiết bò bên ngoài bất kỳ có thể kiểm soát
bus để truyền dữ liệu giữa bộ nhớ và thiết bò I/O ( ví dụ DMA ). Thời gian tối đa cho CPU đáp
ứng bus request bằng độ dài của 1 chu kỳ máy và thiết bò điều khiển ngoài có thể duy trì sự điều
khiển của bus trong nhiều chu kỳ Clock theo yêu cầu. Nếu dùng chu kỳ DMA dài và bộ nhớ
động được dùng, thiết bò điều khiển ngoài phải thực hiện chức năng làm tươi. Trường hợp này
chỉ xảy ra khi một khối dữ liệu rất lớn được truyền dưới sự điều khiển của DMA. Cũng phải để ý
trong suốt chu kỳ bus request, CPU không thể bò ngắt bởi tín hiệu /NMI hay /INT.
D7÷D0
Hình 3-4: Chu kỳ xuất / nhập.
D7÷D0
/WAIT
/RD
/IORQ
f. Chu kỳ interrupt req/ack
Hình 3-6 minh họa giản đồ thời gian kết hợp với một chu kỳ ngắt quãng. Tín hiệu ngắt /INT
được CPU lấy mẫu ở cạnh lên của clock cuối tại điểm kết thúc của lệnh bất kỳ. Tín hiệu sẽ
không được chấp nhận nếu F-F điều khiển ngắt không được phần mềm trong CPU khởi tạo lên
mức logic ‘1’ hay nếu tín hiệu /BUSREQ là tích cực. Khi tín hiệu được chấp nhận, chu kỳ đặc
biệt M1 được tạo ra. Trong suốt chu kỳ đặc biệt M1, tín hiệu /IORQ trở nên tích cực ( thay vì
/MREQ bình thường ) để chỉ ra rằng thiết bòï yêu cầu ngắt có thể đặt 1 vector 8 bit lên bus dữ
liệu. Chú ý rằng hai trạng thái đợi được thêm vào chu kỳ này một cách tự động.
/BUSACK
Hình 3-5: CHU KỲ BUS REQ/ACK
D7÷D0
/MERQ
/RD, /WR
/IORQ
/RFSH
/BUSRQ
A15÷A0
g. Đáp ứng ngắt không che được
Hình 3-7 minh họa chu kỳ request hay chu kỳ ack cho ngắt không che được. Tín hiệu này được
lấy mẫu cùng thời điểm với đường /INT, nhưng đường này có độ ưu tiên cao hơn và nó không
thể bò cấm do phần mềm điều khiển. Chức năng thông thường của nó là cung cấp đáp ứng tức
thì cho các tín hiệu quan trọng như là lỗi nguồn cung cấp. CPU đáp ứng 1 ngắt không che được
tương tự hoạt động đọc bộ nhớ bình thường. Sự khác biệt duy nhất là nội dung của data bus bò lờ
đi trong khi bộ vi xử lý tự động chứa PC trong ngăn xếp ngoài và nhảy tới vò trí 0066H. Chương
trình phục vụ ngắt không che được phải bắt đầu tại vò trí này nếu ngắt được sử dụng.
I
/RD
22 h. Thoát khỏi trạng thái HALT.
M1
T1
/NMI
A15÷A0
PC
/RFSH
23
T1
M1
T1
/INT
HAY
/NMI
M1
Lệnh Halt được nhận tại thời điểm này.
24
j. Chu kỳ thoát khỏi trạng thái Power-Down (Power-Down Release Cycle)
Clock hệ thống phải được cung cấp cho CMOS Z80 CPU để thoát khỏi trạng thái power-down.
Khi Clock hệ thống được cung cấp cho ngõ vào, CMOS Z80 CPU sẽ khởi động lại hoạt động từ
điểm mà tại đó trạng thái power-down đã được thi hành. Giản đồ thời gian cho việc thoát khỏi
chế độ power-down được chỉ ra trong hình 3-10, 3-11, 3-12. Khi lệnh HALT được thực thi để đi
vào trạng thái power-down, CMOS Z80 CPU sẽ được đưa vào trạng thái HALT. Một tín hiệu
ngắt ( /NMI hay /INT ) hay một tín hiệu /RESET được cấp cho CPU sau khi xung clock hệ thống
được đưa vào để thoát khỏi trạng thái power-down.
Hình 3-12: Power – Down Release Cycle No.3
/RESET
T1
T2
Twa
Twa
T1
T2
T3
T4
/HALT
/Clk
/M1
Hình 3-11: Power – Down Release Cycle No.2
/RESET
T1
T2
T3
T4
25
2.2.7.TẬP LỆNH Z80 CPU.
a. Giới thiệu.
Z80 CPU có thể thực thi 158 lệnh khác nhau bao gồm cả 78 lệnh của 8080A CPU. Các lệnh
có thể được chia thành các nhóm chính sau :
• Load và Exchange
• Block transfer và Search
• Arithmetic và Logical
• Rotate và shift
được thi hành bởi sự nạp trực tiếp thanh ghi HL, IX, IY lên PC, do đó cho phép đòa chỉ nhảy là
hàm phức hợp của lệnh đang được thi hành.
Nhóm lệnh Input/Output trong Z80 cho phép truyền trong 1 khoảng rộng giữa bộ nhớ ngoài hay
thanh ghi đa dụng với thiết bò I/O bên ngoài. Trong mỗi trường hợp, đòa chỉ cổng được cung cấp