Sơ đồ ghép nối Keyboard PS/2 với PIC 18F452.

Một phần của tài liệu Thu thập dữ liệu nhiệt độ môi trường trên cở sở dùng vi điều khiển PIC18F458 (Trang 29 - 31)

Để thực hiện được giao tiếp giữa bàn phím và PIC cần có quá trình khởi tạo để 2 thiết bị nhận nhau. Quy trình khởi tạo thực hiện qua các bước:

• Xóa bộ đệm vào ra

• Thiết lập đầu vào dữ liệu và xung • Cấu hình ngắt ngoài

• Cho phép ngắt

Qúa trình khởi tạo được minh họa bằng đoạn code sau:

//////////////khoi tao keyboard///////////////////////// void PS2KeyInit(void){

PS2KeyNRead =0; //xoa viec doc nhung phim so PS2KeyBufInIx =0; //xoa bo dem vao

PS2KeyBufOutIx =0; //xoa bo dem ra

PS2_BREAKCODE =FALSE; //khong nhan breakcode PS2_SHIFT =FALSE; //khong nhan shift

PS2Key_DataTris =1; //thiet lap dau vao du lieu PS2Key_ClkTris =1; //thiet lap dau vao xung clock ext_int_edge(0, H_TO_L); //ngat theo suon xuong

enable_interrupts(INT_EXT); //cho phep ngat ngoai tai RB0 }

///////////////////////////////////////////////////////

4.6.2.2 Các hàm chức năng sử dụng trong chương trình.

Một số hàm sử dụng trong chương trình phục vụ cho quá trình giao tiếp giữa vi điều khiển và bàn phím.

- INT8U PS2KeyGetKey(void);

Nhận 1 mã quét từ bàn phím hàm trả về giá trị 1 nếu đang xứ lý, còn -1 nếu qúa trình không kết thúc.

- Void PS2SendComm(INT8U cmd); Gửi 1 byte lệnh tới bàn phím

- BOOLEAN PS2KeyHit(void);

Phát hiện phím được bấm giá trị 1 trả về nếu xảy ra, bằng 0 nếu không có hiện tượng. - void PS2KeyIntHandler( void );

Hàm sử dụng cho chức năng ngắt tại chân B0, sườn ngắt từ cao xuống thấp. - void PS2KeyBufIn (INT8U code)

Chèn 1 ký tự vào bộ nhớ đệm của bàn phím.

=====================================================CHƯƠNG 5: ĐỒNG HỒ THỜI GIAN THỰC CHƯƠNG 5: ĐỒNG HỒ THỜI GIAN THỰC

Một phần của tài liệu Thu thập dữ liệu nhiệt độ môi trường trên cở sở dùng vi điều khiển PIC18F458 (Trang 29 - 31)

Tải bản đầy đủ (DOC)

(90 trang)
w