1. Trang chủ
  2. » Luận Văn - Báo Cáo

THIẾT KẾ – THI CÔNG KIT VI XỬ LÝ 8086

108 593 0

Đ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

Thông tin cơ bản

Định dạng
Số trang 108
Dung lượng 1,4 MB

Nội dung

trang1 Phần 1 GIỚI THIỆU CHUNG CHƯƠNG DẪN NHẬP ___ oOo ___ Ngày nay, trên thế giới khoa học kỹ thuật phát triển nhanh chóng, đặc biệt là ngành điện_điện tử. Những tiến bộ này ngày càng được ứng dụng rộng rãi trong công nghiệp cũng như trong đời sống sinh hoạt hằng ngày của con người. Hệ thống vi xử lý hay còn gọi là máy tính điện tử là một trong những ứng dụng đó, nó là thiết bị xử lý thông tin, điều khiển các thiết bị bên ngồi hay các thiết bị công nghiệp một cách tự động. Trước nhu cầu thực tế, kit vi xử lý là một công cụ dạy và học không những giúp cho sinh viên nghiên cứu học tập, mà còn có thể ứng dụng mô phỏng hoạt động của một máy tính điện tử, đưa những tiến bộ của khoa học kỹ thuật dẫn vào đời sống hiện đại. Trong khả năng và kiến thức đã học, tôi quyết tâm thực hiện đề tài: “THIẾT KẾ – THI CÔNG KIT VI XỬ LÝ 8086” để đáp ứng nhu cầu trên. Vi xử lý là một hệ thống số dựa trên cơ sở linh kiện chủ yếu là bộ vi xử lý (CPU). Tùy thuộc vào cấu trúc của bộ vi xử lý riêng biệt và phần điều khiển mà ta có thể bao gồm nhiều loại vi mạch. Dưới sự điều khiển bằng chương trình một bộ vi xử lý thực hiện các phép tính số học và logic, đồng thời tạo ra những tín hiệu điều khiển cho bộ nhớ và thiết bị vào ra. Những mệnh lệnh này gọi là chương trình nguồn và được chứa trong bộ nhớ chỉ đọc (ROM), khi mất điện dữ liệu trong bộ nhớ này không bị mất, khi Reset máy chương trình này sẽ thi hành trước tiên khởi tạo cho máy làm việc. Khi làm việc CPU đọc những lệnh đó ra rồi thực hiện chúng. Do đó ta có thể nói bộ vi xử lý là cấu trúc phần cứng được xử lý bằng phần mềm. Đề tài này không chỉ giúp cho sinh viên hòan thành luận văn tốt nghiệp mà còn hình thành trong mỗi sinh viên những kinh nghiệm, sáng tạo và năng động. Sau này đề tài sẽ kết hợp với các ngành chuyên môn khác để phát triển mô hình này được hồn thiện hơn. trang2 CHƯƠNG CƠ SỞ LÝ LUẬN ___ oOo ___ I. XÂY DỰNG ĐỀ CƯƠNG LUẬN VĂN: 1). Xác định nhiệm vụ nghiên cứu : Việc chọn đề tài xuất phát từ hai lý do: - Khách quan: hiện nay các nền công nghiệp có nhu cầu hiện đại hóa các thiết bị theo xu hướng cải tiến hóa các thiết bị bằng cơ khí sang thiết bị điều khiển tự động ứng dụng kỹ thuật điện tử. - Chủ quan: do nhu cầu học tập, nghiên cứu, rèn luyện kỹ năng thực hành, ứng dụng vốn kiến thức khoa học kỹ thuật tiên tiến trực tiếp vào lĩnh vực sản xuất. Nhiệm vụ nghiên cứu nhằm đạt được các mục đích chủ yếu: + Mục đích trước mắt: thỏa mãn về cơ bản các yêu cầu đề ra theo phương châm “Học đi đôi với hành”. + Mục đích sau cùng: Tích lũy kinh nghiệm, rèn luyện và nâng cao năng lực, tạo bản lĩnh để sẵn sàng tham gia lao động sản xuất, hòa nhập vào bước tiến của thế hệ. 2). Phân tích tài liệu liên hệ: Trong thời gian nghiên cứu đề tài, người nghiên cứu đã thống nhất tham khảo một số tài liệu có liên quan trong khoảng thời gian cho phép. - Phương pháp luận nghiên cứu khoa học: tìm hiểu về cấu trúc hình thức của một đề tài nghiên cứu khoa học và phương pháp tư duy để giải quyết vấn đề. - Kỹ thuật vi xử lý Trần Văn Trọng: Tài liệu cung cấp về cấu trúc của vi xử lý 8086. - Sơ đồ chân linh kiện bán dẫn Dương Minh Trí: cung cấp sơ đồ chân và bảng trạng thái họat động của các IC và các linh kiện bán dẫn. - Cấu trúc máy tính: Lê Anh Việt: Tài liệu cung cấp kiến thức cơ bản về cấu trúc máy tính, tổ chức CPU, hợp ngữ và cách lập trình. - The 8086/8088 Family Design Programing and Interfacing – John uffnbeck: tài liệu cung cấp những kỹ thuật kết nối vi xử lý và những phần mềm ứng dụng. - Kỹ thuật vi xử lý – Văn Thế Minh: tài liệu cung cấp kỹ thuật giao tiếp với các thiết bị ngoại vi. trang3 II. KẾ HOẠCH NGHIÊN CỨU: 1). Dàn ý nghiên cứu: Phần I: Giới thiệu chung. Phần II: Thiết kế phần cứng Kit 8086. Phần III: Xây dựng phần mềm hệ thống. Phần IV: Thi công Kit 8086. 2). Đối tượng nghiên cứu: Vi xử lý là trung tâm điều khiển các đối tượng, điều khiển hệ thống như máy tự động, dây chuyền sản xuất… Để hệ thống xử lý thi hành các chức năng điều khiển như mong muốn, chúng ta phải lập trình bằng ngôn ngữ tương ứng với hệ vi xử lý. Vì thế đối tượng nghiên cứu chính là thiết kế khối điều khiển tương quan giữa phần cứng và phần mềm để vận hành đúng chức năng họat động thực sự của máy. trang4 Chương I CẤU TRÚC BỘ VI XỬ LÝ 8086 ___ oOo ___ I. CẤU TẠO: Bên trong gồm hai khối chính: - Khối thực hiện EU (Execution Unit) - Khối giap tiếp bus (Bus Interface Unit) Bộ vi xử lý thực hiện các lệnh theo các bước sau: - Lấy lệnh từ bộ nhớ. - Đọc tốn hạng (nếu lệnh u cầu). - Thực hiện lệnh. - Ghi kết quả. 1). Khối thực hiện: Hàng đợi lệnh Các cờ AABB CCDD BDSS CSESSSDS Điều khiển bus và tạo đòa chỉ 4321 Bus đòa chỉ Bus dữ liệu Các thanh ghi đoạn Arithmetic logic unit (AU) Bus dữ liệu nội Các bus hệ thống Excution Unit (EU) Bus nterface Unit (BU) Σ Hình 1.1: Sơ đồ khối 8086 trang Nhiệm vụ của khối thực hiện lệnh là thực hiện các lệnh của chương trình. Nó gồm có khối số học – logic (ALU) cho phép thực hiện các phép tính số học (+ , - , * , /) và các phép logic (AND, OR, NOT…). Trong khối thực hiện còn có một số ơ nhớ gọi là thanh ghi dùng để chứa dữ liệu cho các phép tính. Mỗi thanh ghi giống như một ơ nhớ ngoại trừ chúng được đặt tên thay vì dùng số để chỉ địa chỉ. EU (Execution Unit) có các thanh ghi cơng dụng chung chia thành hai nhóm: nhóm thanh ghi dữ liệu và nhóm thanh ghi chỉ số. ♦ Các thanh ghi dữ liệu (Data Register): ♦ Các thanh ghi chỉ số và con trỏ (Index & Pointer Register): ♦ Các thanh ghi đoạn (Segment Register): ♦ Các thanh ghi trạng thái và điều khiển (Status & Control Register): ♦ Các thanh ghi dữ liệu: Có bốn thanh ghi dữ liệu ký hiệu lần lượt là: AX, BX, CX, DX, được người lập trình sử dụng cho các thao tác với dữ liệu. Mặc dù vi xử lý có thể thao tác với dữ liệu trong bộ nhớ, nhưng một lệnh như vậy sẽ được thực hiện nhanh hơn trong thanh ghi (cần ít chu kỳ đồng hồ hơn). Đó cũng là ngun nhân tại sao các bộ vi xử lý hiện đại có xu hướng nhiều thanh ghi. Các byte cao và byte thấp trong thanh ghi được truy cập độc lập: Byte cao của thanh ghi AX được gọi là AH và byte thấp được gọi là AL. Tương tự như vậy cho các byte cao và byte thấp của các thanh ghi BX CX DX lần lượt là BH & BL CH & CL, DH & DL. Nhờ điều này mà ta có nhiều thanh ghi hơn khi làm việc với các số liệu có kích thước byte dài. Trong đa số lệnh các thanh ghi dữ liệu được chọn tùy ý nhưng các thanh ghi này lại có chức năng riêng cố định trong một số ít lệnh. • Thanh ghi tích lũy AX (Accumulator): Là thanh ghi được sử dụng nhiều nhất trong các lệnh số học – logic và truyền dữ liệu bởi vì việc sử dụng thanh ghi này tạo ra mã máy ngắn nhất. Trong các thao tác nhân hoặc chia một trong các số hạn tham gia phải chứa trong AH hoặc AL, các thao tác vào/ra cũng sử dụng thanh ghi AH hoặc AL. • Thanh ghi cơ sở BX (Base): AABBCCDD AX (Accumulator) BX (Base) CX (Count) DX (Data) SBSD Con trỏ Stack (Stack Pointer) Con trỏ nền (Base Pointer) Chỉ số nguồn (Source Index) Chỉ số đích (Destnation Index) CSDSSSES Đoạn mã (Code Segment) Đoạn dữ liệu (Data Segment) Đoạn Stack (Stack Segment) Đoạn thêm (Extra Segment) Flag Con trỏ lệnh (Intruction Pointer) Cờ trang Thanh ghi BX được dùng cho tính tốn địa chỉ trong phương pháp định địa chỉ gián tiếp. • Thanh ghi đếm CX (Count): Việc thực hiện các chương trình lập được thực hiện dễ dàng nhờ thanh ghi CX, trong đó CX đóng vai trò là bộ đếm vòng lập. Một thí dụ khác của việc sử dụng thanh ghi CX đó là lệnh REP (Repeat) lệnh này điều khiển một lớp các lệnh chuyên về các thao tác chuỗi. CL cũng được sử dụng là một biến đếm trong các lệnh dịch hay quay các bit. • Thanh ghi dữ liệu DX (Data): DX dùng để định địa chỉ gián tiếp trong các thao tác vào ra, nó cũng còn được sử dụng chứa tốn hạn, kết quả trong phép nhân và chia. • Thanh ghi con trỏ và chỉ số: Các thanh ghi SP, BP, SI, DI thường trỏ tới các ô nhớ (tức là chức các địa chỉ offset của các ô nhớ đó). Khác với thanh ghi đoạn, các thanh ghi con trỏ và ngăn xếp được sử dụng trong các thao tác số học và một số thao tác khác nhau. • Thanh ghi con trỏ – ngăn xếp SP (Stack Pointer): Di chuyển từ địa chỉ cao đến địa chỉ thấp, dùng để kết hợp với thanh ghi đoạn Stack SS (Stack Segment) để lưu trữ địa chỉ trở về hoặc dữ liệu vào trong ngăn xếp. • Thanh ghi con trỏ cơ sở BP (Base Pointer): Thanh ghi này được dùng để truy cập dữ liệu trong ngăn xếp mà không làm thay đổi SP. Tuy nhiên, khác với SP thanh ghi BP cũng còn được sử dụng đễ truy cập dữ liệu ở các đoạn khác. • Thanh ghi chỉ số nguồn SI (Source Index): Thanh ghi SI được sử dụng để trỏ tới các ô nhớ trong đoạn dữ liệu được định bởi thanh ghi đoạn dữ liệu DS (Data Segment), có thể truy cập dễ dàng các ô nhớ liên tiếp bằng cách tăng SI. • Thanh ghi chỉ số đích DI (Destination Index): Thanh ghi DI có chức năng tương tự như thanh ghi SI và được dùng kết hợp với thanh ghi đoạn thêm ES (Extra Segment). Cả hai DI và SI thích hợp trong các thao tác sao chép, di chuyển hoặc so sánh các khối dữ liệu có dung lượng đến 64KB. • Thanh ghi con trỏ lệnh IP (Intruction Pointer): 8086 không thực hiện lệnh trực tiếp trong bộ nhớ mà lệnh được lấy ở hàng đợi lệnh có cấu tạo giống như một thanh ghi dịch (FIFO: First In First Out: vào trước ra trước) chứa các mã lệnh cung cấp bởi khối BIU. Thanh ghi IP chỉ đến lệnh tiếp theo chưa được nhập vào hàng đợi lệnh và được dùng kết hợp với thanh ghi CS. Thanh ghi IP được cập nhật mỗi khi có một lệnh được thực hiện xong, khác với các thanh ghi khác, IP không bị tác động trực tiếp bởi các lệnh. • Thanh ghi cờ (Flag Register): Thanh ghi cờ của 8086 có độ dài 16bit (2byte) byte thấp chứa các bit trạng thái giống như trong 8085 phản ánh trạng thái của vi xử lý, byte cao chứa 1bit trạng thái đó là bit 11 và 3 bit điều khiển dùng để điều khiển hoạt động của vi xử lý. Sau đây là cấu tạo của thanh ghi cờ trong 8086: 15 8 7 0 O D I T S Z A P C Thanh ghi cờ của 8086: trang7 C: carry flag. P: parity flag. A: auxiliary flag. Z: zero flag. S: sign flag. T: trap flag. I: interrupt enable flag. D: direction flag. O: overflow flag. + Cờ nhớ CF: Cờ nhớ CF được thiết lập khi có số nhớ từ bit MSB. Trong phép cộng hoặc số thiếu trong phép trừ (MSB trong các lệnh byte là bit 7 và trong các lệnh word là bit 15) cờ CF cũng bị ảnh hưởng bởi các lệnh quay và dịch. + Cờ chẳn lẻ PF: Sau các lệnh số học hoặc logic đối với các lệnh byte nếu số lượng số ‘1’ trong byte kết quả là chẳn thì cờ PF được thiết lập là ‘1’ ngược lại là ‘0’nếu là lẻ, đối với các lệnh word chỉ xét các byte thấp. + Cờ nhớ phụ AF: Cờ nhớ phụ được thiết lập nếu có nhớ (cộng) hoặc có thiếu (trừ) từ phân nửa dưới đến phân nửa trên của tốn hạn (đối với lệnh byte đó là bit 3 và đối với lệnh word là bit 7) cờ AF được sử dụng trong các thao tác với số BCD. + Cờ zero ZF: Cờ zero được thiết lập khi kết quả bằng 0. + Cờ dấu SF: Cờ dấu là ‘1’ khi bit MSB của kết quả bằng ‘1’ tức là số âm, đối với lệnh byte MSB là bit 7 và trong lệnh word là bit 15. + Cờ bẫy TF: Tạo khả năng thực hiện chương trình theo từng bước, khi TF bằng ‘1’ 8086 phát sinh ngắt loại 1 (ngắt cứng). Chương trình DEBUG sử dụng khi thi hành lệnh T (trace) để chạy từng bước một lệnh. Đầu tiên DEBUG thiết lập cờ TF rồi mới chuyển điều khiển cho lệnh đó. Sau khi lệnh được thi hành vi xử lý sẽ phát sinh một ngắt do TF được lập DEBUG sử dụng chính phục vụ ngắt này để lấy quyền điều khiển từ vi xử lý. + Cờ ngắt IF: Cờ ngắt được sử dụng để điều khiển các ngắt phần cứng bên ngồi, nếu cờ này được thiết lập các ngắt phần cứng có thể ngắt 8086. Khi xóa IF, các ngắt bên ngồi không còn tác dụng nữa (bị che). Thực ra vẫn còn một ngắt cứng không che được NMI (Non Maskable Interrupt). Trước khi vi xử lý trao quyền điều khiển cho một phục ngắt nó xóa cả IF và TF, như vậy phục ngắt đó sẽ không bị ngắt. Tất nhiên một phục vụ ngắt có thể đổi cờ để cho phép ngắt khi nó đang thi hành. + Cờ tràn OF: Cờ tràn là ‘1’ khi có hiện tượng tràn và ngược lại nó bằng ‘0’. Hiện tượng tràn cho thấy một sự thật là phạm vi biểu diễn các số trong máy tính là có giới hạn. Phạm vi biểu diễn các số có dấu trong một word từ –32768 đến +32767 và trong một byte từ –126 đến +127. trang8 Đối với các số không dấu từ 0 đến 65535 cho một word và từ 0 đến 255 cho một byte. Nếu kết quả của một phép tính vượt ra ngồi phạm vi này thì hiện tượng tràn sẽ xảy ra và kết quả nhận được bị cắt bớt sẽ không phải là kết quả đúng. + Cờ điều khiển DF: Là một trong ba cờ điều khiển dùng điều khiển các thao tác của vi xử lý công dụng của DF là dịch hướng cho các thao tác chuỗi, các thao tác này được thực hiện bởi hai thanh ghi chỉ số SI & DI, nội dung của hai thanh ghi này sẽ tự động tăng lên khi DF = 0 và giảm xuống khi DF =1. 2). Khối giao tiếp (BIU): Khối giao tiếp làm đơn giản việc liên lạc giữa EU và bộ nhớ hoặc các vi mạch vào ra. Nó có nhiệm vụ gởi các địa chỉ, số liệu và tín hiệu điều khiển vào các bus, BIU & EU liên hệ với nhau bằng các bus nội bộ, khi EU đang thi hành một lệnh, BIU nạp 6 byte mã lệnh tiếp theo vào và đặt chúng vào hàng đợi lệnh, mục đích của việc này là làm tăng tốc độ của vi xử lý. Nếu EU cần liên lạc với bộ nhớ hay thiết bị ngoại vi, BIU sẽ treo các lệnh nhận trước và thực hiện thực hiện các thao tác cần thiết. BIU cấu tạo gồm các thanh ghi đoạn và con trỏ lệnh dùng để chứa địa chỉ các ô nhớ. a). Các thanh ghi đoạn: Được dùng để lưu trữ địa chỉ của các lệnh và dữ liệu trong bộ nhớ, vi xử lý dựa trên các giá trị này để truy cập bộ nhớ. Bộ nhớ là tập hợp các byte ô nhớ, mỗi byte có một địa chỉ xác định bắt đầu từ 0. 8086 gán cho mỗi ô nhớ một địa chỉ vật lý 20 bit. Như vậy, nó có thể định địa chỉ đến 20 2 byte (tương đương 1MB) ô nhớ, các byte đầu tiên của bộ nhớ có địa chỉ như sau: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0001 0000 0000 0000 0000 0010 0000 0000 0000 0000 0011 0000 0000 0000 0000 0100 Để đơn giản, các địa chỉ trên thường được biểu diễn bằng số thập lục phân như sau: 00000H 00001H 00002H ………… H và cứ tiếp tục cho đến giá trị lớn nhất là FFFFFH Do các địa chỉ quá lớn (20 bit) không thể chứa trong một thanh ghi của 8086 (16 bit) nên 8086 chia bộ nhớ thành các đoạn bộ nhớ (Memory Segment). Một đoạn bộ nhớ là một khối gồm 2 16 (64K) ô nhớ liên tiếp nhau, mỗi đoạn được xác định bằng một địa chỉ đoạn bắt đầu từ địa chỉ 0, địa chỉ đoạn là một số 16 bit nên địa chỉ đoạn lớn nhất là FFFF. Bên trong mỗi đoạn số ô nhớ được xác định bằng địa chỉ tương đối (offset), đó là số byte tính từ đầu đoạn, với một đoạn 64K thì offset cũng là một số 16 bit, byte đầu tiên trong đoạn có offset bằng 0 và byte cuối cùng bằng FFFF. Một ô nhớ có thể được xác định bằng địa chỉ đoạn:địa chỉ tương đối trong đoạn (segment:offset) và được gọi là địa chỉ logic. trang9 Thí dụ: ô nhớ A4FB:4872 có địa chỉ đoạn là A4FB và địa chỉ offset là 4872. Để tìm địa chỉ vật lý của ô nhớ trước tiên ta dịch địa chỉ đoạn về bên trái 4 bit và sau đó cộng với địa chỉ offset, như vậy địa chỉ vật lý của ô nhớ A4FB:4872 được tính như sau: A4FB0 4872 A9822 b). Sắp xếp đoạn: Trong bộ nhớ đoạn 0 bắt đầu từ địa chỉ 0000:0000 = 00000 và kết thúc ở 0000:FFFF = 0FFFF, đoạn 1 bắt đầu từ địa chỉ 0001:0000 = 00010 và kết thúc ở địa chỉ 0001:FFFF = 1000F. Như vậy, có rất nhiều sự chồng nhau giữa các đoạn. Các đoạn bắt đầu từ các địa chỉ cách nhau 16byte và địa chỉ đầu của mỗi đoạn luôn kết thúc bằng các số 0. 16byte được gọi là một khúc (Paragraph), các địa chỉ chia hết cho 16 (các địa chỉ kết thúc bằng 0) là các biên giới khúc (Paragraph Boundary) c). Các đoạn của chương trình: Mỗi đoạn chương trình ngôn ngữ máy bao gồm các lệnh và dữ liệu, còn một vùng đặc biệt trong RAM gọi là ngăn xếp (stack). Mã lệnh, dữ liệu và ngăn xếp của chương trình được nạp vào các đoạn bộ nhớ khác nhau đó là đoạn mã (code segment), đoạn dữ liệu (data segment), đoạn ngăn xếp (stack segment). Để theo dõi các đoạn khác nhau của chương trình 8086 được cung cấp 4 thanh ghi đoạn để chứa các địa chỉ đoạn, các thanh ghi CS, DS, SS lần lược chứa các địa chỉ đoạn mã, đoạn dữ liệu, và đoạn ngăn xếp. Nếu chương trình muốn truy cập đến một dữ liệu thứ hai nó có thể sử dụng thanh ghi đoạn thêm ES (extra segment). Một chương trình không phải bao giờ cũng cần chiếm hết một đoạn 64KB, do đặc điểm chồng nhau giữa các đoạn cho phép các đoạn của một chương trình nhỏ hơn 64KB có thể đặt gần lại với nhau. Tại một thời điểm, chỉ có các ô nhớ được định địa chỉ bởi 4 thanh ghi đoạn mới có thể truy cập, nghĩa là chỉ có 4 đoạn bộ nhớ là tác động. Tuy nhiên nội dung của các thanh ghi đoạn có thể thay đổi bởi chương trình để truy cập đến các đoạn khác nhau. d). Hàng đợi lệnh: Như ta đã biết, để tăng tốc độ vi xử lý, khối BIU tiếp nhận các lệnh và đưa vào hàng đợi lệnh (Queue) trong khi đó khối EU đang thi hành lệnh. Hàng đợi lệnh có thể nhận 6 byte mã lệnh, các lệnh của 8086 có độ dài từ 1 đến 6 byte, nếu lệnh chưa vào đầy đủ trong hàng đợi lệnh thì khối EU sẽ chờ cho đến khi lệnh nạp hết vào hàng đợi lệnh. II. CHỨC NĂNG CỦA 8086: 1). Sơ đồ chân của 8086: 8086 là vi xử lý 16 bit nó gồm 16 đường dữ liệu và 20 đường địa chỉ, các đường dữ liệu từ D0 đến D15 và các đường địa chỉ từ A0 đến A15 hoạt động theo phương pháp đa lộ thời gian. 8086 có thể làm việc ở hai chế độ: - Chế dộ Minimum. - Chế độ Maximum. Trong chế độ minimum, 8086 điều khiển các thiết bị bằng các tín hiệu điều khiển của chính nó, trong chế độ này hỗ trợ bộ xử lý tốn học 8087. trang10 Trong chế độ maximum cần thiết phải kết hợp với vi mạch điều khiển bus 8288 để tạo ra các tín hiệu đọc – ghi cho bộ nhớ và các thiết bị ngoại vi và chế độ này cho phép làm việc với 8087. Sau đây là sơ đồ chân của 8086 ở cả hai chế độ minimum và maximum: 2). Chức năng của các chân của 8086: • Vcc = 5V Điện áp nuôi là 5V DC, dung sai cho phép là 10%. • GND = 0V Các đường mass nên có điện trở càng nhỏ càng tốt. • CLK = clock (input) Xung đồng hồ đưa vào chân này là không đối xứng và có tỷ lệ là ½ (High/Low). • INTR- Interrupt Request (input): Mức cao ở ngõ này báo cho 8086 biết có một yêu cầu ngắt (thuờng được gởi tới từ vi mạch xử lý ngắt 8259), tín hiệu ngắt tại chân này có thể bị che bằng phần mềm. Khi vi xử lý chấp nhận yêu cầu ngắt, nó sẽ đưa ra một chu kỳ chấp nhận ngắt và vi mạch xử lý ngắt phải gởi địa chỉ của ngắt lên bus dữ liệu tương ứng với chu kỳ thứ hai. • NMI (Non Maskable Interrupt): Đây là ngắt không che được, tác động ở mức cao vi xử lý nhảy đến địa chỉ ngắt số 2 trong bảng vector ngắt và không tạo ra chu kỳ chấp nhận ngắt. • Reset (input): Ngõ vào mức cao đặt vi xử lý về trạng thái ban đầu sau ít nhất 4 chu kỳ đồng hồ. Thanh ghi CS được đặt giá trị FFFF và thanh ghi IP được đặt giá trị 0000. Như vậy chỉ thị được thực hiện đầu tiên chứa ở ô nhớ FFFF0 quá trình chuyển tiếp từ mức cao xuống mức thấp được đồng bộ bởi chu kỳ đồng bộ từ vi mạch tạo xung đồng hồ 8284. • Ready (input): 1 2 3 4   7 8 9 10 11 12 13 14 1 1 17 18 19 20 40 39 38 37 3 3 34 33 32 31 30 29 28 27 2 2 24 23 22 21 GND AD 14 AD 13 AD 12 AD 11 AD 10 AD 9 AD 8 AD 7 AD  AD  AD 4 AD 3 AD 2 AD 1 AD 0 NM NTR CK GND Vcc AD 15 A 16 /S 3 A 17 /S 4 A 18 /S 5 A 17 /S 6 BHE/S 7 MN/MX RD HOLD (RQ/GT 0 ) HLDA (RQ/GT 1 ) WR (LOCK) M/IO (S 2 ) DT/R (S 1 ) DEN (S 0 ) ALE (QS 0 ) INTA (QS 1 ) TEST READY RESET 8086 CPU Hình 1.2: Sô ñoà chaân 8086 [...]... T1 vi xử lý gởi đến linh kiện đó xung có bề rộng chu kỳ đồng hồ cho biết vi xử lý chấp nhận nhường quyền sử dụng bus và nó sẽ tiến vào trạng thái ‘Hold acknowlegde’ sau xung đồng hồ kế tiếp để treo bus của chính nó + Xung bề rộng chu kỳ đồng hồ được gởi đến 8086 cho biết q trình ‘Hold’ kết thúc và vi xử lý trở lại quản lý bus xau khi chấm dứt chu kỳ đồng hồ kế tiếp Nếu u cầu này xảy ra trong khi vi xử. .. và thi t bị ngoại vi chậm có đủ thời gian hồn tất cơng vi c đọc-ghi dữ liệu + Ở chu kỳ T4: Trong chu kỳ này các tín hiệu trên bus được giải hoạt (đưa về trạng thái khơng tích cực) để chuẩn bị cho chu kỳ bus mới Tín hiệu WR trong khi chuyển trạng thái từ ‘0’ lên ‘1’ sẽ kích họat trạng thái ghi vào bộ nhớ hay thi t bị ngoại vi b) Ngun tắc thực hiện chương trình của vi xử lý 8086: Các chỉ thị của 8086. .. CỦA VI XỬ LÝ 8086: Phương pháp định địa chỉ (Addressing Mode) là cách để CPU tìm thấy tốn hạng cho các lệnh của nó khi hoạt động Một bộ vi xử lý có thể có nhiều chế độ định địa chỉ Các chế độ định địa chỉ này được xác định ngay từ khi chế tạo ra bộ vi xử lý và sau này người ta lấy đó để làm chuẩn mà khơng thay đổi Ngồi các phương pháp định địa chỉ: tức thời, trực tiếp, gián tiếp giống như của 8085, vi. .. Phần 2 THI T KẾ PHẦN CỨNG KIT 8086 Chương I: CÁC LINH KIỆN BÁN DẪN CĨ LIÊN QUAN oOo Trong thi t kế tơi đã phải tính tốn lựa chọn qua các cơng đọan: - Linh kiện phải có sẵn trên thị trường - Linh kiện phải phù hợp với hệ thống - Hệ thống đơn giản tiết kiệm - Kết nối sao cho phần mềm đơn giản nhất, mà phần cứng khơng qúa phức tạp, cồng kềnh - IC 8086 đa hợp các đường địa chỉ và dữ liệu từ AD 0 – AD15... nhớ hoặc thi t bị vào – ra, tác động ở mức cao, vi xử lý sẽ đợi nếu tín hiệu này ở mức thấp • AD0… AD15 - Address/Data bus (input/output): Giống như trong 8085, các đường địa chỉ - dữ liệu này làm vi c theo ngun tắc đa lộ thời gian, là địa chỉ trong chu kỳ T 1 và là dữ liệu trong chu kỳ T2, T3, Tw, T4, tác động ở mức cao, có cấu tạo ba trạng thái và ở trạng thái tổng trở cao trong lúc vi xử lý ‘Interrup... thành từng cặp Hình trên sẽ mơ tả vi c sắp xếp các thanh ghi để xác định địa chỉ vật lý Thanh ghi đoạn Đoạn lệnh (CS) IP Thanh ghi offset Đoạn ngăn xếp (SS) Đoạn dữ liệu (DS) Đoạn thêm (ES) SP, BP BX, SI, DI hoặc hằng số Hình 1.7: Sắp xếpDI (trong các lệnh chuổi) các thanh ghi đoạn trang18 Chương II KHẢO SÁT TỔNG QT TẬP LỆNH VI XỬ LÝ 8086 _ oOo _ I CẤU TRÚC LỆNH: Vi xử lý 8086 có nhiều phương pháp định... ra xung khởi động đồng bộ cho CPU cùng với tất cả các thành phần khác của hệ thống IV TỔNG QUAN VỀ BỘ NHỚ: Trước khi nói về kết nối bộ nhớ với vi xử lý 8086 nhóm thực hiện nói qua về bộ nhớ bán dẫn thường dùng để kết nối với vi xử lý Bao gồm: Bộ nhớ cố định ROM (Read Only Memory – Bộ nhớ chỉ đọc), thơng tin trong bộ nhớ sẽ khơng mất đi khi mạch bị mất điện nguồn cung cấp Bộ nhớ bán cố định EPROM (Erasable... High Z High Z High Z Dout Dout D8 ÷ D15 E OE EVE MEM D0 ÷ D7 N 0 W W E MEM OE R Hình II.10: bằng kết nối RAM với vi xử Thực hiện vi c giải mãSơ đồcác vi mạch giãi mã: 74LS138, 74LS139, 74LS145, lý 74LS154 Khi muốn có nhiều đầu ra chọn từ bộ giải mã mà vẫn dùng các mạch logic đơn giản thì vi c thi t kế trở nên rất cồng kềnh do số lượng các mạch tăng lên Trong trường hợp như vậy ta thường sử dụng các... (Random Access Memory – Bộ nhớ truy cập ngẫu nhiên) Trong nội dung đề tài nhóm thực hiện dùng SRAM (Static RAM – RAM tĩnh, trong đó mỗi phần tử nhớ là một mạch lật hai trạng thái ổn định) và DRAM (Dynamic RAM – RAM động, trong đó mỗi phần tử nhớ là một tụ điện rất nhỏ được chế tạo bằng cơng nghệ MOS) để kết nối với vi xử lý Mỗi bộ nhớ thường được chế tạo nên từ nhiều vi mạch nhớ Một vi mạch nhớ thường... để mở các bộ đệm của bus dữ liệu nếu chúng được dùng trong hệ thống Tại cuối chu kỳ T 2 CPU lấy mẫu tín hiệu Ready để xử lý trong chu kỳ tiếp theo khi nó phải làm vi c với bộ nhớ, thi t bị ngoại vi chậm + Ở chu kỳ T3: Trong chu kỳ này CPU dàng thời gian cho bộ nhớ hay thi t bị ngoại vi truy cập dữ liệu Nếu là chu kỳ đọc dữ liệu thì tại cuối T 3 CPU sẽ lấy mẫu tín hiệu của bus dữ liệu Nếu tại cuối chu . các thi t bị ngoại vi. trang3 II. KẾ HOẠCH NGHIÊN CỨU: 1). Dàn ý nghiên cứu: Phần I: Giới thi u chung. Phần II: Thi t kế phần cứng Kit 8086. Phần III: Xây dựng phần mềm hệ thống. Phần IV: Thi. hiện đại. Trong khả năng và kiến thức đã học, tôi quyết tâm thực hiện đề tài: THI T KẾ – THI CÔNG KIT VI XỬ LÝ 8086 để đáp ứng nhu cầu trên. Vi xử lý là một hệ thống số dựa trên cơ sở linh. trong những ứng dụng đó, nó là thi t bị xử lý thông tin, điều khiển các thi t bị bên ngồi hay các thi t bị công nghiệp một cách tự động. Trước nhu cầu thực tế, kit vi xử lý là một công cụ dạy

