Thiết kế và định địa chỉ lệnh trong vi xử lý 8086

MỤC LỤC

KHẢO SÁT TỔNG QUÁT

CAÁU TRUÙC LEÄNH

Vi xử lý 8086 có nhiều phương pháp định địa chỉ và cũng có nhiều khả năng kết hợp các phương pháp đó lại với nhau. Tuy nhiên, một lệnh chỉ cần 6 byte để mã hóa, và byte bắt đầu là mã công tác (Operations code), byte tiếp theo chứa kiểu địa chỉ và tiếp theo đó có thể là một hoặc hai byte dùng để chứa địa chỉ. Thực tế để biểu diển dạng thức các byte dùng để mã hóa lệnh Mov.

Ta thấy rằng để mã hóa lệnh Mov ta phải cần ít nhất là hai byte, trong đó 6 bit của byte đầu dùng để chứa mã lệnh.

THIẾT KẾ PHẦN CỨNG KIT 8086

    Để nâng cao khả năng tải của các bus, để đảm nhận việc nuôi các mạch bên ngoài, các tín hiệu ra của CPU cần phải được khuếch đại thông qua các mạch đệm một chiều, hai chiều với các đầu ra thường hay đầu ra ba trạng thái đó là IC 74LS244. Mạch tạo xung nhịp không những cung cấp xung clock với tần số thích hợp cho toàn bộ mà nó còn có ảnh hưởng tới việc đồng bộ tín hiệu Reset và tín hiệu Ready cuûa CPU. ¨ X1, X2: nối với hai chân của thạch anh tạo dao động chuẩn với tần số fx, thạch anh này là bộ phận của một mạch dao động bên trong 8284 có nhiệm vụ tạo xung chuẩn dùng làm tín hiệu đồng hồ cho toàn hệ thống.

    ¨ F/C: dùng để chọn nguồn tín hiệu chuẩn cho 8284, khi chân này ở mức cao thì xung đồng hồ bên ngoài sẽ được dùng làm xung nhịp cho 8284, ngược lại thì xung đồng hồ của mạch dao động bên trong dùng thạch anh sẽ được chọn làm xung nhòp. Mạch 8284 nhận xung khởi động từ bên ngoà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ùng với tất cả các thành phần khác của hệ thống. 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ý.

    Cùng tồn tại mạch nhớ RAM với đầu ra và đầu vào dữ liệu riêng biệt, đối với RAM loại này khi dùng trong mạch bus dữ liệu người sử dụng phải nối hai đầu đó lại.

    Bảng sự thật:
    Bảng sự thật:

    VI MẠCH GIÃI MÃ HIỂN THỊ 8279

      8279 có 16 byte RAM bên trong do con trỏ 4 bit AAAA quản lý, 16 byte RAM này dùng để chứa dữ liệu cần hiển thị do vi xử lý gởi tới, để đọc dữ liệu ở 8 ô nhớ nào trong vùng nhớ RAM này ta có thể điều chỉnh các bit AAAA tương ứng. 8279 có 16 byte RAM bên trong do con trỏ 4 bit AAAA quản lý, 16 byte RAM này dùng để chứa dữ liệu cần hiển thị do vi xử lý gởi tới, để đọc dữ liệu ở 8 ô nhớ nào trong vùng nhớ RAM này ta có thể điều chỉnh các bit AAAA tương ứng. Các đường tín hiệu SL3-0 dùng để quét, dữ liệu trên đường này có thể được thiết lập theo kiểu Encode và Decode tùy thuộc vào kiểu thiết kế phần cứng.

      Các đường tín hiệu RL7-0 là các đường tín hiệu input kết hợp với các đường tín hiệu quét SL3-0 tạo thành ma trận phím, phím được nhấn sẽ làm cho một hoặc nhiều ngừ RL xuống mức 0, kết hợp với cỏc đường tớn hiệu quột sẽ cho biết mó của phím nhấn. 8279 gởi dữ liệu trong vùng nhớ RAM hiển thị ra các Led và tự động quét bàn phím để tìm phím bị tác động và tự chống dội và sau đó thiết lập mã của phím bị nhấn, trước khi sử dụng 8279 người thiết kế cũng như người sử dụng các từ điều khiển gởi ra 8279 khi bit A0 = 1. Sau đó sẽ báo cho vi xử lý biết đã có một phím tác động và yêu cầu vi xử lý nhận mã của phím này bằng cách tác động đến tín hiệu ngắt IRQ.

      Các port này có thể là các port input hoặc output tùy thuộc vào lệnh điều khiển, lệnh điều khiển do vi xử lý gởi tới chứa trong thanh ghi (còn gọi là thanh ghi điều khiển) để điều khiển 8255A. Để sử dụng các port của 8255A người lập trình phải gởi từ điều khiển ra thanh ghi điều khiển để 8255A định cấu hình cho các port đúng theo yêu cầu mà người lập trình mong muốn. Bit PC4 trở thành bit STBA (Stroble Input, tác động mức thấp), được dùng để chốt dữ liệu ở các ngỏ vào PA7 – PA0 vào mạch chốt bên trong 8255A.

      Bit PC5 trở thành bit IBTA (Input Bufer Full, tác động mức cao), dùng để báo cho thiết bị bên ngoài biết dữ liệu đã được chốt bên trong. Tớn hiệu INTA tỏc động đến ngừ vào của ngắt vi xử lý để bỏo cho vi xử lý biết: dữ liệu mới đã xuất hiện ở port A chương trình phục vụ ngắt sẽ đọc dữ liệu vào xóa yêu cầu ngaét. Bit PC7 trở thành bit OBFa (Output Buffer Full, tác động mức thấp), khi có dữ liệu từ vi xử lý gởi ra port A, tín hiệu OBFa sẽ yêu cầu thiết bị bên ngoài nhận dữ lieọu.

      Bit PC6 trở thành bit ACKa (Acknowledge Input, tác động mức thấp) thiết bị nhận dữ liệu dùng tín hiệu này để báo cho 8255A biết tín hiệu đã được nhận và sẳn sàng nhận dữ liệu tiếp theo. Vi mạch giao tiếp IO 8255A có rất nhiều ứng dụng trong các hệ thống điều khiển dùng vi xử lý, 8255A đóng vai trò là IC giao tiếp giữa vi xử lý và đối tượng điều khiển, ngoài ra 8522A còn có khả năng mở rộng tín hiệu điều khiển.

      Hình III.2:  Sơ đồ chân 8279
      Hình III.2: Sơ đồ chân 8279

      VIMẠCH GIAO TIẾP NỐI TIẾP 8251

      C/D\: control/data\-ủieàu khieồn/soỏ lieọu\. CLK: clock- nhòp. D0-D7: data bus i/o-bus dữ liệu vào/ra TxC\: transmit clock- nhòp truyeàn RxC\: receive clock- nhịp nhận RST:reset- xóa. DTR\: data terminal ready- số liệu củaTBAC sẵn sàng DSR\- data set ready – bộ số liệu sẵn sàng. RTS\: request to send – yêu cầu gửi CTS\: clear to send –xóa gửi. TXD: transmit data- soỏ lieọu truyeàn RxD: receive data – số liệu nhận. TxRDy:transmit ready –sẵn sàng truyền RxRDy: receive ready –sẵn sàng nhận. TxEMTy- transmit register empty- thanh ghi truyeàn roãng. Syn/BRK: Synch/breack detect- đồng bộ/ phát hiện đứt đoạn tin. Caáu truùc thanh ghi:. Caáu truùc phaàn meàm:. - Thanh ghi ủieàu khieồn. - Thanh ghi trạng thái. Hai thanh ghi đệm số liệu ghi và đọc cũng có một địa chỉ A0=0) dùng để ghi và đọc số liệu cần truyền và nhận của KGN. Ghi số liệu vào thanh ghi đệm truyền Đọc số liệu ở thanh ghi đệm nhận. - Gửi tín hiệu cắt (các bit bằng 0-Break) để cắt dòng tín hiệu liên tục đang truyeàn.

      - Tuy chỉ có một địa chỉ (CS\=0, A1=1) nhưng ta có thể ghi được 2 lời điều khiển chế độ và lời lệnh ở 2 thanh ghi điều khiển khác nhau vì còn có chung một flip flop nội điều khiển lần lượt vào hai thanh ghi trên.

      2. Sơ đồ chân 8251:
      2. Sơ đồ chân 8251:

      THIẾT KẾ VÀ LỰA CHỌN LINH KIỆN ___ oOo ___

      Khi cú một phím ấn, 8279 tự động chống dội sau 10,3 ms và kiểm tra một lần nữa để xem phím đó có ấn nữa hay không, nếu có thì 8279 thiết lập mã cho phím này và lưu trữ mã của phím vào RAM bên trong, sau đó báo cho vi xử lý biết có một phím tác động và yêu cầu vi xử lý nhập mã cho phím này bằng cách tác động đến tín hiệu ngắt IRQ hoặc bằng cách đổi thanh ghi trạng thái FiFo làm cho 3bit NNN sẽ khác mức 000 khi có một phím được ấn. Bộ hiển thị là phương tiện giúp ta xem kết quả mà những gì ta yêu cầu vi xử lý thực hiện được. Trong các mạch Transistor đóng vai trò như một công tắc đóng mở các Led và được điều khiển bởi IC 74138.

      Các Transistor làm việc với tần số lớn hơn 24´8 (8 Led) lần trong giây để thấy được Led liên tục sáng. Để giúp cho Transistor mau bão hòa ta chọn giá trị R2 lớn hơn tính toán.

      Hình V.2:  Sơ đồ ma trận quét phím
      Hình V.2: Sơ đồ ma trận quét phím

      XÂY DỰNG PHẦN MỀM HỆ THỐNG

      KHÁI NIỆM

      Lặp lại A cho đến khi điều kiện C đúng, thao tác phải thực hiện ít nhất một laàn. Nếu điều kiện C đúng thì thực hiện A (tùy theo giá trị của C thao tác A có thể thực hiện 0, 1 hoặc nhiều lần).

      XÂY DỰNG CHƯƠNG TRÌNH HỆ THỐNG

      Begin Xóa 4 bit cao Caát thanh ghi DS Caát thanh ghi BX Caát thanh ghi AX. JNZ X3 ;NHAY NEU LA PHIM CHUC NANG LON HON 0FH CALL CONVERT ;LA PHIM NHAP DATA.

      THI COÂNG

      Cùng với sự tiến bộ của khoa học kỹ thuật, lĩnh vực điện tử có nhiều bước tiến nhảy vọt và công nghệ đổi mới liên tục.