You are on page 1of 43

TỔNG LIÊN ĐOÀN LAO ĐỘNG VIỆT NAM

ĐẠI HỌC TÔN ĐỨC THẮNG


KHOA ĐIỆN – ĐIỆN TỬ

ĐỒ ÁN HỆ THỐNG NHÚNG

ĐIỀU KHIỂN ĐÈN BẰNG BLUETOOTH


DÙNG VI ĐIỂU KHIỂN PIC 16F877A

Người hướng dẫn: TS. TỪ LÂM THANH


Người thực hiện: DƯƠNG KIM DUYÊN
Lớp: 21040201
Khóa: 25

THÀNH PHỐ HỒ CHÍ MINH, NĂM 2023


TỔNG LIÊN ĐOÀN LAO ĐỘNG VIỆT NAM
ĐẠI HỌC TÔN ĐỨC THẮNG
KHOA ĐIỆN – ĐIỆN TỬ

ĐỒ ÁN HỆ THỐNG NHÚNG

ĐIỀU KHIỂN ĐỘNG CƠ DC


NHIỀU CHẾ ĐỘ

Người hướng dẫn: TS. TỪ LÂM THANH


Người thực hiện: DƯƠNG KIM DUYÊN
Lớp: 21040201
Khóa: 25

THÀNH PHỐ HỒ CHÍ MINH, NĂM 2023


LỜI CẢM ƠN
Để đồ án này đi đến thành công,em xin gửi lời cảm ơn chân thành đến các
giảng viên Điện - Điện tử Trường Đại học Tôn Đức Thắng. Em chân thành biết ơn
sự tận tâm giảng dạy, hướng dẫn chu đáo và nhiệt tình giải đáp thắc mắc của các
thầy cô trong quá trình học tập của em.
Về phần đồ án “điều khiển động cơ DC nhiều chế độ”, em rất chân thành
biết ơn sự hỗ trợ đến từ thầy TS. Từ Lâm Thanh. Nhờ có sự quan tâm, tận tình
hướng dẫn và sự hỗ trợ giải đáp kịp thời các vấn đề cũng như tạo mọi điều kiện
thuận lợi nhất trong quá trình em thực hiện đồ án để đồ án có thể thành công kết
thúc đúng hạn. Một lần nữa, em xin cảm ơn thầy.
Vì còn là sinh viên nên kiến thức và kinh nghiệm còn hạn chế cũng với thời
gian có hạn nên không tránh khỏi những thiếu sót. Với một tinh thần học hỏi, em rất
mong đợi sự góp ý từ các thầy cô để có thể bổ sung các lỗ hỏng kiến thức về chuyên
môn để ngày càng thiện hơn.
Một lần nữa, em xin chân thành cảm ơn mọi người rất nhiều.
Thành phố Hồ Chí Minh, 08 tháng 4 năm 2024
Tác giả
TUYÊN BỐ QUYỀN TÁC GIẢ
LUẬN ÁN ĐÃ ĐƯỢC HOÀN THÀNH
TẠI TRƯỜNG ĐẠI HỌC TÔN ĐỨC THẮNG
Em xin tuyên bố luận án này do chính tôi thực hiện dưới sự hướng dẫn,
giám sát của TS Võ Phú Thoại; và rằng tác phẩm chứa đựng và kết quả trong
các dự án chuyên ngành là đúng và chưa được gửi ở bất kỳ đâu cho bất kỳ
mục đích nào trước đó hoặc được công bố trong bất kỳ tài liệu nào khác. Các
dữ liệu và số liệu được trình bày trong các dự án chuyên ngành là để phân
tích, nhận xét và đánh giá từ các nguồn khác nhau bởi công việc của riêng tôi
và đã được ghi nhận đầy đủ trong phần tham khảo.
Ngoài ra, các nhận xét, đánh giá và dữ liệu khác từ các tác giả và tổ
chức khác được sử dụng trong luận án này đã được thừa nhận và trích dẫn rõ
ràng.
Tôi sẽ chịu hoàn toàn trách nhiệm cho bất kỳ gian lận nào được phát
hiện trong các dự án chuyên môn của tôi. Trường Đại học Tôn Đức Thắng
không liên quan đến bất kỳ hành vi vi phạm bản quyền nào gây ra cho tác
phẩm của tôi (nếu có).

Thành phố Hồ Chí Minh, 8/2023


Sinh viên
Ký tên
TRƯỜNG ĐẠI HỌC TÔN ĐỨC THẮNG CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM
KHOA ĐIỆN –ĐIỆN TỬ Độc lập – Tự do – Hạnh phúc
------------------- ----------------------

LỊCH TRÌNH LÀM ĐỒ ÁN TỐT NGHIỆP

Họ tên sinh viên:....................................................................................................................


Lớp:............................................................................MSSV: ...............................................
Tên đề tài: ...............................................................................................................................
...................................................................................................................................................

Tuần / ngày Nội dung Xác nhận GVHD

GV HƯỚNG DẪN
MỤC LỤC

DANH MỤC HÌNH VẼ VI

DANH MỤC VIẾT TẮT VII

CHƯƠNG 1: GIỚI THIỆU 1

1.1 NGUYÊN NHÂN VÀ MỤC ĐÍCH: 1


1.2 THÔNG SỐ: 1
1.3 PHƯƠNG PHÁP: 3

CHƯƠNG 2: THIẾT KẾ PHẦN CỨNG 5

2.1 SƠ ĐỒ KHỐI: 5
2.2 KHỐI NGUỒN 6
2.3 KHỐI XỬ LÝ: 7
2.4 KHỐI BLUETOOTH: 13
2.5 ĐÈN: 16

CHƯƠNG 3: THIẾT KẾ PHẦN MỀM 19

3.1 LƯU ĐỒ GIẢI THUẬT 19


3.3 APP MIT INVERTOR 20

CHƯƠNG 4: THỰC HIỆN VÀ KẾT QUẢ 27

4.1 PCB LAYOUT: 27


4.2 HÌNH MẠCH 30

CHƯƠNG 5: KẾT LUẬN 31

TÀI LIỆU THAM KHẢO 32

Phụ lục A

DANH MỤC HÌNH VẼ


