Sự ra đời và phát triển nhanh chóng của kỹ thuật vi điện tử mà đặc trưng là kỹ thuật vi xử lý đã tạo ra một bước ngoặt quan trọng trong sự phát triển của khoa học tính toán, điều khiển và xử lý thông tin. Kỹ thuật vi xử lí đóng một vai trò rất quan trọng trong tất cả các lĩnh vực của cuộc sống và khoa học kỹ thuật, đặc biệt là lĩnh vực Tin học và Tự động hóa. Bộ vi xử lí 8086 – 16-bit là thế hệ tiếp theo sau bộ vi xử lí 8-bit đầu tiên của Intel mang tên Intel-8008. 8086- với những tính chất và sự cải tiến vượt trội, nó đã được sử dụng rộng rãi với rất nhiều ứng dụng trong thực tiễn Đây là lần đầu tiên nhóm em tiếp xúc và làm quen với môn học vi xử lý, cũng như với cách làm bài tập lớn. Chính vị vậy, trong quá trình thực hiện sẽ gặp không ít những sai sót, mong thầy cô bỏ qua và cho nhóm em những nhận xét, ý kiến đóng góp để nhóm em rút kinh nghiệm cho những bài tập lớn sau nay đươc hoàn thiện và đạt kết quả tốt hơn. PHỤC LỤC PHẦN I: NỘI DUNG THỰC HIỆN 4 1.1. NỘI DUNG 4 1.2. MỤC ĐÍCH 4 PHẦN II. 5 HỆ VI XỬ LÝ VÀ TỔNG QUAN VI XỬ LÝ CỦA MÁY TÍNH 5 I-TỔNG QUAN CỦA VI XỬ LÝ 5 1. các hệ đếm và việc mã hóa thông tin 6 2. Các mã thường dùng trong máy tính. 6 II- CẤU TRÚC CỦA MÁY TÍNH 7 1- Khái niệm 7 2- phần cứng và phần mền 7 PHẦN III: CƠ SỞ LÝ THUYẾT 8 I- Bộ vi xử lý 8086 của intel 8 2- Các thanh ghi 9 II- SƠ ĐỒ VÀ CHỨC NĂNG CỦA 8086 11 1-Sơ đồ của 8086 11 2-Chức năng của 8086 11 III- CÁC THIẾT BỊ NGOẠI VI 11 1. IC8255A……………………………………………………………………………..12 2. IC giải mã địa chỉ 74273……………………………………………………………14 3. IC giải mã địa chỉ 74LS139……………………………………………………….. 14 PHẦN IV: LẬP TRÌNH HỢP NGỮ 17 I - SƠ LƯỢC VỀ NGÔN NGỮ ASM 17 II- CẤU TRÚC CHƯƠNG TRÌNH VÀ CÁC TẬP LỆNH CHO 8086 17 1- Cấu trúc chương trình 17 2 - Tập lệnh thao tác với bộ vi xử lý 8086 17 3 - Các nhóm lệnh của 8086 18 4 - Ngăn xếp và thủ tục 20 PHẦN V. MỘT SỐ BÀI TẬP 20 I. BÀI TẬP 1 20 1. Sơ đồ thuật toán 20 2. Code chương trình 20 II. BÀI TẬP 2 23 1. Phân tích đề bài và vẽ mạch ghép nối 23 2. Nguyên lý hoạt động. 24 III. BÀI TẬP 3 25 1. Phân tích đề bài và cách chọn cách ghép nối. 25 2. mạch ghép nối 26 3. Sơ đồ thuật toán 26 4 Code chương trình 26 PHẦN VI. KẾT LUẬN…………………………………………………………… 28 PHẦN I: NỘI DUNG THỰC HIỆN 1.1. NỘI DUNG - Thực hiện một số ví dụ cụ thể để chúng ta hiểu rõ hơn về cấu trúc, tập lệnh và chức năng các chân của bộ vi xử lý 8086. - Một số bài tập cụ thể như sau: 1.1.1. Bài 1: chương trình thực hiện phép toán AX = 7!, sau đó hiển thị kết quả dưới dạng số nhị phân và số thập phân. 1.1.2. Bài 2:Xây dựng bộ nhớ dung lượng 64KB từ các vi mạch nhớ RAM(1Kx4), 3 vi mạch nhớ R0M(4Kx8) 1 vi mạch nhớ R0M(16Kx8) và 1 vi mạch nhớ R0M(32Kx8), địa chỉ đầu của vi mạch thứ nhất là 00000H. 1.1.3. Bài 3:Thiết kế mạch điều khiển đóng ngắt cho 3 thiết bị ghép với các cổng của 8255, địa chỉ của cổng PA, PB, PC, thanh ghi điều khiển lần lượt là 80h, 82h, 84h, 86h. 1.2. MỤC ĐÍCH - Giúp mọi người biết và hiểu rõ hơn về cách ghép nối giữa vi xử lý 8086 và 8255 - Giúp mọi người biết và hiểu rõ hơn cách ghép nối bộ nhớ từ các vi mạch nhớ khác nhau tùy theo yêu cầu đề bài. - Hiểu rõ hơn về cấu trúc lập trình cũng như tập lệnh của bộ vi xử lý 8086
Trang 1BÀI TẬP LỚN MÔN: VI XỬ
LÝ VÀ CẤU TRÚC MÁY
TÍNH
Trang 2LỜI GIỚI THIỆU
Sự ra đời và phát triển nhanh chóng của kỹ thuật vi điện tử mà đặc trưng
là kỹ thuật vi xử lý đã tạo ra một bước ngoặt quan trọng trong sự phát triển củakhoa học tính toán, điều khiển và xử lý thông tin Kỹ thuật vi xử lí đóng mộtvai trò rất quan trọng trong tất cả các lĩnh vực của cuộc sống và khoa học kỹthuật, đặc biệt là lĩnh vực Tin học và Tự động hóa
Bộ vi xử lí 8086 – 16-bit là thế hệ tiếp theo sau bộ vi xử lí 8-bit đầu tiêncủa Intel mang tên Intel-8008 8086- với những tính chất và sự cải tiến vượttrội, nó đã được sử dụng rộng rãi với rất nhiều ứng dụng trong thực tiễn
Đây là lần đầu tiên nhóm em tiếp xúc và làm quen với môn học vi xử lý,cũng như với cách làm bài tập lớn Chính vị vậy, trong quá trình thực hiện sẽgặp không ít những sai sót, mong thầy cô bỏ qua và cho nhóm em những nhậnxét, ý kiến đóng góp để nhóm em rút kinh nghiệm cho những bài tập lớn saunay đươc hoàn thiện và đạt kết quả tốt hơn
Tài liệu tham khảo:kỹ thuật vi xử lý(văn thế minh)
Nhóm sinh viên thực hiện:
Nguyễn Văn Chuyền MSV 1231050120
Đỗ Bá Duy MSV 1231050147
Chúng em xin chân thành cảm ơn!
Trang 3Nhận xét và đóng góp ý kiến của giáo viên
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
Chúng em xin chân thành cảm ơn!
Trang 4PHỤC LỤC
BÀI TẬP LỚN MÔN: VI XỬ LÝ VÀ CẤU TRÚC MÁY TÍNH 1
LỜI GIỚI THIỆU 2
Nhận xét và đóng góp ý kiến của giáo viên 3
PHỤC LỤC 4
HỆ VI XỬ LÝ VÀ TỔNG QUAN VI XỬ LÝ CỦA MÁY TÍNH 4
I-TỔNG QUAN CỦA VI XỬ LÝ 4
1 Các hệ đếm và việc mã hóa thông tin 5
1.1- Các bộ phậncủa cấu trúc máy tính : 7
PHẦN III: CƠ SỞ LÝ THUYẾT 8
I-Bộ vi xử lý 8086 của intel 8
1.1- Tổng quan về 8086 8
1-Sơ đồ của 8086 10
PHẦN IV: LẬP TRÌNH HỢP NGỮ 16
I - SƠ LƯỢC VỀ NGÔN NGỮ ASM 16
II- CẤU TRÚC CHƯƠNG TRÌNH VÀ CÁC TẬP LỆNH CHO 8086 16
1- Cấu trúc chương trình 16
PHẦN V: MỘT SỐ BÀI TẬP 20
I.BÀI TẬP 1 20
1.Sơ đồ thuật toán 20
2.Code chương trình 20
II.BÀI TẬP 2 22
1.Nguyên lý hoạt động 23
1.Phân tích đề bài và cách chọn cách ghép nối 24
25
4 Code chương trình 26
PHẦN II HỆ VI XỬ LÝ VÀ TỔNG QUAN VI XỬ LÝ CỦA MÁY TÍNH I-TỔNG QUAN CỦA VI XỬ LÝ Ngày nay xu hướng số hóa tín hiệu càng được khẳng định rõ nét trong nhiều lĩnh vực :điện tử,tin học,viễn thông,công nghệ thông tin,kỹ thuật điều khiển tự động vì tín hiệu số có cấu trúc đơn giản,dễ tính toán và xử lý gia công
Việc xử lý , tính toán , điều khiển được thực hiện chủ yếu trên các máy tính PC(hay hệ vi xử lý nói chung).Mỗi hệ vi xử lý nàythường được ghép nối và giao tiếp với nhiều thiết bị ngoại vi khác nha Mỗi thiết bị làm việc ở môi trường khác nhau cũng như chức năng , nhiệm vụ khác nhau
*Môi trường của thiết bị có thể là :
+ Điện,điện tử
+ Cơ,cơ điện tử
+Quang điện tử
*Chức năng , nhiệm vụ của thiết bị như :
+ Thông tin vô tuyến,hữu tuyến
Trang 5+ Kỹ thuật viễn thông.
+ Rô bốt, máy công cụ,dây truyền sản xuất tự động
1 Các hệ đếm và việc mã hóa thông tin
1.1 các hệ đếm
1.1.1 Hệ thập phân (hệ đếm cơ số mười)
Trong hệ này ta sử dụng các số trong phạm vi từ 0 đến 9, để biểu diễn các giá trị Hệ thập phân là một hệ đếm phụ thuộc vị trí , có nghĩa là mỗi chữ số gắn liền vở một lũy thừa 10 với số mũ phụ thuộc vào vị trí của con số trong số được biểu diễn
1.2- Chuyển đổi giữa các hệ đếm
1.2.1- chuyển từ hệ nhị phân sang hệ thập phân
Ví dụ : Đổi số 25 sang hệ nhị phân
Trang 6mã BCD thành : mã BCD đóng gói và mã BCD không đóng gói.
Ví dụ :mã BCD đóng gói của 59 là 0101 1001B,của 62 là 0110 0010B
Mã BCD đóng gói của 5 la 0000 0101B,của 4 là 0000 0100B
2.2- Mã ASCII
Trong bảng mã ASCII tiêu chuẩn người ta sử dụng 7 bit để mã hóa các ký tự thông dụng như vậy bảng này sẽ có 128 ký tự ứng với mã từ 0 đến 127
Vi dụ : mã ASCII của ‘A’ là 65(01000001) ;của ‘a’ là (01100001)
II- CẤU TRÚC CỦA MÁY TÍNH
1- Khái niệm
Vi xử lý là một thành phần không thể thiếu của máy tính, ngoài ra để tạo ra một hệ hoànchỉnh phải cần có các bộ phận khác như bộ nhớ, thiết bị vào/ra như bàn phím,màn hình
Trang 71.1- Các bộ phậncủa cấu trúc máy tính :
1.1.1-Bộ vi xử lý (CPU- Central Processin Unit)
Đóng vai trò như một bộ não của máy tính Đây là một vi mạch số với mức độ tích hợp cực lớn, bên trong nó bao gồm nhiều khối chức năng khác nhau như đơn vị số nguyên để thao tác tính toán với các số nguyên,
Các thông số quan trọng của một bộ vi xử lý :+ Tần số làm việc
+ Độ rộng bus dữ liệu m+ Độ rộng bus địa chỉ n
1.1.2 – Bộ nhớ
Chia được chia thành RAM và ROM
+ RAM (Random Access Memory): là bộ nhớ có thể ghi/đọc, có nghĩa là ta có thể đọc thông tin từ bộ nhớ, xóa thông tin cũ trong bộ nhớ hoặc ghi thông tin mới vào bộ nhớ; nội dung thông tin trong RAM sẽ bị mất đi khi bị mất nguồn
+ ROM (Read Only Memory) :dùng để chứa các chương trình điều khiển hệ thống như chương trình để kiểm tra các thiết bị mỗi khi bật nguồn, chương trình khởi động máy… Nội dung bên trong ROM không bị mất đi khi bị mất nguồn
+ Bus dữ liệu là các đường dây mang số liệu mà vi xử lý đang trao đổi với thiết
bị nhớ hoặc thiết bị ra/vào
+ Bus địa chỉ : mang thông tin về địa chỉ của ô nhowshay một thiết bị vào/ra
Các phần mền được chia thành các loại sau:
Hệ điều hành như DOS, Windows,…
Trình tiện ích như NC, NU, BKAV,…
Chương trình ứng dụng như MS Word, Protel,……
Trang 8Ngôn ngữ lập trình pascal, C, C++, Java,….
PHẦN III: CƠ SỞ LÝ THUYẾT
I-Bộ vi xử lý 8086 của intel
1.1- Tổng quan về 8086
Như chúng ta đã biết, bộ vi xử lý 8086 được giới thiệu năm 1978, là bộ vi xử lý 16 bit đầu tiên của Intel, mở đầu cho họ vi xử lý x86 Bên trong 8086 gồm 29000 transistor, được sản xuất bằng công nghệ NMOS hoặc CMOS với 3 phiên bản:
8086 hoạt động ở tần số 4,77MHZ; 8086-8 hoạt động ở tần số 8MHZ; 8086-10 hoạt động ở tần số 10MHZ
1.2 - Sơ đồ khối của 8086:
1.3 –Khối thực hiện lệnh (EU)
Khối thực hiện (EU- Execution Unit) là nơi giả mã và thi hành các lệnh EU bao gồm:
- Bộ xử lý số học và logic(ALU - Arithmatic Logiccal Unit) là nơi thưc hiện các lệnh
số học và lệnh logic
- Các thanh ghi 16 bit chứ toán hạng
- Thanh ghi cờ F
- Khối điều khiển (CU- Control unit) Có nhiệm vụ tạo ra các tín hiệu điều khiển các
bộ phận bên trong và bên ngoài CPU
1.4- Khối giao tiếp bus (BIU)
Khối giao tiếp bus (BIU- Bus Interface Unit) có nhiệm vụ đẩm bảo việc trao đổi thong tin giữa 8086 với các linh kiện bên ngoài) BIU gồm :
- Một bộ cộng để tạo địa chỉ vật lý 20 bit từ các thanh ghi 16 bit
Trang 9- Bốn thanh ghi đoạn 16 bit gồm CS,DS,SS và ES để giúp 8086 truy cạp tới các đoạn trên bộ nhớ.
- Thanh ghi con trỏ lệnh IP
- Mạch logic điều khiển có nhiệm vụ đảm bảo giao tiếp giữa 8086 với thiết bị bên ngoài
- Hàng đợi lệnh có độ dài 6 byte là nơi chứa các mã lệnh đọc được nằm sẵn để chờ
EU xử lý
2- Các thanh ghi
2.1- Các thanh ghi đa năng.
Bộ vi xử lý 8088 có 4 đoạn ghi đa năng 16 bit: AX, BX, CX, DX Khi cần chứa dữ liệu
8 bit thì mỗi đoạn nghi này có thể tách ra thành hai đoạn ghi 8 bit cao và 8 bit thấp, đó
là các cặp AH và AL, BH và BL, CH và CL, DH và DL
2.2- Các thanh ghi đoạn
Để quản lý các đoạn nhớ trên, bộ vi xử lý 8088 có 4 đoạn ghi đoạn xác định địa chỉ bắtđầu của 4 đoạn nhớ 64 KB:
CS (Code Segment), DS (Data Segment), ES (Extra Segment), SS (Stack Segment)
2.3- Thanh ghi con trỏ và chỉ số.
Bộ vi xử lý 8086 có 3 đoạn ghi con trỏ (IP, BP, SP) và 2 đoạn ghi chỉ số (SI, DI) Các đoạn ghi này ngầm định được sử dụng làm các đoạn ghi lệch cho các đoạn tương ứng
IP (Instruction Pointer), BP (Base Pointer ), SP (Stack Ponter), SI (Source Index): DI (Destinaton Index)
2.4- Thanh ghi cờ (Flag registor).
Bên trong bộ vi xử lý 8088 có một đoạn ghi đặc biệt gọi là đoạn ghi cờ hay đoạnghi trạng thái Mỗi bit của đoạn ghi này được dùng để phản ánh một trạng thái nhất địnhcủa kết quả phép toán do ALU thực hiện hoặc một trạng thái hoạt động của CPU Đoạnghi cờ có 16 bit nhưng chỉ dùng hết 9 bit làm bit cờ
2.5- Thanh ghi cờ (Flag registor).
Bên trong bộ vi xử lý 8088 có một đoạn ghi đặc biệt gọi là đoạn ghi cờ hay đoạnghi trạng thái Mỗi bit của đoạn ghi này được dùng để phản ánh một trạng thái nhất địnhcủa kết quả phép toán do ALU thực hiện hoặc một trạng thái hoạt động của CPU Đoạnghi cờ có 16 bit nhưng chỉ dùng hết 9 bit làm bit cờ
- Các bit cờ chia thành hai loại:
Địa chỉ vật lý = Nội dung thanh ghi đoạn * 16 + Nội dung thanh ghi đoạn.
Trang 10- Các cờ trạng thái: có 6 cờ trạng thái là C, P, A, Z, S và O Các cờ trạng thái này được thiết lập bằng 1 hoặc xóa bằng 0 sau hầu hết các lệnh toán học và logic
- C (Carry): cờ nhớ; P (Parity): cờ chẵn lẻ; A (Auxiliary): cờ nhớ phụ; Z (Zero): cờ rỗng,; S (Sign): cờ dấu; O (Overflow): cờ tràn,
- Các cờ điều khiển: có 3 cờ T, I, D Các cờ này được thiết lập bằng 1 hoặc xóa bằng
0 thông qua các lệnh để điều khiển chế độ làm việc của bộ vi xử lý
- T (Trap): cờ bẫy, I (Interrupt): cờ ngắt; D (Direction): cờ hướng
II SƠ ĐỒ VÀ CHỨC NĂNG CỦA 8086
- Chế độ tối đa (chế độ MAX) được thiết lập nếu điện áp ở chân số 33 ở mức 0V, là chế
độ áp dụng cho hệ thống đa xử lý, đồng xử lý (8086 và bộ đồng xử lý toán học 8087)
* Các chân mang thông tin địa chỉ.
-Vi xử lý 8086 có 20 đường địa chỉ từ A0 đến A19 tong đó 16 đường dây địa chỉ thấp từA0 đến A15 được ghép kênh dữ liệu từ D0 đến D15 trên các chân từ AD0 đến AD15 ; còn 4 đường dây địa chỉ cao nhất từ A16 đến A19 được ghép kênh với tín hiệu trạng thái từ S3 đến S6 trên các chân A16/S3 đến A19/S6
* Các chân mang thông tin dữ liệu.
này mang thông tin về dữ liệu, là dữ liệu đọc ra hay vào bộ nhớ
*Các chân tín hiệu trang thái.
trang thái này được đưa ra cùng thời điểm với các dữ liệu được truyền trên các chân
- READY: Tín hiệu báo cho CPU biết tình trạng sẵn sàng của thiết bị ngoại vi hay bộ nhớ Khi READY = 1 thì CPU thực hiện đọc/ghi dữ liệu mà không phải chèn thêm các
Trang 11chu kỳ đợi Khi các thiết bị ngoại vi hay bộ nhớ cótốc độ chậm, chúng có thể đưa tin hiệu READY = 0 để báo cho CPU biết mà chờ chúng Lúc này CPU tự kéo dài thời gianthực hiện đọc/ghi bằng cách chèn thêm các chu kỳ đợi.
* Các chân tìn hiệu điều khiển.
-ALE: [I] Address Latch Enable Xung cho phép chốt địa chỉ Khi ALE = 1 có nghĩa là trên các chân ghép kênh AD có địa chỉ của thiết bị vào/ra hoặc ônhớ Khi CPU chấp nhận treo chân này không ở trạng thái trở kháng cao mà ALE = 0
địa chỉ sẽ có địa chỉ tương ứng của các thiết bị đó Chân này ở trạng thái trở kháng cao khi
CPU chấp nhận treo
chuyển dữ liệu vào CPU hay ra khỏi CPU Tín hiệu này cũng dùng để
điều khiển các bộ đệm 2 chiều của bus dữ liệu
bộ nhớ hoặc thiết bị ngoại vi Chân này ở trạng thái trở kháng cao khi CPU chấp nhận treo
* Các chân tín hiệu ngắt:
-INTR: [I] Interrupt request Tín hiệu yêu cầu ngắt che được Khi có yêu cầu ngắt (INTR = 1) mà cờ cho phép ngắt IF = 1 thì CPU kết thúc lệnh đang làm dở, sau đó đi vào chu kỳ chấp nhận ngắt và đưa ra bên ngoài tín hiệu INTA = 0
WAIT mà lúc đó tín hiệu TEST = 1 thì nó sẽ chờ cho đến khi tín hiệu TEST = 0 thì mới thực hiện lệnh tiếp theo
-NMI: [I] None-Maskable Interrupt Tín hiệu yêu cầu ngắt không che được Tín hiệu này không bị khống chế bởi cờ IF và nó sẽ được CPU nhận biết bằng tác động của sườn lên của xung yêu cầu ngắt Nhận được yêu cầu ngắt này (NMI = 1) CPU kết thúc lệnh đạng làm dở,sau đó chuyển sang thực hiện chương trình phục vụ ngắt kiểu INT2
-RESET: Dùng để thiết lập lại phần cứng cho CPU Chuyển RESET xuống mức logic 0 dùng để khởi tạo các thanh ghi nội của vi xử lý và khởi tạo chương trình con phục vụ thiết lập hệ thống
*Các chân mang tín hiệu phục vụ DMA :
Ở chế độ MIN của 8086 gồm hai tín hiệu HOLD và HLDA Khi một thiết bị ngoài muốn giành quyền điều khiển bus hệ thống thực hiện truy cập bộ nhớ trực tiếp , nó báo
Trang 12yêu cầu này cho CPU bằng cách chuyển HOLD lên mức logic 1.Sau đó CPU chuyển sang trạng thái cô lập sau khi chu kỳ bus hiện tại thực hiện xong Khi ở trạng thái cô
chân của IC 8255A:
- Các chân 14, 15, 16, 17, 13, 12, 11, 10: tương ứng theo thứ tự từ PC0 đến PC7 Đây là cổng giao tiếp dữ liệu 8 bít PC, khi cần thiết, nó có thể tách thành 2 phần PC
cao từ bít PC7 đến PC4 và PC thấp từ bít PC0 đến PC3.Đặc biệt, hai phần này có thể
hoạt động độc lập với nhau nếu cần
- Các chân 4, 3, 2, 1, 40, 39, 38, 37: tương ứng với cổng PA từ PA0 đến PA7 Đây là
cổng giao tiếp dữ liệu 8 bit vào/ ra PA Cổng này khác với cổng PC, nó không thể tách làm 2 độc lập với nhau được
- Các chân từ 18 đến 25: tương ứng với cổng PB từ PB0 đến PB7 Tương tự như
cổng PA, cổng PB cũng có thể đưa dữ liệu 8 bít ra hoặc vào bằng cách thiết lập giá trị của thanh ghi điều khiển
- Các chân từ 27 đến 34 : tương ứng theo thứ tự từ D7 đến D0 - Bus dữ liêu(2 chiều).
Bus dữ liệu 2 chiều này được nối tới các tín hiệu tương ứng của vi xử lý để trao đổi dữ liệu vào/ra do chip 8086 xử lý
- Chân 35: là chân Reset - khởi tạo trạng thái ban đầu của IC 8255 Nếu đặt mức này
lên mức 1 thì IC bị RESET lại từ đầu Để mạch có thể chạy được, chúng ta phải đặt chân này về mức 0V – GND
- Chân 6: chân /CS - Tín hiệu chọn vi mạch Đây là tín hiệu tích cực ở mức thấp 0v,
vì vậy chúng ta phải đặt chân này ở mức thấp để chọn IC 8255 hoạt động
- Chân 5: chân /RD (Read)- là chân tín hiệu cho phép đọc.
- Chân 36: chân /WR(Write) – là chân tín hiệu cho phép ghi.
Trang 13- Chân 9 và 8: tương ứng với chân tín hiệu địa chỉ A0 – A1, 2 chân này được nối với
2 bít được tách ra từ bộ tách địa chỉ của 8086, 2 chân này dùng để giải mã cho các cổngcủa 8255 với quy luật sau:
+ A1A0 là 00: mã hóa cho cổng PA
+ A1A0 là 01: mã hóa cho cổng PB
+ A1A0 là 10: mã hóa cho cổng PC
+ A1A0 là 11: mã hóa cho thanh ghi điều khiển
Chính vì vậy, để chọn đúng vị trí cổng chúng ta phải đưa 2 bít bất kì được tách ra từ
bộ tách tín hiệu địa chỉ sao cho 2 chân này cũng được mã hóa đúng như quy luật của A1, A0 trên 8255
+ Bít D3: chọn chiều ra/vào cho 4 bit cao của cổng C
+ Bít D2: chọn chế độ nhóm B
+ Bít D1: chọn chiều ra/vào cho cổng B
+ Bít D0: chọn chiều ra/vào cho 4 bit thấp của cổng C
Trang 14VD: để chọn chọn chế độ nhóm A là chế độ 0, nhóm B là chế độ 0, cổng PA, PB xuất
dữ liệu, cổng PC nhận dữ liệu , ta cài đặt thanh ghi điều khiển như sau:
Mov al, 100010001BOut DK, al
Chế độ 0:
+ các cổng A, B, C được sử dụng độc lập với nhau.
+ Cổng A, B, C có thể vào hoặc ra tùy vào đoạn ghi điều khiển
- Chế độ 1: chế độ này được gọi là chế độ vào/ra đột cửa hay đối thoại với các bit của
+ Chân 20 nối với Vcc nằm ở dải 4,75 đến 5,25 Volt
+ Chân 10 nối với Mass
Trang 15+ Chân 1 là chân Clear (MR)
+ Chân 11 là chân xung đồng hồ (CP)
+ Các chân 3, 4, 7, 8, 13, 14, 17, 18 là chân tín hiệu vào nối với các dây tín hiệu
đa hợp của Vi Xử Lý
+ Các chân 2, 5, 6, 9, 12, 15, 16, 19 là các chân tín hiệu địa chỉ được tách ra
- Do nó được tích hợp bởi 8 con FF_D nên mỗi IC chỉ có thể tách được 8 đường địa chỉ đa hợp của 8086 Vì vậy mạch cần 2 con IC 74273 để tách hết 16 đường địa chỉ của 8086
- Tùy theo đề bài yêu cầu mà các đầu ra này được sử dụng với mục đích khác nhau, các chân này được nối với mạch giải mã địa chỉ đưa vào chân CS của 8255 và dành
ra 2 bit để mã hóa cho các cổng của 8255, 2 chân này được nối vào chân A1, A0 của8255
3 IC giải mã địa chỉ 74LS139
3.3.1 Sơ đồ cấu tạo bên trong và chức năng các chân của IC 74LS139
đóng gói dạng DIP 16 chân Bên trong IC này được tích hợp 2 bộ giải mã 2 bit với chức năng các chân như sau:
o Chân 1 (1G) và 15(2G): là 2 chân chọn chip của 2 bộ giải mã tích cực
ở mức thấp, nghĩa là, để cho phép bộ giải mã nào hoạt động thì chân Gtương ứng của bộ đó đặt ở mức 0V
o Chân 2, 3 và 14, 13: là 2 chân tín hiệu cần giải mã vào tương ứng của
2 bộ giải mã
o Chân 4, 5, 6, 7: là các chân tín hiệu ra Y0, Y1, Y2, Y3 của bộ giải mã thứ nhất
o Chân 12, 11, 10, 9: là các chân tín hiệu ra của bộ giải mã thứ hai
o Chân 8 (GND) và chân 16 (Vcc): là 2 chân nguồn nuôi chip
tương ứng là: