You are on page 1of 10

BM.03.QT.DT.

04
01/01/14-REV:1
TRƯỜNG ĐẠI HỌC HÀNG HẢI VIỆT NAM
KHOA ĐIỆN – ĐIỆN TỬ

TÀI LIỆU HƯỚNG DẪN


THỰC HÀNH - THÍ NGHIỆM

TÊN HỌC PHẦN : KỸ THUẬT VI ĐIỀU KHIỂN


MÃ HỌC PHẦN : 13305
HỆ ĐÀO TẠO : ĐẠI HỌC CHÍNH QUY

Hải Phòng, ngày 05 / 08 / 2019 Hải Phòng, ngày 05 / 08 / 2019 Hải Phòng, ngày 05 / 08 / 2019
TRƯỞNG KHOA TRƯỞNG BỘ MÔN NGƯỜI BIÊN SOẠN
(hoặc Trưởng đơn vị) (hoặc Trưởng bộ phận)

Ths. Vũ Ngọc Minh

HẢI PHÒNG, 09/2015


MỤC LỤC CÁC BÀI THỰC HÀNH – THÍ NGHIỆM

TÊN BÀI TRANG


STT ĐỊA ĐIỂM SỐ TIẾT GHI CHÚ
THỰC HÀNH – THÍ NGHIỆM (từ - đến)
Bài 1: Điều khiển một LED đơn
1 P308-A6 2 2-2
từ vi điều khiển.
Bài 2: Điều khiển tám LED đơn
2 P308-A6 2 2-3
từ vi điều khiển
Bài 3: Điều khiển một LED 7
3 P308-A6 2 3-4
vạch trực tiếp từ vi điều khiển.
Bài 4: Điều khiển hiển thị ký tự
4 trên LCD2x16 trực tiếp từ vi điều P308-A6 2 4-5
khiển.
Bài 5: Điều khiển truyền/nhận dữ
5 liệu từ vi điều khiển với máy tính P308-A6 2 5-5
thông qua cổng UART.
6

10

11

12

13

14

15

16

17

Số bài hiện có: 05 Tổng số tiết:


PHẦN I
GIỚI THIỆU CHUNG VỀ THỰC HÀNH - THÍ NGHIỆM CỦA MÔN HỌC

1. Mục tiêu chung của phần thực hành - thí nghiệm môn học
Giúp sinh viên hiểu được cấu tạo và cách thức hoạt của hệ vi xử lý, vi điều khiển đã được
học lý thuyết trên lớp.
Giúp sinh viên nắm bắt được cách thức xây dựng, thiết kế phần cứng và lập trình phần
mềm cho một hệ vi xử lý, vi điều khiển để thực hiện một bài toán cụ thể .
2. Giới thiệu các thiết bị thí nghiệm
2.1.Mạch vi xử lý (KIT AT89S52)
+ Sơ đồ mạch nguyên lý:

(Xem hình trang bên)

SW1: Công tắc nguồn


JK1: Jack cắm nguồn DC 5V
J1: Cổng USB-B kết nối với máy tính
J3: Giao diện lập trình ISP
U1: Đế lắp vi điều khiển
Y1: Thạch anh giao động
JP24: Màn hình LCD 16x2
K9: Nút ấn Reset
JP27: chuyển đổi 3.3V/5V .
J11: Đầu ra 5V
J2: Cổng RS232
JP2: Lựa chọn chế độ lập trình hoặc mô phỏng
J4: Cổng mở rộng 40 chân
Lựa chọn Jumper JP1: ứng với các vi điều khiển (51/AVR/PIC),
JP25: Lựa chọn đèn nền cho LCD
PORT0/ PORT1 / PORT2 / PORT3: Các cổng của vi điều khiển.
3. Bảng tiến độ và thời lượng triển khai các bài thực hành thí nghiệm

Bài thí nghiệm Tiến độ Thời lượng


Bài 1 Tuần 11 60 phút
Bài 2 Tuần 11 60 phút
Bài 3 Tuần 12 60 phút
Bài 4 Tuần 12, tuần 13 90 phút
Bài 5 Tuần 13 90 phút

4. Phương pháp đánh giá kết quả thực hành thí nghiệm của sinh viên
- Đánh giá kết quả chạy trên thiết bị thí nghiệm, mô phỏng trên máy tính.
- Đánh giá báo cáo thí nghiệm.

5. Công tác chuẩn bị của sinh viên


- Nắm vững lý thuyết đã được học trên lớp
- Đọc kỹ trước tài liệu hướng dẫn thực hành - thí nghiệm

6. Cán bộ phụ trách, hướng dẫn thực hành thí nghiệm môn học
Ts. Phạm Tuấn Anh
Ths. Nguyễn Văn Tiến
Ths. Phạm Văn Toàn

7. Tài liệu tham khảo


- Tống Văn On. “Họ vi điều khiển 8051”. NXB Lao động xã hội - Hà nội 2005.
- Vở ghi chép trên lớp.
PHẦN II
NỘI DUNG CHI TIẾT CÁC BÀI THỰC HÀNH THÍ NGHIỆM

Bài 1: Điều khiển một LED đơn từ vi điều khiển.


1. Mục tiêu:
1.1: Nắm bắt các bước thực hiện một ứng dụng sử dụng vi điều khiển: mạch phần cứng,
soạn thảo chương trình điều khiển, biên dịch chương trình, nạp chương trình vào vi điều khiển,
chạy ứng dụng.
1.2: Tìm hiểu nguyên lý hoạt động của một hệ vi điều khiển.
1.3: Cách thức phối ghép vi điều khiển với các thiết bị ngoại vi, xuất tín hiệu điều khiển từ
vi điều khiển để điều khiển thiết bị ngoại vi.
1.4: Thực hiện mô phỏng trên máy tính.

2. Công tác chuẩn bị của sinh viên:


2.1: Đọc kỹ tài liệu hướng dẫn thực hành, đối chiếu với thiết bị tại phòng thí nghiệm
2.1: Tìm hiểu các đối tượng điều khiển có liên quan

3. Trang thiết bị cần thiết


3.1: Máy tính PC với đầy đủ các phần mềm liên quan
3.2: Mạch vi xử lý (KIT ME950)

4. Các nội dung, quy trình:


4.1: Xây dựng mạch với một LED đơn được nối với cổng P0.0 của VĐK 8051 (đã được
thực hiện trên KIT ME950hoặc xây dựng mạch mô phỏng trên phần mềm Proteus)
4.2: Viết chương trình để điều khiển LED nháy với tần số 4Hz
- xây dựng lưu đồ thuật toán
- soạn thảo và dịch chương trình chương trình điều khiển trên Reads51
4.3: Nạp chương trình vào VĐK trên KIT ME950hoặc mạch mô phỏng trên Proteus.
4.4: Chạy thử và đánh giá kết quả

5. Kết luận, các yêu cầu cần đạt được đối với sinh viên sau khi thực hành.
- Xây dựng mạch nguyên lý đúng theo yêu cầu
- Thuật toán và chương trình điều khiển đáp ứng đúng theo yêu cầu đề ra.

Bài 2: Điều khiển tám LED đơn từ vi điều khiển


1. Mục tiêu:
1.1: Nắm bắt các bước thực hiện một ứng dụng sử dụng vi điều khiển: mạch phần cứng,
soạn thảo chương trình điều khiển, biên dịch chương trình, nạp chương trình vào vi điều khiển,
chạy ứng dụng.
1.2: Tìm hiểu nguyên lý hoạt động của một hệ vi điều khiển.
1.3: Cách thức phối ghép vi điều khiển với các thiết bị ngoại vi(LED, nút ấn), xuất/nhập
tín hiệu giữa vi điều khiển và thiết bị ngoại vi.
1.4: Thực hiện mô phỏng trên máy tính.

2. Công tác chuẩn bị của sinh viên:


2.1: Đọc kỹ tài liệu hướng dẫn thực hành, đối chiếu với thiết bị tại phòng thí nghiệm
2.1: Tìm hiểu các đối tượng điều khiển có liên quan

3. Trang thiết bị cần thiết


3.1: Máy tính PC với đầy đủ các phần mềm liên quan
3.2: Mạch vi xử lý (KIT ME950)
4. Các nội dung, quy trình:
4.1: Xây dựng mạch với 8 LED đơn được nối với cổng P0 của VĐK 8051 và 2 nút ấn
được nối với cổng P1.0 và P1.1 (nút bị ấn cho mức logic 0).
- Thực hiện trên thiết bị vật lý (KIT ME950):
+ Nối JP8 để kết nối nút ấn tới vi điều khiển
- Mô phỏng trên Proteus: Xây dựng mạch với 8 LED đơn được nối với công P0, hai nút ấn
(tích cực thấp) nối với chân P1.0 và P1.1 của VĐK AT89C51.