Hình 2.1 Sơ đồ khối....................................................................................................5
Hình 2.2 Khối nguồn...................................................................................................6
Hình 2.3 Khối xử lý....................................................................................................8
Hình 2.4 Khối Bluetooth...........................................................................................14
Hình 2.5 Bluetooth HC06.........................................................................................14
Hình 2.6 Đèn Led......................................................................................................16
Hình 2.7 LED............................................................................................................17
Hình 3.1 Lưu đồ giải thuật........................................................................................19
Hình 3.2 Tạo new project..........................................................................................21
Hình 3.3 Thiết kế giao diện.......................................................................................21
Hình 3.4 Thiết kế giao diện (2).................................................................................23
Hình 3.5 Lập trình các chức năng.............................................................................24
Hình 3.6 Lập trình các chức năng (2).......................................................................24
Hình 3.7 Thuộc tính..................................................................................................25
Hình 3.8 Phương thức...............................................................................................25
Hình 3.9 Sự kiện.......................................................................................................26
Hình 4.1 Phần mềm proteus 8...................................................................................27
Hình 4.2 Tạo new project..........................................................................................28
Hình 4.3 Giao diện....................................................................................................28
Hình 4.4 Thư viện.....................................................................................................29
Hình 4.5 PCB layout.................................................................................................29
Hình 4.6 Kết quả PCB layout...................................................................................30
Hình 4.7 Hình mạch in..............................................................................................30

DANH MỤC VIẾT TẮT

0
C Độ C
dB Decibel
GND Đất
I2C Mạch tích hợp
IC Mạch tích hợp
LCD Màn hình LCD
PLC Programmable Logic Controller
RH Độ ẩm tương đối
SCL Dòng đồng hồ nối tiếp
SD Secure Digital
SDA Serial Data Line
SPI Giao diện ngoại vi nối tiếp
VAC Điện áp xoay chiều
VCC Bộ thu điện áp tới bộ thu
VDC Điện áp dòng điện trực tiếp
VDD Voltage Drain Drain
VEE Voltage Emitor Emitor
ĐỒ ÁN HỆ THỐNG NHÚNG
Trang 1/30

CHƯƠNG 1: GIỚI THIỆU

1.1 Nguyên nhân và mục đích:

Hiện nay, với nền công nghệ 4.0 các thiết bị điện tử đang được sử dụng rộng rải và
ngày càng phổ biến cùng với đó là các bài toán về điều khiển động cơ hiệu quả, linh
hoạt và tiết kiệm chi phí. Và em quyết định chọn đề tài “điều khiển động cơ DC
nhiều chế độ” với lý do tối ưu hóa hiệu suất làm việc của động cơ DC thông qua
việc điều chỉnh linh hoạt tốc độ và hướng quay, đáp ứng nhanh chóng và chính xác
yêu cầu của các ứng dụng khác nhau cùng vớ việc mở rộng khả năng ứng dụng của
công nghệ điều khiển động cơ, tăng khả năng tương thích với nhiều nền tảng và
giao thức giao tiếp. Bên cạnh đó việc sử dụng IC L298 giúp giảm thiểu các thiết bị
cần sử dụng và chi phí chi tiêu. Động cơ DC được sử dụng rộng rãi trong nhiều ứng
dụng công nghiệp, robot, và các thiết bị tự động khác. Việc điều khiển linh hoạt các
động cơ này là yêu cầu quan trọng trong nhiều dự án , việc điều chỉnh tốc độ, hướng
quay của động cơ DC một cách chính xác là cần thiết trong nhiều ứng dụng. IC
L298 cho phép hỗ trợ điều chỉnh tốc độ và hướng quay, đáp ứng nhu cầu này.

1.2 Thông số:

1.3 Phương pháp:

Để có thể làm được bài viết này, đầu tiên, chúng ta cần tìm hiểu tổng quan về hệ
thống đèn led, tìm hiểu các loại Bluetooth tương ứng cũng như tìm hiều về phần
mềm proteus và phần mềm App MIT Inventor. Sau đó thiết kế sơ đồ khối và sơ đồ
nguyên tắc. Tiếp theo, chúng ta sẽ thiết lập và lắp ráp mạch với cảm biến Bluetooth.
Tiếp theo, chúng ta sẽ lập trình giao diện giữa máy tính và cảm biến Bluetooth và
tạo ra phần mềm App MIT Inventor. Sau khi lập trình xong, giao diện sẽ được ghi
trên máy tính. Cuối cùng, chúng tôi sẽ thử nghiệm và hoàn thiện sản phẩm.

Điều khiển dộng cơ DC bằng PIC16f877A Người thực hiện: Dương Kim Duyên
ĐỒ ÁN HỆ THỐNG NHÚNG
Trang 2/30

Sau khi chúng ta đã tìm hiểu tổng quan về hệ thống đèn led kết nối cũng như phát
tín hiệu với Bluetooth HC06 và tìm hiểu các loại cảm biến, sơ đồ khối thiết kế và sơ
đồ nguyên tắc. Tiếp theo, chúng tôi thiết kế và lắp ráp mạch cảm biến về nhiệt độ,
độ ẩm và tiếng ồn. Chúng tôi sử dụng PIC 16F877A để đọc các giá trị cảm biến
bằng cách chúng tôi viết mã cho cảm biến và sau đó chúng tôi tải chương trình lên
mạch, nhấn Ctrl + Shift + M để mở cửa sổ màn hình nối tiếp và xem kết quả đo
được từ con cảm biến. Phương pháp thử nghiệm bằng cách kiểm tra nhiều lần cho
đến khi đạt được kết quả mong muốn.

Sau khi chúng tôi hoàn thành việc thiết kế và lắp ráp các mạch cho cảm biến. Tiếp
theo, chúng ta sẽ lập trình giao tiếp giữa máy tính và các cảm biến. Và viết giao
diện trên máy tính. App MIT Inventor hỗ trợ nhiều ngôn ngữ lập trình khác nhau và
cho phép trình soạn thảo mã và trình gỡ lỗi hỗ trợ (ở các mức độ khác nhau) hầu hết
mọi ngôn ngữ lập trình. Nó cho phép xây dựng nhanh chóng những phần mềm cơ
bản của một ứng dụng Android như: nút nhấn, nút lựa chọn, …. Sử dụng nhiều tính
năng trên điện thoại: chụp ảnh, quay phim, chọn ảnh và bật chế độ video hoặc
audio, …. Ngoài ra, nó còn hỗ trợ xây dựng game bằng các components như: ball,
canvas. Nó hỗ trợ lưu trữ đọc hoặc lưu tệp txt,csv, sử dụng fusiontables control, tạo
cơ sở dữ liệu đơn giản trên điện thoại hoặc trên đám mây thông qua server tự tạo
hoặc firebase. Chúng còn điều khiển robot thông qua LegoMindstorms. Và còn rất
nhiều mở rộng do các nhà lập trình hoạt động riêng liên tục thêm vào như: báo thức,
cảm biến ánh sáng, kết nối dữ liệu SQLite, …

Điều khiển dộng cơ DC bằng PIC16f877A Người thực hiện: Dương Kim Duyên
ĐỒ ÁN HỆ THỐNG NHÚNG
Trang 3/30

CHƯƠNG 2: THIẾT KẾ PHẦN CỨNG

2.1 Sơ đồ khối:

Hình 2.1 Sơ đồ khối


Như thể hiện trong Hình 2.1, điều khiển đèn qua Bluetooth bao gồm:

Khối hiển thị: Nó được sử dụng với ưu điểm là để tạo ra ánh sáng. Ngoài ra, nó còn
được sử dụng như tấm tản nhiệt để hấp thụ nhiệt do chúng ta tạo ra và tản ra môi
trường xung quanh.

Khối Bluetooth: Khối có chức năng truyền/nhận dữ liệu giữa các phần mềm trên
điện thoại di động (hoặc một thiết bị khác) với khối điều khiển trung tâm thông qua
chuẩn Bluetooth. Khối Bluetooth và khối điều khiển giao tiếp với nhau thông qua
chuẩn UART. Khối sử dụng để phần mềm trên điện thoại gửi lệnh điều khiển thời
gian sáng đèn qua kết nối Bluetooth.
Nguồn điện: Nguồn điện có điện áp đầu vào 12VAC, công suất đầu ra và điện áp
đầu ra phù hợp với thiết bị và mô-đun với điện áp đầu ra là 5VDC.

Điều khiển dộng cơ DC bằng PIC16f877A Người thực hiện: Dương Kim Duyên
ĐỒ ÁN HỆ THỐNG NHÚNG
Trang 4/30

Khối xử lý: Nhiệm vụ điều khiển toàn bộ thiết bị báo động bao gồm: lấy dữ liệu từ
các cảm biến, thời gian thực từ khối đồng bộ hóa thời gian, đọc/ghi dữ liệu trên khối
lưu trữ dữ liệu và hiển thị các thông số trên khối hiển thị. Khối điều khiển trung tâm
cũng có nhiệm vụ giao tiếp với phần mềm trên máy tính để thực hiện các yêu cầu từ
người dùng: tải dữ liệu trên khối lưu trữ dữ liệu về máy tính, đồng bộ hóa thời gian
cho các khối đồng bộ hóa thời gian theo thời gian trên máy tính, cấu hình lại thời
gian lấy mẫu, cấu hình lại loại tên tệp dữ liệu để ghi vào khối lưu trữ dữ liệu, ....

2.2 Khối nguồn

Dựa trên sơ đồ 2.2, mạch sẽ hoạt động như sau:

Hình 2.2 Khối nguồn


Nguyên lý hoạt động: Nó sử dụng bộ chuyển đổi 12VAC. Bộ cấp nguồn có điện áp
đầu vào 12VAC, điện áp đầu ra 5VDC để cấp nguồn cho mô-đun PIC 16F877A.
Trên Mô-đun PIC, có mạch điều chỉnh điện áp 5V với dòng điện lên đến 350 mA,
vì vậy chúng ta có thể sử dụng các đầu ra này cho các mô-đun còn lại.
Tổng công suất của thiết bị bao gồm:
Bo mạch PIC 16F877A với điện áp đầu vào được khuyến nghị từ nhà sản xuất là
5VDC với công suất cung cấp tối thiểu là 2W. Tuy nhiên, theo thực tế sử dụng, với
bo mạch Arduino Uno trên thị trường, điện áp cung cấp cho hoạt động của boron ổn
định nhất là 9VDC.
Nguồn cung cấp cho các module được lấy từ các đầu ra nguồn được tích hợp trên bo
mạch PIC 16F877A nên chúng ta chỉ cần cung cấp nguồn cho đầu vào của bo mạch
PIC.

Điều khiển dộng cơ DC bằng PIC16f877A Người thực hiện: Dương Kim Duyên
ĐỒ ÁN HỆ THỐNG NHÚNG
Trang 5/30

Đầu ra của khối cung cấp Vin cần đảm bảo điện áp là 5VDC và công suất phải lớn
hơn 2W. Do đó, đầu vào của khối nguồn yêu cầu điện áp cao hơn 5VDC và công
suất cao hơn 2W. Trong chủ đề tôi đã chọn bộ điều hợp nguồn với các thông số đầu
ra là 12VAC / 1A. Nguồn 12VAC được cung cấp cho J1.
Tụ điện C1, C2 là bộ lọc năng lượng và cũng là bộ lưu trữ điện khi nguồn cung cấp
bên ngoài bị thiếu. Thông thường giá trị tụ điện được chọn 33pF với điện áp lớn
hơn điện áp sử dụng từ 10% -30%. Ở đây tôi chọn một tụ điện có giá trị 33pF / 16V.
LM 7805 là IC ổn định điện áp với đầu ra 5VDC để cung cấp cho bo mạch PIC. Với
yêu cầu điện áp 5VDC và công suất phải lớn hơn 2W, tôi chọn điện áp LM 7805
với điện áp đầu vào từ 7 - 18VDC và dòng điện đầu ra là 1A (tương đương 5W).

2.3 Khối xử lý:

Dựa trên sơ đồ 2.3, mạch sẽ hoạt động như sau:

Điều khiển dộng cơ DC bằng PIC16f877A Người thực hiện: Dương Kim Duyên
ĐỒ ÁN HỆ THỐNG NHÚNG
Trang 6/30

Hình 2.3 Khối xử lý


Bộ điều khiển trung tâm có thể sử dụng đa dạng các thành phần, bộ điều khiển để
thực hiện như vi điều khiển, PLC,.... Tuy nhiên, với mục tiêu phát triển ứng dụng
nhanh nhất và dễ dàng nhất, mình đã chọn nền tảng để phát triển ứng dụng với phần
cứng là bo PIC 16F877A.
Nguyên lý hoạt động: Nguồn điện được cung cấp cho bộ điều khiển PIC 16F877A,
cảm biến của bộ điều khiển và các thành phần đầu vào. Cảm biến của bộ điều khiển
nhận tín hiệu từ bộ nguồn sau đó truyền tín hiệu nhận được truyền sang cho bộ vi
điều khiển. Ngoài ra, bộ vi điều khiển có được thông tin tiếp nhận từ bộ điều khiển
nó sẽ truyền cho khối Bluetooth.
Các cảm biến và mô-đun khác sẽ được kết nối với các chân của bo mạch PIC. Cụ
thể, cảm biến lọc nhiễu có đầu ra analog phải được kết nối với đầu vào Analog của
PIC tại chân 14. Mô-đun HC06 giao tiếp với bộ vi điều khiển để truyền và nhận dữ
liệu từ bộ vi điều khiển PIC.
- PIC16F877A hoạt động linh hoạt được sử dụng trong nhiều lĩnh vực mà các vi
điều khiển trước đây chưa được sử dụng, ví dụ trong các ứng dụng vi xử lý, chức
năng hẹn giờ…
• Có 35 bộ lệnh.
• Hoạt động với tần số lên đến 20Mhz.
• Điện áp hoạt động từ 4.2V đến 5V. Nếu cấp điện áp vượt quá 5V thì sẽ bị hư.
• Không có bộ dao động bên trong giống như: PIC18F46K22, PIC18F4550.
• Dòng điện tối đa trên mỗi PORT khoảng 100mA. Do vậy, dòng điện tối đa cho
mỗi chân GPIO của PIC 16F877A là 10mA.
• Có 4 package: PDIP 40 chân, PLCC 44 chân, TQFP 44 chân, QFN 44 chân.
- Sơ đồ chân vi điều khiển PIC16F877A:
+ Chân 1: MCLR là chân clear của mạch này. Nó sẽ khởi động lại vi điều khiển và
được kích hoạt bởi mức logic thấp, có nghĩa là chân này phải được cấp liên tục một
điện áp 5V và nếu cấp điện áp 0V thì PIC16F877A sẽ bị đặt lại.

Điều khiển dộng cơ DC bằng PIC16f877A Người thực hiện: Dương Kim Duyên
ĐỒ ÁN HỆ THỐNG NHÚNG
Trang 7/30

• Một nút nhấn và một điện trở được kết nối đến chân này. Chân MCLR này luôn
được cấp điện áp 5V. Khi muốn khởi động lại mạch. Chỉ cần nhấn vào nút nhấn thì
chân MCLR sẽ được đưa về 0 và mạch được đặt lại.
+ Chân RA0/AN0/ULPWU/C12IN0 (2): có 4 chức năng:
• RA0: xuất/ nhập số.
• AN0: ngõ vào tương tự của kênh thứ 0.
• ULPWU (Ultra Low-power Wake up input): ngõ vào đánh thức CPU công suất
cực thấp.
• C12IN0 (Comparator C1 or C2 negative input): ngõ vào âm thứ 0 của bộ so sánh
C1 hoặc C2.
+ Chân RA1/AN1/C12IN1 (3): có 3 chức năng:
• RA1: xuất/nhập số - bit thứ 1 của port A.
• AN1: ngõ vào tương tự của kênh thứ 1.
• C12IN1: ngõ vào âm thứ 1 của bộ so sánh C1 hoặc C2.
+ Chân RA2/AN2/VREF-/CVREF/C2IN+ (4): có 5 chức năng:
• RA2: xuất/nhập số - bit thứ 1 của port A.
• AN2: ngõ vào tương tự của kênh thứ 2.
• VREF-: ngõ vào điện áp chuẩn (thấp) của bộ ADC.
• CVREF: điện áp tham chiếu VREF ngõ vào bộ so sánh.
• C2IN+: ngõ vào dương của bộ so sánh C2.
+ Chân RA3/AN3/VREF+/C1IN+ (5): có 4 chức năng:
• RA3: xuất/nhập số.
• AN3: ngõ vào tương tự của kênh thứ 3.
• VREF+: ngõ vào điện áp chuẩn (cao) của bộ A/D.
• C1IN+: ngõ vào dương của bộ so sánh C1.
+ Chân RA4/TOCKI/C1OUT (6): có 3 chức năng:
• RA4: xuất/nhập số.
• TOCKI: ngõ vào xung clock từ bên ngoài cho timer0.
• C1OUT: ngõ ra bộ so sánh 1.

Điều khiển dộng cơ DC bằng PIC16f877A Người thực hiện: Dương Kim Duyên
ĐỒ ÁN HỆ THỐNG NHÚNG
Trang 8/30

+ Chân RA5/AN4/SS/C2OUT (7): có 4 chức năng:


• RA5: xuất/nhập số.
• AN4: ngõ vào tương tự kênh thứ 4.
• SS: ngõ vào chọn lựa SPI.
• C2OUT: ngõ ra bộ so sánh 2.
+ Chân RA6/OSC2/CLKOUT (14): có 3 chức năng:
• RA6: xuất/nhập số.
• OSC2: ngõ ra dao động thạch anh. Kết nối đến thạch anh hoặc bộ cộng hưởng.
• CLKOUT: ở chế độ RC, ngõ ra của OSC2, bằng ¼ tần số của OSC1.
+ Chân RA7/OSC1/CLKIN (13): có 3 chức năng:
• RA7: xuất/nhập số.
• OSC1: ngõ vào dao động thạch anh hoặc ngõ vào nguồn xung ở bên ngoài.
• CLKIN: ngõ vào nguồn xung bên ngoài.
+ Chân RB0/AN12/INT (33): có 3 chức năng:
• RB0: xuất/nhập số.
• AN12: ngõ vào tương tự kênh thứ 12.
• INT: ngõ vào nhận tín hiệu ngắt ngoài.
+ Chân RB1/AN10/C12IN3- (34): có 3 chức năng:
• RB1: xuất/nhập số.
• AN10: ngõ vào tương tự kênh thứ 10.
• C12IN3-: ngõ vào âm thứ 3 của bộ so sánh C1 hoặc C2.
+ Chân RB2/AN8 (35): có 2 chức năng:
• RB2: xuất/ nhập số.
• AN8: ngõ vào tương tự kênh thứ 8.
+ Chân RB3/AN9/PGM/C12IN2- (36): có 4 chức năng:
• RB3: xuất/ nhập số.
• AN9: ngõ vào tương tự kênh thứ 9.
• PGM: chân cho phép lập trình điện áp thấp ICSP.
• C12IN2-: ngõ vào âm thứ 2 của bộ so sánh C1 hoặc C2.

Điều khiển dộng cơ DC bằng PIC16f877A Người thực hiện: Dương Kim Duyên
ĐỒ ÁN HỆ THỐNG NHÚNG
Trang 9/30

+ Chân RB4/AN11 (37): có 2 chức năng:


