Giao tiếp máy tính với Vi xử lý 8086

MỤC LỤC

GIỚI THIỆU CHUNG

Cùng với sự phát triển của khoa học kỹ thuật thì ngành công nghiệp máy tính cũng được phát triển rất mạnh mẽ và ngày càng được ứng dụng rộng rãi trong mọi công việc như các công việc trong công nghiệp cũng như trong thông tin liên lạc. Để thực hiện được những công việc nhận dữ liệu từ các thiết bị khác để xử lý hoặc gửi dữ liệu đi để điều khiển các thiết bị khác thì công việc giao tiếp giữa hai hệ vi xử lý với nhau hay giữa vi xử lý với máy tính là một công việc chủ yếu trong việc truyền dữ liệu vì thế sinh viên quyết định thực hiện đề tài “Giao tiếp máy tính với kit VXL 8086”. Mục đích để học hỏi và tìm hiểu thêm các ứng dụng của VXL và các IC giao tiếp ngoại vi trong thực tế, làm quen với các chương trình truyền dữ liệu để hoàn thành tốt luận văn tốt nghiệp này.

Riêng trong lĩnh vực giao tiếp thì đó cũng là tài liệu tham khảo ban đầu cho những người muốn đi sâu vào lĩnh vực giao tiếp. Đề 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 hoàn thiện hơn.

CHƯƠNG CƠ SỞ LÝ LUẬN