4.2: Viết chương trình để điều khiển 8 LED: Khi bắt đầu chương trình các LED được điều
khiển để sáng theo thứ tự mẫu bit 11100000B. Khi ấn nút ấn nối với P2.0 thì xoay trái trình tự
sáng của các LED. Khi ấn nút ấn nối với P2.1 thì xoay phải trình tự sáng của các LED. Nếu nút
ấn được ấn liên tục thì việc xoay trái/phải sẽ được thực hiện 250ms/1lần (1 giây xoay 4 lần).
- xây dựng lưu đồ thuật toán
- soạn thảo và dịch chương trình chương trình điều khiển trên Reads51

4.3: Nạp chương trình vào VĐK trên KIT ME950 hoặc mạch mô phỏng trên Proteus.
4.4: Chạy thử và đánh giá kết quả

5. Kết luận, các yêu cầu cần đạt được đối với sinh viên sau khi thực hành.
- Xây dựng mạch nguyên lý đúng theo yêu cầu
- Thuật toán và chương trình điều khiển đáp ứng đúng theo yêu cầu đề ra.

Bài 3: Điều khiển một LED 7 vạch trực tiếp từ vi điều khiển.
1. Mục tiêu:
1.1: Nắm bắt các bước thực hiện một ứng dụng sử dụng vi điều khiển: mạch phần cứng,
soạn thảo chương trình điều khiển, biên dịch chương trình, nạp chương trình vào vi điều khiển,
chạy ứng dụng.
1.2: Tìm hiểu nguyên lý hoạt động của một hệ vi điều khiển.
1.3: Cách thức phối ghép vi điều khiển với các thiết bị ngoại vi, xuất tín hiệu điều khiển từ
vi điều khiển để điều khiển thiết bị ngoại vi. Nguyên lý điều khiển LED 7 vạch trực tiếp từ VĐK.
1.4: Thực hiện mô phỏng trên máy tính.

2. Công tác chuẩn bị của sinh viên:


2.1: Đọc kỹ tài liệu hướng dẫn thực hành, đối chiếu với thiết bị tại phòng thí nghiệm
2.1: Tìm hiểu các đối tượng điều khiển có liên quan (cấu tạo LED 7 vạch và cách thức
điều khiển).

3. Trang thiết bị cần thiết


3.1: Máy tính PC với đầy đủ các phần mềm liên quan
3.2: Mạch vi xử lý (KIT ME950)

4. Các nội dung, quy trình:


4.1: Xây dựng mạch với một LED 7 đoạn (Anode chung) được nối với cổng P2 của VĐK
8051 theo trình tự các LED a, b, c,..,g được nối tương ứng với P2.0, P2.1,...P2.6.
- Nối JP13 để kết nối LED 7 vạch tới vi điều khiển

- Mô phỏng trên Proteus: Xây dựng mạch với một LED 7 đoạn (Anode chung) được nối
với cổng P0 của VĐK AT89C51 theo trình tự các LED a, b, c,..,g được nối tương ứng với P0.0,
P2.1,...P2.6.
4.2: Viết chương trình để điều khiển LED này hiển thị các giá trị từ 0 đến 9, mỗi giá trị
hiển thị trong 500ms.
- xây dựng lưu đồ thuật toán
- soạn thảo và dịch chương trình chương trình điều khiển trên Reads51

4.3: Nạp chương trình vào VĐK trên KIT ME950 hoặc mạch mô phỏng trên Proteus.
4.4: Chạy thử và đánh giá kết quả

5. Kết luận, các yêu cầu cần đạt được đối với sinh viên sau khi thực hành.
- Xây dựng mạch nguyên lý đúng theo yêu cầu
- Thuật toán và chương trình điều khiển đáp ứng đúng theo yêu cầu đề ra.

Bài 4: Điều khiển hiển thị ký tự trên LCD2x16 trực tiếp từ vi điều khiển.

