Tài liệu: Chuột

Tài liệu
Khoa CNTT ĐHSP KT Hưng Yên

Tóm tắt nội dung

3.2.2 Chuột
Chuột

Nội dung

Chuột (Mouse)

Chuột thường được sử dụng trong máy vi tính là một thiết bị đầu vào điều khiển nhất là trong các hệ điều hành và phần mền đồ hoạ

có nhiều loại chuột :

Chuột quang.Dùng tín hiệu ánh sáng phản xạ từ màn chuột (Mouse pad)để đo chuyển động.

Chuột cơ dùng viên bi sắt phủ cao su để đo chuyển động

+ loại di trên mặt bàn

+ loại dùng tay lăn viên bi (track ball)

Loại thông dụng nhất hiện nay là laọi chuột cơ

Hình 3-5: Cấu tạo chuột cơ học

Cấu tạo và nguyên tắc hoạt động

a/ Cấu tạo gồm một quả bóng xoay bằng kim loại có phủ lớp cao su, được một lò xo ép vào hai trục nằm theo hai hướng Xvà Y thẳng góc nhau hộp nhựa để đưa tin về toạ độ (X,Y) Đầu mỗi trục có một bánh xe

b/ họat động: Khi di chuyển chuột trên bàn di chuột,viên bi di chuỷên theo.Viên bi này tí sát vào hai trục X,Y làm cho hai bánh xe trên trục quay theo các hướng xác định.Các bộ phận cảm biến ở hai bên phía bánh xe nhận được sự thay đổi đó xẽ sinh ra sung tương ứng.Dựa vào chế độ,hình dạng sung thay đổi,hướng di chuyển con trỏ chuột trên màn hình cũng được thay đổi.Trên mach điều khiển của con chuột cũng có một mạch điện tử.Mạch này sẽ biến đổi dạng sung thành những tín hiệu tương ứng đưa vào máy,và bản mạch này có khả năng nhận biết ddược sự nhấn phím tren các nút nhấn của chuột và vì vậy có thể điều khiển được các hoạt động của chuột.

Sự ghép nối: Chuột gép nối vào MainBoard thông qua cổng COM và cổng PS/2

Phương pháp tác động

1. Muốn sử dụng chuột trong hệ diều hành và các ứng dụng trước tiên ta phải nạp các trình điều khiển chuột,

Để nạp cá trình điều kiển chuột trong môi trường DOS thường thực hiện theo hai cách sau:

  • Chèn vào tệp Config.sys một dòng lệnh sau DEVICE=[path\]mouse.sys
  • Chạy trình điều khiển chuột Mouse.com tại dấu nhắc của DOS

2. Tác động bằng ngắt (33 h)

Hàm 00: Khởi tạo driver cho chuột

vào AX = 00h

Ra AX = FFFF nếu chuột chưa được cài đặt

AX = 0000h nếu như chuột được khởi động

BX = số nút bấm

Hàm 01h Hiện con trỏ chuột

vào AX = 01h

Ra không

Hàm 02h Dấu con trỏ chuột

Vào AX= 02h

Ra không

Hàm 03h: Đọc vị trí con trỏ chuột trạng thái nút bấm

vào AX = 03h

Ra CX =vị trí ngang Graph (0<=X<=639, 0<=y<=399)

DX= vị trí dọc Text (0<=X<=639, 0<=y<=199)

BX = trạng thái nút bấ m bit 0 =1 mút trái nhấn

bit 1= 1 nút phải được nhấn

bit 2=1 nút giữa được nhấn

Hàm 04h đặt con trỏ chuột về vị trí h\nhất định

vào AX =04h

Ra CX= vị trí ngang

DX= vị trí dọc

Hàm 05 Nhận thông tin về trạng thái nút nhấn

Vào: AX =05h

BX = nút nhấn bit 0 =1 mút trái nhấn

bit 1= 1 nút phải được nhấn

bit 2=1 nút giữa được nhấn

ra: BX = số lần nhấn nút

CX =vị trí ngang lần cuối cùng dược nhấn

DX = vị trí dọc

AX = trạng thái nút nhấn bit 0 =1 mút trái nhấn

bit 1= 1 nút phải được nhấn

bit 2=1 nút giữa được nhấn

Hàm 06 nhận thông tin về trạng thái nút nhả

Vào AX =06h

BX =nút nhả bit 0 =1 mút trái nhả

bit 1= 1 nút phải được nhả

bit 2=1 nút giữa được nhả

ra BX = số lần nút nhả

CX =vị trí ngang lần cuối cùng dược nhả

DX = vị trí dọc

AX = trạng thái nút nhấn bit 0 =1 mút trái nhả

bit 1= 1 nút phải được nhả

bit 2=1 nút giữa được nhả

Hàm 09h: định nghĩa con trỏ trong chế độ đồ thị

vào AH=09h

BX = Khoảng cách từ điểm làm chuẩn tới điểm bên phải bảng

CX = Khoảng cách từ điểm làm chuẩn tới điểm bên trái bảng

ES:DX =con trỏ tới bảng định nghĩa hình dạng con chuột trong RAM

Ra kkhông

Bảng gồm 64 byte 32 byte đầu được and và 32 cuối được or với mẫu hiện thời

Ví dụ: Chương trình sử dụng chuột trong chế độ Text

Program chuot;

Uses crt,dos;

Var

r:registers;

x,y:byte;

st1,st2:string;

Procedure MouseInit;

Begin

with r do

begin

ax:=0;

Intr($33,r);

If(ax=0) then writeln('Chua cai dat chuot');

end;

End;

Procedure Show;

Begin

r.ax:=1;

Intr($33,r);

End;

Procedure Hide;

Begin

r.ax:=2;

Intr($33,r);

End;

Procedure vtchuot(x1,y1:byte);

Begin

gotoxy(70,1);

write(x1,':',y1);

End;

Procedure tron;

var

r:integer;

cv,dt:real;

Begin

write('anh chi nhap ban kinh hinh tron');

readln(r);

cv:=pi*2*r;

dt:=pi*r*r;

gotoxy(10,12);

Writeln('dien tich va chu vi hinh tron la: ',cv:5,':',dt:5);

readln;

End;

Procedure vuong;

var

r:integer;

cv,dt:real;

Begin

write('anh chi nhap ban do dai hinh vuong');

readln(r);

cv:=4*r;

dt:=r*r;

gotoxy(10,10);

Writeln('dien tich va chu vi hinh vuong la: ',cv:5,':',dt:5);

readln;

End;

Procedure tbay;

Begin

clrscr;

st1:='Tinh vi va dien tich hinh tron';

st2:='Tinh vi va dien tich hinh vuong';

gotoxy(20,11);Write(st1);

gotoxy(20,12);Write(st2);

End;

Begin

clrscr;

MouseInit;

Show;

tbay;

Repeat

with r do

Begin

ax:=3;

intr($33,r);

x:=cx shr 3+1;

y:= dx shr 3+1;

vtchuot(x,y);

if((bx and 0001)=001)and ((x>=20) or(x<=20+length(st1)))

and (y=11) then

Begin

clrscr; tron; tbay;

End;

if((bx and 0001)=001)and ((x>=20) or(x<=20+length(st2)))

and (y=12) then

Begin

clrscr; vuong; tbay;

End;

until (r.bx and 0002)=0002;

hide;

End.

Ngoại vi và giao diện Ngoại vi và giao diện



Nguồn: voer.edu.vn/m/chuot/27579d77


Chưa có phản hồi
Bạn vui lòng Đăng nhập để bình luận