• RB4: xuất/nhập số.
• AN11: ngõ vào tương tự kênh thứ 11.
+ Chân RB5/AN13/T1G (38): có 3 chức năng:
• RB5: xuất/nhập số.
• AN13: ngõ vào tương tự kênh thứ 13.
• T1G (Timer1 gate input): ngõ vào Gate cho phép timer1 đếm dùng để độ rộng
xung.
+ Chân RB6/ICSPCLK (39): có 2 chức năng:
• RB6: xuất/nhập số.
• ICSPCLK: xung clock lập trình nối tiếp.
+ Chân RB7/ICSPDAT (40): có 2 chức năng:
• RB7: xuất/nhập số.
• ICSPDAT: ngõ xuất nhập dữ liệu lập trình nối tiếp.
+ Chân RC0/T1OSO/T1CKI (15): có 3 chức năng:
• RC0: xuất/nhập số.
• T1OSO: ngõ ra của bộ dao động Timer1.
• T1CKI: ngõ vào xung clock từ bên ngoài Timer1.
+ Chân RC1/T1OSI/CCP2 (16): có 3 chức năng:
• RC1: xuất/ nhập số.
• T1OSI: ngõ vào của bộ dao động Timer1.
• CCP2: ngõ vào Capture2, ngõ vào compare 2, ngõ ra PWM2.
+ Chân RC2/P1A/CCP1 (17): có 3 chức năng:
• RC2: xuất/nhập số.
• P1A: ngõ ra PWM.
• CCP1: ngõ vào Capture1, ngõ ra compare1, ngõ ra PWM1.
+ Chân RC3/SCK/SCL (18): có 3 chức năng:
• RC3: xuất/ nhập số.
• SCK: ngõ vào xung clock nối tiếp đồng bộ/ ngõ ra của chế độ SPI.

Điều khiển dộng cơ DC bằng PIC16f877A Người thực hiện: Dương Kim Duyên
ĐỒ ÁN HỆ THỐNG NHÚNG
Trang 10/30

• SCL: ngõ vào xung clock nối tiếp đồng bộ/ ngõ ra của chế độ I2C.
+ Chân RC4/SDI/SDA (23): có 3 chức năng:
• RC4: xuất/ nhập số.
• SDI: ngõ vào dữ liệu trong truyền dữ liệu kiểu SPI.
• SDA: xuất/ nhập dữ liệu I2C.
+ Chân RC5/SDO (24): có 2 chức năng:
• RC5: xuất/nhập số.
• SDO: ngõ xuất dữ liệu trong truyền dữ liệu kiểu SPI.
+ Chân RC6/TX/CK (25): có 3 chức năng:
• RC6: xuất/ nhập số.
• TX: ngõ ra phát dữ liệu trong chế độ truyền đạt bất đồng bộ USART.
• CK: ngõ ra cấp xung clock trong chế độ truyền đồng bộ EUSART.
+ Chân RD0 (19), chân RD1 (20), chân RD2 (21), chân RD3 (22), chân RD4
(27): xuất/ nhập số.
+ Chân RD5/PIB (28): có 2 chức năng:
• RD5: xuất/nhập số.
• PIB: ngõ ra PWM.
+ Chân RD6/PIC (29): có 2 chức năng:
• RD6: xuất/nhập số.
• PIC: ngõ ra PWM.
+ Chân RD7/PID (30): có 2 chức năng:
• RD7: xuất/ nhập số.
• PID: ngõ ra tang cường CPP1.
+ Chân RE0/AN5 (8): có 2 chức năng:
• RE0: xuất/ nhập số.
• AN5: ngõ vào tương tự kênh thứ 5.
+ Chân RE1/AN6 (9): có 2 chức năng:
• RE1: xuất/ nhập số.
• AN6: ngõ vào tương tự kênh thứ 6.

Điều khiển dộng cơ DC bằng PIC16f877A Người thực hiện: Dương Kim Duyên
ĐỒ ÁN HỆ THỐNG NHÚNG
Trang 11/30

+ Chân RE2/AN7 (10): có 2 chức năng:


• RE2: xuất/ nhập số.
• AN7: ngõ vào tương tự kênh thứ 7.
+ Chân RE3/MCLR/VPP (1): có 3 chức năng:
• RE3: xuất/ nhập số.
• MCLR: là ngõ vào reset tích cực mức thấp.
• Vpp: ngõ vào nhận điện áp khi ghi dữ liệu vào bộ nhớ flash.
+ Chân VDD (11), (32): nguồn cung cấp dương từ 2V đến 5V.
+ Chân VSS (12,31): nguồn cung cấp 0V.

2.4 Khối Bluetooth:

Dựa trên sơ đồ 2.4, các mạch sẽ hoạt động như sau:

Hình 2.4 Khối Bluetooth


Nguyên lý hoạt động: Nó được truyền và tiếp nhận thông tin sau đó truyền thông tin
qua bộ vi điểu khiển PIC 16F877A. Trong bài này, em sẽ sử dụng bộ Bluetooth
HC06.

Điều khiển dộng cơ DC bằng PIC16f877A Người thực hiện: Dương Kim Duyên
ĐỒ ÁN HỆ THỐNG NHÚNG
Trang 12/30

Hình 2.5 Bluetooth HC06


HC-06 là mô-đun Bluetooth được thiết kế để thiết lập giao tiếp dữ liệu không dây
tầm ngắn giữa hai bộ vi điều khiển hoặc hệ thống. Mô-đun này hoạt động trên giao
thức truyền thông Bluetoothi2.0 và nó chỉ có thể hoạt động như một thiết bị phụ.
Đây là phương pháp truyền dữ liệu khôngidây rẻ nhất và linh hoạt hơn so với các
phương pháp khác và thậm chí nó có thể truyền tệp với tốc độ lên tới 2,1Mb/s. HC-
06 sử dụng kỹ thuật trải phổ nhảy tần (FHSS) để tránh nhiễu với các thiết bị khác và
truyền song công hoàn toàn. Thiết bị hoạt động trên dải tần từ 2.402 GHz đến
2.480GHz.
Mô-đun HC-06 có 6 chân như trong sơ đồ chân. Trong đó, chúng ta chỉ cần sử dụng
bốn để kết nối thành công mô-đun:
Key: Chân trạng thái xác định mô-đun hoạt động ở chế độ lệnh AT hay chế độ bình
thường [Cao=Chế độ nhận lệnh AT (Lệnh chế độ phản hồi), Thấp hoặc NC= Mô-
đun Bluetooth hoạt động bình thường].
VCC: Cấp nguồn 5V.
GND: Chân đất.
TXD: Chân truyền dữ liệu nối tiếp (mặc định ở tốc độ 9600bps), 3,3V.

Điều khiển dộng cơ DC bằng PIC16f877A Người thực hiện: Dương Kim Duyên
ĐỒ ÁN HỆ THỐNG NHÚNG
Trang 13/30

RXD: Chân nhận dữ liệu nối tiếp (mặc định ở tốc độ 9600bps), 3,3V.
State: Chân được kết nối với đèn LED trên bo mạch để biểu thị trạng thái của mô
đun.
Thông số kỹ thuật mô đun Bluethooh HC-06.
Môiđun Bluetooth HC-06 có các thông số như sau:
• Giao thức Bluetooth: Chuẩn giao thức Bluetooth V2.0.
• Mức công suất: Class2(+6dBm).
• Băngitần: 2,40GHz—2,48GHz, Băng tần ISM.
• Độinhạy máy thu: -85dBm.
• Giao thức USB: USB v1.1/2.0.
• Chế độ điều chế: Phím dịch chuyển tần số Gauss.
• Tính năng an toàn: Xác thực và mã hóa.
• Dải điện áp hoạt động: +3,3V đến +6V.
• Phạm vi nhiệt độ hoạt động: -20°C đến +55°C Dòng điện hoạt động: 40mA.
Ưu điểm mô đun Bluetooth HC-06.
Mô đuniBluetooth HC-06 có những đặc điểm sau:
• HC-06 là lựa chọn tốt nhất khi cần liên lạc không dây ở khoảng cách ngắn.
• Môiđun này được sử dụng để liên lạcikhông dây dưới 100 mét.
• Mô đun này rất dễ dàng để giao tiếp và giao tiếp.
• Mô đun này là một trong những giải pháp rẻ nhất cho tất cả các loại giao tiếp
không dây hiện có trên thị trường.
• Mô đun này tiêu thụ rất ít năng lượng để hoạt động và có thể được sử dụng trên
các hệ thống di động chạy bằng pin.
• Mô đun này cóithể được giao tiếp với hầu hết tất cả các bộ điều khiển hoặc bộ
xử lý vì nó sử dụng giao diện UART.

2.5 Đèn:

Dựa trên sơ đồ 2.6, các mạch sẽ hoạt động như sau:

Điều khiển dộng cơ DC bằng PIC16f877A Người thực hiện: Dương Kim Duyên
ĐỒ ÁN HỆ THỐNG NHÚNG
Trang 14/30

Hình 2.6 Đèn LED


Nguyên lý hoạt động: Hoạt động của led cũng giống như nhiều loạt điốt bán dẫn
khác. Tùy theo mức năng lượng giải phóng cao hay thấp mà bước sóng ánh sáng
phát khác nhau. Mức năng lượng hoàn toàn phụ thuộc vào cấu trúc năng lượng của
các nguyên tử chất bán dẫn.
Cấu tạo của bóng đèn led:

Hình 2.7 LED


- Bản chất của LED là một đi-ốt, nó chứa một chíp bán dẫn có pha các tạp chất để
tạo ra một tiếp giáp P-N, kênh P chứa lỗ trống, kênh N chứa điện tử, dòng điện
truyền từ A-nốt (kênh P) đến K-tốt (kênh N), khi điện tử lấp đầy chỗ trống nó sinh
ra bức xạ ánh sáng, các bước sóng phát ra có màu khác nhau tùy thuộc vào tạp chất

Điều khiển dộng cơ DC bằng PIC16f877A Người thực hiện: Dương Kim Duyên
ĐỒ ÁN HỆ THỐNG NHÚNG
Trang 15/30

trong chíp bán dẫn. LED phân thành ba loại chính theo dải công suất: cỡ nhỏ, cỡ
trung bình, cỡ lớn.
- LED cỡ nhỏ: tiêu thụ dòng điện từ 2mA đến 20mA điện áp đặt trên chip từ 1.5V
đến 3V, chúng được thiết kế đơn chiếc phục vụ cho mục đích hiển thị trạng thái của
máy, chiếu sáng cục bộ.
- LED cỡ trung: được thiết kế có chân cắm để hàn vào mạch in hoặc thành chip 4
chân để giúp tản nhiệt tốt, chúng được ghép thành bản mạch với nhiều LED nối tiếp
hoặc song song. Loại đèn LED này thường sử dụng làm các biển báo, đèn chiếu hậu
ô tô, đèn chiếu sáng khẩn cấp, chúng tiêu thụ dòng điện cỡ 100mA.
- LED công suất lớn hay HPLED: tiêu thụ dòng điện vài trăm mA đến vài Ampe, do
tiêu thụ dòng điện lớn nên loại này nhất thiết phải gắn với một bộ tỏa nhiệt tốt, nếu
không HPLED sẽ hỏng sau vài giây. Hiệu suất của HPLED rất cao, có thể lên đến
105lm/W. Ứng dụng của HPLED là để thay loại đèn chiếu sáng trong nhà, ngoài
trời.
- LED thường có điện thế phân cực thuận cao hơn điốt thông thường, trong khoảng
1,5 đến 3V. Nhưng điện thế phân cực nghịch ở LED thì không cao. Do đó LED rất
dễ bị hư hỏng do điện thế ngược gây ra.

Điều khiển dộng cơ DC bằng PIC16f877A Người thực hiện: Dương Kim Duyên
ĐỒ ÁN HỆ THỐNG NHÚNG
Trang 16/30

CHƯƠNG 3: THIẾT KẾ PHẦN MỀM

3.1 Lưu đồ giải thuật

Hình 3.1 Lưu đồ giải thuật

3.2 Nguyên lý hoạt động


Nguyên lý hoạt động của hệ thống điều khiển đèn bằng Bluetooth dùng vi điều
khiển PIC 16F877A như sau: Vi điều khiển PIC 16F877A sẽ được nhận điện áp 5V
(điện áp từ nguồn qua adapter được hạ xuống 12V, sau đó tiếp tục được hạ áp
xuống 5V bởi LM7805 của hệ thống) sau đó cấp cho mô đun Bluetooth HC-06 hoạt
động để nhận tín hiệu được gửi từ app trên điện thoại, tín hiệu nhận được là các ký
tự và thực hiện các chức năng sau:
1: bật đèn 1.

Điều khiển dộng cơ DC bằng PIC16f877A Người thực hiện: Dương Kim Duyên
ĐỒ ÁN HỆ THỐNG NHÚNG
Trang 17/30

2: bật đèn 2.
3: bật đèn 3.
4: bật đèn 4.
a: tắt đèn 1.
b: tắt đèn 2.
c: tắt đèn 3.
d: tắt đèn 4.
5: bật tất cả đèn.
6: tắt tất cả đèn.
7: các đèn sáng dần.
8: các đèn tắt dần.
9: đèn sáng nhấp nháy.
e: đèn sáng xen kẽ.

3.3 APP MIT INVERTOR

App Inventor là một ứng dụng web mã nguồn mở được cung cấp bởi Google từ
tháng 7 năm 2010. Sau này, App Inventor được quản lý bởi Viện Công nghệ
Massachusetts hay còn gọi là MIT. Đó cũng là lý do tại sao nó hay được gọi là MIT
App Inventor.
Về cơ bản, App Inventor sẽ hoạt động dựa trên nền tảng di động Android. Tức là
các thành phẩm được tạo ra từ App Inventor sẽ chỉ hoạt động được trên Android.
Giao diện của App Inventor bao gồm các khối hộp, bên trong là các đoạn mã. Khi
sử dụng, người dùng sẽ kéo thả các khối này vào bảng mã để tiến hành lắp ghép
thành một ứng dụng hoàn chỉnh. Nhìn chung, cách sử dụng App Inventor rất đơn
giản, tất cả chỉ xoay quanh thao tác kéo và thả thôi.
Các bước sử dụng phần mềm MIT App Invertor:
Bước 1: Tạo project.
Sau khi đăng nhập vào phần mềm, tại cửa sổ chính (My project), ta chọn vào Start
new project, sau đó đặt tên cho project mà bạn muốn tạo.

Điều khiển dộng cơ DC bằng PIC16f877A Người thực hiện: Dương Kim Duyên
ĐỒ ÁN HỆ THỐNG NHÚNG
Trang 18/30

Hình 3.2 Tạo new project


Bước 2: Thiết kế giao diện.
Cửa sổ thiết kế gồm 4 khung chức năng chính như hình dưới đây:

Hình 3.3 Thiết kế giao diện


Đầu tiên, một ứng dụng có thể có nhiều cửa sổ giao diện, trong MIT AI2 gọi là các
Screen.

Điều khiển dộng cơ DC bằng PIC16f877A Người thực hiện: Dương Kim Duyên
ĐỒ ÁN HỆ THỐNG NHÚNG
Trang 19/30

Palette: Chứa các thành phần có thể đặt lên trên Screen như: Button, Label, Image,
Listview, Video player, …. Đến các thanh phần chức năng không nhìn thấy trên
Screen như: BLE extension, Notifier, các sensors, ….

Viewer: Hiển thị giao diện screen. Kéo thả các thành phần từ khung Palette sang
đây để thiết kế giao diện cho phần mềm của bạn.

Components: Sơ đồ cây thể hiện cấu trúc các thành phần đã được bố trí trên Screen.

Properties: Hiển thị thuộc tính của component tương ứng được chọn.

Ngoài ra còn khung Media chứa các file media bạn tải lên để sử dụng trong chương
trình như: Ảnh icon, ảnh nền, …

Chương trình minh họa trong bài viết được thiết kế như hình bên dưới. Bao gồm các
thành phần nhìn thấy trên Screen và các thành phần chức năng không nhìn thấy trên
Screen (non-visible) là:

Notifier1: Hiển thị các câu thông báo đến người dùng.

BluetoothLE1: Đây là extension cho phép truyền thông qua giao tiếp Bluetooth
Low Energy.

BluetoothClient1: Để giao tiếp với VBLUno51 qua BLE chúng ta đã sử dụng


BluetoothLE extension.

Điều khiển dộng cơ DC bằng PIC16f877A Người thực hiện: Dương Kim Duyên
ĐỒ ÁN HỆ THỐNG NHÚNG
Trang 20/30

Hình 3.4 Thiết kế giao diện (2)


Bước 3: Lập trình chức năng.
Để di chuyển qua lại giữa cửa sổ thiết kế và tạo code, nhấp chọn các nút design,
blocks ở góc bên phải.

Trong MIT AI2, code chính là các Blocks, việc của chúng ta là kéo thả các blocks
này sang khung Viewer và kết nối chúng theo chức năng mong muốn.

Blocks gồm 2 nhóm chính:

Các block chức năng cơ bản của một chương trình như: điều khiển luồng, logic,
toán học, ký tự, biến, …

Điều khiển dộng cơ DC bằng PIC16f877A Người thực hiện: Dương Kim Duyên
ĐỒ ÁN HỆ THỐNG NHÚNG
Trang 21/30

Hình 3.5 Lập trình các chức năng


Các block chức năng theo từng component trong ứng dụng: Mỗi component của
ứng dụng đều có các block chức năng tương ứng.

Hình 3.6 Lập trình các chức năng (2)


Nhóm này có 3 kiểu chính:
Thuộc tính (Properties):

Điều khiển dộng cơ DC bằng PIC16f877A Người thực hiện: Dương Kim Duyên
ĐỒ ÁN HỆ THỐNG NHÚNG
Trang 22/30

Hình 3.7 Thuộc tính


+ Phương thức (Methods):

Hình 3.8 Phương thức


+ Sự kiện (Events):

Điều khiển dộng cơ DC bằng PIC16f877A Người thực hiện: Dương Kim Duyên
ĐỒ ÁN HỆ THỐNG NHÚNG
Trang 23/30

Hình 3.9 Sự kiện

Bước 4: Biên dịch và thử nghiệm.


Để biên dịch và thực thi chương trình viết trên MIT App Inventor 2 có hai cách:

Cách 1: Sử dụng phần mềm MIT Companion. Với cách này, bạn cần cài đặt phần
mềm MIT Companion trên điện thoại của bạn. Sau đó, kết nối với project của bạn
để tự động download về và chạy bên trong phần mềm MIT Companion. Điều này
gây ra nhiều sự bất tiện và phụ thuộc.

Cách 2: Biên dịch ra file apk và cài đặt, bao gồm tùy chọn download file apk về
máy tính sau đó sao chép sang điện thoại để cách đặt hoặc biên dịch và tải online
thông qua mã QR code.

Điều khiển dộng cơ DC bằng PIC16f877A Người thực hiện: Dương Kim Duyên
ĐỒ ÁN HỆ THỐNG NHÚNG
Trang 24/30

CHƯƠNG 4: THỰC HIỆN VÀ KẾT QUẢ

4.1 PCB layout:

Để vẽ bố cục PCB, chúng ta cần cài đặt phần mềm Proteus (tôi sử dụng Proteus 8
professional). Tiếp theo, chúng ta mở phần mềm Proteus để tiến hành vẽ sơ đồ.
Đầu tiên, chúng ta sẽ mở phần mềm chuyên nghiệp proteus 8 để vẽ như trong hình
4.1.

Hình 4.6 Phần mềm proteus 8


Sau đó, chúng ta chọn dự án mới, và sau đó nhấp vào next liên tục để tạo một file
project mới như trong hình 4.2.
Sau đó, giao diện được hiển thị như bên dưới trong hình 4.3.
Nhấp vào P trên bàn phím để hiển thị thư viện, chúng ta có thể chọn các phần, sau
đó chọn các thành phần để vẽ trong bài như trong hình 4.4.
Sau khi chọn các thành phần, chúng tôi sẽ sắp xếp và kết nối dây.
Sau khi vẽ, nhấp vào nút bố trí PCB trên thanh công cụ từ màn hình chính proteus
như trong hình 4.5.

Điều khiển dộng cơ DC bằng PIC16f877A Người thực hiện: Dương Kim Duyên
ĐỒ ÁN HỆ THỐNG NHÚNG
Trang 25/30

Sau đó chọn công cụ chế độ compponent để lấy các thành phần vẽ mạch nguyên lý
như trong hình 4.6.

