Lập trình điều khiển chuột Chương 5: Xử lý xuất nhập - Một số định nghĩa cơ bản: * Mickey: Đơn vị đo sự dịch chuyển của chuột =1/200 inch * Số đếm tính bằng mickey: là số mickey mà qu
Trang 1Lập trình điều khiển chuột
Chương 5: Xử lý xuất nhập
- Một số định nghĩa cơ bản:
* Mickey: Đơn vị đo sự dịch chuyển của chuột (=1/200 inch)
* Số đếm tính bằng mickey: là số mickey mà quả banh chuột lăn theo chiều dọc và ngang = tương ứng số pixels trên màn hình
* Con trỏ chuột:Trong chế độ văn bản là khối sáng, trong chế độ đồ họa là hình mũi tên
* Pixel: phần tử nhỏ nhất, định địa chỉ trên màn hình
* Tốc độ ngưỡng: số mickey/giây chuột phải di chuyển = tương ứng tốc độ di chuyển chuột trên màn hình x 2, mặc định là 64 mickey/sec
- Hầu hết các chỉ thị liên quan đến chuột đều sử dụng chức năng của ngắt 33h của DOS
Cú pháp: MOV AX, số hiệu hàm
Trang 2Một số chức năng ngắt 33h
Chương 5: Xử lý xuất nhập
INT – Với ngắt 33h
* Số hiệu hàm: 00h – Khởi động chuột
Thao tác Thanh ghi Giá trị Điều kiện
FFFFh = Cĩ hỗ trợ chuột
Ví dụ:
MOV AX,00h ;yêu cầu chuột INT 33h
Trang 3Một số chức năng ngắt 33h
Chương 5: Xử lý xuất nhập
INT – Với ngắt 33h
* Số hiệu hàm: 01h – Hiển thị con trỏ của chuột
Thao tác Thanh ghi Giá trị Điều kiện
Ví dụ:
Demo
Trang 4Một số chức năng ngắt 33h
Chương 5: Xử lý xuất nhập
INT – Với ngắt 33h
* Số hiệu hàm: 03h – Lấy trạng thái nút nhấn của chuột
Thao tác Thanh ghi Giá trị Điều kiện
các bit:
Bit 0: nút nhấn trái 0=lên, 1= xuống Bit 1: nút nhấn phải 0=lên, 1= xuống Bit 2: nút nhấn giữa 0=lên, 1= xuống
Ví dụ: Kiểm tra nếu nút phải nhấn thì thốt
Trang 5Một số chức năng ngắt 33h
Chương 5: Xử lý xuất nhập
INT – Với ngắt 33h
* Số hiệu hàm: 04h – Thiết lập vị trí của con trỏ
Thao tác Thanh ghi Giá trị Điều kiện
Tính bằng pixel với 8 pixels cho mỗi byte ở mode 3
Ví dụ: MOV AX,00h
INT 33h MOV AX,01h INT 33h
MOV AX,04h
INT 33h
Trang 6Một số chức năng ngắt 33h
Chương 5: Xử lý xuất nhập
INT – Với ngắt 33h
* Số hiệu hàm: 05h – Lấy thơng tin ấn nút nhấn của con trỏ
Thao tác Thanh ghi Giá trị Điều kiện
BX <Số> Số của nút nhấn
0=trái, 1=phải, 2=giữa
vị trí bit:
Bit 0: nút trái 0=lên, 1 = xuống Bit 1: nút phải 0=lên,1=xuống Bit 3: nút giữa 0=lên,1=xuống
CX:DX Tọa độ ngang:dọc của lần ấn nút
cuối cùng
Trang 7Một số chức năng ngắt 33h
Chương 5: Xử lý xuất nhập
INT – Với ngắt 33h
* Số hiệu hàm: 10h – Thiết lập vùng loại trừ của con trỏ
Thao tác Thanh ghi Giá trị Điều kiện
CX:DX Tọa độ ngang:dọc ở trên trái SI:DX Tọa độ ngang:dọc ở dưới phải
Ví dụ:
MOV AX,10h MOV CX,10 ;10x8
MOV DX:12 ;12x8 INT 33h
Trang 8Lập trình xử lý xuất nhập
Chương 5: Xử lý xuất nhập
- Bộ vi xử lý nối với thiết bị bên ngồi thơng qua PORT: nhận tín hiệu từ thiết bị nhập và gửi tín hiệu đến thiết bị xuất
- Các PORT nhận dạng thơng qua các địa chỉ từ 0h đến 3FFh
- Sử dụng các chĩ thị IN và OUT để quản lý xuất nhập trực tiếp
- Cú pháp:
IN <thanh ghi>,PORT OUT PORT,<thanh ghi>
Trong đĩ: thanh ghi là AL (byte) hoặc AX (từ)
- Cĩ thể xác định địa chỉ PORT tĩnh hoặc động:
• Địa chỉ tĩnh: Sử dụng trực tiếp tốn hạng từ 0 255:
Ví dụ: IN AL,port#
OUT port#,AX
• Địa chỉ động: Sử dụng giá trị từ 065535 cho DX
Ví dụ: MOV DX,60h ;nhận từ bàn phím
IN AL,DX ;một byte
Trang 9Lập trình xử lý xuất nhập
Chương 5: Xử lý xuất nhập
Một số địa chỉ PORT thường dùng:
• 278h-20Fh Cổng máy in song song LPT3
• 378h-37Fh Cổng máy in song song LPT2
• 3BCh-3BFh Cổng máy in song song LPT1
• 3F8h-3FFh Cổng nối tiếp COM1
• 2F8h-2FFh Cổng nối tiếp COM2
• 3F0h-3F7h Bộ điều khiển đĩa