Tiểu luận nhóm đề tài môn vi xử lý và cấu trúc máy tính

25 1.4K 1
Tiểu luận nhóm đề tài  môn vi xử lý và cấu trúc máy tính

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

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: Nhóm 16: Ngô Xuân Vui Lê Thị Mưa Nguyễn Duy Mạnh LỜI NÓI ĐẦU Khoa học ngày phát triển mạnh mẽ, nhu cầu sử dụng công nghệ ngày cao, yêu cầu độ xác suất hoạt động cao Từ yêu cầu đó, người cần phải sản xuất phát minh công cụ, sản phẩm ứng dụng phát triển ngành công ngệ lập trình Đi tiên phong hệ vi xử lý lập trình theo nhu cầu mong muốn người, nhà sản xuất chip vi xử lý Intel phát triển chế tạo thành công chip 4004 vào năm 1971 Là vi xử lý bit mở đầu cho kỷ nguyên hệ vi xử lý máy tính Một mốc son quan trọng mà Intel đạt hãng sản xuất vi xử lý mang tên 8086 có độ rộng liệu lên đến 16 bit với 29000 bóng bán dẫn tích hợp bên vi xử lý mở đầu cho họ vi xử lý x86 Bộ vi xử lý 8086 mang lại bùng nổ công nghệ với có mặt hầu hết máy tính thời ký Để hiểu rõ cấu tạo cách ghép nối vi xử lý với thiết bị ngoại vi, chúng em xin trình bày số ví dụ cụ thể báo cáo Nhóm sv thực hiện: Họ tên Mã sinh viên Lê Thị Mưa 1231050097 Ngô Xuân Vui 1231050160 Nguyễn Duy Mạnh 1231050117 Nhận xét đóng góp ý kiến giáo viên: Chúng em xin chân thành cảm ơn! PHỤ LỤC: BỘ CÔNG THƯƠNG LỜI NÓI ĐẦU A NỘI DUNG THỰC HIỆN I NỘI DUNG II MỤC ĐÍCH B CƠ SỞ LÝ THUYẾT I VI XỬ LÝ VÀ CẤU TRÚC MÁY TÍNH Khái niệm .6 a Các phậncủa cấu trúc máy tính : .6 b phần cứng phần mền Cấu tạo chức 8086 .7 a Sơ đồ khối 8086 .7 b Sơ đồ chân 8086 c Các hàm ngắt tập lệnh 8086 10 C CÁC THIẾT BỊ NGOẠI VI .13 I IC 8255A 13 Sơ đồ chân chức chân .13 chế độ hoạt động 14 II IC GIẢI MÃ ĐỊA CHỈ 74273 15 III IC GIẢI MÃ ĐỊA CHỈ 74HC139 15 IV CẤU TẠO LED THANH .16 D MỘT SỐ VÍ DỤ .18 I PHẦN LẬP TRÌNH HỢP NGỮ 18 Sơ đồ thuật toán 18 Code chương trình .18 II PHẦN GHÉP NỐI BỘ NHỚ 19 Giải mã địa 20 Cơ chế chọn địa .21 III GHÉP NỐI 8086 VỚI 8255 .22 Ghép nối phần cứng .22 Sơ đồ thuật toán 23 Code chương trình .23 E KẾT LUẬN 25 \ A NỘI DUNG THỰC HIỆN I NỘI DUNG - Thực mố số ví dụ cụ thể để hiểu rõ cấu trúc, tập lệnh chức chân vi xử lý 8086 Một số ví dụ cụ thể sau: Ví dụ Viết chương trình thực nhập liên tiếp dãy ký tự gặp enter kết thúc Hiển thị dãy ký tự theo chiều ngược lại Ví dụ 2: Xây dựng mạch giải mã địa cho nhớ gồm vi mạch nhớ bố trí sau: ROM(32K x bit) 00000H (Địa đầu ROM) Khoảng trống RAM(64K x bit) RAM (32K x bit) FFFFFH (Địa đầu cuối RAM) Ví dụ 3: Ghép Led đoạn Anodes chung (7SEG) với cổng PB, nút bấm (Button) với cổng PC Viết chương trình điều khiển để bấm Button Led sáng nhấp nháy số 4, bình thường LED sáng số II MỤC ĐÍCH - Giúp người biết hiểu rõ cách ghép nối giưa vi xử lý 8086 8255 - Giúp người biết hiểu rõ cách ghép nối nhớ từ vi mạch nhớ khác tùy theo yêu cầu đề - Hiểu rõ cấu trúc lập trình tập lệnh vi xử lý 8086 B I CƠ SỞ LÝ THUYẾT VI XỬ LÝ VÀ CẤU TRÚC MÁY TÍNH Khái niệm Vi xử lý phận trung tâm máy tính, có nhiệm vụ xử lý thông tin, vào liệu, điều khiển thiết bị ngoại vi,… Một máy tính có cấu trúc bao gồm: chip vi xử lý trung tâm (CPU), nhớ ROM, RAM thiết bị ngoại vi có nhiệm vụ giao tiếp máy tính với người Sơ đồ khối cấu trúc máy tinh sau: a Các phậncủa cấu trúc máy tính :  Bộ vi xử lý (CPU- Central Processin Unit) Với vai trò xử lý trung tâm, đầu não máy tính, vi xử lý phải thực thi nhiều nhiệm vụ từ việc vào/ra liệu, xử lý thông tin, tính toán số liệu, điều khiển thiết bị ngoại vi,…  Bộ nhớ - Bộ nhớ chia thành RAM ROM: + RAM (Random Access Memory): nhớ ghi/đọc, có nghĩa ta đọc thông tin từ nhớ, xóa thông tin cũ nhớ ghi thông tin vào nhớ; + ROM (Read Only Memory) :dùng để chứa chương trình điều khiển hệ thống chương trình để kiểm tra thiết bị bật nguồn, chương trình khởi động máy… Nội dung bên ROM không bị bị nguồn  Mạch ghép nối vào/ra Mạch ghép nối vào/ra có nhiệm vụ tạo khả giao tiếp hệ vi xử lý với giới bên Bao gồm thiết bị : thiết bị vào (bàn phím, chuột, máy quét….).thiết bị ra(màn hình, máy in, … )  Bus hệ thống Gồm có: + Bus điều khiển:là đương dây mang tín hiệu điều khiển hoạt động phản ánh trạng thái khối /RD, /WR, /INT… + Bus liệu đường dây mang số liệu mà vi xử lý trao đổi với thiết bị nhớ thiết bị ra/vào + Bus địa : mang thông tin địa ô nhớ hay thiết bị vào/ra b phần cứng phần mền  Phần cứng Phần cứng (hardware) thuật ngữ dùng để toàn thiết bị khí, điện tử tạo nên máy tính ổ đĩa, hình,…  Phần mềm Phần mềm (software) thuật ngữ dùng để chương trình máy tính, thực thi phần cứng cách điều khiển hoạt động phần cứng Các phần mền chia thành loại sau: Hệ điều hành DOS, Windows,… Trình tiện ích NC, NU, BKAV,… Chương trình ứng dụng MS Word, Protel,…… Ngôn ngữ lập trình pascal, C, C++, Java,… Cấu tạo chức 8086 a Sơ đồ khối 8086 - Bên vi xử lý 8086 bao gồm khối chính: + Khối thực lệnh (EU- Execution Unit) nơi giả mã thi hành lệnh + giao tiếp bus (BIU- Bus Interface Unit) có nhiệm vụ đẩm bảo việc trao đổi thông tin 8086 với linh kiện bên  Khối thực lệnh (EU) Khối thực lệnh (EU- Execution Unit) nơi giả mã thi hành lệnh EU bao gồm: - Bộ xử lý số học logic(ALU - Arithmatic Logiccal Unit) nơi thưc lệnh số học lệnh logic Các ghi đa năng: + Thanh ghi AX: ghi chứa, kết thao tác thường chứa Nếu kết bit ghi AL sử dụng + Thanh ghi BX: ghi sở, thương chứa địa sở bảng sử dụng lệnh XLAT + Thanh ghi CX: ghi đếm, thường chứa số lần lặp lại trường hợp dùng lênh LOOP, CL thường chứa số lần quay hay dịch bít ghi + Thanh ghi DX: ghi liệu, thường sử dụng với ghi AX để thực phép nhân hay chia số 16 bit DX sử dụng để chứa địa cổng lệnh vào/ra liệu trực tiếp - Thanh ghi cờ F ghi gồm 16 bit sử dụng 9bit lại không sử dụng - Các bit cờ chia thành hai loại: * Các cờ trạng thái: có cờ trạng thái C, P, A, Z, S O Các cờ trạng thái thiết lập xóa sau hầu hết lệnh toán học 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ó cờ T, I, D Các cờ thiết lập xóa thông qua lệnh để điều khiển chế độ làm việc vi xử lý + T (Trap): cờ bẫy, + I (Interrupt): cờ ngắt; + D (Direction): cờ hướng - Có đoạn ghi trỏ (IP, BP, SP) đoạn ghi số (SI, DI) Các đoạn ghi ngầm định sử dụng làm đoạn ghi lệch cho đoạn tương ứng: + IP (Instruction Pointer), BP (Base Pointer ), SP (Stack Ponter), SI (Source Index): DI (Destinaton Index) - Khối điều khiển (CU- Control unit) Có nhiệm vụ tạo tín hiệu điều khiển phận bên bên CPU 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 8086 với linh kiện bên BIU gồm : - Một cộng để tạo địa vật lý 20 bit từ ghi 16 bit - Bốn ghi đoạn 16 bit gồm CS, DS, SS ES để giúp 8086 truy cập tới đoạn nhớ + Thanh ghi đoạn mã CS (Code Segment), + Thanh ghi đoạn liệu DS (Data Segment) + Thanh ghi đoạn 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 8086 với thiết bị bên - Hàng đợi lệnh có độ dài byte nơi chứa mã lệnh đọc nằm sẵn để chờ EU xử lý b Sơ đồ chân 8086 Vi xử lý 8086 thiết kế để hoạt động 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 điện áp chân số 33 mức 5V Chế độ tối đa (chế độ MAX) thiết lập điện áp chân số 33 mức 0V Vi xử lý 8086 có 20 đường địa từ A0 đến A19 tong 16 đường dây địa thấp từ A0 đến A15 ghép kênh liệu từ D0 đến D15 chân từ AD0 đến AD15 ; đường dây địa cao từ A16 đến A19 ghép kênh với tín hiệu trạng thái từ S3 đến S6 chân A16/S3 đến A19/S6 - Vi xử lý 8086 có 16 đường dây liệu từ Do đến D15 ghép kênh với 16 đường địa thấp từ D0 đến D15 Khi hoạt động chu kỳ bus liệu đường dây mang thông tin liệu, liệu đọc hay vào nhớ Bốn đường dây địa cao từ A16 đến A19 8086 ghép kênh , trường hợp ghép kênh với tín hiệu trạng thái từ S3 đến S6 Các bít trang thái đưa thời điểm với liệu truyền chân AD0 đén AD15 - READY: Tín hiệu báo cho CPU biết tình trạng sẵn sàng thiết bị ngoại vi hay nhớ Khi READY = CPU thực đọc/ghi liệu Khi thiết bị ngoại vi hay nhớ có tốc độ chậm, chúng đưa tín hiệu READY = để báo cho CPU biết mà chờ chúng - ALE: [I] Address Latch Enable Xung cho phép chốt địa Khi ALE = có nghĩa chân ghép kênh AD có địa thiết bị vào/ra ônhớ Khi CPU chấp nhận treo chân không trạng thái trở kháng cao mà ALE = - : [O] Data bus Enable Kích hoạt đệm bus liệu : Chọn nhớ (= 0) thiếtbị vào/ra (= 1) làm việc với CPU Khi bus địa có địa tương ứng thiết bị Chân trạng thái trở kháng cao CPU chấp nhận treo - :[O] Data Transmit/Receive Tín hiệu cho biết bus liệu vận chuyển liệu vào CPU hay khỏi CPU Tín hiệu dùng để điều khiển đệm chiều bus liệu - : Dùng để báo truy cập cao hay băng thấp nhớ :[O] Read signal Xung cho phép đọc Khi RD = bus liệu nhận liệu từ nhớ thiết bị ngoại vi - INTR: [I] Interrupt request Khi có yêu cầu ngắt (INTR = 1) mà cờ cho phép ngắt IF = CPU kết thúc lệnh làm dở, sau vào chu kỳ chấp nhận ngắt đưa bên tín hiệu INTA = :[I] Tín hiệu chân kiểm tra lệnh WAIT Khi CPU thực lệnh WAIT mà lúc tín hiệu TEST = chờ tín hiệu TEST = thực lệnh - NMI: [I] None-Maskable Interrupt Tín hiệu yêu cầu ngắt không che - RESET: Dùng để thiết lập lại phần cứng cho CPU Chuyển RESET xuống mức logic dùng để khởi tạo ghi nội vi xử lý khởi tạo chương trình phục vụ thiết lập hệ thống c: Các hàm ngắt tập lệnh 8086  Tập lệnh 8086 + Lệnh XCHG: toán hạng đích nguồn đổi lẫn cho XHCG đích, nguồn + Lệnh XLAT: XLAT nhãn_nguồn + Lệnh ADD, SUB: ADD đích,nguồn - cộng nguồn vào đích + Lệnh ADC: cờ nhớ cộng vào toán hạng đích nguồn ADC đích,nguồn + Lệnh DIV: thực phép chia không dấu, toán hạng nguồn ô nhớ hay đoạn ghi Nếu toán hạng nguồn bit thương số nằm AL, số dư nằm AH; toán hạng nguồn 16 bit, thương số nằm AX số dư nằm DX DIV nguồn; + Lệnh IDIV (integer divide): thực phép chia có dấu IDIV nguồn; + Lệnh IMUL: thực phép nhân có dấu IMUL nguồn; + Lệnh INT : dùng để gọi hàm DOS BIOS ; Cú pháp : int 21h + Lệnh MOV: chuyển liệu từ toán hạng nguồn vào toán hạng đích MOV đích, nguồn + Lệnh OUT: xuất liệu từ đoạn chứa cổng OUT cộng,đoạn_chứa + Lệnh IN: đọc liệu từ cổng vào đoạn ghi IN đoạn ghi, cổng + Lệnh NEG (NEGate): toán hạng đích bị trừ từ số toàn chữ số (0FFH với kiểu byte 0FFFFH với kiểu từ) NEG đích; + Lệnh SBB (SuBtract with Borrow): Trừ có nhớ Trừ toán hạng đích cho toán hạng nguồn CF=1 trừ kết nhận cho SBB đích, nguồn; + Lệnh MUL(Multiply): thực phép nhân không dấu Nhân nội dung đoạn AL với toán hạng nguồn Nếu nguồn kiểu byte tích chứa AX, nguồn kiểu từ thi tích chứa DX:AX MUL nguồn; - 10 + Lệnh JNZ: KQ lệnh trước khác thi thực lệnh nhảy đến nhãn_đích, ngược lại thực lệnh sau JNZ nhan_dich; + Lệnh JA, JG: nhảy lớn + Lệnh JB, JL : nhảy nhỏ + Lệnh JNA, JNG: nhảy không lớn + Lệnh JE: nhảy + Lệnh JC : nhảy cờ CF=1 + Lệnh nhảy không điều kiện (JuMP) : nhảy đến nhãn_nguồn gặp lệnh JMP nhan_nguon ; + Lệnh CMP (CoMPare) : so sánh toán hạng cách trừ toán hạng cho mà không lưu lại kết CMP dich, nguon ; + Lệnh lặp : lặp lại nhãn_nguồn gặp lệnh LOOP nhan_nguon ; + Các lệnh AND, OR, XOR TEST AND dich,nguon ;AND đích với nguồn, kết lưu đích OR dich,nguon ;OR đích với nguồn, kết lưu đích XOR dich,nguon ;XOR đích với nguồn, kết lưu đích TEST dich,nguon ;AND đích với nguồn, kết không lưu lại + Lệnh dịch: SHL/SAL dich,1 ;dich sang trai bit SHL/SAL dich,CL ; dich sang trai nhieu bit SHR dich,1 ; dich sang phai bit SHR dich,CLL ; dich sang phai nhieu bit + Lệnh quay: ROL/ROR dich,1 ; quay đích sang trái/phải 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 bit RCL/RCR dich,CL ; quay đích sang trái/phải n bit, với CL=n + Lệnh HLT (HaLT): đưa vi xử lý vào trạng thái dừng để chờ ngắt Dạng lệnh: HLT + Lệnh LOCK: khóa bus môi trường có nhiều vi xử lý + Lệnh NOP: không thực thao tác + Lệnh STI: IF thiết lập + Lệnh WAIT: Bộ vi xử lý trạng thái chờ ngắt + Lệnh PUSH: cất liệu vào ngăn xếp, giảm SP PUSH nguon; + Lệnh PUSHF: chuyển đoạn ghi cờ vào ngăn xếp PUSHF; 11 + Lệnh POP: lấy liệu khỏi ngăn xếp đưa vào toán hạng đích POP dich; + Lệnh POPF: chuyển nội dung byte từ đinh ngăn xếp vào đoạn ghi cờ, sau tăng trỏ ngăn xếp lên POPF; + Lệnh CALL: gọi thủ tục CALL nhan; + Lệnh RET: trả lại điều khiển thủ tục thực xong RET;  Các hàm ngắt 21h 8086 - Hàm 1: hàm chờ đọc vào ký tự từ thiết bị vào chuẩn(bàn phím) Kết lưu vào AL cú pháp: MOV AH,1 INT 21H - Hàm : hàm hiển thị nội dung ghi DL lên hình thi hành chức điều khiển Cú pháp: MOV AH,2 MOV DL,’A’ Int 21H - Hàm 4CH : hàm kết thúc chương trình trả điều khiển cho chương trình gọi Cú pháp : MOV AH,4CH INT 21H - Hàm : Là hàm hiển thị hình chuỗi kí tự Cú pháp : MOV AX,@DATA MOV DS,AX ;khoi tao ghi doan du lieu DS MOV AH,9 LEA DX,’chuoi ki tu’ INT 21H  Cấu trúc chương trình lập trình cho 8086 model small ;khai bao kieu bo nho la small stack 100h ;khai bao kich thuoc ngan xep la 100h data ;khai bao doan du lieu ;khai báo biến, code ;khai bao doan ma Main proc ;các lệnh chương trình 12 Main endp ;các hàm thủ tục End main C I CÁC THIẾT BỊ NGOẠI VI IC 8255A Sơ đồ chân chức chân Trên thị trường nghiên cứu nghiên cứu loại đóng gói dạng DIP 40 chân 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 cổng giao tiếp liệu bít PC, cần thiết, tách thành phần PC cao từ bít PC7 đến PC4 PC thấp từ bít PC0 đến PC3 - 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 cổng giao tiếp liệu bit vào/ PA Tùy theo ghi điều khiển cài đặt mà cổng xuất liệu nhận liệu vào - Các chân từ 18 đến 25: tương ứng với cổng PB từ PB0 đến PB7 Tương tự cổng PA, cổng PB đưa liệu bít vào cách thiết lập giá trị ghi điều khiển - Các chân từ 27 đến 34 : tương ứng theo thứ tự từ D7 đến D0 - Bus liêu(2 chiều) Bus liệu chiều nối tới tín hiệu tương ứng Vi xử lý để trao đổi liệu vào/ra chip 8086 xử lý - Chân 35: chân Reset - khởi tạo trạng thái ban đầu IC 8255 Nếu đặt mức lên mức IC bị RESET lại từ đầu để mạch chạy được, phải đặt chân mức 0V – GND - Chân 6: chân /CS - Tín hiệu chọn vi mạch Đây tín hiệu tích cực mức thấp 0v, vây phải đặt chân mức thấp để chọn IC 8255 hoạt động nhờ vậy, chân sử dụng để kết hợp với mạch giải mã địa để Vi xử lý điều khiển hoạt động yêu cầu - Chân 5: chân /RD (Read)- chân tín hiệu cho phép đọc - Chân 36: chân /WR(Write) – chân tín hiệu cho phép ghi - 13 - Chân 8: tương ứng với chân tín hiệu địa A0 – A1, chân nối với bít tách từ tách địa 8086, chân dùng để giải mã cho cổng 8255 với quy luật sau: + A1A0 00: mã hóa cho cổng PA + A1A0 01: mã hóa cho cổng PB + A1A0 10: mã hóa cho cổng PC + A1A0 11: mã hóa cho ghi điều khiển Chính vậy, để chọn vị trí cổng phải đưa bít tách từ tách tín hiệu địa cho chân mã hóa quy luật A1, A0 8255 Chế độ hoạt động Tùy thuộc vào đoạn ghi điều khiển khởi tạo mà vi mạch hoạt động chế độ 0, 1, khác nhau, chiều cổng A, B, C vào Thanh ghi điều khiển gồm có bit, bít có chức khác nhau: A6 A5 A4 A3 A2 A1 A0 + Bit A6 A5 dùng để chọn chế độ nhóm A  Nếu A6 A5 00 chọn chế độ  Nếu A6 A5 01 chọn chế độ  Các trường hợp khác không xác định + Bít A4: chọn chiều cho cổng A4,  Nếu A4=0: cổng A4 xuất liệu  Nếu A4=1: cổng A4 nhận dự liệu bên vào + Bít A3: chọn chiều ra/vào cho bit cao cổng PC  Nếu A3=0 cho phép cổng PC cao xuất liệu  Nếu A3=1 cho phép cổng PC cao nhận liệu + Bít A2: chọn chế độ nhóm B  Nếu A2=0 chọn chế độ  Nếu A2=1 chọn chế độ + Bít A1: chọn chiều ra/vào cho cổng PB  Nếu A1=0 cho phép cổng PB xuất liệu  Nếu A1=1 cho phép cổng PB nhận liệu + Bít A0: chọn chiều ra/vào cho bit thấp cổng PC  Nếu A0=0 cho phép cổng PC thấp xuất liệu  Nếu A0=1 cho phép cổng PC thấp nhận liệu VD: để chọn chế độ nhóm A chế độ 0, nhóm B chế độ 0, cổng PA, PB xuất liệu, cổng PC nhận liệu , ta cài đặt ghi điều khiển sau: Mov al, 100010001B Out DK, al Chế độ 0: + cổng A, B, C sử dụng độc lập với + Cổng A, B, C vào tùy vào đoạn ghi điều khiển 14 - Chế độ 1: chế độ gọi chế độ vào/ra đột cửa hay đối thoại với bit cổng C Các cổng A, B, C chia thành nhóm: + Nhóm A gồm cổng A để trao đổi liệu cổng C cao để đối thoại với bị Vi Xử Lý thiết + Nhóm B gồm cổng B để trao đổi liệu cổng C thấp để đối thoại với Vi Xử Lý thiếu bị II IC GIẢI MÃ ĐỊA CHỈ 74273 Cấu tạo bên chức chân: IC 74273 IC số tích hợp bỏi flip-flop loại D lắp theo kiểu đồng xung đồng hồ chân clear IC gồm có 20 chân đó: + 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 chân Clear (MR) + Chân 11 chân xung đồng hồ (CP) + Các chân 3, 4, 7, 8, 13, 14, 17, 18 chân tín hiệu vào nối với dây tín hiệu đa hợp Vi Xử Lý + Các chân 2, 5, 6, 9, 12, 15, 16, 19 chân tín hiệu địa tách - Do tích hợp FF_D nên IC tách đương địa đa hợp cua 8086 Vì mạch cần IC 74273 để tách hết 16 đường địa 8086 - Tùy theo đề yêu cầu mà đầu sử dụng với mục đích khác nhau, chân nối với mạch giải mã địa đưa vào chân CS 8255 dành bit để mã hóa cho cổng 8255, chân nối vào chân A1, A0 8255 III IC GIẢI MÃ ĐỊA CHỈ 74LS139 sơ đồ cấu tạo bên chức chân IC 74LS139 15 - IC 74LS139 IC giải mã bít với đầu tích cực mức âm IC đóng gới dạng DIP 16 chân Bên IC tích hợp giải mã bit với chức chân sau: o Chân (1G) 15(2G): chân chọn chip giải mã tích cực mức thấp, nghĩa là, phép giải mã hoạt động chân G tương ứng đặt mức 0V o Chân 2, 14, 13: chân tín hiệu cần giải mã vào tương ứng giải mã o Chân 4, 5, 6, 7: chân tín hiệu Y0, Y1, Y2, Y3 giải mã thứ o Chân 12, 11, 10, 9: chân tín hiệu giải mã thứ hai o Chân (GND) chân 16 (Vcc): chân nguồn nuôi chip - Cơ chế mã hóa sau: chân tín hiệu đầu vào B,A đặt mưc logic tương ứng là: o 00: chân Y0 mức logic thấp(0v), chân lại mức cao o 01: chân Y1 mức logic thấp(0v), chân lại mức cao o 10: chân Y2 mức logic thấp(0v), chân lại mức cao o 11: chân Y3 mức logic thấp(0v), chân lại mức cao IV CẤU TẠO LED THANH - LED đoạn loại LED tích hợp LED đơn sắc xếp thành hình số dấu chấm phía Có loại LED đoạn: + Chung Anode: LED tích hợp bên mắc nối chung cực Anot (CA) + Chung Cathode: LED tích hợp bên mắc nối chung cực Katot (CC) 16 Chung cathode chung Anode LED đoạn loại CA Hoat động: - Đối với loai LED mắc theo kiểu Anot chung cấp nguồn Vcc vào chân Anot (chân 8) Để hiển thị chữ số mong muốn phải nối chân a, b, c, d, e, f, g với mass tương ứng với chữ số VD: số nối chân b(6) c(4) với mass Số thi nối chân a(7), b(6), g(10), e(1) d(2) với mass - Đối với loai mắc theo kiểu Katot chung thi nối chân Katot (8) với mass Để hiển thị chữ số mong muốn phải nối chân a, b, c, d, e, f, g với Vcc tương ứng với chữ số VD: số nối chân b(6) c(4) với Vcc Số thi nối chân a(7), b(6), g(10), e(1) d(2) với Vcc 17 D I MỘT SỐ VÍ DỤ PHẦN LẬP TRÌNH HỢP NGỮ CHỦ ĐỀ: Viết chương trình thực nhập liên tiếp dãy ký tự gặp enter kết thúc Hiển thị dãy ký tự theo chiều ngược lại Sơ đồ thuật toán Code chương trình model small stack 100h data tb1 db 10,13,"nhap vao day ki tu: $" tb2 db 10,13," day vua nhap theo chieu nguoc lai: $" tb3 db 10,13,"ban chua nhap ki tu nao: $" code main proc mov ax,@data mov ds,ax 18 mov ah,9 lea dx,tb1 int 21h mov cx,0 nhap: mov ah,1 int 21h cmp al,0dh je hienthi push ax inc cx jmp nhap hienthi: cmp cx,0 je thongbao mov ah,9 lea dx,tb2 int 21h mov ah,2 nguoc: pop dx int 21h loop nguoc jmp thoat thongbao: mov ah,9 lea dx,tb3 int 21h thoat: mov ah,4ch int 21h end main II PHẦN GHÉP NỐI BỘ NHỚ CHỦ ĐỀ: Xây dựng mạch giải mã địa cho nhớ gồm vi mạch nhớ bố trí sau: 19 00000H (Địa đầu ROM) ROM(32K x bit) Khoảng trống RAM(64K x bit) RAM (32K x bit) FFFFFH (Địa đầu cuối RAM) Giải mã địa Theo giả thiết, từ địa đầu 00000H đến địa cuối FFFFFH ta suy ra, nhớ cần thiết kế có dung lượng 1MB Mặt khác, nhớ có cấu trúc ROM (32Kx8), RAM (64Kx8) RAM (32Kx8) , tổng dung lượng ROM RAM 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 cho vi mạch nhơ sau Dung lượng - A A A A A A A A A A A A A A A A A A A A 19 18 17 16 15 14 13 12 11 10 Địa ROM 0000 0000 0000 0000 0000 00000 32Kx8 0000 0111 1111 1111 1111 07FFF Khoảng trông 0000 1000 0000 0000 0000 08000 1110 0111 1111 1111 1111 E7FFF RAM1 1110 1000 0000 0000 0000 E8000 64Kx8 1111 0111 1111 1111 1111 F7FFF RAM2 1111 1000 0000 0000 0000 F8000 32Kx8 1111 1111 1111 1111 1111 FFFFF Để chọn xác địa vi mạch nhớ hoạt động, dựa vào đặc điểm dải địa vi mạch nhớ Từ bảng giải mã địa cho vi mạch nhớ trên, nhận thấy: o Đối với vi mạch nhớ ROM (32Kx8), có bit cao từ A15 đến A19 có mức logic không đổi 0, ta sử dụng bit để mã hóa cho  Ta đưa bit qua cổng OR với đầu nối với chân Chọn chip CE vi mạch nhớ ROM (32Kx8) o Đối với khoảng trống (896 KB) có dải địa từ 01000H đến F7FFFH, bỏ qua dải địa o Đối với vi mạch nhớ RAM 64K 32K, chúng có bít cao từ A17 đến A19 có mức Lgic không đổi 1, ta dùng bit để mã hóa cho vi mạch nhớ RAM, ta đưa bit qua cổng NAND với đầu đưa vào chân Chip Enable IC giải mã 74HC139 Mặt khác, thấy có bit A16 A15 vi mạch nhớ nhận giá trị khác nhau, nên ta đưa bit vào chân 20 B A tương ứng để mã hóa cho vi mạch nhớ sau: bit A16A15 nhận giá trị:  00: bỏ qua thuộc dải địa khoảng trống  01 10: chọn vi mạch nhớ RAM1 64Kx8  11: ta chọn vi mạch nhớ RAM2 32Kx8  Sơ đồ ghép nối nhớ sau: ROM 32K A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 A10 A11 A12 A13 A14 20 22 RD VPP A15 A16 A17 A18 A19 10 25 24 21 23 26 27 U1 A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 A10 A11 A12 A13 A14 CE OE VPP 27C256 RAM 64K D0 D1 D2 D3 D4 D5 D6 D7 11 12 13 15 16 17 18 19 D0 D1 D2 D3 D4 D5 D6 D7 A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 A10 A11 A12 A13 A14 A15 M/IO U2:A A15 A16 A B E 74ALS139 NAND_4 D0 D1 D2 D3 D4 D5 D6 D7 D0 11 12 D1 13 D2 15 D3 16 D4 17 D5 18 D6 19 D7 CE WE OE RAM 32K NOT A19 M/IO A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 A10 A11 A12 A13 A14 A15 62257 A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 A10 A11 A12 A13 A14 OR_7 A17 A18 20 27 22 WR RD U3 U4 10 25 24 21 23 26 28 Y0 Y1 Y2 Y3 WR RD 10 25 24 21 23 26 20 27 22 A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 A10 A11 A12 A13 A14 D0 D1 D2 D3 D4 D5 D6 D7 11 12 13 15 16 17 18 19 D0 D1 D2 D3 D4 D5 D6 D7 CE WE OE 62256 Cơ chế chọn địa Kết hợp bảng gải mã địa nhìn vào sơ đồ ghép nối nhớ, ta thấy nguyên lý chọn tưng vi mạch nhớ sau: 21 - - Nếu bit A19, A18, A17, A16 A15 nhận mức logic bít lại từ A14 đến A10 nhận giá trị từ 000.0000.0000 đến 111.1111.111 đầu cổng OR chân CE0 tích cực mức logic 0, cho phép ROM 32K hoạt động, đồng thời đầu cổng NAND tích cực mức 1, làm cho IC giải mã 74HC139 không làm việc, tất đầu đểu mức logic cao, làm vô hiệu hóa vi mạch lại Tương tự vi mạch RAM, bit đầu A19,A18 A17 mức đầu cổng OR mức cao làm vô hiệu hóa vi mạch nhớ ROM 32K, đồng thời đầu cổng NAND mức thấp, làm cho chip giải mã 74HC139 hoạt động lúc 2bit A16 A15 mã hóa cho đầu tương ứng sau: o 00: đầu Y0=0; Y1=Y2=Y3=1 – bỏ qua địa o 01: đầu Y1=0; Y0=Y2=Y3=1 – CE1=0 - cho phép RAM 64KB hoạt động o 10: đầu Y2=0; Y1=Y0=Y3=1 - CE1=0 - cho phép RAM 64KB hoạt động o 11: đầu Y3=0; Y1=Y2=Y0=1 – CE2=0 – cho phép RAM 32KB hoạt động  vậy, đầy để mã hóa cho vi mạch nhớ RAM 64KBx8, bit A16 A15 nhận giá trị 01 10 Tương ứng với đầu Y1 Y2 mức logic thâp, ta cho đầu nàu vào cổng OR với đầu nối với chân CE1 RAM 64K III GHÉP NỐI 8086 VỚI 8255 CHỦ ĐỀ: Ghép Led đoạn Anodes chung (7SEG) với cổng PB, nút bấm (Button) với cổng PC Viết chương trình điều khiển để bấm Button Led sáng nhấp nháy số 4, bình thường LED sáng số Ghép nối phần cứng Sơ đồ tổng quát ghép nối 8086 với 8255 thiết bị ngoại vi: - Từ yêu cầu mà đề đưa ra, kết nối LED với chân tín hiệu liệu đưa tới cổng PBcủa 8255, nút bấm đưa vào cổng C, đưa vào chân PC7 Để hiểu trình hoạt động, tìm hiều chức chân: 22  Chân ALE 8086 chân cho phép chốt địa chỉ, xung nâng lên mức để báo cho mạch biết có địa hợp lệ bus Vì vây sử dụng làm xung clock cho mạch tách tín hiệu địa Do IC tách tín hiệu địa có xung clock tích cực sườn âm, trước đưa vào chân clk IC 74LS273, ta phải cho qua cổng NOT để đảo tín hiệu  Chân M/IO: báo cho mạch điện bên biết nhớ thiết bị vào nối với bus Múc báo cho mạch biết thiết bị vào sử dụng vậy, chân nối với mạch giải mã địa  Chân RD WR: điều khiển việc đọc liệu từ thiết bị ngoại vi vào VI Xử LÝ hay la lấy liệu từ vi xử lý 8255A  Chân MN/MAX: nối với Vcc để chọn chế độ MN cho vi xử lý  Các chân từ D0 – D7 8255A nối với chân liệu đa hợp AD0 – AD7 Vi xử lý Có tác dụng trao đổi liệu vào 8255A 8086  Các chân từ PB0 – PB7 nối trực tiếp tương ứng với chân từ a đến g LED để đưa liệu hiển thị số  Mạch giải mã địa cho 8255A: yêu cầu đề chọn địa cổng PA, PB, PC ghi điều khiển chọn đia cổng 0h, 2h, 4h 6h, để chọn bít giải mã cho cổng ta tìm hiểu bảng giải mã địa sau: Cổng A19 A18 A17 A16 A15 A14 A13 A12 PA 0000 0000 PB 0000 0000 PC 0000 0000 ĐK 0000 0000 A11 A10 A9 A8 0000 0000 0000 0000 A7 A6 A5 A4 0000 0000 0000 0000 A3 A2 A1 A0 000 0010 0100 0110 Địa 0h 2h 4h 6h - Từ bảng giải mã địa chỉ, ta chọn chân A1, A2 đưa vào đầu vào A0, A1 IC 8255A, chân lại đưa trực tiếp vào cổng OR phép 8255 hoạt động cách đưa đầu cổng OR tới đầu vào CS 8255 Sơ đồ thuật toán Với nội dung mà đề đưa ra, lập trình theo sơ đồ thuật toán sau Bắt đầu Kiểm tra nút bấm Đ Nháy số Sai Hiển thị số Code chương trình 23 data segment pa pb pc dk equ equ equ equ ends stack segment dw 128 dup(0) ends code segment start: mov al,89h out dk,al sangso8: in al,pc cmp al,7fh je nhayso4 mov al,80h out pb,al jmp sangso8 nhayso4: mov al,0ffh out pb,al call delay mov al,99h out pb,al call delay jmp sangso8 delay: mov cx,15000 k: nop nop nop loop k ret ends end start 24 E KẾT LUẬN Nhìn chung, vi xử lý 8086 bước tiến lớn hãng sản xuất Intel lập trình vi xử lý, bước mở đầu cho phát triển hệ vi xử lý với tính mạnh mẽ, kết nối với thiết bị ngoại dễ dàng với tập lệnh hỗ trợ ngày lớn Vơi chúng em thực mô phần mêm chuyên dụng, thấy mà vi xử lý làm mà vi xử lý 8086 chưa thể giải như: mạch kết nối cồng kềnh, chi phí lắp đặt cao, tốc độ xử lý thấp Vơi mà nhóm em tiếp thu học tập, nhóm em hoàn thành tập lớn thành công Tuy nhiên trình trình bày không thiếu sai sót, mong thầy cô bỏ qua đóng góp cho chúng em ý kiến hữu ích để chúng em hoàn thiện thân hơn, thành công tập lớn Được vậy, nhờ dạy nhiệt tình cô Hằng thầy cô khoa điện tử chúng em xin chân thành cảm ơn cô Hằng thầy cô khoa nói riêng, nhà trường nói chung 25 [...]... ra tùy vào đoạn ghi điều khiển 14 - 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 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 bị ngoài Vi Xử Lý và thiết + 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 II IC GIẢI MÃ ĐỊA CHỈ 74273 Cấu tạo... KẾT LUẬN Nhìn chung, bộ vi xử lý 8086 là một bước tiến lớn của hãng sản xuất Intel trong nền lập trình vi xử lý, là bước mở đầu cho sự phát triển các thế hệ vi xử lý tiếp theo cùng với những tính năng mạnh mẽ, kết nối với các thiết bị ngoại dễ dàng cùng với tập lệnh hỗ trợ ngày càng lớn Vơi những gì chúng em đã thực hiện và mô phỏng bằng phần mêm chuyên dụng, chúng ta thấy được những gì mà bộ vi xử lý. .. khi đưa vào chân clk của IC 74LS273, ta phải cho qua cổng NOT để đảo tín hiệu  Chân M/IO: báo cho mạch điện bên ngoài biết bộ nhớ hoặc thiết bị vào ra được nối với bus Múc 0 báo cho các mạch ngoài biết thiết bị vào ra đang được sử dụng vì vậy, chân này được nối với mạch giải mã địa chỉ  Chân RD và WR: điều khiển vi c đọc dữ liệu từ thiết bị ngoại vi vào VI Xử LÝ hay la lấy dữ liệu từ bộ vi xử lý ra... Lệnh HLT (HaLT): đưa bộ vi xử lý vào trạng thái 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;... với 2 vi mạch nhớ RAM 64K và 32K, chúng đều có 3 bít cao nhất từ A17 đến A19 đều có mức Lgic không đổi là 1, vì vậy ta sẽ dùng 3 bit này để mã hóa cho 2 vi mạch nhớ RAM, ta đưa 3 bit này qua cổng NAND với đầu ra đưa vào chân Chip Enable của IC giải mã 74HC139 Mặt khác, chúng ta thấy có 2 bit A16 và A15 của mỗi vi mạch nhớ đều nhận một giá trị khác nhau, nên ta sẽ đưa 2 bit nào vào 2 chân 20 B và A tương... MN cho vi xử lý  Các chân từ D0 – D7 của 8255A được nối với các chân dữ liệu đa hợp AD0 – AD7 của bộ Vi xử lý Có tác dụng trao đổi dữ liệu vào ra giữa 8255A và 8086  Các chân từ PB0 – PB7 được nối trực tiếp tương ứng với các chân từ a đến g của LED 7 thanh để đưa dữ liệu hiển thị số  Mạch giải mã địa chỉ cho 8255A: do yêu cầu đề bài không có vì vậy chúng ta sẽ chọn địa chỉ cổng PA, PB, PC và thanh... được những gì mà bộ vi xử lý có thể làm được và những gì mà bộ vi xử lý 8086 vẫn chưa thể giải quyết được như: mạch kết nối cồng kềnh, chi phí lắp đặt cao, tốc độ xử lý còn thấp Vơi những gì mà nhóm em được tiếp thu và học tập, nhóm em đã hoàn thành bài tập lớn thành công Tuy nhiên trong quá trình trình bày không thiếu những sai sót, mong các thầy cô bỏ qua và đóng góp cho chúng em những ý kiến hữu ích... 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... chọn địa chỉ Kết hợp giữa bảng gải mã địa chỉ và nhìn vào sơ đồ ghép nối bộ nhớ, ta thấy nguyên lý chọn tưng vi mạch nhớ như sau: 21 - - Nếu 5 bit A19, A18, A17, A16 và A15 nhận mức logic là 0 và các bít còn lại từ A14 đến A10 lần lượt nhận các giá trị từ 000.0000.0000 đến 111.1111.111 thì đầu ra của cổng OR cũng như chân CE0 sẽ tích cực ở mức logic 0, và cho phép ROM 32K hoạt động, đồng thời đầu ra... của từng vi mạch nhớ hoạt động, chúng ta sẽ dựa vào đặc điểm của dải địa chỉ của từng vi mạch nhớ đó Từ bảng giải mã địa chỉ cho từng vi mạch nhớ trên, chúng ta nhận thấy: o Đối với vi mạch nhớ ROM (32Kx8), có 5 bit cao nhất từ A15 đến A19 đều có mức logic không đổi là 0, vì vậy ta sẽ sử dụng 5 bit này để mã hóa cho nó  Ta sẽ đưa 5 bit này qua cổng OR với đầu ra nối với chân Chọn chip CE của vi mạch

Ngày đăng: 23/07/2016, 17:54

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan