Trong hệ thống PC mọi truy cập đến các thiết bị vào ra chuẩn như : Bàn phím,màn hình,máy in,các cổng nối tiếp … bằng BIOS chúng ta phải gọi các ngắt trong của BIOS.
Phần mềm điều khiển việc truy cập đến giao diện nối tiếp được cung cấp dưới dạng các hàm được gọi thông qua ngắt 14H.
III.1 Các hàm của ngắt Int 14H:
Vì hệ thống máy tính PC hiện giờ là hệ thống AT nên trong phần này chúng tôi chỉ xin giới thiệu đến các bạn các hàm của ngắt 14H của máy PC/AT.
Int 14 [PC][AT][PS/2]
III.1.1 Function 00H ( Initialize communications port)
Hàm này dùng để xác định các thông số hoạt động của cổng COM,ta sử dụng hàm này để đưa ra các yêu cầu như : Tốc độ truyền(tính bằng Baud),kiểm tra chẵn lẻ (Parity),chiều dài của mã kí tự và số bit Stop.
Khi hàm này được gọi thì ý nghĩa của các các thanh ghi như sau: AH = 00H ( Hàm để khởi động cổng COM )
AL = Chọn các tham số cho hoạt động của cổng COM DX = Chọn cổng COM được truy cập
Thanh ghi AH sẽ chứa trạng thaí của cổng COM với ý nghĩa các bit như sau:
Bit Ý nghĩa (Nếu bit được Set)
1 Lỗi tràn
2 Lỗi chẵn lẻ
3 Lỗi khung
4 Gián đoạn đường truyền
5 Thanh ghi đợi phát rỗng
6 Thanh ghi dịch rỗng
7 Lỗi Time_Out
AL = Trạng thaí của Modem
Ý nghĩa các Bit của thanh ghi AH trong hàm này liên quan việc truyền nhận thông qua Modem sẽ không được giới thiệu (Vì trong phạm vi của bài tập này việc truyền dữ liệu không sử dụng Modem các bạn có thể tham khảo trong giáo trình Advancad MS Dos Programming) mà chúng tôi chỉ đề cập đến việc Set các tham số để thực hiện việc khởi tạo cổng COM. Byte dùng để xác định các tham số cho cổng COM sẽ được định nghĩa như sau:
Bit(7_6_5) Bit(4_3) Bit(2) Bit(1_0)
Tốc độ truyền(Baud) Kiểm tra Parity Số Bit Stop Chiều daì mã
000 = 110 X0 = None 0 = 1 Bit 10 = 7 Bits
001 = 150 01 = lẻ 1 = 2 Bit 11 = 8 Bits 010 = 300 11 = chẵn 011 = 600 100 = 1200 101 = 2400 110 = 4800 111 = 9600 III.1.2 Function 01H:
Hàm này thực hiện việc viết kí tự ra cổng COM .Khi gọi hàm này thì các thanh ghi sẽ được khai báo như sau:
AH = 01 (Hàm viết kí tự ra cổng COM) AL : Chứa mã của kí tự cần truyền
DX : Dùng để khai báo cổng COM được viết ra ( 0 = COM1 ; 0 = COM2)
Nếu việc gởi kí tự này được thực hiện thành công thì trạng thái của các thanh ghi sẽ được trả lại như sau:
AH bit 7 = 0;
Trạng thái còn lại của thanh ghi AH như sau:
Bit Ý nghĩa (Nếu bit được Set)
8 Sẵn sàng nhận Data
9 Lỗi tràn
10 Lỗi chẵn lẻ
11 Lỗi khung
12 Gián đoạn đường truyền
13 Thanh ghi rỗng
14 Chuyển đổi thanh rỗng
AL = Mã của kí tự truyền ( Không thay đổi) Nếu việc truyền dữ liệu không thành công:
AH bit 7 = 1(Time_Out)
AL = Mã của kí tự truyền ( Không thay đồi)
III.1.3 Function 02H (Read character from communications port):
Hàm này có chức năng nhận kí tự từ cổng COM,Vì trong phạm vi đề tài chúng tôi không sử dụng chức năng của hàm này nên hàm này sẽ không không được giới thiệu,các bạn có thể tham khảo giáo trình Advancad MS Dos Programming.
Function 03H (Get communications port status)
Hàm này có chức năng lấy trạng thái của cổng COM.
Khi gọi hàm này các thanh ghi sẽ được khai báo và có ý nghĩa như sau: AH = 03H
DX = Cổng COM được kiểm tra trạng thái ( 0 = COM1; 1 = COM2)
Lúc đó trạng thái của cổng COM được kiểm tra thông qua các thanh ghi mà ý nghĩa như sau:
AH = Trạng thái của cổng COM ( Xem lại ý nghĩa các bit của thanh ghi thanh ghi AH trong hàm 00H của ngắt 14H)
AL = Trạng thái của Modem (Xem hàm 00H của ngắt 14H)