1. Mục tiêu:
1.1: Nắm bắt các bước thực hiện một ứng dụng sử dụng vi điều khiển: mạch phần cứng,
soạn thảo chương trình điều khiển, biên dịch chương trình, nạp chương trình vào vi điều khiển,
chạy ứng dụng.
1.2: Tìm hiểu nguyên lý hoạt động của một hệ vi điều khiển. Nguyên lý hoạt động của
LCD 16x2.
1.3: Cách thức phối ghép vi điều khiển với các thiết bị ngoại vi, xuất tín hiệu điều khiển từ
vi điều khiển để điều khiển thiết bị ngoại vi. Nguyên lý điều khiển LCD 16x2 trực tiếp từ VĐK.
1.4: Thực hiện mô phỏng trên máy tính.

2. Công tác chuẩn bị của sinh viên:


2.1: Đọc kỹ tài liệu hướng dẫn thực hành, đối chiếu với thiết bị tại phòng thí nghiệm
2.1: Tìm hiểu các đối tượng điều khiển có liên quan (cấu tạo, nguyên lý hoạt động, các tín
hiệu điều khiển của LCD 16x2).

3. Trang thiết bị cần thiết


3.1: Máy tính PC với đầy đủ các phần mềm liên quan
3.2: Mạch vi xử lý (KIT ME950)
3.3: Mạch LCD (Modul LCD)

4. Các nội dung, quy trình:


4.1: Xây dựng mạch ghép nối giữa VĐK 8051 và màn hình LCD 16x2. Trong đó: các
đường dữ liệu D0...D7 của LCD được nối với cổng P0 của VĐK 8051, chân RS nối với P2.0,
chân RW nối với P2.1, chân E nối với P2.2.
- Thực hiện trên thiết bị vật lý (KIT ME950):
+ Chuyển JP24 về phía P2.2 để nối tín hiệu điều khiển tới LCD
+ Bật đèn nền sử dụng jumper JP25
- Mô phỏng trên Proteus: Xây dựng mạch với các đường dữ liệu D0...D7 của LCD 16x2
được nối với cổng P2 của AT89C51, chân RS nối với P0.0, chân RW nối với P0.1, chân E nối với P0.2.

4.2: Viết chương trình điều khiển hiển thị ra trên LCD dòng "Hello!".
- xây dựng lưu đồ thuật toán
- soạn thảo và dịch chương trình chương trình điều khiển trên Reads51

4.3: Nạp chương trình vào VĐK trên KIT ME950 hoặc mạch mô phỏng trên Proteus.
4.4: Chạy thử và đánh giá kết quả
5. Kết luận, các yêu cầu cần đạt được đối với sinh viên sau khi thực hành.
- Xây dựng mạch nguyên lý đúng theo yêu cầu
- Thuật toán và chương trình điều khiển đáp ứng đúng theo yêu cầu đề ra.
- Hiểu cách thức hoạt động, nguyên lý điều khiển LCD 16x2.

Bài 5: Điều khiển truyền/nhận dữ liệu từ vi điều khiển với máy tính thông qua cổng UART.

1. Mục tiêu:
1.1: Nắm bắt các bước thực hiện một ứng dụng sử dụng vi điều khiển: mạch phần cứng,
soạn thảo chương trình điều khiển, biên dịch chương trình, nạp chương trình vào vi điều khiển,
chạy ứng dụng.
1.2: Tìm hiểu nguyên lý hoạt động của một hệ vi điều khiển.
1.3: Cách thức truyền nhận dữ liệu giữa vi điều khiển với thiết bị khác qua cổng UART.

2. Công tác chuẩn bị của sinh viên:


2.1: Đọc kỹ tài liệu hướng dẫn thực hành, đối chiếu với thiết bị tại phòng thí nghiệm
2.1: Tìm hiểu các đối tượng điều khiển có liên quan.

3. Trang thiết bị cần thiết


3.1: Máy tính PC với đầy đủ các phần mềm liên quan
3.2: Mạch vi xử lý (KIT ME950)
3.3: Cáp RS232

4. Các nội dung, quy trình:


4.1: Xây dựng mạch với 8 nút ấn được nối với cổng P1, 8 LED đơn được nối với cổng P0,
KIT ME950 được nối với máy tính thông qua cổng RS232.
- Thực hiện trên thiết bị vật lý (KIT ME950):
- Mô phỏng trên Proteus: không!
Thực hiện trên phần cứng ME950
+ Nối JP 4 để kết nối vi điều khiển tới cổng RS232
+ Nối JP8 để kết nối tới nút ấn