Hình 4.7 Tạo new project

Hình 4.8 Giao diện

Điều khiển dộng cơ DC bằng PIC16f877A Người thực hiện: Dương Kim Duyên
ĐỒ ÁN HỆ THỐNG NHÚNG
Trang 26/30

Hình 4.9 Thư viện

Hình 4.10 PCB layout

Điều khiển dộng cơ DC bằng PIC16f877A Người thực hiện: Dương Kim Duyên
ĐỒ ÁN HỆ THỐNG NHÚNG
Trang 27/30

Hình 4.11 Kết quả PCB layout

4.2 Hình mạch

Sau khi vẽ xong sơ đồ mạch bố trí PCB, chúng ta xử lý mạch in như hình dưới đây:

Hình 4.12 Hình mạch in

Điều khiển dộng cơ DC bằng PIC16f877A Người thực hiện: Dương Kim Duyên
ĐỒ ÁN HỆ THỐNG NHÚNG
Trang 28/30

CHƯƠNG 5: KẾT LUẬN

5.1 Kết luận


5.1.1 Ưu điểm của sản phẩm
 Hoạt động ổn định.
 Nhỏ gọn, phù hợp để đặt tại các vị trí.
 Có thể tùy biến thay đổi hiển thị.
 Dễ dàng bảo trì, thay thế vi điều khiển, LED.
 Giá thành linh kiện rẻ.
5.1.2 Hạn chế của sản phẩm
 Kết quả phản hồi chưa chính xác tuyệt đối do hiệu quả làm việc của các linh
kiện.
 Chưa ổn định vì chất lượng linh kiện chưa được đảm bảo do chi phí hạn hẹp.
5.2 Ứng dụng
 Sử dụng tại gia đình.
 Bước nghiên cứu ban đầu để phát triển các hệ thống thông minh hơn.
5.3 Hướng phát triển
 Điều khiển qua hệ thống web.
 Điều khiển thêm quạt hoặc các thiết bị điện tử khác.
 Tích hợp hệ thống tự động chuyển đổi nguồn dự phòng.

Điều khiển dộng cơ DC bằng PIC16f877A Người thực hiện: Dương Kim Duyên
ĐỒ ÁN HỆ THỐNG NHÚNG
Trang 29/30

TÀI LIỆU THAM KHẢO

Tiếng Việt:
[1] Hanh, L. D. (2019). Lập trình vi điều khiển họ PIC và ứng dụng. TP. Hồ Chí
Minh: NXB ĐHQG-HCM.
[2] TS. Dang Phuoc Vinh, TS. Vo Nhu Thanh. (2019). Giáo trình kỹ thuật vi điều
khiển PIC. Hà Nội: Nhà xuất bản xây dựng.

Điều khiển dộng cơ DC bằng PIC16f877A Người thực hiện: Dương Kim Duyên
ĐỒ ÁN HỆ THỐNG NHÚNG
Trang A

Phụ lục

Source code PIC C:


#include <main.h>

char n;
#INT_RDA
void ngatUART ()
{
n = getc ();
}

void main ()
{
enable_interrupts (int_rda);
enable_interrupts (global);

while(true)
{
If (n == '1') //sang LED1
{
output_high(pin_d3);

}
If (n == 'a') //tat LED1
{
output_low(pin_d3);

Điều khiển dộng cơ DC bằng PIC16f877A Người thực hiện: Dương Kim Duyên
ĐỒ ÁN HỆ THỐNG NHÚNG
Trang B

If (n == '2') //sang LED2


{
output_high(pin_d2);

}
If (n == 'b') //tat LED2
{
output_low(pin_d2);

}
If (n == '3') //sang LED3
{
output_high(pin_d1);

}
If (n == 'c') //tat LED3
{
output_low(pin_d1);

}
If (n == '4') //sang LED4
{
output_high(pin_d0);

}
if (n == 'd') //tat LED4
{
output_low(pin_d0);

Điều khiển dộng cơ DC bằng PIC16f877A Người thực hiện: Dương Kim Duyên
ĐỒ ÁN HỆ THỐNG NHÚNG
Trang C

}
If (n == '5') //sang LED1234
{
output_high(pin_d2);
output_high(pin_d1);
output_high(pin_d3);
output_high(pin_d0);
}
If (n == '6') //tat het cac LED
{
output_low(pin_d2);
output_low(pin_d1);
output_low(pin_d3);
output_low(pin_d0);
}
If (n == '7') //sang dan
{
int i;
output_low(pin_d2);
output_low(pin_d1);
output_low(pin_d3);
output_low(pin_d0);
for (i=0; i<=4; i++)
{
switch (i)
{
case 1: output_high(pin_d3); break; //sang LED1
case 2: output_high(pin_d2); break; //sang LED2
case 3: output_high(pin_d1); break; //sang LED3

Điều khiển dộng cơ DC bằng PIC16f877A Người thực hiện: Dương Kim Duyên
ĐỒ ÁN HỆ THỐNG NHÚNG
Trang D

case 4: output_high(pin_d0); break; //sang LED4

default: break;
}
delay_ms (450);
}
}
If (n == '8') //tat dan
{
int i;
output_high(pin_d2);
output_high(pin_d1);
output_high(pin_d3);
output_high(pin_d0);
for (i=0; i<=4; i++)
{
switch (i)
{
case 1: output_low(pin_d3); break; //tat LED1
case 2: output_low(pin_d2); break; //tat LED2
case 3: output_low(pin_d1); break; //tat LED3
case 4: output_low(pin_d0); break; //tat LED4

default: break;
}
delay_ms (450);
}
}
If (n == '9') //nhap nhay

Điều khiển dộng cơ DC bằng PIC16f877A Người thực hiện: Dương Kim Duyên
ĐỒ ÁN HỆ THỐNG NHÚNG
Trang E

{
output_high(pin_d2);
output_high(pin_d1);
output_high(pin_d3);
output_high(pin_d0);
delay_ms (390);
output_low(pin_d2);
output_low(pin_d1);
output_low(pin_d3);
output_low(pin_d0);
delay_ms (390);

}
If (n == 'e') //sang tat xen ke LED13&24
{

output_high(pin_d0);
output_high(pin_d2);
output_low(pin_d1);
output_low(pin_d3);
delay_ms (390);
output_high(pin_d1);
output_high(pin_d3);
output_low(pin_d0);
output_low(pin_d2);
delay_ms (390);

Điều khiển dộng cơ DC bằng PIC16f877A Người thực hiện: Dương Kim Duyên
ĐỒ ÁN HỆ THỐNG NHÚNG
Trang F

}
}

Điều khiển dộng cơ DC bằng PIC16f877A Người thực hiện: Dương Kim Duyên

You might also like