Ngày đăng: 29/08/2014, 13:55

HÌNH ẢNH LIÊN QUAN

Hình 1.1:  Sơ đồ khối 8086 - THIẾT KẾ – THI CÔNG KIT VI XỬ LÝ 8086
Hình 1.1 Sơ đồ khối 8086 (Trang 4)
Hình 1.2: Sơ đồ chân 8086 - THIẾT KẾ – THI CÔNG KIT VI XỬ LÝ 8086
Hình 1.2 Sơ đồ chân 8086 (Trang 10)
Hình 1.3: Mô phỏng kết nối hệ thống vi xử lý - THIẾT KẾ – THI CÔNG KIT VI XỬ LÝ 8086
Hình 1.3 Mô phỏng kết nối hệ thống vi xử lý (Trang 13)
Hình 1.4: Giản đồ thời gian đọc và ghi của  àP8086 - THIẾT KẾ – THI CÔNG KIT VI XỬ LÝ 8086
Hình 1.4 Giản đồ thời gian đọc và ghi của àP8086 (Trang 15)
Hình 1.5: Quá trình nạp hàng đợi lệnh của BIU - THIẾT KẾ – THI CÔNG KIT VI XỬ LÝ 8086
Hình 1.5 Quá trình nạp hàng đợi lệnh của BIU (Trang 16)
Hình 1.6: Truy xuất dữ liệu trong bộ nhớ - THIẾT KẾ – THI CÔNG KIT VI XỬ LÝ 8086
Hình 1.6 Truy xuất dữ liệu trong bộ nhớ (Trang 17)
Hình 2.2: Phương pháp định địa chỉ trực tiếp - THIẾT KẾ – THI CÔNG KIT VI XỬ LÝ 8086
Hình 2.2 Phương pháp định địa chỉ trực tiếp (Trang 19)
Hình 2.4: Phương pháp định địa chỉ tương đốiAX - THIẾT KẾ – THI CÔNG KIT VI XỬ LÝ 8086
Hình 2.4 Phương pháp định địa chỉ tương đốiAX (Trang 21)
Hình 2.5: Phương pháp định địa chỉ tương đốiAX - THIẾT KẾ – THI CÔNG KIT VI XỬ LÝ 8086
Hình 2.5 Phương pháp định địa chỉ tương đốiAX (Trang 24)
Hình 2.6: Phương pháp định địa chỉ tương đốiAX - THIẾT KẾ – THI CÔNG KIT VI XỬ LÝ 8086
Hình 2.6 Phương pháp định địa chỉ tương đốiAX (Trang 24)
Hình 2.7: Phương pháp định địa chỉ tức thờiAX - THIẾT KẾ – THI CÔNG KIT VI XỬ LÝ 8086
Hình 2.7 Phương pháp định địa chỉ tức thờiAX (Trang 25)
Hình II.2: Sơ đồ mô phỏng kết nối 74LS373 với - THIẾT KẾ – THI CÔNG KIT VI XỬ LÝ 8086
nh II.2: Sơ đồ mô phỏng kết nối 74LS373 với (Trang 29)
Sơ đồ chân 74LS244: - THIẾT KẾ – THI CÔNG KIT VI XỬ LÝ 8086
Sơ đồ ch ân 74LS244: (Trang 30)
Hình II.5: Sơ đồ các đường tín hiệu chính của 8284 - THIẾT KẾ – THI CÔNG KIT VI XỬ LÝ 8086
nh II.5: Sơ đồ các đường tín hiệu chính của 8284 (Trang 31)
Hình trên biểu diễn các đường nối tín hiệu chính của 8284. Mạch 8284 nhận  xung khởi động từ bên ngồi thông qua mạch RC, khi bắt đầu bật điện hoặc xung khởi  động lại khi bấm công tắc K từ xung này 8284 có nhiệm vụ đưa ra xung khởi động  đồng bộ cho CPU c - THIẾT KẾ – THI CÔNG KIT VI XỬ LÝ 8086
Hình tr ên biểu diễn các đường nối tín hiệu chính của 8284. Mạch 8284 nhận xung khởi động từ bên ngồi thông qua mạch RC, khi bắt đầu bật điện hoặc xung khởi động lại khi bấm công tắc K từ xung này 8284 có nhiệm vụ đưa ra xung khởi động đồng bộ cho CPU c (Trang 32)
Sơ đồ chân: - THIẾT KẾ – THI CÔNG KIT VI XỬ LÝ 8086
Sơ đồ ch ân: (Trang 34)
Bảng trạng thái làm việc: - THIẾT KẾ – THI CÔNG KIT VI XỬ LÝ 8086
Bảng tr ạng thái làm việc: (Trang 35)
Bảng trạng thái : - THIẾT KẾ – THI CÔNG KIT VI XỬ LÝ 8086
Bảng tr ạng thái : (Trang 36)
Hình II.11: Sơ đồ chân 74LS138 - THIẾT KẾ – THI CÔNG KIT VI XỬ LÝ 8086
nh II.11: Sơ đồ chân 74LS138 (Trang 36)
Hình III.1: Sơ đồ khối vi mạch giải mã hiển thị 8279 - THIẾT KẾ – THI CÔNG KIT VI XỬ LÝ 8086
nh III.1: Sơ đồ khối vi mạch giải mã hiển thị 8279 (Trang 37)
Hình III.2: Sơ đồ chân 8279 - THIẾT KẾ – THI CÔNG KIT VI XỬ LÝ 8086
nh III.2: Sơ đồ chân 8279 (Trang 38)
Hình IV.1: Sơ đồ khối 8255A - THIẾT KẾ – THI CÔNG KIT VI XỬ LÝ 8086
nh IV.1: Sơ đồ khối 8255A (Trang 42)
Hình IV.2: Sơ đồ chân 8255A - THIẾT KẾ – THI CÔNG KIT VI XỬ LÝ 8086
nh IV.2: Sơ đồ chân 8255A (Trang 43)
1. Sơ đồ khối: - THIẾT KẾ – THI CÔNG KIT VI XỬ LÝ 8086
1. Sơ đồ khối: (Trang 51)
Hình V.2: Sơ đồ ma trận quét phím - THIẾT KẾ – THI CÔNG KIT VI XỬ LÝ 8086
nh V.2: Sơ đồ ma trận quét phím (Trang 60)

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w