Truy xuất cổng nối tiếp dùng DOS và BIOS

Một phần của tài liệu giáo trình chương trình máy tính (Trang 94 - 97)

- Thế hệ sử dụng dòng phân cực spin cảm ứng (Spin Polarized Current Induced Switching CIS)

c. Nhóm dữ liệu nối tiếp SDU vàn ối tiếp hóa

4.2.1. Truy xuất cổng nối tiếp dùng DOS và BIOS

Lệnh ngọai trú MODE của DOS có thể đặt các thông số cho cổng nối tiếp RS232.

Thí dụ: MODE COM2:2400, E,8 ,1 chọn cổng COM2, tốc độ 2400 baud, parity

chẵn, 8 bit dữ liệu và 1 bit stop. Cũng có thể dùng ngắt 21h của DOS để phát hoặc thu dữ liệu qua cổng nối tiếp

bằng 4 hàm sau:

- Hàm 03h: đọc 1 ký tự - Hàm 04h: phát 1 ký tự - Hàm 3Fh: đọc 1 file - Hàm 40h: ghi 1 file

BIOS cho phép truy xuất khối ghép nối nối tiếp qua ngắt 14h.

- Hàm 00h: khởi động khối ghép nối, định dạng dữ liệu, tốc độ truyền,…. - Hàm 01h, 02h: phát và thu 1 ký tự

- Hàm 03h: trạng thái của cổng nối tiếp

- Hàm 04h,05h: mở rộng các điều kiện khởi động khối ghép nối, cho phép truy

xuất các thanh ghi điều khiển MODEM.

D7: lỗi quá thời gian (time-out); 1 = có lỗi; 0 = không lỗi; D6: thanh ghi dịch phát; 1 = rỗng ; 0 = không rỗng

D5: thanh ghi đệm phát; 1 = rỗng; 0 = không rỗng D4: ngắt đường truyền; 1= có ; 0 = không

D3: lỗi khung truyền SDU; 1 = có ; 0 = không D2: lỗi chẵn lẻ; 1 = có ; 0 = không

D1: lỗi tràn; 1 = có ; 0 = không

D0: số liệu thu; 1 = có ; 0 = không

D7: phát hiện sóng mang; 1= phát hiện, 0 = không D6: chỉ báo tín hiệu chuông; 1= có ; 0= không D5: tín hiệu DTR; 1 = có , 0 = không

D4: tín hiệu CTS; 1 = có , 0 = không D3: tín hiệu DDC, 1 = có , 0 = không D2: tín hiệu delta RI; 1 = có, 0 = không D1: tín hiệu delta DTR; 1 = có , 0 = không D0: tín hiệu delta CTS; 1 = có , 0 = không

Thanh ghi DX chứa giá trị tương ứng với các cổng cần truy xuất (00h cho COM1,

01h cho COM2, 10h cho COM3, 11h cho COM4). Các thông số định dạng khung truyền

SDU được nạp vào thanh ghi AL theo nội dung như sau: D7, D6, D5: tốc độ baud 000 = 110 baud 001 = 150 baud 010 = 300 baud 011 = 600 baud 100 =1200 baud 101 = 2400 baud 110 = 4800 baud 111 = 9600 baud D4-D3: bit parity 00= không có 01= lẻ 10 = không có 11= chẵn D2: số bit stop 0 = 1 bit 1 = 2 bits D1-D0: số bit số liệu 10 = 7 bits 11= 8 bits 4.4.2. Giao tiếp PC Game

Cấu trúc và chức năng của board ghép nối trò chơi (PC game) như hình bên dưới. Bằng lệnh IN và OUT có thể truy xuất qua địa chỉ 201h.

Board mạch được nối với bus hệ thống của PC chỉ qua 8 bits thấp của bus dữ liệu, 10 bits thấp của bus địa chỉ và các đường điều khiển IOR và IOW. Một đầu nối 15 chân được nối với board mạch cho phép nối cực đại hai thiết bị cho PC game gọi là joystick. Mỗi joystick có 2 biến trở có giá trị biến đổi từ 0 đến 100kΩ được đặt vuông góc với nhau đại diện cho vị trí x và y của joystick. Thêm nữa chúng có 2 phím bấm, thường là các công tắc thường hở phù hợp với các mức logic cao của các dây trên mạch. Có thể xác định được trạng thái nhấn hoặc nhả phím một cách dễ dàng bằng lệnh IN tới địa chỉ 201h. Nibble cao chỉ thị trạng thái của phím. Vì board không dùng đường IRQ do đó không có khả năng phát ra 1 ngắt, do vậy board chỉ hoạt động trong chế độ hỏi vòng (polling). Byte trạng thái của board game như sau:

BB2, BB1, BA2, BA1: Trạng thái của các phím B2, B1, A2, A1; 1 = nhả; 0 = nhấn BY, BX, AY, AX: Trạng thái của mạch đa hài tuỳ thuộc vào biến trở tương ứng.

4.4.3. Giao tiếp vi bàn phím

Một phần của tài liệu giáo trình chương trình máy tính (Trang 94 - 97)

Tải bản đầy đủ (PDF)

(129 trang)