intTypePromotion=3

Bài tập lớn: Vi xử lý và cấu trúc máy tính

Chia sẻ: Pham Cuong | Ngày: | Loại File: DOC | Số trang:24

0
257
lượt xem
56
download

Bài tập lớn: Vi xử lý và cấu trúc máy tính

Mô tả tài liệu
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Bài tập lớn: Vi xử lý và cấu trúc máy tính trình bày cơ sở lý thuyết về bộ vi xử lý 8086, lập trình hợp ngữ, ghép nối bộ nhớ, ghép nối 8086 với 8255. Mời tham khảo.

Chủ đề:
Lưu

Nội dung Text: Bài tập lớn: Vi xử lý và cấu trúc máy tính

  1. TRƯỜNG ĐH CÔNG NGHIỆP HÀ NỘI MÔN VI XỬ LÝ 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: DƯƠNG THỊ HẰNG • Nhóm sv thực hiện: 1.NGUYỄN VĂN HOÀNG 2.LÊ VĂN PHÚC 3.CẤN NGỌC VIỆT Lớp Điện Tử 2 – K12 1
  2. TRƯỜNG ĐH CÔNG NGHIỆP HÀ NỘI MÔN VI XỬ LÝ GIỚI THIỆU Ngày nay, nhu cầu học tập và nghiên cứu ứng dụng công nghệ Vi xử ký ngày càng tăng trưởng mạnh mẽ, các công trình nghiên cứu và ứng dụng công nghệ vi xử lý ngày càng phong phú và đa dạng. đặc biệt là từ khi có sự có mặt của họ vi xử lý 8086 của Intel 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, nó 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. Chính vì vậy, bộ vi xử lý 8086 đã thu hút đ ược các nhà lập trình viên cũng như các nhà phát triển phần cứng ngày càng lơn, với những sản phẩm hết sức cần thiết cho đời sống thực tiễn. Từ những sự cần thiết đó, để giúp cho mọi người hiểu thêm về vai trò và ứng dụng của nó, nhóm em xin trình bày một số ví dụ cụ thể với việc sử dụng bộ vi xử lý 8086. Trong quá trình trình bày, không tránh những sai sót, mong các thầy cô giáo bỏ qua và đóng góp với chúng em những ý kiến, nhận xét thiết thực đ ể chúng em hoàn thiện bản thân hơn, cũng như hoàn thành tốt các bài bào cáo tiếp theo. Chúng em xin cảm ơn. .Chúng em xin chân thành cảm ơn! Lớp Điện Tử 2 – K12 2
  3. TRƯỜNG ĐH CÔNG NGHIỆP HÀ NỘI MÔN VI XỬ LÝ Nhận xét và đóng góp ý kiến của giáo viên: …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… Lớp Điện Tử 2 – K12 3
  4. TRƯỜNG ĐH CÔNG NGHIỆP HÀ NỘI MÔN VI XỬ LÝ …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… Chúng em xin chân thành cảm ơn! Lớp Điện Tử 2 – K12 4
  5. TRƯỜNG ĐH CÔNG NGHIỆP HÀ NỘI MÔN VI XỬ LÝ PHỤ LỤC: BỘ CÔNG THƯƠNG..................................................................................................................1 GIỚI THIỆU.................................................................................................................................2 PHỤ LỤC:....................................................................................................................................5 I.NỘI DUNG.................................................................................................................................6 II.MỤC ĐÍCH VÀ YÊU CẦU...................................................................................................... 6 III. CƠ SỞ LÝ THUYẾT............................................................................................................ 6 1. Cấu tạo của bộ vi xử lý 8086................................................................................................. 6 1.1.Các thanh ghi của 8086.........................................................................................................7 1.2Sơ đồ chân của 8086............................................................................................................... 8 1.3 Các hàm ngắt 21h của 8086............................................................................................... 9 1.4Tập lệnh của 8086...................................................................................................................9 2.IC 8255A................................................................................................................................. 12 2.1Sơ đồ chân và chức năng của mỗi chân............................................................................... 12 2.2 Ghép nối với vi xử lý.......................................................................................................13 2.3 chế độ hoạt động............................................................................................................. 13 3.Cấu tạo IC giải mã địa chỉ ..................................................................................................... 14 4.Cấu tạo và hoạt động của LED 7 đoạn................................................................................ 15 IV.PHẦN LẬP TRÌNH HỢP NGỮ............................................................................................16 1.Sơ đồ thuật toán...................................................................................................................... 16 2.Code chương trình................................................................................................................... 17 V. PHẦN GHÉP NỐI BỘ NHỚ.............................................................................................. 18 1.Giải mã địa chỉ.........................................................................................................................19 2.Cơ chế chọn địa chỉ.................................................................................................................20 VI.GHÉP NỐI 8086 VỚI 8255.................................................................................................. 20 1.Ghép nối phần cứng................................................................................................................ 21 2.Sơ đồ thuật toán...................................................................................................................... 22 3.Code chương trình................................................................................................................... 22 VII.KẾT LUẬN...........................................................................................................................24 Lớp Điện Tử 2 – K12 5
  6. TRƯỜNG ĐH CÔNG NGHIỆP HÀ NỘI MÔN VI XỬ LÝ I. NỘI DUNG Để thấy được sự tiện lợi và ưu điểm mà Vi xử lý 8086 mang l ại, nhóm em xin trình bày các ví dụ sau: 1. Viết chương trình thực hiện nhập liên tiếp một dãy các ký tự khi nào gặp enter thì kết thúc. Hiển thị dãy ký tự theo chiều ngược lại. 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(64K x 8 bit) 00000H (Địa chỉ đầu của ROM) Khoảng trống RAM(32K x 8 bit) RAM (32K x 8 bit) FFFFFH (Địa chỉ đầu cuối RAM) 3. Ghép 1 Led 7 đoạn Anodes chung (7SEG) với cổng PA, một nút bấm (Button) với cổng PC. Viết chương trình điều khiển để bấm Button thì Led sáng nhấp nháy số 8, bình thường LED sáng số 0 II. MỤC ĐÍCH VÀ YÊU CẦU - Câu 1: lâp trình bằng ngôn ngữ ASM – hợp ngữ, ngắn gọn, dễ hiểu hiển thị các thông báo khi chạy chương trình. - Câu 2: đây là phần thiết kế bộ nhớ, vẽ bằng phần mềm Proteus - Câu 3: phần lập trình viết bằng hợp ngữ, mạch được mô phỏng bằng phần mêm Protues, mạch trình bày gòn gàng, hoạt động đúng yêu cầu đề bài. III. CƠ SỞ LÝ THUYẾT 1. Cấu tạo của bộ vi xử lý 8086 Bộ vi xử lý 8086 là bộ vi xử lý 16 bit đầu tiên của Intel, bên trong bao gồm 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 và 8086- 10 hoạt động ở tần số 10MHZ. Bên trong bộ Vi xử lý 8086 cố các thanh ghi 16 bit và 8 bít, sau đây chúng ta sẽ tìm hiểu về cấu trúc và chức năng của từng thanh ghi Lớp Điện Tử 2 – K12 6
  7. TRƯỜNG ĐH CÔNG NGHIỆP HÀ NỘI MÔN VI XỬ LÝ 1.1. Các thanh ghi của 8086 • Các thanh ghi đa năng. Trong khối EU của bộ Vi xử lý 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. - 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. • Các thanh ghi đoạn. Để quản lý các đoạn nhớ trên, bộ vi xử lý 8086 có 4 đoạn ghi đoạn xác định địa chỉ bắt đầu của 4 đoạn nhớ 64 KB: - 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). • 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). 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 Đoạn ghi lệch Địa chỉ CS IP Địa chỉ lệnh sắp thực hiện DS BX, DI, SI Địa chỉ trong đoạn dữ liệu SS SP hoặc BP Địa chỉ trong đoạn ngăn xếp ES DI Địa chỉ chuỗi đích Lớp Điện Tử 2 – K12 7
  8. TRƯỜNG ĐH CÔNG NGHIỆP HÀ NỘI MÔN VI XỬ LÝ • Thanh ghi cờ F (Flag registor) Bên trong bộ vi xử lý 8086 có 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, 1.2 Sơ đồ chân của 8086 Vi xử lý 8086 được thiết kế để hoạt mức 0V, là chế độ áp dụng cho hệ động một trong hai chế độ, tùy thuộc vào thống đa xử lý, đồng xử lý (8086 và mức điện áp đặt ở chân số 33 (chân bộ đồng xử lý toán học 8087). 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 ở 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. Lớp Điện Tử 2 – K12 8
  9. TRƯỜNG ĐH CÔNG NGHIỆP HÀ NỘI MÔN VI XỬ LÝ 1.3 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. cú pháp : MOV AH,1 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ó. Cú pháp : MOV AH,4CH 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 MOV AH,9 LEA DX,’chuoi ki tu’ INT 21H 1.4 Tập lệnh của 8086 - 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 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 SUB dich,nguon ; tru dich cho nguon Lớp Điện Tử 2 – K12 9
  10. TRƯỜNG ĐH CÔNG NGHIỆP HÀ NỘI MÔN VI XỬ LÝ - 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 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. 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. Lớp Điện Tử 2 – K12 10
  11. TRƯỜNG ĐH CÔNG NGHIỆP HÀ NỘI MÔN VI XỬ LÝ LOOP nhan_nguon ; - Các lệnh AND, OR, XOR và TEST AND dich,nguon ;AND đích với nguồn, kết quả lưu ở đích OR dich,nguon ;OR đích với nguồn, kết quả lưu ở đích 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 - 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: “last in - first out” - Lệnh CALL: gọi thủ tục. CALL nhan; Lớp Điện Tử 2 – K12 11
  12. TRƯỜNG ĐH CÔNG NGHIỆP HÀ NỘI MÔN VI XỬ LÝ - Lệnh RET: trả lại điều khiển khi thủ tục được thực hiện xong. RET; 2. IC 8255A 2.1 Sơ đồ chân và chức năng của mỗi chân - 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. - 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. Lớp Điện Tử 2 – K12 12
  13. TRƯỜNG ĐH CÔNG NGHIỆP HÀ NỘI MÔN VI XỬ LÝ - 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.2 Ghép nối với vi xử lý Phần ghép nối với VI Xử LÝ gồm: - Bộ đệm dữ liệu: để trao đổi thong tin về dữ liệu hai chiều (vào/ra) giữa đường dây của vi xử lý và đường bus nội của 8255A. - Bộ logic điều khển đọc/ghi: là bộ giải mã địa chỉ lệnh cho các đoạn ghi đệm và đoạn ghi điều khiển 2.3 chế độ hoạt động Tùy 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. D7 D6 D5 D4 D3 D2 D1 D0 chiều cổng C thấp 1 1: vào Chế độ nhóm A 0: ra 00: chế độ 0 Chiều cổng B 01: chế độ 1 1: vào 1x: chế độ 2 chiều cổng A 0: ra 1: vào chiêu cổng C Chế độ nhóm B 0: ra 1: Vào 1: chế độ 1 0: Ra 0: ch ế đ ộ 0 + 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 D4: chọn chiều cho cổng PA, • Nếu D4=0: cổng PA sẽ xuất dữ liệu ra. • Nếu D4=1: cổng PA sẽ nhận dự liệu bên ngoài vào + Bít D3: chọn chiều ra/vào cho 4 bit cao của cổng PC Lớp Điện Tử 2 – K12 13
  14. TRƯỜNG ĐH CÔNG NGHIỆP HÀ NỘI MÔN VI XỬ LÝ • Nếu D3=0 thì cho phép cổng PC cao xuất dữ liệu ra • Nếu D3=1 thì cho phép cổng PC ca0 nhận dữ liệu + 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 D1: chọn chiều ra/vào cho cổng PB • Nếu D1=0 thì cho phép cổng PB xuất dữ liệu ra • Nếu D1=1 thì cho phép cổng PB nhận dữ liệu + Bít D0: chọn chiều ra/vào cho 4 bit thấp của cổng PC • Nếu D0=0 thì cho phép cổng PC thấp xuất dữ liệu ra • Nếu D0=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, PC cao xuất dữ liệu, cổng PC thấp nhận dữ liệu , ta cài đặt thanh ghi điều khiển như sau: Mov al, 100000001B 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 3. Cấu tạo IC giải mã địa chỉ Trong số các đường tín hiêu phục vụ việc trao đổi dữ liệu của 8086 có một số đương là tín hiệu đa hợp (từ AD0  AD15), để sử dụng đúng mục đích các đường tín hiệu này thì cần có một mạch chốt tách riêng các tín hiệu trên chân đa hợp. Trong bài tập lớn lần này, chúng em sử dụng IC 74273 làm mạch chốt , mạch có ưu điểm gọn gang, dễ làm, linh kiện dễ kiếm và giá thành rẻ. Đây là sơ đồ cấu tạo bên trong của IC 74273: Lớp Điện Tử 2 – K12 14
  15. TRƯỜNG ĐH CÔNG NGHIỆP HÀ NỘI MÔN VI XỬ LÝ 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 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 4. Cấu tạo và hoạt động của LED 7 đoạn - LED 7 đoạn là loại LED được tích hợp bởi 8 LED đơn sắc sắp xếp thành hình số 8 và 1 dấu chấm phía dưới. Có 2 loại LED 7 đoạn: + chung Anode: các LED tích hợp bên trong được mắc nối chung cực Anot (CA). + chung Cathode: các LED tích hợp bên trong mắc nối chung cực Katot (CC). Lớp Điện Tử 2 – K12 15
  16. TRƯỜNG ĐH CÔNG NGHIỆP HÀ NỘI MÔN VI XỬ LÝ Chung cathode chung Anode LED 7 đoạn loại CA Hoat động: - Đối với loai LED mắc theo kiểu Anot chung thì chúng ta cấp nguồn Vcc vào chân Anot (chân 8). Để có thể hiển thị các chữ số như mong muốn thì chúng ta phải nối các chân a, b, c, d, e, f, g với mass tương ứng với chữ số đó. VD: số 1 thì chúng ta nối chân b(6) và c(4) với mass Số 2 thi chúng ta nối chân a(7), b(6), g(10), e(1) và d(2) với mass. - Đối với loai mắc theo kiểu Katot chung thi chúng ta nối chân Katot (8) với mass. Để có thể hiển thị các chữ số như mong muốn thì chúng ta phải nối các chân a, b, c, d, e, f, g với Vcc tương ứng với chữ số đó. VD: số 1 thì chúng ta nối chân b(6) và c(4) với Vcc Số 2 thi chúng ta nối chân a(7), b(6), g(10), e(1) và d(2) với Vcc IV. PHẦN LẬP TRÌNH HỢP NGỮ CHỦ ĐỀ: Viết chương trình thực hiện nhập liên tiếp một dãy các ký tự khi nào gặp enter thì kết thúc. Hiển thị dãy ký tự theo chiều ngược lại. 1. Sơ đồ thuật toán. Lớp Điện Tử 2 – K12 16
  17. TRƯỜNG ĐH CÔNG NGHIỆP HÀ NỘI MÔN VI XỬ LÝ 2. Code chương trình .model small .stack 100h .data Tb1 DB "Nhap vao xau ky tu: $" Tb DB 10,13,"Ban chua nhap ky tu nao: $" Tb2 DB 10,13," hien thi theo chieu nguoc lai: $" .code Main proc ; Khoi dau doan DS Mov AX,@data Mov DS,AX Mov Ah,9 Lea DX,Tb1 Int 21h Xor CX,CX Input: Mov Ah,1 Int 21h Cmp AL,13 Lớp Điện Tử 2 – K12 17
  18. TRƯỜNG ĐH CÔNG NGHIỆP HÀ NỘI MÔN VI XỬ LÝ JE Disp Inc CX Push AX Jmp Input Disp: cmp cx,0 je thongbao Mov Ah,9 Lea DX,Tb2 Int 21h Mov Ah,2 Display: Pop DX ;Mov ah,2 Int 21h loop Display jmp quit thongbao: mov ah,9 lea dx,tb int 21h ; Thoat khoi chuong trinh quit: Mov AH,4Ch Int 21h Main Endp End Main V. PHẦN GHÉP NỐI BỘ NHỚ CHỦ ĐỀ: 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(64K x 8 bit) 00000H (Địa chỉ đầu của ROM) Khoảng trống RAM(32K x 8 bit) RAM (32K x 8 bit) FFFFFH ( địa chỉ đầu cuối của RAM) Lớp Điện Tử 2 – K12 18
  19. TRƯỜNG ĐH CÔNG NGHIỆP HÀ NỘI MÔN VI XỬ LÝ 1. Giải mã địa chỉ Theo giả thiết, từ địa chỉ đầu là 00000H đến địa chỉ cuối là FFFFFH ta suy ra, bộ nhớ cần thiết kế có dung lượng 1MB. Mặt khác, bộ nhớ có cấu trúc 1 ROM (64Kx8), 2 RAM (32Kx8) , tổng dung lượng ROM và RAM là 128KB nên khoảng trống cần tìm có dung lượng 896KB. Từ giả thiết đó ta thiết lập bảng giải mã địa chỉ cho từng vi mạch nhơ như sau Dung A A A A A A A A A A A A A A A A A A A A lượng 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 Địa chỉ ROM 0000 0000 0000 0000 0000 00000 64Kx8 0000 1111 1111 1111 1111 0FFF Khoảng 0001 0000 0100 0000 0000 10000 trông 1110 1111 1111 1111 1111 EFFFF RAM1 1111 0000 0000 0000 0000 F0000 32Kx8 1111 0111 1111 1111 1111 F7FFF RAM2 1111 1000 0000 0000 0000 F8000 32Kx8 1111 1111 1111 1111 1111 FFFFF Từ bảng giải mã địa chỉ cho từng vi mạch nhớ, ta để ý 4 bít A19, A18, A17 và A16 có giá trị là: + 0000 : thì chọn vi mạch nhớ ROM 64K hoạt động. + 0001 đến 1110: thì bỏ qua – do địa chỉ này thuộc khoảng trống. + 1111: thì 2 RAM cuối được chọn  Chúng ta sẽ dùng 4 bít này đưa vào mạch giải mã 74154 để chọn ROM hoặc RAM hoạt động. tuy nhiên do chúng ta có tới 2 vi mạch RAM 32k nên chúng ta sẽ chọn thêm một bit nữa để chọn 2 vi mạch này, ta thấy bít A15 thỏa mãn yêu cầu, nếu Bít A15=0 thì chọn RAM1, A15=1 thì chọn RAM2. Từ đó chúng ta sẽ xây dựng mạch giải mã như hình dưới: Lớp Điện Tử 2 – K12 19
  20. TRƯỜNG ĐH CÔNG NGHIỆP HÀ NỘI MÔN VI XỬ LÝ 2. Cơ chế chọn địa chỉ Chúng ta chọn 4 bit A19, A18, A17, A16 để đưa vào mạch giải mã, nếu 4 bít này nhận giá trị là 0000 thì ROM 64K được chọn - chân 1 của 74154 sẽ xuống 0V cho phép ROM hoạt động, các chân còn lại nâng lên mức cao làm vô hiệu hóa các vi mạch đó ; nếu 4 bit này nhận giá trị từ 0001 đến 1110 thì các vi mạch nhớ đều bị vô hiệu hóa – 2 đầu ra ở chân 1 và chân 17 đều ở mức cao. Nếu 4 bít này nhận giá trị 1111 thì chân 17 của 74154 ở mức thấp (0V), chân này sẽ đưa vào 2 cổng OR để kết hợp với bit A15 để chọn RAM hoạt động.lúc này, nếu bit A15 = 0V thì chân CE1 sẽ ở mức thấp, CE2 ở mức cao => cho phép RAM1 hoạt động, RAM2 vô hiệu hóa. Ngược lại, nếu bit A15 = 5V, thì chân CE1 lại ở mức cao 5V, chân CE2 ở mức thấp 0V , RAM1 bị vô hiệu hóa và RAM 2 hoạt động. lúc này các đầu ra trên các chân tử 1 đến 16 của IC 74154 đều ở mức cao. VI. GHÉP NỐI 8086 VỚI 8255 Lớp Điện Tử 2 – K12 20

CÓ THỂ BẠN MUỐN DOWNLOAD

Đồng bộ tài khoản