Thuật toán hàm xử lý phím được thể hiện trong hình 4.2
Sau khi hàm quét phím xác nhận có phím nhấn, hàm xử lý phím sẽ gán giá trị porta cho biến phim. Biến phim được so sánh với các giá trị để xác định phím nào được nhấn.
Chương trình định nghĩa các macro cho được sử dụng cho các phím như sau: #define INC 0x3E //Phím tăng (increase)
#define DEC 0x3D //Phím giảm (decrease)
#define SHIFT 0x3B //Phím dịch thông số cài đặt (increase) #define OK 0x37 //Phím chấp nhận giá trị cài đặt
#define CANCEL 0x2F //Phím không chấp nhận giá trị cài đặt #define ON_OFF 0x1F //Phím tắt mở động cơ
#define INV_DIR 0x3C //Phím đảo chiều, kết hợp nhấn cả hai //phím INC và DEC cùng lúc.
Chương trình sẽ tùy vào phím nào nhấn mà xử lý các tác vụ tương ứng, sau đó kết thúc chương trình.
Với phím OK: chương trình sẽ gán giá trị vừa nhập cho biến tương ứng với thông số đang cài đặt. Sau đó hiển thị ra LCD dòng chữ “setup” ở vị trí 0x80 và thông số vừa cài đặt ở vị trí 0xC8.
Với phím CANCEL: chương trình sẽ Hiển thị ra LCD dòng chữ “setup” ở vị trí 0x80 và “cancel” ở vị trí 0xC8.
Với phím INC: chương trình sẽ tăng biến nhap_value lên một đơn vị. Biến này chứa giá trị đang cài đặt.
Với phím DEC: chương trình sẽ giảm biến nhap_value một đơn vị. Với phím ON_OFF: nếu động cơ đang mởtắt động cơ và ngược lại.
Với phím SHIFT: chương trình sẽ dịch chuyển thông số cài đặt theo vòng sau: Kp Ki Kd Sp. Sau đó gán thông số muốn thay đổi cho biến nhap_value .
Chương 4: Thiết kế phần mềm
Với phím INV_DIR: chương trình sẽ đảo chân RB3. Sau đó hiển thị ra LCD dòng chữ “INV_DIR” ở vị trí 0xC8.
Chương 4: Thiết kế phần mềm
Hình 4.2 Lưu đồ thuật toán chương trình xử lý phím. Bắt đầu
Gán giá trị porta cho biến phim
Phím OK?
Gán giá trị vừa nhập cho biến tương ứng với thông số đang
cài đặt.. Hiển thị ra LCD dòng chữ “setup” ở vị trí 0x80 và thông số vừa cài đặt ở vị trí 0xC8. Phím Cancel? Hiển thị ra LCD dòng chữ “setup” ở vị trí 0x80 và “cancel” ở vị trí 0xC8 Phím INC?
Tăng biến nhap_value lên một đơn vị Phím
DEC?
Giảm biến nhap_value đi một đơn vị Phím ON/OFF? Động cơ đang mở? tắt PWM để dừng động cơ Mở PWM để bật động cơ Phím Shift?
Dịch chuyển thông số cài đặt theo vòng sau: Kp,
Ki, Kd, Sp.
Gán thông số muốn thay đổi cho biến nhap_value Phím INV? Đảo chân RB3. Hiển thị ra LCD dòng chữ “INV_DIR” ở vị trí 0xC8. Kết thúc Đúng Sai Đúng Đúng Đúng Đúng Đúng Đúng Sai Sai Sai Sai Sai Sai Đúng Sai
Chương 4: Thiết kế phần mềm