1. Trang chủ
  2. » Kỹ Thuật - Công Nghệ

đồ án thiết kế chế tạo và điều khiển tay máy, chương 11 ppsx

5 290 1
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 5
Dung lượng 134,38 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Ví dụ như khi ta nhấn phím chữ “A”, thì bàn phím sẽ gửi đi một mã quét là 1Ch, và nếu ta cứ giữ phím thì mã quét sẽ được gửi đi liên tục cho đến khi phím “A” được nhả ra.. Bên cạnh đó kh

Trang 1

11

GIAO TIẾP VỚI BÀN PHÍM AT

11.1 KHÁI QUÁT VỀ LÝ THUYẾT CỦA BÀN PHÍM GIAO TIẾP VỚI PC

Chương này sẽ giới thiệu về việc giao tiếp với bàn phím AT Bàn phím AT

là một thiết bị nhập thông dụng phổ biến mà ta thường gặp ở các máy vi tính

Với giá thành khá rẻ, chúng ta có thể có được một thiết bị nhập với nhiều phím

lệnh (101 phím tương đương với 101 phím lệnh) mà chỉ cần hai chân tín hiệu để

điều khiển Đó là ưu điểm của việc dùng bàn phím AT để làm thết bị nhập

Về nguyên tắc mỗi khi ta nhấn một phím trên bàn phím thì bàn phím sẽ gởi

cho máy tính một mã quét (scan code) Mã này sẽ được máy vi tính xử lý và

chuyển đổi thành mã ASCII mà ta đã biết Ví dụ như khi ta nhấn phím chữ “A”,

thì bàn phím sẽ gửi đi một mã quét là 1Ch, và nếu ta cứ giữ phím thì mã quét sẽ

được gửi đi liên tục cho đến khi phím “A” được nhả ra

Bên cạnh đó khi ta thả một phím ra thì bàn phím cũng gửi đi một mã quét

khác (F0h) để báo cho máy tính biết phím nhấn được nhả ra, sau đó lại gủi tiếp

mã của phím nhấn được nhả Và dựa vào điều này ta có thể biết được phím nào

được nhấn Ứng với mỗi phím ta sẽ có một mã quét khác nhau, và các mã này là

duy nhất cho dù phím đó có được nhấn kèm với phím Shift hay Capslock, … hay

không Ngay cả việc làm sáng các đèn Num, Caps, Scroll lock không phải là do

ta nhấn phím trên bàn phím, mà do máy tính giải mã và sẽ gửi những mã ngược

về cho bàn phím điều khiển việc bật sáng đèn

GVHD: TS NGUYỄN VĂN GIÁP SVTH: Nguyễn Nhật Tân-Nguyễn Lê Tùng

Trang 2

Như vậy khi một phím được nhấn thì bàn phím sẽ gửi đi mã quét của phím đó rồi gửi đi mã F0h, đối với các phím mở rộng thì mã quét của phím đó được gửi đi trước, sau đó là mã E0h (để báo cho máy vi tính biết đó là phím mở rộng) rồi mới tới mã F0h

11.2 CÁC MÃ LỆNH ĐỂ GIAO TIẾP VỚI BÀN PHÍM

11.2.1 Các mã lệnh được gửi tới bàn phím

Những mã lệnh này được gửi đi từ bộ phận điều khiển bàn phím (máy tính hoặc trong luận văn này là từ chip AT89C2051) Các lệnh này chủ yếu như là các lệnh bật tắt đèn, reset bàn phím, … Sau đây là một số mã lệnh thông dụng:

Mã EDh: Thiết lập trạng thái của đèn LED Sau khi gửi mã lệnh này đi, bàn phím sẽ gởi lại mã ACK (FAh) Và chờ byte sau sẽ quyết định trang thái của đèn Bit 0 cho đèn Scroll Lock, bit 1 cho đèn Num Lock, bit 2 cho đèn Caps Lock, các bit còn lại không quan tâm

Mã EEh: Được gọi là mã Echo, vì khi gửi mã này đi thì bàn phím cũng sẽ gửi ngược trở lại mã này

Mã F0h: Thiết lập bộ mã quét Khi gửi mã này đi, bàn phím sẽ gửi trở lại mã ACK và chờ nhận byte kế tiếp, 01-03 sẽ qui định bộ mã quét được sử dụng Nếu gửi 00 thì bàn phím sẽ cho ta biết bộ mã quét đang được sử dụng

Mã F3h: Thiết lập thời gian lặp lại của phím

Mã F4h: Cho phép bàn phím hoạt động, lệnh này sẽ xóa bộ đệm của bàn phím

Mã F5h: Khóa bàn phím

Mã FEh: Lệnh này sẽ yêu cầu bàn phím gửi lại byte cuối cùng mà bàn phím vừa gửi

Mã FFh: Reset bàn phím

11.2.2 Các mã lệnh được gửi đi từ bàn phím

Mã FAh:Mã tín hiệu ACK

Mã AAh: Mã bàn phím báo là đã khởi động xong

Mã EEh: Tương tự như trên

Mã FEh: Mã bàn phím yêu cầu gửi cho bàn phím byte vừa gửi

Mã 00h hoặc FFh: Mã báo lỗi hoặc bộ đệm bị tràn

11.3 CÁC MÃ QUÉT CỦA BÀN PHÍM AT

GVHD: TS NGUYỄN VĂN GIÁP SVTH: Nguyễn Nhật Tân-Nguyễn Lê Tùng

Trang 3

Hình 11.1 cho biết mã quét của từng phím Do mã quét của từng phím không theo thứ tự như thứ tự bảng chữ cái Nên khi lập trình để chuyển sang mã ASCII, ta cần phải lập một bảng tra

Hình 11.1 Mã quét của từng phím của bàn phím AT

Hình 11.2 Mã quét của các phím mở rộng của bàn phím AT

11.4 CỔNG NỐI CỦA BÀN PHÍM

Bàn phím AT có bốn dây ra, trong đó có hai dây nguồn, hai dây tín hiệu Bốn dây này được nối với hai loại cổng, cổng PS/2 hoặc cổng 5 Pin DIN với việc bố trí chân như sau:

GVHD: TS NGUYỄN VĂN GIÁP SVTH: Nguyễn Nhật Tân-Nguyễn Lê Tùng

Trang 4

1 KBD Clock

2 KBD Data

3 N/C

4 GND

5 +5V (VCC)

1 KBD Clock

2 GND

3 KBD Data

4 N/C

5 +5V (VCC)

6 N/C

Hình 11.3 Sơ đồ chân ra của đầu nối bàn phím

11.5 LẬP TRÌNH GIAO TIẾP VỚI BÀN PHÍM

11.5.1 Lập trình gửi lệnh từ bàn phím đến bộ điều khiển

Do bàn phím sử dụng hai dây tín hiệu để điều khiển, dữ liệu (lệnh, mã quét) truyền từ bộ điều khiển cũng như từ bàn phím đều dùng chung đường truyền, nhưng đường truyền từ bộ điều khiển tới bàn phím được ưu tiên hơn Khi hai chân KBD Clock và KBD Data ở mức cao (rãnh-Idle), thì bàn phím sẽ tự do gửi dữ liệu Nếu chân KBD Clock xuống mức thấp thì bàn phím sẽ chuẩn bị đưa dữ liệu vào bộ đệm gửi (tín hiệu chẩn bị gửi – Clear to Send) Và khi chân KBD Clock lên lại mức cao thì bộ đệm này được gửi ra chân KBD Data

Khung truyền gồm 11-bit dữ liệu Bit đầu tiên là Start-bit (logic 0), tiếp theo là 8-bit dữ liệu (bit LSB được gửi đi trước), tiếp theo là bit parity kiểm tra lẻ và cuối cùng là Stop-bit (logic 1) Mỗi bit được lấy mẫu khi có cạnh xuống của KBD Clock

Hình 11.4 Khung truyền dữ liệu từ bàn phím tới bộ điều khiển

Xung trên chân KBD Clock là do bàn phím tự tạo ra, xung này có tần số khoảng 20-30KHz

11.5.2 Lập trình gửi lệnh từ bộ điều khiển đến bàn phím

Khi bộ điều khiển muốn gửi lệnh đến bàn phím, thì trước hết ta sẽ cho chân KBD Data xuống mức thấp (Request to Send) Tuy nhiên để tránh trường hợp lúc đó bàn phím cũng gửi dữ liệu trên chân KBD Data, ta sẽ giữ chân KBD

GVHD: TS NGUYỄN VĂN GIÁP SVTH: Nguyễn Nhật Tân-Nguyễn Lê Tùng

Trang 5

Clock ở mức thấp trong hơn 600µs, rồi mới cho chân KBD Data xuống mức thấp đồng thời cho chân KBD Clock lên mức cao

Lúc này bàn phím sẽ tạo xung clock trên chân KBD Clock và ta sẽ đợi cạnh xuống đầu tiên trên chân KBD Clock, sau đó ta sẽ đưa từng bit dữ liệu lên chân KBD Data Bit này sẽ được bàn phím đọc khi có cạnh xuống tiếp theo của xung clock Ta sẽ truyền 8-bit dữ liệu cùng với bit parity kiểm tra lẻ

Hình 11.5 Khung truyền dữ liệu từ bộ điều khiển tới bàn phím

Khi bit parity được bàn phím đọc thì chân KBD Data sẽ được bàn phím đưa lên mức cao và bàn phím sẽ gởi về tín hiệu ACK thông báo đã nhận dữ liệu

11.6 KẾT LUẬN

Có thể thấy bàn phím AT là một thiết bị nhập khá tiện lợi, chỉ với hai dây tín hiệu, ta có thể có hơn 101 phím lệnh khác nhau Với chương này ta thể lập trình giao tiếp với bất kỳ một bàn phím AT nào để có một thiết bị nhập tiện ích Ngày nay vấn đề lưu trữ dữ liệu cũng khá được quan tâm, nhất là vấn đề lưu trữ một khối lương lớn thông tin mà ROM, hay RAM không thể đáp ứng nổi Chương tiếp theo chúng ta sẽ tìm hiểu khái quát việc lập trình giao tiếp với đĩa cứng (HDD)

GVHD: TS NGUYỄN VĂN GIÁP SVTH: Nguyễn Nhật Tân-Nguyễn Lê Tùng

Ngày đăng: 03/07/2014, 05:20

HÌNH ẢNH LIÊN QUAN

Hình 11.1  Mã quét của từng phím của bàn phím AT - đồ án thiết kế chế tạo và điều khiển tay máy, chương 11 ppsx
Hình 11.1 Mã quét của từng phím của bàn phím AT (Trang 3)
Hình 11.1 cho biết mã quét của từng phím. Do mã quét của từng phím  không theo thứ tự như thứ tự bảng chữ cái - đồ án thiết kế chế tạo và điều khiển tay máy, chương 11 ppsx
Hình 11.1 cho biết mã quét của từng phím. Do mã quét của từng phím không theo thứ tự như thứ tự bảng chữ cái (Trang 3)

TỪ KHÓA LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm