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

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

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

Thông tin tài liệu

Thiết kế, chế tạo và điều khiển tay máy Trang 85 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 Thiết kế, chế tạo và điều khiển tay máy Trang 86 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 Thiết kế, chế tạo và điều khiển tay máy Trang 87 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 Thiết kế, chế tạo và điều khiển tay máy Trang 88 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 5 Pin DIN PS/2 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 Thiết kế, chế tạo và điều khiển tay máy Trang 89 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 . Thiết kế, chế tạo và điều khiển tay máy Trang 85 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. 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 Thiết kế, chế tạo và điều khiển tay máy Trang 87 Hình 11. 1 cho biết mã. 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 Thiết kế, chế tạo và điều khiển tay

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

Từ khóa liên quan

Mục lục

  • 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

  • Chương này sẽ giới thiệu về việc giao

  • Về nguyên tắc mỗi khi ta nhấn một phím

  • Bên cạnh đó khi ta thả một phím ra thì

  • Như vậy khi một phím được nhấn thì bà

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

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

  • Những mã lệnh này được gửi đi từ

  • Mã EDh: Thiết lập trạng thái của đèn

  • Mã EEh: Được gọi là mã Echo, vì khi gư

  • Mã F0h: Thiết lập bộ mã quét. Khi gửi

  • Mã F3h: Thiết lập thời gian lặp lại cu

  • Mã F4h: Cho phép bàn phím hoạt động, le

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

  • Mã FEh: Lệnh này sẽ yêu cầu bàn phím

  • Mã FFh: Reset bàn phím.

  • 11.2.2 Các mã lệnh được gửi đi từ ba

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

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan