Đề Tài: VI XỬ LÝ VÀ CẤU TRÚC MÁY TÍNH
Có thể bạn quan tâm
Trang chủ Tìm kiếm Trang chủ Tìm kiếm Đề tài: VI XỬ LÝ VÀ CẤU TRÚC MÁY TÍNH doc 25 569 KB 9 249 4.6 ( 8 lượt) Xem tài liệu Nhấn vào bên dưới để tải tài liệu Tải về Đang chuẩn bị: 60 Bắt đầu tải xuống Để tải xuống xem đầy đủ hãy nhấn vào bên trên Chủ đề liên quan linh kiện điện tử mạch điện ứng dụng giáo trình kỹ thuật điện luận văn thiết kế điện vi xử lý cấu trúc máy tính
Nội dung
BỘ CÔNG THƯƠNG TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI KHOA : ĐIỆN TỬ --------------o0o----------------- BÀI TẬP LỚN MÔN: VI XỬ LÝ VÀ CẤU TRÚC MÁY TÍNH Giáo viên hướng dẫn: Nhóm sv thực hiện: 1 LỜI NÓI ĐẦU Công nghệ Vi xử lý là một trong những thành tựu khoa học đánh dấu bước ngoặt trong lịch sử về sự phát triển của ngành khoa học – công nghệ. Nó đã đóng góp hàng loạt các ứng dụng và sản phẩm vào đời sống thực tiễn của con người, trên hầu hết tất cả các lĩnh vực. Đặc biệt trong nền công nghiệp hóa và hiện đại hóa của nước ta. Với những ưu điểm mà công nghệ Vi xử lý mang lại, chúng ta cần phải khai thác và phát triển nó rộng rãi hơn, để hiểu và sử dụng công nghệ này vào thực tiễn, nhóm em xin trình bày một vài ví dụ về lập trình cho xi xử lý và cách kết nối cơ bản của nó với các thiết bị ngoại vi. Một trong những thế hệ chíp thành công nhất của hãng phát triển Intel là bộ vi xử lý 16 bít được mang tên 8086. Nó đã mở đầu cho một thế hệ vi xử lý x86. 8086 có thể quản lý đươc 1MB bộ nhớ, với tốc đô xử lý lên tới 2,5 triệu lệnh trên một giây. Sau đây chúng em xin trình bày chi tiết các bước để mọi người có thể hiểu và lợi dụng những tính năng mà Vi xử lý 8086 mang lại. trong quá trình trình bày, có gì sai sót mong các thầy cô bỏ qua và góp ý để chúng em được hoàn thiện hơn trong những bài báo cáo lần sau. .Chúng em xin chân thành cảm ơn! Nhóm sv thực hiện: 2 Nhận xét và đóng góp ý kiến của giáo viên: …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… 3 …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… Chúng em xin chân thành cảm ơn! 4 PHỤ LỤC: BỘ CÔNG THƯƠNG...................................................................................................................1 LỜI NÓI ĐẦU..............................................................................................................................2 A. NỘI DUNG THỰC HIỆN.....................................................................................................6 B. CƠ SỞ LÝ THUYẾT...........................................................................................................7 I. CẤU TẠO VÀ TẬP LỆNH CỦA 8086................................................................................7 1. Sơ đồ khối của 8086...............................................................................................................7 a. Khối thực hiện lệnh (EU).......................................................................................................7 b. Khối giao tiếp bus (BIU)........................................................................................................9 2. Sơ đồ chân của 8086..............................................................................................................9 3. Các hàm ngắt và tập lệnh của 8086.....................................................................................10 a. Các hàm ngắt 21h của 8086................................................................................................10 b. Tập lệnh của 8086................................................................................................................11 II. CẤU TẠO VÀ CHỨC NĂNG IC 8255A........................................................................13 1. Sơ đồ chân và chức năng của mỗi chân...............................................................................13 2. chế độ hoạt động..................................................................................................................14 III. CẤU TẠO IC GIẢI MÃ 74273.......................................................................................16 Cấu tạo bên trong và chức năng các chân :................................................................................16 C. PHẦN BÀI TẬP..................................................................................................................17 1. Ví dụ 1..................................................................................................................................17 a. Sơ đồ thuật toán...................................................................................................................17 b. Code chương trình...............................................................................................................17 2. Ví dụ 2..................................................................................................................................19 3. Ví dụ 3..................................................................................................................................20 a. Phân tích đề bài và cách chọn cách ghép nối......................................................................20 b. mạch ghép nối......................................................................................................................21 c. Sơ đồ thuật toán.....................................................................................................................22 d. Code chương trình.................................................................................................................22 D. KẾT LUẬN......................................................................................................................23 5 A. NỘI DUNG THỰC HIỆN Xuất phát từ sự tìm hiểu và khai thác các ưu điểm và tính năng mà họ Vi xử lý 8086 mang laị, nhóm chúng em xin trình bày các ví dụ sau: 1. Viết chương trình thực hiện phép toán BX= 0 + 1 + 2 +...+ n. Với n là số hexa có hai chữ số được nhập vào từ bàn phím, sau đó hiển thị kết quả. 2. Xây dựng mạch giải mã địa chỉ cho bộ nhớ gồm các vi mạch nhớ được bố trí như sau: ROM(2K x 8 bit) F0000H (Địa chỉ đầu của ROM) Khoảng trống 14 Kb ROM(4K x 8 bit) ROM(4K x 8 bit) RAM(8K x 8 bit) RAM(32K x 8 bit) 3. Thiết kế mạch ghép nối giữa bộ vi xử lý 8086 và 8255 với các địa chỉ của cổng PA, PB, PC, thanh ghi điều khiển lần lượt là 20h, 22h, 24h, 26h. Viết chương trình để 8086 liên tục đọc các bit ở cổng PC cao (PC4, PC5, PC6, PC7) sao sau đó gửi ra PC thấp (PC0, PC1, PC2, PC3). Ghép 4 bit cao của PC với chuyển mạch giữa nguồn và mass để kiểm tra kết quả 6 B. CƠ SỞ LÝ THUYẾT I. CẤU TẠO VÀ TẬP LỆNH CỦA 8086 1. Sơ đồ khối của 8086 - Bên trong bộ vi xử lý 8086 bao gồm 2 khối chính: + Khối thực hiện lệnh (EU- Execution Unit) là nơi giả mã và thi hành các lệnh + giao tiếp bus (BIU- Bus Interface Unit) có nhiệm vụ đẩm bảo việc trao đổi thông tin giữa 8086 với các linh kiện bên ngoài - Sau đây chúng ta sẽ tìm hiều cấu tạo bên trong của từng khối. a. Khối thực hiện lệnh (EU) Khối thực hiện lệnh (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 đa năng: Có chứa 4 thanh ghi đa năng 16 bit, mỗi thanh ghi có thể chứa bất kì các loại dữ liệu, tuy nhiên một số công việc, các thanh ghi này lại có chức năng đặc biệt của riêng nó mà các thanh ghi khác không thực hiện được. + Thanh ghi AX: đây là thanh ghi chứa, kết quả của các thao tác thường được chứa ở đây. Nếu kết quả là 8 bit thì thanh ghi AL sẽ được sử dụng + Thanh ghi BX: đây là thanh ghi cơ sở, thương được chứa địa chỉ cơ sở của một bảng khi sử dụng lệnh XLAT. + Thanh ghi CX: đây là thanh ghi đếm, nó thường được chứa số lần lặp lại trong trường hợp dùng lênh LÔP, còn CL thì thường được chứa số lần quay hay dịch bít của các thanh ghi. 7 + Thanh ghi DX: đây là thanh ghi dữ liệu, nó thường được sử dụng cùng với thanh ghi AX để thực hiện các phép nhân hay chia của các số 16 bit. DX còn được sử dụng để chứa địa chỉ các cổng trong các lệnh vào/ra dữ liệu trực tiếp. - Thanh ghi cờ F là một đoạn ghi đặc biệt gọi là đoạn ghi cờ hay đoạn ghi 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 định củ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ạn ghi 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: * 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 - 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). Bảng tóm tắt sự kết hợp ngầm định giữa đoạn ghi đoạn và đoạn ghi lệch: Đoạn ghi đoạn CS Đoạn ghi lệch IP Địa chỉ Địa chỉ lệnh sắp thực hiện 8 - DS BX, DI, SI SS SP hoặc BP ES DI Địa chỉ trong đoạn dữ liệu Địa chỉ trong đoạn ngăn xếp Địa chỉ chuỗi đích 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. b. 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 thông 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. - 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 đoạn mã CS (Code Segment),. + Thanh ghi đoạn dữ liệu DS (Data Segment). + Thanh ghi đoạn dữ liệu phụ ES (Extra Segment). + Thanh ghi đoạn ngăn xếp SS (Stack Segment). . - 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. Sơ đồ chân của 8086 9 Vi xử lý 8086 được thiết kế để hoạt động một trong hai chế độ, tùy thuộc vào mức điện áp đặt ở chân số 33 (chân MN/MX): - Chế độ tối thiểu (chế độ MIN) đươc thiết lập nếu điện áp ở chân số 33 ở mức 5V. là chế độ tong hệ thống chỉ có 8086 và các vi mạch nhớ , các vi mạch ghép nối vào ra. - 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). 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. 3. Các hàm ngắt và tập lệnh của 8086 a. Các hàm ngắt 21h của 8086 - Hàm 1: là hàm chờ đọc vào 1 ký tự từ thiết bị vào ra chuẩn(bàn phím). Kết quả được lưu vào trong AL. MOV AH,1 cú pháp : INT 21H - Hàm 2 : là hàm hiển thị nội dung thanh ghi DL lên màn hình hoặc thi hành các chức năng điều khiển. Cú pháp : MOV AH,2 MOV DL,’A’ Int 21H - Hàm 4CH : là hàm kết thúc chương trình hiện tại và trả điều khiển về cho chương trình gọi nó. MOV AH,4CH Cú pháp : INT 21H - Hàm 9 : Là hàm hiển thị ra màn hình một chuỗi kí tự Cú pháp : MOV AX,@DATA MOV DS,AX ;khoi tao thanh ghi doan du lieu DS 10 MOV AH,9 LEA DX,’chuoi ki tu’ INT 21H b. Tập lệnh của 8086 - Lệnh XCHG: toán hạng đích và nguồn được đổi lẫn cho nhau XHCG đich, nguồn - Lệnh XLAT: XLAT nhan_nguồn - Lệnh ADD, SUB: ADD dich,nguon - cong nguon vao dich - Lệnh ADC: cờ nhớ được cộng vào toán hạng đích và nguồn ADC dich,nguon - Lệnh DIV: thực hiện phép chia không dấu, toán hạng nguồn có thể là một ô nhớ hay đoạn ghi. Nếu toán hạng nguồn là 8 bit thì thương số nằm trong AL, số dư nằm trong AH; nếu toán hạng nguồn là 16 bit, thì thương số nằm trong AX còn số dư nằm trong DX DIV nguon; - Lệnh IDIV (integer divide): thực hiện phép chia có dấu. IDIV nguon; - Lệnh IMUL: thực hiện phép nhân có dấu. IMUL nguon; - Lệnh INT : dùng để gọi các hàm của DOS và BIOS ; Cú pháp : int 21h - Lệnh MOV: chuyển dữ liệu từ toán hạng nguồn vào toán hạng đích MOV dich, nguon - Lệnh OUT: xuất dữ liệu từ đoạn chứa ra cổng OUT cong,đoạn_chua - Lệnh IN: đọc dữ liệu từ cổng vào đoạn ghi. IN đoạnghi, cong - Lệnh NEG (NEGate): toán hạng đích bị trừ đi từ số toàn chữ số 1 (0FFH với kiểu byte và 0FFFFH với kiểu từ). NEG dich; - Lệnh SBB (SuBtract with Borrow): Trừ có nhớ. Trừ toán hạng đích cho toán hạng nguồn và nếu CF=1 thì trừ kết quả nhận được cho 1. 11 SBB dich, nguon; - Lệnh MUL(Multiply): thực hiện phép nhân không dấu. Nhân nội dung của đoạn AL với toán hạng nguồn. Nếu nguồn kiểu byte thì tích chứa trong AX, nếu nguồn là kiểu từ thi tích chứa trong DX:AX MUL nguon; - Lệnh JNZ: nếu KQ của lệnh trước đó khác 0 thi thực hiện lệnh nhảy đến nhãn_đích, ngược lại thì thực hiện lệnh kế tiếp sau đó. JNZ nhan_dich; - Lệnh JA, JG: nhảy nếu lớn hơn - Lệnh JB, JL : nhảy nếu nhỏ hơn. - Lệnh JNA, JNG: nhảy nếu không lớn hơn. - Lệnh JE: nhảy nếu bằng. - Lệnh JC : nhảy nếu cờ CF=1. - Lệnh nhảy không điều kiện (JuMP) : nhảy đến nhãn_nguồn khi gặp lệnh này. JMP nhan_nguon ; - Lệnh CMP (CoMPare) : so sánh 2 toán hạng bằng cách trừ 2 toán hạng cho nhau mà không lưu lại két quả. CMP dich, nguon ; - Lệnh lặp : lặp lại nhãn_nguồn khi gặp lệnh này. LOOP nhan_nguon ; - Các lệnh AND, OR, XOR và TEST AND dich,nguon lưu ở đích OR dich,nguon ở đích ;AND đích với nguồn, kết quả ;OR đích với nguồn, kết quả lưu XOR dich,nguon ;XOR đích với nguồn, kết quả lưu ở đích TEST dich,nguon ;AND đích với nguồn, kết quả không lưu lại - Lệnh dịch: SHL/SAL dich,1 ;dich sang trai 1 bit SHL/SAL dich,CL ; dich sang trai nhieu bit SHR dich,1 ; dich sang phai 1 bit SHR dich,CLL ; dich sang phai nhieu bit 12 - Lệnh quay: ROL/ROR dich,1 ; quay đích sang trái/phải 1 bit ROL/ROR dich,CL ; quay đích sang trái/phải n bit, với CL=n RCL/RCR dich,1 ; quay đích sang trái/phải 1 bit RCL/RCR dich,CL ; quay đích sang trái/phải n bit, với CL=n - Lệnh HLT (HaLT): đưa bộ vi xử lý vào trạng thai dừng để chờ ngắt ngoài. Dạng lệnh: HLT - Lệnh LOCK: khóa bus trong môi trường có nhiều bộ vi xử lý. - Lệnh NOP: không thực hiện một thao tác nào. - Lệnh STI: IF được thiết lập 1. - Lệnh WAIT: Bộ vi xử lý ở trạng thái chờ cho đến khi ngắt ngoài - Lệnh PUSH: cất dữ liệu vào ngăn xếp, giảm SP đi 2. PUSH nguon; - Lệnh PUSHF: chuyển đoạn ghi cờ vào ngăn xếp. PUSHF; - Lệnh POP: lấy dữ liệu ra khỏi ngăn xếp và đưa vào toán hạng đích. POP dich; - Lệnh POPF: chuyển nội dung của 2 byte từ đinh ngăn xếp vào đoạn ghi cờ, sau đó tăng con trỏ ngăn xếp lên 2. POPF; Chú ý: quá trình cất dữ liệu và lấy ra từ ngăn xếp thực hiện theo nguyên tắc: Vào sau ra trước – nghĩa là thanh ghi nào đươc cất vào ngăn xếp đầu tiên thì sẽ lấy nó ra sau, còn thanh ghi nào được đưa vào cất sau thì được lấy ra trước - Lệnh CALL: gọi thủ tục. CALL nhan; - Lệnh RET: trả lại điều khiển khi thủ tục được thực hiện xong. RET; 13 II. CẤU TẠO VÀ CHỨC NĂNG IC 8255A 1. Sơ đồ chân và chức năng của mỗi chân Sơ đồ chân và chức năng của các chân trên 8255: - Trên thị trường và nghiên cứu chúng ta chỉ nghiên cứu loại đóng gói dạng DIP 40 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. tùy thuộc vào thanh ghi điều khiển được cài đặt mà các cổng này có thể vào/ ra dữ liệu. - 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. tùy theo thanh ghi điều khiển được cài đặt mà cổng này có thể xuất dữ liệu ra hoặc nhận dữ liệu vào. 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ữ lieu 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. 14 - 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. nhơ vậy, chân này được sử dụng để kết hợp với mạch giải mã địa chỉ để Vi xử lý điều khiển nó hoạt động đúng yêu cầu. - 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. - 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ổng củ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 2. chế độ hoạt động Tuy thuộc vào đoạn ghi điều khiển khi khởi tạo mà vi mạch có thể hoạt động ở các chế độ 0, 1, 2 khác nhau, chiều của các cổng A, B, C có thể ra hoặc vào. Thanh ghi điều khiển gồm có 8 bit, mỗi bít có các chức năng khác nhau : 1 D6 D5 PA PC cao D2 PB PC thấp + Bit D6 và D5 dùng để chọn chế độ nhóm A Nếu D6D5 là 00 thì chọn chế độ 0 Nếu D6D5 là 01 thì chọn chế độ 1 Các trường hợp khác sẽ không xác định + Bít PA: chọn chiều cho cổng PA, Nếu PA=0: cổng PA sẽ xuất dữ liệu ra. Nếu PA=1: cổng PA sẽ nhận dự liệu bên ngoài vào + Bít PC cao: chọn chiều ra/vào cho 4 bit cao của cổng PC Nếu PC=0 thì cho phép cổng PC cao xuất dữ liệu ra Nếu PC=1 thì cho phép cổng PC ca0 nhận dữ liệu 15 + Bít D2: chọn chế độ nhóm B Nếu D2=0 thì chọn chế độ 0 Nếu D2=1 thì chọn chế độ 1 + Bít PB: chọn chiều ra/vào cho cổng PB Nếu PB=0 thì cho phép cổng PB xuất dữ liệu ra Nếu PB=1 thì cho phép cổng PB nhận dữ liệu + Bít PC thấp: chọn chiều ra/vào cho 4 bit thấp của cổng PC Nếu PC=0 thì cho phép cổng PC thấp xuất dữ liệu ra Nếu PC=1 thì cho phép cổng PC thấp nhận dữ liệu VD: để 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, 100010001B Out 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 ddooid thoại với các bit của cổng C. Các cổng A, B, C được chia thành 2 nhóm: + Nhóm A gồm cổng A để trao đổi dữ liệu và cổng C cao để đồi thoại với Vi Xử Lý và thiếu bị ngoài. + Nhóm B gồm cổng B để trao đổi dữ liệu và cổng C thấp để đồi thoại với Vi Xử Lý và thiếu bị ngoài III. CẤU TẠO IC GIẢI MÃ 74273 Cấu tạo bên trong và chức năng các chân : 16 IC 74273 là IC số được tích hợp bỏi 8 con flip-flop loại D lắp theo kiểu đồng bộ xung đồng hồ và chân clear. IC gồm có 20 chân trong đó: + 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 + 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 cua 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 17 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ủa 8255 C. PHẦN BÀI TẬP 1. Ví dụ 1. - Viết chương trình thực hiện phép toán BX= 0 + 1 + 2 +...+ n. Với n là số hexa có hai chữ số được nhập vào từ bàn phím, sau đó hiển thị kết quả. a. Sơ đồ thuật toán. b. Code chương trình .model small .stack 100h .data tb1 db 10,13," nhap vao so hexa: $" tb2 db 10,13," ket qua dang hexa: $" tb3 db 10,13," nhap sai nhap lai: $" i dw 0 .code main proc 18 mov ax,@data ; khoi tao thanh ghi ds mov ds,ax mov ah,9 ; ham hien thi chuoi lea dx,tb1 int 21h ; dua chuoi tb1 ra man hinh start: mov bx,0 ; mov dh,2 ; dh=2 mov cl,4 ; cl=4 T1: mov ah,1 ; ham nhap int 21h ; ngat 21h cho phep nhap sub al,30h ; tru al cho 30h cmp al,9h ; so sanh al 0Fh ko ? jg baoloi ; dung thi bao loi shl bl,cl ; sai thi dich bl cl bit(4 bit) or bl,al ; OR bl voi al dec dh ; giam dh di mot don vi jnz t1 ; neu dh khac 0 thi nhay toi t1 ; tinh tong tu BX=0+1+2+..+ n mov ax,0 ; ax=0 mov al,bl ; gan al=bl mov bx,0 ; gan bx=0 mov cx,ax ; cx=ax tong: inc i ; tang i len 1 add bx,i ; bx=bx+i loop tong ; lap lai tong ax lan ; hien thi noi dung bx dang hexa mov ah,9 ; ham hien thi chuoi lea dx,tb2 ; xuat tb2 int 21h ; mov dh,4 ; dh=4 mov ah,2 ; ah=2 mov cl,4 ; cl=4 K1: rol bx,cl ; quay bx 4 bit, mov dl,bl ; dl=bl and dl,0fh ; lay 4 bit thap nhat cua dl add dl,30h ; dl=dl+30h cmp dl,39h ; so sanh dl voi 39h jng k2 ; neu dl39 thi tru dl cho 7h k2: int 21h ; hien thi dl ra man hinh dec dh ; giam dh di 1 jnz k1 ; neu dl khac 0 thi lap lai k1 jmp thoat ; dh=0 thi thoat baoloi: ; thu tuc bao loi mov ah,9 ; goi ham hien thi chuoi lea dx,tb3 ; xuat thong bao 3 ra man hinh int 21h jmp start thoat: ; ham thoat mov ah,4ch int 21h end main 2. Ví dụ 2 - Xây dựng mạch giải mã địa chỉ cho bộ nhớ gồm các vi mạch nhớ được bố trí như sau: ROM(2K x 8 bit) F0000H (Địa chỉ đầu của ROM) Khoảng trống 14 Kb ROM(4K x 8 bit) ROM(4K x 8 bit) RAM(8K x 8 bit) RAM(32K x 8 bit) - Tử cơ cấu bộ nhớ đó, chúng ta có bảng giải mã địa chỉ như sau: Vi mạch nhớ ROM1 2Kx8 Khoảng trông 14K ROM2 4Kx8 ROM3 4Kx8 RAM1 A 19 A 18 A 17 1111 1111 1111 1111 1111 1111 1111 1111 1111 A 16 A 15 A 14 A 13 A 12 00000 00000 00001 00111 01000 01001 01010 01011 01100 20 A 11 A 10 A 9 000 111 000 111 000 111 000 111 000 A 8 A 7 A 6 A 5 0000 1111 0000 1111 0000 1111 0000 1111 0000 A 4 A 3 A 2 A 1 0000 1111 0000 1111 0000 1111 0000 1111 0000 A 0 Địa chỉ F0000 F07FF F0800 F3FFF F4000 F4FFF F5000 F5FFF F6000 8Kx8 RAM2 8Kx8 - - 3. - 1111 1111 1111 01111 10000 10011 111 000 111 1111 0000 1111 Sau khi giải mã địa chỉ của từng vi mạch nhớ, ta nhận thấy: + các bít A19, A18, A17 và A16 đều có mức logic cao không đổi, vì vậy chúng ta sẽ dùng 4 bit này để đưa vào mạch chọn bộ nhớ hoạt động + các bít A12, A13, A14 kết hợp với bit A11 và A15 để chọn mỗi vi mạch nhớ hoạt động. + Riêng với vi mạch RAM2 chúng ta chỉ kết hợp giữa A15 với A14 và A13 để chọn cho vi mạch này. A15 sẽ đưa vào chân CS và A14, A13 đưa tới chân CE thông qua cổng OR. Từ sự kết hợp đó ta xây dựng mạch ghép nối bộ nhớ như hình sau: Ví dụ 3 Thiết kế mạch ghép nối giữa bộ vi xử lý 8086 và 8255 với các địa chỉ của cổng PA, PB, PC, thanh ghi điều khiển lần lượt là 20h, 22h, 24h, 26h. Viết chương trình để 8086 liên tục đọc các 21 1111 0000 1111 F7FFF F8000 F9FFF bit ở cổng PC cao (PC4, PC5, PC6, PC7) sao sau đó gửi ra PC thấp (PC0, PC1, PC2, PC3). Ghép 4 bit cao của PC với chuyển mạch giữa nguồn và mass để kiểm tra kết quả. a. Phân tích đề bài và cách chọn cách ghép nối. - Theo giả thiết, chúng ta sẽ ghép nối 8086 và 8255 với địa chỉ cổng cổng PA, PB, PC, thanh ghi điều khiển lần lượt là 20h, 22h, 24h, 26h. chúng ta phải chọn ra 2 bit của 8086 để làm 2 bit chọn cổng cho 8255. Mặt khác, 2 bít để chọn cổng cho 8255 phải tuân theo quy tắc biến đổi của 2 bit A1 và A0 của 8255: + Nếu A1A0 có mức logic 00 thì chọn cổng A + Nếu A1A0 có mức logic 01 thì chọn cổng B + Nếu A1A0 có mức logic 10 thì chọn cổng C + Nếu A1A0 có mức logic 11 thì chọn thanh ghi điều khiển - Để chọn được 2 bit chính xác, ta sẽ dựa vào bảng giải mã địa chỉ sau: Cổng A15 A14 A13 A12 A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0 Địa chỉ PA 0000 0000 0010 0000 20h PB 0000 0000 0010 0010 22h PC 0000 0000 0010 0100 24h ĐK 0000 0000 0010 0110 26h - + Từ bảng giải mã địa chỉ, ta nhận thấy 2 bít A2,A1 biến đổi trùng với quy tắc chọn cổng của 8255, vì vậy ta đưa 2 chân này trực tiếp vào chân A1, A0 tương ứng của 8255 để làm 2 bít chọn cổng hoạt động của nó. + Riêng các bit A0 vđến A15 đều có một mức logic không đổi nên chúng ta sẽ đưa các bít này vào mạch chọn chip 8255 hoạt động. dể chọn chíp 8255 hoạt động thì chân CS của nó phải ở mức logic 0, nên các bít ở mức logic 0 được đưa trực tiếp vào cổng OR, riêng các bít A5 có mức logic 1 thì trước khi đưa vào cổng OR thì phải đưa nó qua cổng NOT trước. đầu ra của cổng OR sẽ được đưa tới chân CS của 8255. Giả thiết thứ 2 là 8086 liên tục đọc các bit ở cổng PC cao (PC4, PC5, PC6, PC7) sao sau đó gửi ra PC thấp (PC0, PC1, PC2, 22 PC3). Ghép 4 bit cao của PC với chuyển mạch giữa nguồn và mass để kiểm tra kết quả. + Từ đó ta phải nhận 4 bit từ cổng PC cao rồi liên tục đưa ra cổng PC thấp. và lặp lại liên tục b. mạch ghép nối c. Sơ đồ thuật toán Với nội dung mà đề bài đưa ra, chúng ta sẽ lập trình theo sơ đồ thuật toán sau: Bắt đầu AL = PC Dịch phải AL 4 bit Xuất AL ra cổng C d. Code chương trình data segment pa equ 20h ; dia chi cong PA la 20h pb equ 22h ; dia chi cong PB la 22h 23 pc equ 24h ; dia chi cong PC la 24h creg equ 26h ; dia chi thanh gi dieu khien la 06h ends stack segment dw 128 dup(0) ends code segment start: mov ax, data mov as, ax ; khoi tao thanh ghi as mov ds, ax ; khoi tao thanh ghi ds mov al,88h ; PC cao vao, PC thap xuat du lieu out creg,al ; dua vao thanh ghi dieu khien ;=============== mov cl,4 ; gan cl=4 chuyen: in al,pc ; lay du lieu tu PC vao al shr al,cl ; quay phai al 4 bit de dua 4 bit cao xuong 4 bit thap out pc,al ; xuat gia tri al moi ra pc cao jmp chuyen ; lap lai de kiem tra tiep ends end start D.KẾT LUẬN Sau một số ví dụ mà nhóm em trình bày, đã chứng minh rõ được ưu điểm của hệ Vi xử lý 8086 và những gì mà nó có thể làm được. tuy nhiên ta nhận thấy mạch sử dụng vi xử lý rất cồng kềnh, nhiều linh kiện, tốn nhiều chi phí lắp đặt. một nhược điểm mà 8086 chưa làm được đó là chúng ta không thể can thiệt trực tiếp đến từng bit nhớ một cách riêng lẻ được mà phải tác động đến toàn bộ 8 bit của một cổng. Với những gì mà chúng em đã được học và tiếp thu, cùng với sự nhiệt tình của cô Hằng trong quá trình truyền đạt kiến thức, nhóm chúng em đã hoàn thành bài báo cáo một cách dễ dàng. Tuy nhiên 24 trong quá trình trình bày có gì sai sót, mong các thầy cô bỏ qua và cho chúng em những nhận xét, đánh giá để nhóm chúng em hoàn thiện hơn trong những bài báo cáo tiếp theo. Chúng em xin chân thành cảm ơn cô Hằng cũng như các thầy cô trong khoa nói riêng và nhà trường nói chúng đã tạo điều kiện và môt trường tốt để chúng em học tập và rèn luyện. Tài liệu tham khảo : www.alldatasheet.com 25 This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.Tìm kiếm
Chủ đề
Đồ án tốt nghiệp Giải phẫu sinh lý Đề thi mẫu TOEIC Lý thuyết Dow Đơn xin việc Tài chính hành vi Trắc nghiệm Sinh 12 Mẫu sơ yếu lý lịch Thực hành Excel Bài tiểu luận mẫu Atlat Địa lí Việt Nam Hóa học 11 adblock Bạn đang sử dụng trình chặn quảng cáo?Nếu không có thu nhập từ quảng cáo, chúng tôi không thể tiếp tục tài trợ cho việc tạo nội dung cho bạn.
Tôi hiểu và đã tắt chặn quảng cáo cho trang web nàyTừ khóa » đồ án Vi Xử Lý 8086
-
đồ án Vi Xử Lý 8086 - 123doc
-
ĐỒ ÁN GIAO TIẾP GIỮ MÁY TÍNH VÀ VI XỬ LÝ 8086 (Đầy đủ File ...
-
Mẫu đồ án Vi Xử Lý PDF - ViecLamVui
-
[PDF] CHƯƠNG II: HỌ VI XỬ LÝ INTEL 80x86
-
Bộ Vi Xử Lý Intel 8088 8086
-
Download Tài Liệu Bo Xu Ly Intel 8086
-
Thiết Kế - Thi Công Kit Vi Xử Lý 8086 | Xemtailieu
-
Giúp đỡ Vxl 8086 điều Khiển 8 Led Matrix đơn Sắc - Dien Tu Viet Nam
-
CẤU TRÚC VI XỬ LÝ 8086/8088 - TaiLieu.VN
-
Luận Văn Giao Tiếp Máy Tính Với Kit Vi Xử Lý 8086
-
Cấu Trúc Bộ Vi Xử Lý 8086/8088 - TailieuXANH
-
[DOC] Cấu Trúc Phần Cứng Của Bộ Vi Xử Lý 8086 - 5pdf
-
X86 – Wikipedia Tiếng Việt
-
55 đồ án Vi Xử Lý (hót) - Tài Liệu Ngành Điện