Hướng dẫn sử dụng Kit 89 - Bài 13 pot

3 174 0
Hướng dẫn sử dụng Kit 89 - Bài 13 pot

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

Thông tin tài liệu

Hướng dẫn sử dụng Kit 89 Bài 13 : Giao tiếp PS2 với bàn phím Mục đích: Nắm vững giao tiếp PS2 với bàn phím. Yêu cầu: Hiện thực chương trình giao tiếp với bàn phím, hiển thị kí tự được nhấn ra ma trận led . 13.1 Nguyên lý giao tiếp PS2 Dữ liệu trong giao tiếp PS2 cũng được truyền nối tiếp từng bit như uart. Khi 1 phím được nhấn, 11 bit bao gồm Start bit, 8 bit dữ liệu (bit trọng số thấp truyền trước), 1 bit parity và 1 stop bit sẽ được gửi đi : Ta sẽ lấy dữ liệu tại cạnh xuống của clock, chân của clock được nối vào chân ngắt ngoài 1 của vi điều khiển (P3.3) như sau: P3.4kb_Data kb_Clock R3 22K R4 22K VCC P3.3kb_Clock VCC J3 PS/2 CIR 7-R 1 2 3 4 5 6 7 VCC kb_Ground kb_Shield kb_Data kb_Vcc Khi 1 phím được nhấn xuống, mã make_code sẽ được gửi lên. Trong khoảng thời gian phím đó được đè xuống thì mã make_code vẫn được định kì gửi lên. Khi thả phím ra thì bàn phím gửi lên mã break_code và make_code. Bảng mã make_code và break_code của các phím như sau: BKIT HARDWARE CLUB – www.bkit4u.com 70 Hướng dẫn sử dụng Kit 89 Dễ dàng nhận ra mã break_code của 1 phím gồm 0xF0 và mã make_code của phím đó. 13.2 Kết nối phần cứng Chân clock của bàn phím nối với P3.3. Chân data từ bàn phím nới với P3.4. Ứng dụng xuất kí tự ra ma trận led, nên ta gạt switch 3 lên ON. BKIT HARDWARE CLUB – www.bkit4u.com 71 Hướng dẫn sử dụng Kit 89 13.3 Viết chương trình Phần chính của bài thực hành này là lấy cho được dữ liệu truyền lên từ bàn phím. Quá trình dịch từng bit để lấy data 8 bit trong chuỗi 10 bit được hiện thực trong hàm phục vụ ngắt ngoài 1. DATA chính là chân P3^4 void ext1_isr() interrupt 2 { count_bit_input++; if(count_bit_input == 1) //start to get data scan_code = 0x00; // getting data when the key pressed // ignore start bit, parity bit and stop bit // just getting 8 data bits if(count_bit_input > 1 && count_bit_input < 10) { scan_code >>= 1; if(DATA) scan_code |= 0x80; } if(count_bit_input > 10) { //Add your code here count_bit_input = 0; //reset } } Biến count_bit_input dùng để đếm số bit gửi về, khi count_bit_input = 11 ta sẽ có được dữ liệu scan_code từ bàn phím truyền lên. Bạn sẽ phải xử lý để phân loại đây là mã make_code hay break_code, có được nhấn kèm với phím shift hay caps lock hay không để chuyển sang mã ascii cho kí tự được nhấn. Chi tiết code bạn xem thêm trong Bai 13. BKIT HARDWARE CLUB – www.bkit4u.com 72 . với P3.4. Ứng dụng xuất kí tự ra ma trận led, nên ta gạt switch 3 lên ON. BKIT HARDWARE CLUB – www.bkit4u.com 71 Hướng dẫn sử dụng Kit 89 13. 3 Viết chương trình Phần chính của bài thực hành. của các phím như sau: BKIT HARDWARE CLUB – www.bkit4u.com 70 Hướng dẫn sử dụng Kit 89 Dễ dàng nhận ra mã break_code của 1 phím gồm 0xF0 và mã make_code của phím đó. 13. 2 Kết nối phần cứng. Hướng dẫn sử dụng Kit 89 Bài 13 : Giao tiếp PS2 với bàn phím Mục đích: Nắm vững giao tiếp PS2 với bàn phím.

Ngày đăng: 13/08/2014, 22:22

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

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

Tài liệu liên quan