Các chức năng của board thí nghiệm BK89IT :
8 nút nhấn : nối với P3.
8 led 7 đoạn : hỗ trợ quét led, P0 để gửi dữ liệu và P2 để chọn led.
Led ma trận 2 màu : P0 gửi dữ liệu mà đỏ, P2 gửi dữ liệu xanh, P1 để chọn cột hiển thị.
Giao tiếp với bàn phím PS2.
Giao tiếp COM
99 trang |
Chia sẻ: haohao89 | Lượt xem: 2398 | Lượt tải: 1
Bạn đang xem trước 20 trang tài liệu Hướng dẫn sử dụng kit 89, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
Hướng dẫn sử dụng Kit 89
BKIT HARDWARE CLUB – www.bkit4u.com 1
Mục lục
Giới thiệu kit thí nghiệm BK89IT ....................................................................................... 4
Mô hình lập trình C trong vi điều khiển .............................................................................. 5
Bài 1 : Hướng dẫn cài đặt Keil C và Flash Magic .......................................................... 6
1.1 Cài đặt Keil C ............................................................................................................ 6
1.2 Cài đặt Flash Magic................................................................................................. 11
1.3 Cấu hình cho Flash Magic ....................................................................................... 16
Bài 2 : Truy xuất Port I/O ............................................................................................. 22
2.1 Tạo project trên Keil C ............................................................................................ 22
2.2 Viết chương trình đơn giản ..................................................................................... 32
2.2.1 Kết nối phần cứng ............................................................................................ 32
2.2.2 Viết chương trình ............................................................................................. 33
2.2.3 Nạp chương trình .............................................................................................. 34
2.2.4 Các lỗi xảy ra khi nạp chương trình ................................................................. 35
Bài 3 : Điều khiển đơn giản Led 7 đoạn ....................................................................... 38
3.1 Kết nối phần cứng: .................................................................................................. 38
3.2 Viết chương trình .................................................................................................... 39
3.2.1 Hàm init_main() ............................................................................................... 39
3.2.2 Hàm main() ...................................................................................................... 39
3.3 Một số lỗi lập trình quan trọng ................................................................................ 41
Bài 4 : Ngắt Timer ........................................................................................................ 42
4.1 Khai báo ngắt timer ................................................................................................. 42
4.2 Viết chương trình .................................................................................................... 43
4.2.1 Hàm init_timer1() ............................................................................................. 43
4.2.2 Hàm start_timer1() ........................................................................................... 43
4.2.3 Hàm timer1_isr() .............................................................................................. 43
4.2.4 Hàm delay_ms(unsigned int duration) ............................................................. 44
4.2.5 Hàm stop_timer1() ........................................................................................... 44
Bài 5 : Dùng ngắt timer viết ứng dụng LED RIVER .................................................... 45
5.1 Kết nối phần cứng ................................................................................................... 45
5.2 Viết chương trình .................................................................................................... 45
Bài 6 : Chống rung cho phím ........................................................................................ 47
6.1 Nguyên lý chống rung ............................................................................................. 47
6.2 Kết nối phần cứng ................................................................................................... 48
6.3 Viết chương trình .................................................................................................... 49
6.3.1 Hàm initKey() .................................................................................................. 49
6.3.2 Hàm getKey() ................................................................................................... 49
Bài 7 : Quét led điều khiển Led 7 đoạn ........................................................................ 51
7.1 Nguyên lý quét led 7 đoạn....................................................................................... 51
7.2 Kết nối phần cứng ................................................................................................... 52
7.3 Viết chương trình .................................................................................................... 52
7.3.1 Hàm init_led7() ................................................................................................ 52
7.3.2 Hàm clear_led7() .............................................................................................. 53
7.3.3 Hàm set_position(unsigned int pos) ................................................................. 53
7.3.4 Hàm get_position() ........................................................................................... 53
Hướng dẫn sử dụng Kit 89
BKIT HARDWARE CLUB – www.bkit4u.com 2
7.3.5 Hàm put_Number(unsigned int num) .............................................................. 54
7.3.6 Hàm put_string(char strNum[]) ........................................................................ 54
7.3.7 Hàm scan_led7 ................................................................................................. 54
Bài 8 : Điều khiển Ma trận led ...................................................................................... 56
8.1 Nguyên lý điều khiển ma trận led ........................................................................... 56
8.2 Kết nối phần cứng ................................................................................................... 56
8.3 Viết chương trình .................................................................................................... 56
8.3.1 Hàm init_led_matrix() ...................................................................................... 57
8.3.2 Hàm scan_led_matrix() .................................................................................... 57
8.3.3 Hàm update_display_led_matrix() ................................................................... 57
Bài 9 : Chạy chữ trên Ma trận led ................................................................................. 59
9.1 Nguyên lý chạy chữ trên ma trận led ...................................................................... 59
9.2 Kết nối phần cứng ................................................................................................... 60
9.3 Viết chương trình .................................................................................................... 60
9.3.1 Hàm set_message(char strMsg[]) ..................................................................... 60
9.3.2 Hàm main() ...................................................................................................... 61
Bài 10 : Ngắt ngoài ..................................................................................................... 62
10.1 Nguyên lý điều khiển ngắt ngoài........................................................................... 62
10.2 Kết nối phần cứng ................................................................................................. 62
10.3 Viết chương trình .................................................................................................. 62
10.3.1 Hàm init_ext_int0() ........................................................................................ 62
10.3.2 Hàm init_ext_int1() ........................................................................................ 62
10.3.3 Hàm ext0_isr()................................................................................................ 63
10.3.4 Hàm ext1_isr()................................................................................................ 63
Bài 11 : Điều khiển encoder........................................................................................ 64
11.1 Nguyên lý điều khiển encoder ............................................................................... 64
11.2 Kết nối phần cứng ................................................................................................. 65
11.3 Viết chương trình .................................................................................................. 65
Bài 12 : Giao tiếp UART ............................................................................................ 67
12.1 Nguyên lý giao tiếp UART ................................................................................... 67
12.2 Giao tiếp UART với máy tính ............................................................................... 68
12.3 Viết chương trình .................................................................................................. 69
12.3.1 Thanh ghi điều khiển truyền nhận nối tiếp ..................................................... 69
12.3.2 Dùng Timer1 tạo Baud rate ............................................................................ 71
12.3.3 Chương trình truyền nhận UART trên 8051 .................................................. 71
Bài 13 : Giao tiếp PS2 với bàn phím .......................................................................... 74
13.1 Nguyên lý giao tiếp PS2 ........................................................................................ 74
13.2 Kết nối phần cứng ................................................................................................. 75
13.3 Viết chương trình .................................................................................................. 76
Bài 14 : PWM điều khiển motor ................................................................................. 77
14.1 Khái niệm PWM.................................................................................................... 77
14.2 Lập trình PWM trên 89V51 .................................................................................. 78
Bài 15 : Giao tiếp LCD character ............................................................................... 79
15.1 Chức năng các chân của LCD ............................................................................... 79
15.2 Kết nối màn hình LCD .......................................................................................... 80
15.3 Các vùng nhớ của LCD ......................................................................................... 80
Hướng dẫn sử dụng Kit 89
BKIT HARDWARE CLUB – www.bkit4u.com 3
15.3.1 Display Data Ram (DDRAM) ........................................................................ 80
15.3.2 Character Generator Ram (CGRAM) ............................................................ 80
15.3.3 Bộ nhớ CGROM ............................................................................................ 81
15.4 Các lệnh cơ bản của LCD...................................................................................... 82
15.5 Kết nối LCD với vi điều khiển .............................................................................. 83
15.6 Khởi tạo LCD ........................................................................................................ 84
15.7 Kết nối phần cứng ................................................................................................. 86
15.8 Viết chương trình .................................................................................................. 87
15.8.1 Các hàm cơ bản .............................................................................................. 87
15.8.2 Khởi tạo LCD chế độ 4 bit ............................................................................. 87
15.8.3 Xoá màn hình ................................................................................................. 88
15.8.4 Thiết lập vị trí con trỏ ..................................................................................... 88
15.8.5 In kí tự ra màn hình ....................................................................................... 89
Bài 16 : Giao tiếp I2C – DS1307 ................................................................................ 90
16.1 Các đặc điểm của DS1307 .................................................................................... 90
16.2 Nguyên lý hoạt động ............................................................................................. 90
16.3 Các tín hiệu Input và Output ................................................................................. 91
16.4 RTC và sơ đồ địa chỉ Ram .................................................................................... 92
16.5 Thông tin thời gian và lịch .................................................................................... 92
16.6 Thanh ghi điều khiển (Control Register)............................................................... 93
16.7 Bus dữ liệu nối tiếp. .............................................................................................. 93
16.8 Giao thức I2C và RTC DS1307 ........................................................................... 94
16.8.1 Start và Stop truyền dữ liệu ............................................................................ 94
16.8.2 Truyền 1 byte dữ liệu ..................................................................................... 96
16.8.3 Giao tiếp với DS1307 ..................................................................................... 97
Hướng dẫn sử dụng Kit 89
BKIT HARDWARE CLUB – www.bkit4u.com 4
Giới thiệu kit thí nghiệm BK89IT
Các chức năng của board thí nghiệm BK89IT :
v 8 nút nhấn : nối với P3.
v 8 led 7 đoạn : hỗ trợ quét led, P0 để gửi dữ liệu và P2 để chọn led.
v Led ma trận 2 màu : P0 gửi dữ liệu mà đỏ, P2 gửi dữ liệu xanh, P1 để chọn cột hiển
thị.
v Giao tiếp với bàn phím PS2.
v Giao tiếp COM
v 4 chân dùng để kết nối encoder.
v Cấu hình bằng switch : Switch 1 cho Port 1, 2 cho Port 3, 3 cho led ma trận và 4
cho led 7 đoạn.
v Cấp nguồn ngoài hoặc USB.
v Mạch nạp onboard.
Hướng dẫn sử dụng Kit 89
BKIT HARDWARE CLUB – www.bkit4u.com 5
Mô hình lập trình C trong vi điều khiển
#include "TIMER\timer.h"
#include "LED7\led7.h"
#include
void main()
{
init_main();
init_timer0();
....................
while1(){}
}
main.c
#ifndef __TIMER_H_
#define __TIMER_H_
#include "LED7\led7.h"
extern int counter0;
void init_timer0();
void init_timer1();
...............
#endif
timer.h
#include "timer.h"
int counter0;
int counter1;
void init_timer0();
{
IE |= 0x20;
TR0 = 1;
..........................
}
void init_timer1()
{
..........................
}
void private_function()
{
..........................
}
timer.c
#ifndef __LED7_H_
#define __LED7_H_
void init_led7();
void scan_led7();
...............
#endif
led7.h
#include "led7.h"
unsigned char led7_buff[8];
void init_led7();
{
P0 = 0x00;
T2 = 0x00;
..........................
}
void scan_led7()
{
..........................
}
void private_function()
{
..........................
}
led7.c
Để có thể tổ chức tốt chương trình, thông thường mỗi module ta sẽ chia làm 2
file:
v File .h : Khai các hàm và extern các biến toàn cục.
v File .c : Hiện thực các hàm được khai báo trong file .h.
Khi muốn sử dụng module này, ta chỉ cần include file .h là có thể gọi được các
hàm được khai báo trong file .h.
Hướng dẫn sử dụng Kit 89
BKIT HARDWARE CLUB – www.bkit4u.com 6
Bài 1 : Hướng dẫn cài đặt Keil C và Flash Magic
Mục đích :
Cài đặt Keil C để soạn thảo chương trình.
Cài đặt Flash Magic để nạp chương trình.
Cấu hình cho Flash Magic.
1.1 Cài đt Keil C
Keil C là chương trình hỗ trợ khá đầy đủ để người dùng soạn thảo chương trình
dành cho các vi điều khiển thuộc họ 8051. Để cài đặt bạn tiến hành theo các bước như
sau:
Bước 1 : Click vào file c51v815.exe trong CD đi kèm, màn hình sau sẽ xuất hiện
Hướng dẫn sử dụng Kit 89
BKIT HARDWARE CLUB – www.bkit4u.com 7
Bước 2 : Chọn Next, màn hình sau sẽ xuất hiện.
Bước 3 : Click chọn I agree và chọn Next, màn hình sau sẽ xuất hiện.
Hướng dẫn sử dụng Kit 89
BKIT HARDWARE CLUB – www.bkit4u.com 8
Bước 4 : Bạn có thể để mặc định và chọn Next. Tuy nhiên bạn có thể thay đổi
Destinatioin Folder, là thư mục chứa 1 số thư viện hỗ trợ trong việc lập trình trên Keil C.
Màn hình sau xuất hiện để bạn điền 1 số thông tin cá nhân.
Hướng dẫn sử dụng Kit 89
BKIT HARDWARE CLUB – www.bkit4u.com 9
Bước 5 : Chọn Next để bắt đầu cài đặt
Bước 6 : Khi cài đặt xong, màn hình sau xuất hiện và bạn nhấn Finish để hoàn tất
quá trình cài đặt.
Hướng dẫn sử dụng Kit 89
BKIT HARDWARE CLUB – www.bkit4u.com 10
Bước 7 : Trang web sau hiển thị để giới thiệu về KeilC phiên bản này.
Các bước cấu hình cho Keil C để dịch chương trình ra file Hex sẽ được trình bày
trong bài thực hành tiếp theo.
Hướng dẫn sử dụng Kit 89
BKIT HARDWARE CLUB – www.bkit4u.com 11
1.2 Cài đt Flash Magic
Đây là chương trình dùng để nạp file Hex cho 89V51. Để cài đặt bạn làm theo các
bước sau :
Bước 1 : Double click vào file FlashMagic.exe, màn hình sau sẽ xuất hiện
Bước 2 : Chọn Next
Hướng dẫn sử dụng Kit 89
BKIT HARDWARE CLUB – www.bkit4u.com 12
Bước 3 : Click chọn I accept và chọn Next
Hướng dẫn sử dụng Kit 89
BKIT HARDWARE CLUB – www.bkit4u.com 13
Bước 4 : Bạn có thể để mặc định và chọn Next, hoặc thay đổi đường dẫn của thư mực cài
đặt nếu bạn muốn. Khi click Next màn hình sau sẽ xuất hiện.
Bước 5 : Để mặc định và chọn Next
Hướng dẫn sử dụng Kit 89
BKIT HARDWARE CLUB – www.bkit4u.com 14
Bước 6 : Chọn Next.
Hướng dẫn sử dụng Kit 89
BKIT HARDWARE CLUB – www.bkit4u.com 15
Bước 7 : Chọn Install để cài đặt.
Bước 8 : Khi cài đặt xong màn hình sau sẽ xuất hiện, bạn nhấn Finish để kết thúc cài đặt.
Hướng dẫn sử dụng Kit 89
BKIT HARDWARE CLUB – www.bkit4u.com 16
1.3 Cu hình cho Flash Magic
Bước 1 : Khởi động Flash Magic từ màn hình Desktop (hoặc vào Start\Program
Files\Flash Magic và chọn Flash Magic), màn hình sau sẽ xuất hiện
Hướng dẫn sử dụng Kit 89
BKIT HARDWARE CLUB – www.bkit4u.com 17
Bước 2 : Bạn chọn Baud Rate là 9600, Device là chip tương ứng mà bạn dùng.
Check chọn Verify after programming và Erase blocks used by Hex File.
Hướng dẫn sử dụng Kit 89
BKIT HARDWARE CLUB – www.bkit4u.com 18
Bước 3 : Chọn menu Option và chọn Advance Option, màn hình sau sẽ xuất hiện :
Hướng dẫn sử dụng Kit 89
BKIT HARDWARE CLUB – www.bkit4u.com 19
Bước 4 : Chọn qua tab Hardware Config và check chọn Assert DTR and RTS
while COM Port open. Nhấn OK để đóng cửa số này lại.
Bước 5 : Xem cổng COM đang là cổng nào. Bạn thu nhỏ Flash Magic lại, trên
màn hình Desktop, từ biểu tượng My Computer, click phải chuột và chọn Manage.
Hướng dẫn sử dụng Kit 89
BKIT HARDWARE CLUB – www.bkit4u.com 20
Bước 6 : Màn hình sau xuất hiện, bạn chọn Device Manager.
Bước 7 : Cắm dây cổng COM nếu bạn đang dùng USB to COM, mở rộng Ports
(COM &LPT), bạn sẽ biết được tên cổng COM đang dùng (trong ví dụ này là COM 9).
Hướng dẫn sử dụng Kit 89
BKIT HARDWARE CLUB – www.bkit4u.com 21
Bước 9 : Kích hoạt lại Flash Magic và chọn cổng COM tương ứng.
Hướng dẫn sử dụng Kit 89
BKIT HARDWARE CLUB – www.bkit4u.com 22
Bài 2 : Truy xuất Port I/O
Mục đích:
Tạo project đơn giản trong Keil C và cấu hình ch