KẾ HOẠCH NGHIÊN CỨU

    Mã lệnh đọc vào từ bộ nhớ đưa đến đầu của bộ giải mã, các thông tin thu được từ đầu ra củc nó sẽ được đưa đến mạch tạo xung điều khiển, kết quả là thu được các dãy xung khác nhau (tùy theo mã lệnh) để điều khiển hoạt động của các bộ phận bên trong và bên ngoài CPU. 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. 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 toá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.

    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. 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, BUI & 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ý. Để 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.

    3. Sơ đồ khối bền trongvà chức năng các khối cuả VXL 8086:
    3. Sơ đồ khối bền trongvà chức năng các khối cuả VXL 8086:

    GIAO TIẾP VỚI MÁY TÍNH

    GIAO TIEÁP SONG SONG

      Trong máy tính người ta chế tạo sẵn các slot cho phép người sử dụng tính năng của máy vi tính bằng cách gắn thêm các thiết bị vào nó. Mỗi slot đều có các đường dữ liệu (data), địa chỉ (address), các đường +5V , – 5V , + 12V , -12V và các đường điều khiển như CLK, IRQ, RESET, /IOW, IOR … vì vậy nếu thiết kế mạch giao tiếp qua slot sẽ giảm được rất nhiều linh kiện, giảm được bộ nguồn bên ngoài, dễ điều khiển, giá thành thấp nên đồng thời tốc độ truyền dữ liệu cũng nhanh. Ở máy tính PC/XT rãnh cắm trong máy tính chỉ có 1 loại với độ rộng là 8 bit và tuân theo tiêu chuẩn ISA (Industry Standard Architecture).

      Cho đến nay phần lớn các card ghép nối dùng trong kỹ thuật do lường và điều khiển đều được chế tạo để đặt vào rãnh cắm theo tiêu chuẩn ISA. Cổng nối tiếp RS232 là một loại giao diện phổ biến rộng rãi nhất, ta còn gọi là cổng COM1 , COM2 để tự do cho các ứng dụng khác nhau. Giống như cổng máy in,cổng nối tiếp RS232 cũng được sử dụng rất thuận tiện trong việc ghép nối máy tính với các thiết bị ngoại vi.

      Việc truyền dữ liệu qua cổng RS232 được tiến hành theo cách nối tiếp, nghĩa là các bit dữ liệu được gởi đi nối tiếp vối nhau trên một đường dẫn. Trước hết loại truyền này có khả năng dùng cho những khoảng cách lớn hơn, bởi vì khả năng gây nhiễu là nhỏ đáng kể hơn là khi dùng một cổng song song. Việc dùng cổng song song có một nhược điểm đáng kể là cáp truyền nhiều sợi và vì vậi rất đắt tiền, hơn nưa mức tín hiệu nằm trong khỏang 0.5V đã tỏ ra không thich ứng với khoảng cách lớn.

      Các tín hiệu khác đóng vai trò như tín hiệu hỗ trợ khi trao đổi thông tin và vì thế không phải trong mọi ứng dụng đều dùng đến. Còn một vấn đề nữa là khuôân mẫu (Format) truyền dữ liêu cần phải được thiết lập như nhau cả bên gửi cũng như bên nhận các thông số truyền. RLSD RI DSR CTS ∆RLSD ∆RI ∆DSR ∆CTR Cũng giống như ở cổng ghép nối với máy in, các Thanh ghi được trao đổi qua ô nhớ trong vùng vào/ra (input/output).

      Địa chỉ đầu tiên có thể tới được của cổng nối tiếp gọi là địa chỉ cơ bản (basic Address) các đỉa chỉ của các thanh ghi tiếp theo được đạt tới bằng việc cộng thêm số thanh ghi đã gặp của bộ UART vào địa chỉ cơ bản.

      GIAO TIẾP NỐI TIẾP DÙNG VI MẠCH 8251

      TRUYEÀN THOÂNG TIN NOÁI TIEÁP

      Trong cách truyền không đồng bộ, dữ liệu được truyền đi theo từng ký tự. Ký tự cần truyền đi được gắn thêm một bit đánh dấu ở đầu để báo bắt đấu ký tự (start) và 1 hoặc 2 bit đỏnh dấu cuối để bỏo kết thỳc ký tự (stop)ù. Vì cuối ký tự được nhận dạng riêng biệt nên nó có thể dược truyền đi theo phương pháp không đồng bộ, được thể hiện trên hình 6.1.

      Tuỳ theo hệ thống truyền tin, bên cạnh các bit dữ liệu còn có thể tuỳ chọn có hay không có 1bit parity để kiễm tra lổi khi truyền có thể tuỳ chọn 1 hoặc 2 bit stop, nhưng bắt buộc phải có một bit start. Như vậy để truyền một ký tự theo phương pháp không đồng bộ, ngoài ký tự mang tin ta buộc phải truyền thêm ít nhất 2 và nhiều nhất là 4 bit phụ để tạo ra khung cho ký tự đó, vì thế phương pháp nầy tuy đơn giản nhưng có hiệu suất không cao. Để tạo điều kiện dễ dàng cho việc phối ghép đường truyền nối tiếp với hệ vi xử lý và để giảm tối đa các mạch phụ thêm ở bên ngoài người ta đã chế tạo ra các vi mạch tổ hợp cỡ lớn lập trình được có khã năng hoàn thành phần lớn các công việc cần thiết trong khi phối ghép.

      D3 RxD

      Các thanh ghi

      Hai thanh ghi đệm số liệu ghi và đọc có cùng một địa chỉ (A0 = 0) và dùng để ghi và đọc số liệu cần truyền và nhận của KGN. Trở kháng cao (không dùng). 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. Pe= 1khi có sai xoá baống ER cuỷa leọnh Chỉ sẵn sang nhận số liệu để truyền cho VXL.

      Khi VXL chưa đọc lời trước, lời sau đã tới thì OE =1 xoá bằng ER cuỷa leọnh. - 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.

      VXL2

      PHAÀN MEÀM GIAO TIEÁP

      TỔNG KẾT VÀ ĐÁNH GIÁ

      Sau thời gian thực hiện đề tài sinh viên thực hiện đề tàiđã kết nối phần cứng và viết chương trình truyền dữ liệu giữa 2 kit VXL, giữa máy tính với kit VXL. + Chương trình truyền dữ liệu trên máy tính mới truyền hoàn chỉnh được những file .hex, đề tài cần phát triển thêm các chương trình truyền các file .com, .doc, …. + Thiết kế phần cứng và viết chương trình truyền dữ liệu theo kiểu song song duứng 8255.