4.2: Viết chương trình để mỗi khi AT89S52 nhận được một byte từ máy tính nó sẽ đưa
byte này ra cổng P0 (điều khiển 8LED), sau đó đọc cổng P1 gửi về máy tính.
- xây dựng lưu đồ thuật toán
- soạn thảo và dịch chương trình chương trình điều khiển trên Reads51

4.3: Nạp chương trình vào VĐK trên KIT ME950.


4.4: Chạy thử và đánh giá kết quả.

5. Kết luận, các yêu cầu cần đạt được đối với sinh viên sau khi thực hành.
- Xây dựng mạch nguyên lý đúng theo yêu cầu
- Thuật toán và chương trình điều khiển đáp ứng đúng theo yêu cầu đề ra.
- Hiểu cách thức truyền nhận dữ liêu qua cổng RS232.
PHỤ LỤC
Bộ hiển thị tinh thể lỏng LCD 16x2
1. Tín hiệu trên các chân

Số chân Tên Chức năng


1 Vss GND
2 Vcc +5V (nguồn cấp)
3 Vo Điều chỉnh độ tương phản
4 RS Chọn Dữ liệu(1)/Lệnh(0)
5 R/W Đọc(1)/Ghi(0)
6 E Cho phép (Enable)
7 D0 Chân vào/ra dữ liệu D0
8 D1 Chân vào/ra dữ liệu D1
9 D2 Chân vào/ra dữ liệu D2
10 D3 Chân vào/ra dữ liệu D3
11 D4 Chân vào/ra dữ liệu D4
12 D5 Chân vào/ra dữ liệu D5
13 D6 Chân vào/ra dữ liệu D6
14 D7 Chân vào/ra dữ liệu D7
15 A Anode đèn nền
16 K Cathode đèn nền

2. Vị trí các ký tự trên LCD

3. Bảng các lệnh điều khiển LCD


Các lệnh điều khiển
R/S R/W D7 D6 D5 D4 D3 D2 D1 D0 Hex Lệnh
0 0 0 0 0 0 0 0 0 1 01 Xoá màn hình
0 0 0 0 0 0 0 0 1 x 02 or 03 Đưa con trỏ về đầu dòng
0 0 0 0 0 0 0 1 I/D S 04 to 07 Đặt hướng di chuyển con trỏ
0 0 0 0 0 0 1 D C B 08 to 0F Bật/tắt màn hình và con trỏ
0 0 0 0 0 1 D/C R/L x x 10 to 1F Di chuyển con trỏ/dịch màn hình
0 0 0 0 1 8/4 2/1 10/7 x x 20 to 3F Đặt độ dài giao diện
0 0 0 1 A A A A A A 40 to 7F Di chuyển con trỏ trong CGRAM
0 0 1 A A A A A A A 80 to FF Di chuyển con trỏ trên màn hình.
0 1 BF x x x x x x x Đọc cờ báo bận (trạng thái LCD)
1 0 D D D D D D D D 00 to FF Ghi mã ASCII tới màn hình
1 1 D D D D D D D D 00 to FF Đọc mã ASCII từ màn hình
Trong đó:
+ Đặt hướng di chuyển con trỏ:
I/D: Tăng(1)/giảm(0) vị trí con trỏ sau khi mỗi byte được ghi tới màn hình.
S: Dịch màn hình khi một byte được ghi tới màn hình (1:dịch; 0:không dịch)
+ Lệnh bật/tắt màn hình và con trỏ:
D: Bật màn hình, on(1)/off(0)
C: Bật con trỏ, on(1)/off(0)
B: Con trỏ nhấp nháy, on(1)/off(0)
+ Lệnh di chuyển con trỏ/dịch màn hình:
D/C: 1-dịch chuyển màn hình/0-di chuyển con trỏ
R/L: Hướng dịch chuyển, 1-dịch phải, 0-dịch trái.
+ Đặt độ dài giao diện:
8/4: 1-Bus dữ liệu 8 bit, 0-bus dữ liệu 4 bit
2/1: Đặt số dòng, 1-hai dòng, 0-một dòng
10/7: Đặt font chữ, 5x10(1)/5x7(0)
+ Di chuyển con trỏ trong CGRAM/Di chuyển con trỏ trên màn hình.
A: địa chỉ cần chuyển đến.
+ Đọc/ghi mã ASCII tới màn hình:
D: mã ASCII

4. Bảng ký tự cho LCD (bảng mã ASCII mở rộng)

You might also like