1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Điều khiển xe mô hình bằng ứng dụng android trên điện thoại

101 9 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 101
Dung lượng 9,35 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Đề tài “ĐIỀU KHIỂN XE MÔ HÌNH BẰNG ỨNG DỤNG ANDROID TRÊN ĐIỆN THOẠI” I.MỤC TIÊU ĐỀ TÀI Xây dựng được một chiếc xe điều khiển có thể chạy tới, lùi, trái, phải, truyền được các thông số nh

Trang 1

TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT

THÀNH PHỐ HỒ CHÍ MINH

ĐỒ ÁN TỐT NGHIỆP NGÀNH KỸ THUẬT ÐIỆN TỬ TRUYỀN THÔNG

ÐIỀU KHIỂN XE MÔ HÌNH BẰNG ỨNG DỤNG ANDROID TRÊN ÐIỆN THOẠI

S K L 0 0 5 3 7 2

GVHD: NGUYỄN THANH NGHĨA SVTH : TRẦN DUY KHANG MSSV: 15341016

SVTH : NGUYỄN VĂN DƯỠNG MSSV: 15341001

Trang 2

TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP HỒ CHÍ MINH

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

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH

Trang 3

KHOA ĐIỆN-ĐIỆN TỬ

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP

Tp HCM, ngày 10 tháng 7 năm 2017

NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP

Họ tên sinh viên: Trần Duy Khang MSSV: 15341016

Nguyễn Văn Dưỡng MSSV: 15341001 Chuyên ngành: Kỹ thuật Điện - Điện tử

Hệ đào tạo: Đại học chính quy(CT) Mã hệ: K15341

I TÊN ĐỀ TÀI: ĐIỀU KHIỂN XE MÔ HÌNH BẰNG ỨNG DỤNG ANDROID

TRÊN ĐIỆN THOẠI

II NHIỆM VỤ

1.Các số liệu ban đầu:

Nguồn cung cấp cho tất cả các module và linh kiện có trong phần cứng là khối

PIN có mức điện áp 11,1VDC Ngoại trừ một số linh kiện hoạt động ở mức điện áp

5VDC thì điện áp nguồn được đưa qua mạch hạ áp

Có 6 linh kiện, thiết bị sử dụng 5VDC, 2 thiết bị sử dụng theo điện áp nguồn cung

cấp 11,1VDC

- Mạch bluetooth HC-05: dòng tiêu thụ là 30mA

- Vi điều khiển PIC16F887 dòng tiêu thụ là 25mA

- Mạch L298N: dòng tiêu thụ là 70mA Tùy thuộc vào động cơ gắn vào các ngõ

ra của L298N mà dòng điện tiêu thụ của mạch này tăng lên

- Có 4 động cơ DC mỗi động cơ có dòng tiêu thụ là 140mA, nên 4 động cơ sẽ là

140mA x 4 = 560mA

- Còi báo hiệu: dòng tiêu thụ là 30mA

- Ba led làm nhiệm vụ chiếu sáng: dòng tiêu thụ là 30mA

- Cảm biến nhiệt độ, độ ẩm DHT21: dòng tiêu thụ 300uA

2.Nội dung thực hiện:

NỘI DUNG 1: Thu thập dữ liệu của cảm biến gia tốc trên điện thoại

NỘI DUNG 2: Truyền nhận dữ liệu giữa xe và điện thoại

NỘI DUNG 3: Thi công xe mô hình

NỘI DUNG 4: Thiết kế giao diện điều khiển

NỘI DUNG 5: Đánh giá kết quả thực hiện

III.NGÀY GIAO NHIỆM VỤ: 01/04/2017

IV.NGÀY HOÀN THÀNH NHIỆM VỤ: 20/07/2017

V HỌ VÀ TÊN CÁN BỘ HƯỚNG DẪN: Th.s Nguyễn Thanh Nghĩa

CÁN BỘ HƯỚNG DẪN BM ĐIỆN TỬ CÔNG NGHIỆP – Y SINH

Trang 4

KHOA ĐIỆN-ĐIỆN TỬ

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP

Tp HCM, ngày 10 tháng 7 năm 2017

LỊCH TRÌNH THỰC HIỆN ĐỒ ÁN TỐT NGHIỆP

Họ tên sinh viên 1: Trần duy khang

Lớp: 153410B MSSV: 15341016

Họ tên sinh viên 2: Nguyễn Văn Dưỡng

Lớp: 153410A MSSV: 15341001

Tên đề tài: Điều khiển xe mô hình bằng ứng dụng android trên điện thoại

Tuần/ngày Nội dung Xác nhận của GVHD Tuần 01 01 – 07/04/2017 Nhận đề tài Tuần 02 08 – 15/04/2017 Tiến hành thống kê các thành phần để xây dựng phần cứng của xe mô hình Tuần 03 16 – 23/04/2017 Xây dựng các chương trình phần mềm cần có để lầm đề tài: android, proteus,

Tuần 04

04 – 01/05/2017

Báo cáo tiến độ thực hiện đề tài cho GVHD, đồng thời làm tiếp những công

việc lắp ráp phần cứng

Tuần 04

02 – 09/05/2017 Xây dựng phần cứng

Tuần 05+06

10 – 25/05/2017

Bắt đầu viết chương trình cho Pic 16f887, chương trình điều khiển android

Tuần 07

26 – 03/06/2017

Tiếp tục viết chương trình điều khiển và báo cáo tiến độ đã làm được cho GVHD

Tuần 08

04 – 11/06/2017

Kiểm tra phần cứng và chạy thử chương

trình điều khiển android

Tuần 09 + 10

12 – 29/ 06/2017

Kiểm tra phần cứng và test xe mô hình

Báo cáo kết quả cho GVHD

Tuần 11

01 – 08/07/2017 Hoàn thiện viết luận văn

GV HƯỚNG DẪN (Ký và ghi rõ họ và tên)

Trang 5

Đề tài “Điều khiển xe mô hình bằng ứng dụng android trên điện thoại ” là đề tài

chúng em tự nghiên cứu và thực hiện dựa trên sự tham khảo các ý tưởng trên mạng và sự

hướng dẫn nhiệt tình, những đóng góp quý giá của thầy hướng dẫn Ngoài những điều

trên thì chúng em hoàn toàn không sao chép nguyên mẫu của bất cứ đề tài nào đã có

trước kia

Nhóm thực hiện đề tài Nguyễn Văn Dưỡng

Trang 6

Quãng thời gian thực hiện đồ án tốt nghiệp không nhiều và có rất nhiều khó khăn, trở ngại nhưng nhờ sự cố gắng của nhóm và sự nhiệt tình của GVHD mà cho đến bây giờ mọi khâu trong đồ án đã kịp hoàn thành

Chúng tôi, những người thực hiện Đồ án tốt nghiệp chân thành cảm ơn thầy Nguyễn Thanh Nghĩa, các giáo viên của khoa Điện – điện tử, cũng như Bộ môn Điện tử công nghiệp – y sinh đã tận tình giúp đỡ, hướng dẫn nhóm

Cảm ơn các bạn trong lớp 153410 đã động viên, góp ý chân thành để nhóm chúng

em hoàn thành Đồ án tốt nghiệp này

Cảm ơn gia đình, người thân đã tạo điều kiện rất nhiều về tinh thần, vật chất để chúng em có nhiều hơn về thời gian và tinh để toàn tâm toàn ý thực hiện đề tài nhanh chóng

Nhóm thực hiện đề tài Nguyễn Văn Dưỡng Trần Duy Khang

Trang 7

Trang bìa i

Nhiệm vụ đồ án ii

Lịch trình iii

Cam đoan iv

Lời cảm ơn v

Mục lục vi

Liệt kê hình vẽ viii

Liệt kê bảng vẽ xi

Tóm tắt xii

CHƯƠNG 1 TỔNG QUAN 1

1.1 Đặt vấn đề 1

1.2 Mục tiêu 1

1.3 Nội dung nghiên cứu 2

1.4 Giới hạn 2

1.5 Bố cục 2

CHƯƠNG 2 CƠ SỞ LÝ THUYẾT 3

2.1 HỌ VI ĐIỀU KHIỂN PIC 3

2.2 PIC16F887 3

2.2.1 Giới thiệu 3

2.2.2 Sơ đồ cấu trúc PIC16F887 7

2.2.3 Sơ đồ chân của PIC16F887 9

2.2.4 Tổ chức bộ nhớ 10

2.2.5 Khảo sát khối PWM 11

2.2.6 Khảo sát ngắt 14

2.2.7 Khảo sát truyền dữ liệu UART 20

2.3 HỆ ĐIỀU HÀNH ANDROID 27

2.3.1 Giới thiệu hệ điều hành Android 27

2.3.2 Ưu điểm và nhược điểm 27

2.4 TỔNG QUAN VỀ BLUETOOTH 28

2.4.1 Khái niệm Bluetooth 28

2.4.2 Các chuẩn của Bluetooth 28

2.4.3 Ưu điểm và nhược điểm của Bluetooth 29

Trang 8

CHƯƠNG 3 THIẾT KẾ MÔ HÌNH 30

3.1 SƠ ĐỒ KHỐI 30

3.2 PHẦN CỨNG 31

3.2.1 Khối nguồn 31

3.2.2 Mạch kit pic mini 31

3.2.3 Cảm biến DHT21 34

3.2.4 Mạch Bluetooth HC-05 34

3.2.5 Mạch công suất L298N 36

3.2.6 Động cơ DC giảm tốc 38

3.3 KẾT NỐI PHẦN CỨNG 39

CHƯƠNG 4 THI CÔNG MÔ HÌNH 40

4.1 GIỚI THIỆU 40

4.2 THI CÔNG XE MÔ HÌNH 40

4.2.1 Sơ đồ nối dây 40

4.2.2 Hình ảnh thực tế 41

4.3 LẬP TRÌNH HỆ THỐNG 44

4.3.1 Lưu đồ giải thuật 44

4.3.2 Phần mềm lập trình CCS 47

4.3.3 Phần mềm lập trình Android studio 56

4.4 VIẾT TÀI LIỆU HƯỚNG DẪN SỬ DỤNG 66

4.4.1 Viết tài liệu hướng dẫn sử dụng 66

4.4.2 Quy trình thao tác 68

CHƯƠNG 5 KẾT QUẢ THỰC NGHIỆM 69

5.1 KẾT QUẢ ĐẠT ĐƯỢC 69

5.2 NHẬN XÉT VÀ ĐÁNH GIÁ 69

5.3 HÌNH ẢNH VẬN HÀNH 70

CHƯƠNG 6 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 71

6.1 KẾT LUẬN 71

6.2 HƯỚNG PHÁT TRIỂN 72

TÀI LIỆU THAM KHẢO 73

PHỤ LỤC 74

Trang 9

Hình Trang

Hình 2.1 Hình dạng của PIC16F887 3

Hình 2.2 Cấu hình của vi điều khiển PIC16F887 4

Hình 2.3 Cấu trúc bên trong PIC 16F887 7

Hình 2.4 Sơ đồ chân PIC 16F887 9

Hình 2.5 Dạng sóng điều chế độ rộng xung 11

Hình 2.6 Sơ đồ khối của PWM PIC16F887 12

Hình 2.7 Dạng sóng điều chế PWM 12

Hình 2.8 Thanh ghi INTCON 15

Hình 2.9 Thanh ghi PIE1 và PIR1 16

Hình 2.10 Thanh ghi PIE2 và PIR2 17

Hình 2.11 Mạch điện ngắt của PIC16F887 19

Hình 2.12 Thanh ghi TXSTA 21

Hình 2.13 Thanh ghi RCSTA 22

Hình 2.14 Thanh ghi BAUDCTL 24

Hình 2.15 Các phiên bản hệ điều hành Android 27

Hình 3.1 Sơ đồ khối của xe mô hình 30

Hình 3.2 Khối nguồn 31

Hình 3.3 Kit Pic mini 32

Hình 3.4 Sơ đồ nguyên lý Kit Pic mini 33

Hình 3.5 Cảm biến nhiệt độ và độ ẩm DHT21 34

Hình 3.6 Bluetooth HC-05 35

Hình 3.7 Sơ đồ nguyên lý Bluetooth HC-05 35

Hình 3.8 Mạch công suất L298N 36

Hình 3.9 Sơ đồ nguyên lý mạch công suất L298N 37

Hình 3.10 Động cơ DC giảm tốc 38

Hình 3.11 Sơ đồ nguyên lý 39

Hình 4.1 Sơ đồ nối dây 40

Hình 4.2 Hình ảnh thực tế xe mô hình 41

Hình 4.3 Hình ảnh mặt trên xe mô hình 42

Hình 4.4 Hình ảnh mặt dưới xe mô hình 43

Trang 10

Hình 4.5 Lưu đồ giải thuật chương trình chính của PIC16F887 44

Hình 4.6 Lưu đồ giải thuật chương trình ngắt 45

Hình 4.7 Lưu đồ giải thuật của ứng dụng trên điện thoại 46

Hình 4.8 Thư mục cài đặt 48

Hình 4.9 Cửa sổ cài đặt thứ 1 48

Hình 4.10 Cửa sổ cài đặt thứ 2 49

Hình 4.11 Cửa sổ cài đặt thứ 3 49

Hình 4.12 Cửa sổ cài đặt thứ 4 50

Hình 4.13 Quay lại thư mục cài đặt 50

Hình 4.14 Cửa sổ thứ 1 51

Hình 4.15 Cửa sổ thứ 2 51

Hình 4.16 Cửa sổ thứ 3 52

Hình 4.17 Cửa sổ thứ 4 52

Hình 4.18 Cửa sổ thứ 5 53

Hình 4.19 Cửa sổ thứ 6 53

Hình 4.20 Hướng dẫn tạo project 54

Hình 4.21 Cửa sổ Android studio thứ 1 56

Hình 4.22 Cửa sổ Android studio thứ 2 57

Hình 4.23 Cửa sổ Android studio thứ 3 57

Hình 4.24 Cửa sổ Android studio thứ 4 58

Hình 4.25 Cửa sổ Android studio thứ 5 58

Hình 4.26 Cửa sổ Android studio thứ 6 59

Hình 4.27 Cửa sổ Android studio thứ 7 59

Hình 4.28 Cửa sổ giao diện thứ 1 60

Hình 4.29 Cửa sổ giao diện thứ 2 60

Hình 4.30 Cửa sổ giao diện thứ 3 61

Hình 4.31 Cửa sổ giao diện thứ 4 61

Hình 4.32 Cửa sổ giao diện thứ 5 62

Hình 4.33 Giao diện kết nối thiết bị 62

Hình 4.34 Giao diện điều khiển 63

Hình 4.35 Yêu cầu mở Bluetooth 66

Hình 4.36 Tìm thiết bị 66

Hình 4.37 Chọn thiết bị kết nối 67

Hình 4.38 Kết nối giao diện điều khiển 67

Trang 11

Hình 5.1 Điều khiển nút nhấn chạy tới 70

Hình 5.2 Điều khiển nút nhấn xoay phải 70

Hình 5.3 Điều khiển cảm biến gia tốc chạy tới 71

Trang 12

LIỆT KÊ BẢNG

Bảng Trang

Bảng 2.1: Thanh ghi cho phép ngắt INTCON có địa chỉ 0x0B 15

Bảng 2.2: Thanh ghi cho phép ngắt PIE1 có địa chỉ 0x8C 16

Bảng 2.3: Thanh ghi cho phép ngắt PIR1 có địa chỉ 0x0C 17

Bảng 2.4: Thanh ghi cho phép ngắt PIE2 có địa chỉ 0x8D 18

Bảng 2.5: Thanh ghi cho phép ngắt PIR2 có địa chỉ 0x0D 18

Bảng 2.6: Thanh ghi TXSTA 21

Bảng 2.7: Thanh ghi RCSTA 22

Bảng 2.8: Thanh ghi BAUDCTL 24

Trang 13

Đề tài “ĐIỀU KHIỂN XE MÔ HÌNH BẰNG ỨNG DỤNG ANDROID TRÊN ĐIỆN THOẠI”

I.MỤC TIÊU ĐỀ TÀI

Xây dựng được một chiếc xe điều khiển có thể chạy tới, lùi, trái, phải, truyền được các

thông số nhiệt độ - độ ẩm, hình ảnh

Hoạt động được trong điều kiện bề mặt bằng phẳng, độ dốc nhỏ, trong khoảng cách

12~15m

II PHƯƠNG PHÁP THỰC HIỆN

Dựa trên những tài liệu có sẵn về vi xử lý

Dựa trên các tài liệu đã có nghiên cứu chế tạo robot co sẵn

Dựa trên nguồn tài liệu trên internet

Viết chương trình thực hiện giao tiếp UART

Viết chương trình điều khiển trên ứng dụng Android

III KẾT QUẢ THỰC HIỆN

- Hoàn thành được chiếc xe có khả năng di chuyển theo ý muốn người điều khiển

- Xe điều khiển có thể truyền về các thông số nhiệt độ - độ ẩm

- Xe điều khiển có thể truyền hình ảnh về điện thoại điều khiển

Trang 14

TỔNG QUAN Chương 1

ĐẶT VẤN ĐỀ

1.1

Hiện nay, trong dòng chảy công nghệ ngày càng lớn mạnh, nhu cầu tạo ra các sản phẩm công nghệ tiên tiến để phục vụ cho cuộc sống, thay thế sức lao động của con người đang trở thành xu thế tất yếu Từ việc chế tạo ra các máy móc đơn giản cho đến các cỗ máy khổng lồ, giữa chúng đều có lợi ích khác nhau trong khai thác và sử dụng Điện thoại thông minh, mạng internet, wi-fi, bluetooth là những thuật ngữ đã rất quen thuộc đối với mỗi chúng ta Nhưng để khai thác được tối ưu lợi ích của chúng thì không phải ai cũng làm được Trong đề tài nghiên cứu này, nhóm chúng tôi sẽ sử dụng các công nghệ đó để hình thành nên một sản phẩm đơn giản có thể hoạt động được Đó là đề tài “Điều khiển xe mô hình bằng ứng dụng android trên điện thoại”

Dựa trên ý tưởng của các cuộc thi về Robot tại trường như: Robot tìm đường trong mê cung, Robot dò line mà nhóm đã thực hiện Đồ án tốt nghiệp trong học kì 2 năm học 2016 – 2017 với đề tài “Điều khiển xe mô hình bằng ứng dụng android trên điện thoại” Ý tưởng này có thể được sử dụng trong rất nhiều các lĩnh vực khác nhau như hoạt động cứu hộ cứu nạn, trong quân sự rà phá bom mìn Nó có thể thay thế con người để đi vào những nơi mà con người không thể tới và để giảm thiểu mức độ nguy hiểm của công việc liên quan trực tiếp đến tính mạng con người

Hiện nay trong nước cũng như thế giới có rất nhiều phiên bản cũng như chủng loại xe mô hình điều khiển bằng điện thoại hay máy tính thông qua kết nối Bluetooth hay wifi từ đơn giản đến phức tạp Nhưng vì khả năng có hạn nên nhóm thực hiện đề tài này chỉ nhằm mục đích củng cố thêm các kiến thức đã được học, ứng dụng chúng vào hoạt động thực tế và cũng nhằm tìm kiếm một công việc phù hợp với nguyện vọng sau khi tốt nghiệp

MỤC TIÊU

1.2

Xây dựng một chiếc xe mô hình hoạt động thông qua điều khiển từ xa điện thoại smartphone hệ điều hành Android và có 2 chế độ điều khiển: cảm biến gia tốc và nút nhấn Xe mô hình có thể truyền hình ảnh về điện thoại điều khiển để giám sát thông qua một điện thoại gắng trên xe làm nhiệm vụ ghi nhận hình ảnh Ngoài ra trên xe còn

Trang 15

có cảm biến nhiệt độ và độ ẩm để thu thập thông tin nhiệt độ và độ ẩm của môi trường sau đó truyền thông tin về điện thoại điều khiển

NỘI DUNG NGHIÊN CỨU

1.3

 NỘI DUNG 1: Thu thập dữ liệu của cảm biến gia tốc trên điện thoại

 NỘI DUNG 2: Truyền nhận dữ liệu giữa xe và điện thoại

 NỘI DUNG 3: Thi công xe mô hình

 NỘI DUNG 4: Thiết kế giao diện điều khiển trên Android Studio

 NỘI DUNG 5: Đánh giá kết quả thực hiện

GIỚI HẠN

1.4

 Giao diện được viết trên phần mềm Android Studio, nên chỉ hỗ trợ cho người dùng điện thoại chạy hệ điều hành Android

 Xe mô hình chỉ hoạt động được trong bán kính tối đa 15m

 Xe mô hình chỉ hoạt động tốt nhất trong điều kiện địa hình bằng phẳng

 Xe mô hình được điều khiển bằng sóng Bluetooth và thu thập hình ảnh bằng sóng Wifi

 Chương 2: Cơ Sở Lý Thuyết

Chương này trình bày các cơ sở lý thuyết cần thiết để thực hiện đề tài

 Chương 3: Thiết Kế Mô Hình

Chương này trình bày phần cứng xe mô hình

 Chương 4: Thi Công Mô Hình

Chương này sẽ thiết kế giao diện điều khiển, giới thiệu chương trình xử lý

Chương 5: Kết Quả Thực Nghiệm

Chương này sẽ trình bày những kết quả đã làm được và đánh giá qua thực tế

 Chương 6: Kết Luận và Hướng Phát Triển

Chương này trình bày những thiếu sót và hướng phát triển

Trang 16

CƠ SỞ LÝ THUYẾT Chương 2

HỌ VI ĐIỀU KHIỂN PIC [1]

2.1

PIC là một họ vi điều khiển RISC được sản xuất bởi công ty Microchip Technology PIC bắt nguồn là chữ viết tắt của "Programmable Intelligent Computer"

là một sản phẩm của hãng General Instrument đặt cho dòng sản phẩm đầu tiên của họ

là PIC1650 Lúc này, PIC1650 được dùng để giao tiếp với các thiết bị ngoại vi cho máy chủ 16bit CP1600, vì vậy người ta cũng gọi PIC với cái tên "Peripheral Interface Controller" (Bộ điều khiển giao tiếp ngoại vi)

Ngoài ra PIC còn có rất nhiều loại như: 8 bit, 16 bit, 32 bit Bình thường PIC 8 bit và 16 bit phù hợp với một số yêu cầu điều khiển trong công nghiệp như hệ thống điện của xe hơi, hệ thống điều hòa, hệ thống điều khiển các dây chuyền sản suất,…Còn về PIC 32 bit thường sử dụng cho các máy tính vì khối lượng dữ liệu rất lớn

PIC 16F887 [1]

2.2

2.2.1 Giới Thiệu

Hình 2.1 Hình dạng của PIC16F887

Trang 17

Hình 2.2 Cấu hình của vi điều khiển PIC16F887

- Cấu trúc đặc biệt của vi điều khiển:

 Bộ dao động nội chính xác

 Có chế độ ngủ tiết kiệm công suất

 Điện áp hoạt động rộng từ 2V đến 5,5V

 Có mạch Reset khi có điện

 Tầm nhiệt độ làm việc theo chuẩn công nghiệp

 Có bộ định thời chờ ổn định điện áp khi mới có điện và có bộ định thời chờ dao động hoạt động ổn định mới cấp điện

 Có bộ định thời giám sát dùng dao động trong chip cho phép bằng phần mềm

 Đa hợp ngõ vào reset với ngõ vào có điện trở kéo lên

 Cho phép đọc/ghi bộ nhớ chương trình khi mạch hoạt động

 Có tích hợp mạch gỡ rối

 Có bộ nhớ Flash và bộ nhớ Eeprom

 Có bảo vệ Code đã lập trình

- Cấu trúc nguồn công suất thấp:

 Chế độ chờ: sử dụng nguồn 2v, dòng tiêu tán 50nA

 Dòng hoạt động: 11uA ở tần số 32kHz và 220uA ở tần số 4MHz

 Bộ định thời Watchdog Timer khi hoạt động tiêu thụ 1,4uA, điện áp 2V

Trang 18

- Đặc điểm kiến trúc RISC:

 Có 3 kiểu định địa chỉ trực tiếp, gián tiếp và tức thời

- Cấu trúc ngoại vi:

 Có 35 chân I/O và có thể nhận/cấp dòng khoảng 25mA

 Có Module so sánh điện áp tương tự

o 2 bộ so sánh điện áp tương tự

o Có module nguồn điện áp tham chiếu có thể lập trình

o Có nguồn điện áp tham chiếu cố định có giá trị bằng 0,6V

o Có các ngõ vào và các ngõ ra của bộ so sánh điện áp

o Có chế độ chốt SR

 Có 14 bộ chuyển đổi tương tự sang số với độ phân giải 10 bit

 Timer0: 8 bit hoạt động định thời/ đếm xung ngoại có bộ chia trước có thể lập trình

o Có bộ dao động công suất thấp tần số 32KHz

 Timer2: 8 bit hoạt động định thời với thanh ghi chu kỳ, có bộ chia trước

và chia sau

 Có module capture, compare và điều chế xung PWM+ nâng cao

o Bộ capture 16 bit có thể đếm được số xung với chu kỳ cao nhất là 12,5ns

o Bộ điều chế xung PWM với số kênh ngõ ra là 1,2 hoặc 4, có thể lập

Trang 19

trình với tần số lớn nhất là 20KHz

o Có ngõ ra PWM điều khiển lái

 Có module capture, compare và điều chế xung PWM

o Bộ capture 16 bit có thể đếm được số xung với chu kỳ cao nhất là 12,5ns

o Bộ so sánh16 bit có thể so sánh xung đếm với chu kỳ lớn nhất là 200ns

o Bộ điều chế xung PWM có thể lập trình với tần số lớn nhất là

20KHz

 Có thể lập trình trên bo ISP thông qua 2 chân

 Có các chuẩn giao tiếp: I2C, SPI, USART

Trang 20

2.2.2 Sơ Đồ Cấu Trúc PIC16F887

Hình 2.3 Cấu trúc bên trong PIC 16F887

Các khối bên trong vi điều khiển bao gồm:

- Khối ghi định cấu hình cho vi điều khiển

Trang 21

- Khối bộ nhớ chương trình có nhiều dung lượng cho 5 loại khác nhau

- Khối bộ nhớ ngăn xếp 8 cấp (8 level stack)

- Khối bộ nhớ Ram cùng với thanh ghi FSR để tính toán đìa chỉ cho 2 cách truy xuất gián tiếp và trực tiếp

Có thanh ghi lệnh dùng để lưu mã lệnh nhận về từ bộ nhớ chương trình

- Thanh ghi bộ đếm chương trình (PC) dùng để quản lý địa chỉ của bộ nhớ

chương trình

- Khối ALU cùng với thanh ghi working hay thanh ghi A để xử lý dữ liệu

- Khối các bộ định thời khi cấp điện PUT, có bộ định thời chờ dao động ổn định, có mạch reset khi có điện, có bộ định thời giám sát watchdog, có

mạch reset khi phát hiện sụt giảm nguồn

- Có khối giải mã lệnh và điều khiển (Instruction Decode and Control)

- Khối giải mã dao động nội (Internal Oscillator Block)

- Khối dao động kết nối với 2 ngõ vào OSC1 và OSC2 để tạo dao động

- Khối bộ dao động nội cho timer1 có tần số 32kHz kết nối với 2 ngõ vào T1OSI

và T1OSO

- Có khối CCP2 và ECCP

- Có khối mạch gỡ rối (In-Circuit Debugger IDC)

- Khối timer0 với ngõ xung đếm từ bên ngoài là T0CKI

- Khối truyền dữ liệu đồng bộ/bất đồng bộ nâng cao

- Khối truyền dữ liệu đồng bộ MSSP cho SPI và I2C

- Khối bộ nhớ Eeprom 256 byte và thanh ghi quản lý địa chỉ EEADDR và thanh ghi EEDATA

- Khối chuyển đổi tín hiệu tươn tự sang số ADC

- Khối 2 bộ so sánh với nhiều ngõ vào ra và điện áp tham chiếu

- Khối các Port A,B,C,D và E

Trang 22

2.2.3 Sơ Đồ Chân của PIC16F887

Hình 2.4 Sơ đồ chân PIC 16F887

Port A: có 8 bit (tương ứng với 6 chân RA0 – RA7) các chân của cổng A có tích hợp một số chức năng ngoại vi, nếu một thiết bị ngoại vi được enable thì cổng này

sẽ không hoạt động như một cổng vào ra Bình thường Port A sẽ là một cổng vào

ra 2 chiều Thanh ghi xác định chiều tương ứng của các chân Port A là thanh ghi TrisA bằng 1 sẽ xác định các chân ở Port A là đầu vào và ngược lại sẽ là đầu ra Port B: rộng 8 bit (tương ứng với chân RB0 – RB7) là một cổng vào/ra 2 chiều Thanh ghi quy định chiều của Port B là thanh ghi TrisB Thiết lập các thanh ghi TrisB bằng 1 sẽ làm cho cổng B là cổng vào và ngược lại sẽ là cổng ra

Port C: rộng 8 bit (tương ứng với chân RC0 – RC7) là một cổng vào/ra 2 chiều Thanh ghi quy định chiều của Port C là thanh ghi TrisC Thiết lập các thanh ghi TrisB bằng 1 sẽ làm cho cổng C là cổng vào và ngược lại sẽ là cổng ra Ngoài ra, chân RC4,RC4 dùng để kết nối ,giao tiếp với thiết bị ngoại vi ; RC1, RC2 là ngõ

ra PWM

Trang 23

Port D : rộng 8 bit (tương ứng với chân RD0 – RD7) là một cổng vào/ra 2 chiều Thanh ghi quy định chiều của Port D là thanh ghi TrisD Thiết lập các thanh ghi TrisD bằng 1 sẽ làm cho cổng B là cổng vào và ngược lại sẽ là cổng ra

Port E : rộng 3 bit (tương ứng với chân RE0 – RE2) là một cổng vào/ra 2 chiều Port E có thể là đầu vào điều khiển I/O khi bit PSPSTATUS (TrisE.4) được xác lập

2.2.4 Tổ Chức Bộ Nhớ

PIC16F887 có ba loại bộ nhớ gồm: ROM, RAM và EEPROM Chúng được chia

ra và có chức năng đặc biệt, cấu tạo khác nhau

Bộ nhớ EEPROM

Tương tự như bộ nhớ chương trình, nội dung chứa trong EEPROM là vĩnh viễn, ngay cả khi bị cúp điện Tuy nhiên, không giống như ROM, các nội dung của EEPROM có thể được thay đổi trong khi vi điều khiển hoạt động Đây là lý do tại sao

bộ nhớ này (256 địa chỉ nhớ) là hoàn hảo cho việc lưu lại một số kết quả tạo ra và sử dụng trong suốt quá trình hoạt động

Bộ nhớ RAM

Đây là phần thứ ba và phần phức tạp nhất của bộ nhớ vi điều khiển RAM được chia làm 2 phần: thanh ghi đa dụng ( general ) cho nhiều mục đích sử dụng và các thanh ghi đặc biệt (SFR)

2.2.5 Khảo Sát Khối PWM

 Nguyên lý điều chế độ rộng xung PWM:

Nguyên lý điều chế độ rộng xung là mạch tạo ra xung vuông có chu kỳ là hằng số nhưng hệ số công tác (còn gọi là hệ số chu kỳ - duty cycle) có thể thay đổi được Sự thay đổi của hệ số chu kỳ làm thay đổi điện áp trung bình hoặc dòng điện trung bình

Trang 24

Sự thay đổi điện áp hoặc dòng trung bình dùng để điều khiển các tải như động cơ DC thì làm thay đổi tốc độ động cơ, điều khiển bóng đèn thì làm thay đổi cường độ sáng của bóng đèn, …

Các đạng sóng điều chế độ rộng xung với các hệ số chu kỳ khác nhau như hình sau:

Ở cấp tốc độ 2 thì tín hiệu điều khiển ở mức 1 chỉ có 2ms, ở mức 0 là 8ms Giả sử dòng tạo ra là 10 mA khi ở mức 1, khi đó dòng trung bình là (10*2)/10 = 2mA Led sáng hơn với dòng là 2mA

Ở cấp tốc độ 5 thì tín hiệu điều khiển ở mức 1 chỉ có 5ms, ở mức 0 là 5ms Giả sử dòng tạo ra là 10 mA khi ở mức 1, khi đó dòng trung bình là (10*5)/10 = 5mA

Ở cấp tốc độ 10 thì tín hiệu điều khiển ở mức 1 là 10ms, ở mức 0 là 0ms Giả sử dòng tạo ra là 10 mA khi ở mức 1, khi đó dòng trung bình là (10*10)/10 = 10mA Led sáng cực đại với dòng là 10mA

Khi thay đổi hệ số chu kỳ thì chỉ thay đổi thời gian xung ở mức 1, còn chu kỳ thì

Trang 25

không đổi

 Cấu trúc khối điều chế độ rộng xung:

Hình 2.6 Sơ đồ khối của PWM PIC16F887

Khối PWM gồm có 2 mạch so sánh: mạch so sánh 2 dữ liệu 8 bit nằm bên dưới và mạch so sánh 2 dữ liệu 10 bit nằm bên trên

Mạch so sánh 8 bit sẽ so sánh giá trị đếm của Timer2 với giá trị của thanh ghi PR2 (Period Register), giá trị trong Timer2 tăng từ giá trị đặt trước cho đến khi bằng giá trị của PR2 thì mạch so sánh sẽ kích flip flop RS làm ngõ ra RC2/CCP1 lên mức

1 Đồng thời nạp giá trị 10 bit từ thanh ghi CCPR1L sang thanh ghi CCPR1H

Timer2 bị reset và bắt đầu đếm lại cho đến khi giá trị của Timer2 bằng giá trị của CCPR2H thì mạch so sánh sẽ reset flip flop RS làm ngõ ra RC2/CCP1 về mức 0

Quá trình này lặp lại liên tục để tạo ra dạng sóng PWM liên tục

 Dạng sóng điều chế PWM:

Trang 26

Hình 2.7 Dạng sóng điều chế PWM

‒ Chu kỳ không thay đổi, muốn thay đổi thời gian xung ở mức 1 thì ta thay đổi hệ số chu kỳ (Duty Cycle) Khi hệ số chu kỳ thay đổi thì điện áp hay dòng trung bình thay đổi

‒ Hệ số chu kỳ càng lớn thì dòng trung bình càng lớn, nếu điều khiển động cơ

sẽ làm thay đổi tốc độ

 Tính chu kỳ xung PWM:

‒ Chu kỳ PWM của PIC16F887 được tính theo công thức:

PERIOD PWM [PR2 1]*4*T OSC * PV TMR2

Trong đó: TOSC là chu kỳ của tụ thạch anh tạo dao động

PVTMR2 (Prescale Value) giá trị chia trước của timer 2

‒ Khi giá trị của timer 2 (TMR2) bằng giá trị của thanh ghi PR2 thì 3 sự kiện theo sau sẽ xảy ra:

 Thanh ghi TMR2 bị xóa

 Tín hiệu ngõ ra CCPx lên mức 1, ngoại trừ hệ số chu kỳ bằng 0% thì CCPx vẫn ở mức 0

 Hệ số chu kỳ PWM được chuyển từ thanh ghi CCPRxL sang thanh ghi CCPRxH

 Tính hệ số cho kỳ xung PWM:

‒ Hệ số chu kỳ được thiết lập bởi giá trị lưu trong thanh ghi 10 bit gồm thanh ghi 8 bit CCPRxL và 2 bit còn lại là bit thứ 4 và thứ 5 lưu ở trong thanh ghi CCPxCON – kí hiệu là CCPxCON<5:4>

‒ Giá trị của hệ số chu kỳ là 10 bit nên có thể thay đổi từ 0 đến 1023 tạo ra 1024 cấp giá trị điều khiển

‒ Giá trị 10 bit thì 8 bit có trọng số lớn lưu trong thanh ghi CCPRxL và

2 bit còn lại có trọng số thấp thì ở CCPxCON<5:4>

‒ Hệ số chu kỳ của PIC16F887 được tính theo công thức:

DUTY _ CYCLE PWM  (CC P RxL : CCPxCON)*T OSC * PV TMR2

Chú ý: ký hiệu <5:4> cho biết vị trí bit thứ 5 và thứ 4

Trang 27

2.2.6 Khảo Sát Ngắt

Ngắt sử dụng trong vi điều khiển hoạt động như sau: vi điều khiển luôn thực hiện một chương trình thường gọi là chương trình chính, khi có tác động từ bên ngoài bằng phần cứng hay tác động bên trong làm cho vi điều khiển ngừng thực hiện chương trình chính để thực hiện một chương trình khác (còn được gọi là chương trình phục vụ ngắt ISR) và sau khi thực hiện xong vi điều khiển trở lại thực hiện tiếp chương trình chính Quá trình làm gián đoạn vi điều khiển thực hiện chương trình chính xem như là ngắt Ngắt đóng vai trò quan trọng trong lập trình điều khiển, vi điều khiển sử dụng ngắt để đáp ứng nhiều sự kiện quan trọng khác mà vẫn đảm bảo thực hiện được chương trình chính Và vi điều khiển PIC 16F887 có nhiều nguồn ngắt như:

 Ngắt ngoài RB0/INT

 Ngắt của timer T0 khi đếm tràn

 Ngắt của timer T1 khi đếm tràn

 Ngắt của timer T2 khi giá trị đếm bằng giá trị của thanh ghi PR2

 Ngắt portB thay đổi

 Ngắt của 2 bộ so sánh điện áp tương tự

 Ngắt của bộ chuyển đổi ADC

 Ngắt khi ghi dữ liệu vào Eeprom

 Ngắt khi bộ giám sát phát hiện nguồn xung clock bị hỏng

 Ngắt của khối CCP tăng cường

 Ngắt truyền và nhận dữ liệu EUSART

 Ngắt đánh thức CPU với nguồn công suất cực thấp

 Ngắt của khối truyền dữ liệu đồng bộ MSSP

Các thanh ghi ngắt của PIC16F887:

Trong vi điều khiển PIC16F887 có 5 thanh ghi phục vụ cho ngắt là INTCON, PIE1, PIE2, PIR1, PIR2 Tổ chức của từng thanh ghi như sau:

Trang 28

- Thanh ghi INTCON (Interrupt CONTROL)

Hình 2.8 Thanh ghi INTCON

Bảng 2.1 Thanh ghi cho phép ngắt INTCON có địa chỉ 0x0B

Bit Ký hiệu Chức năng (cho phép = 1; cấm = 0)

INTCON.7 GIE Bit cho phép/cấm toàn bộ các nguồn ngắt INTCON.6 PEIE Bit cho phép ngắt ngoại vi

INTCON.5 T0IE Bit cho phép ngắt timer T0

INTCON.4 INTE Bit cho phép ngắt ngoài

INTCON.3 RBIE Bit cho phép ngắt portB thay đổi

INTCON.2 T0IF Cờ báo ngắt của timer T0

INTCON.1 INTF Cờ báo ngắt của ngắt ngoài

INTCON.0 RBIF Cờ báo ngắt portB thay đổi

Trong thanh ghi trên thì bit GIE là bit cho phép/cấm ngắt toàn bộ các nguồn ngắt, bit PEIE cho phép/cấm các nguồn ngắt ngoại vi Các bit còn lại là bit cho phép/cấm ngắt và cờ báo ngắt của ngắt cứng INT, ngắt portB thay đổi và ngắt của timer0

Ví dụ: Muốn cho phép timer 0 ngắt thì lập trình cho các bit như sau: GIE = 1, T0IE = 1

- Thanh ghi PIE1 (Peripheral Interrupt Enable) và PIR1 (Peripheral

Trang 29

Hình 2.9 Thanh ghi PIE1 và PIR1

Bảng 2.2 Thanh ghi cho phép ngắt PIE1 có địa chỉ 0x8C

Bit Ký hiệu Chức năng (cho phép = 1, cấm = 0)

PIE1.7 - Bit chưa có chức năng

PIE1.6 ADIE Bit cho phép ADC ngắt

PIE1.5 RCIE

Bit cho phép ngắt nhận dữ liệu

PIE1.4 TXIE

Bit cho phép ngắt phát dữ liệu

PIE1.3 SSPIE Bit cho phép ngắt truyền dữ liệu đồng bộ PIE1.2 CCP1IE Bit cho phép ngắt khối CCP1

PIE1.1 TMR2IE Bit cho phép ngắt của timer T2

PIE1.0 TMR1IE Bit cho phép ngắt của timer T1

Trang 30

Bảng 2.3 Thanh ghi cho phép ngắt PIR1 có địa chỉ 0x0C

Bit Ký hiệu Chức năng (ngắt xảy ra = 1, chưa xảy ra = 0)

PIR1.7 - Bit chưa có chức năng

PIR1.6 ADIF Cờ báo ngắt của ADC

PIR1.5 RCIF Cờ báo ngắt nhận dữ liệu

PIR1.4 TXIF Cờ báo ngắt nhận dữ liệu

PIR1.3 SSPIF Cờ báo ngắt truyền dữ liệu đồng bộ

PIR1.2 CCP1IF Cờ báo ngắt khối CCP1

PIR1.1 TMR2IF Cờ báo ngắt của timer T2

PIR1.0 TMR1IF Cờ báo ngắt của timer T1

Hai thanh ghi chứa các bit cho phép ngắt và cờ báo ngắt tương ứng của 7

Trang 31

Bảng 2.4 Thanh ghi cho phép ngắt PIE2 có địa chỉ 0x8D

Bit Ký hiệu Chức năng (cho phép = 1, cấm = 0)

PIE2.7 OSFIE Bit cho phép ngắt của bộ dao động hỏng

PIE2.6 C2IE Bit cho phép ngắt của khối so sánh 2

PIE2.5 C1IE Bit cho phép ngắt của khối so sánh 1

PIE2.4 EEIE Bit cho phép ngắt của bộ nhớ eeprom

PIE2.3 BCLIE Bit cho phép ngắt xung đột truyền dữ liệu I2C

PIE2.2 ULWUIE

Bit cho phép ngắt của bộ đánh thức CPU với công suất cực thấp

PIE2.1 - Bit chưa có chức năng

PIE2.0 CCP2IE Bit cho phép ngắt của CCP2

Bảng 2.5 Thanh ghi cho phép ngắt PIR2 có địa chỉ 0x0D

Bit Ký hiệu Chức năng (cho phép = 1, cấm = 0)

PIR2.7 OSFIF Cờ báo ngắt của bộ dao động hỏng

PIR2.6 C2IF Cờ báo ngắt của khối so sánh 2

PIR2.5 C1IF Cờ báo ngắt của khối so sánh 1

PIR2.4 EEIF Cờ báo ngắt của bộ nhớ eeprom

Trang 32

PIR2.3 BCLIF Cờ báo ngắt xung đột truyền dữ liệu I2C

PIR2.2 ULWUIF

Cờ báo ngắt của bộ đánh thức CPU với công với công suất thấp

PIR2.1 - Bit chưa có chức năng

PIR2.0 CCP2IF Cờ báo ngắt của CCP2

- Cấu trúc mạch điện ngắt của PIC16F877:

Hình 2.11 Mạch điện ngắt của PIC16F887 Trong mạch điện chúng ta có thể nhìn thấy để CPU thực hiện ngắt của timer 0 thì phải hội đủ các điều kiện sau: bit cho phép ngắt T0IE = 1, timer0 đếm và tràn làm cờ báo ngắt T0IF = 1 và bit cho phép ngắt toàn cục GIE = 1

Trang 33

Khi một ngắt được đáp ứng thì bit GIE bị xóa để không cho phép bất kì ngắt nào khác xảy ra nữa, địa chỉ trở về được cất vào trong ngăn xếp và thanh ghi PC được nạp địa chỉ 0004h.Do chỉ có 1 vector địa chỉ ngắt là 0004H thì làm sao để biết ngắt nào đang thực hiện

Nếu trong chương trình chỉ sử dụng có 1 ngắt thì khi ngắt xảy ra thì chương trình con phục ngắt đó sẽ được thực hiện

Nếu trong chương trình sử dụng nhiều nguồn ngắt thì chương trình ngắt viết tại địa chỉ 0004H sẽ kiểm tra xem cờ báo ngắt nào lên 1, nếu bằng 0 thì kiểm tra tiếp cờ khác, nếu bằng 1 thì thực hiện chương trình ngắt tương ứng

Quá trình kiểm tra cờ báo ngắt nào bằng 1 và thực hiện chương trình phục vụ ngắt tương ứng trước cũng xác định luôn thứ tự ưu tiên ngắt

2.2.7 Khảo Sát Truyền Dữ Liệu UART

 Truyền dữ liệu EUSART

Vi điều khiển PIC16F887 có khối truyền dữ liệu đồng bộ, bất đồng bộ đa năng cải tiến Khối truyền dữ liệu nối tiếp đa năng bao gồm bộ phát xung clock tạo tốc độ truyền, các thanh ghi dịch và bộ đệm dữ liệu rất cần thiết để thực hiện truyền hoặc nhận dữ liệu nối tiếp một cách độc lập Khối EUSART cũng có thể xem là giao tiếp truyền dữ liệu nối tiếp SCI (Serial Communication Interface), có thể định cấu hình cho truyền dữ liệu bất đồng bộ song công hoặc đồng bộ bán song công

Truyền dữ liệu đồng bộ bán song công được sử dụng để truyền dữ liệu giữa các

hệ thống ngoại vi như các bộ ADC, DAC, bộ nhớ nối tiếp Eeprom hoặc các bộ vi điều khiển Các thiết bị này thường không có nguồn xung clock bên trong để tạo tốc độ baud nên cần phải sử dụng nguồn xung clock từ bên ngoài

Khối truyền dữ liệu của PIC16F887 có khả năng:

 Hoạt động truyền và dữ liệu song công bất đồng bộ

 Bộ đệm nhận chứa được 2 kí tự

 Bộ đệm phát chứa 1 kí tự

 Có thể lập trình chiều dài dữ liệu 8 bit hoặc 9 bit

 Có khối phát hiện địa chỉ 9 bit

 Có khối phát hiện bộ đệm nhận bị tràn

Trang 34

 Có khối phát hiện lỗi khung của kí tự nhận về

 Có thể hoạt động chế độ chủ ở kiểu truyền dữ liệu đồng bộ bán song công

 Có thể hoạt động chế độ tớ ở kiểu truyền dữ liệu đồng bộ bán song công

 Có thể lập trình chọn cực cho xung clock ở chế độ truyền đồng bộ Khối EUSART được sử dụng cho các cấu trúc mở rộng theo sau, thích hợp cho

hệ thống bus mạng kết nối cục bộ (LIN: Local Interconnect Network):

 Tự động phát hiện và thiết lập tốc độ baud

 Có khối đánh thức PIC khỏi chế độ ngủ

 Phát kí tự ngừng 13 bit

 Các thanh ghi phục vụ cho khối EUSART

Hoạt động của khối ESUART được điều khiển thông qua 3 thanh ghi như sau:

 Thanh ghi điều khiển và trạng thái của khối phát (TXSTA – transmit Status and Control)

Hình 2.12 Thanh ghi TXSTA Bảng 2.6: Thanh ghi TXSTA

Bit Ký Hiệu Chức năng (cho phép = 1; cấm = 0)

TXSTA.7 CSRS Clock Source Select bit:

Ở chế độ bất đồng bộ thì không có tác dụng

Ở chế độ bất đồng bộ thì có chức năng:

CSRS = 1: Hoạt động ở chế độ chủ - phát xung clock

CSRS = 0: Hoạt động ở chế độ tớ - nhận xung clock

TXSTA.6 TX9 9 bit Transmit Enable bit

TX9 = 1: thì truyền dữ liệu 9 bit

TX9 = 0: thì truyền dữ liệu 8 bit

TXSTA.5 TXEN Transmit Enable bit:

TXEN = 1: cho phép phát dữ liệu

TXEN = 0: cấm phát dữ liệu

TXSTA.4 SYNC EUSART mode select bit:

SYNC = 1: Cho phép truyền đồng bộ

SYNC = 0: Cho phép truyền bất đồng bộ

Trang 35

TXSTA.3 SENDB Send Break Character bit

TXSTA.1 TRMT Bit xác định trạng thái của thanh ghi TSR

TRMT xuống mức 0 khi đang truyền dữ liệu

TRMT lên 1 khi đã truyền xong

TXSTA.0 TX9D Bit lưu dữ liệu phát thứ 9

Thiết lập truyền dữ liệu bất đồng bộ

 Thiết lập giá trị cho cặp thanh ghi SPBRGH và SPBRG và BRGH và bit BRG16 để có tốc độ baud mong muốn

 Cho phép truyền dữ liệu bất đồng bộ bằng cách xóa bit SYNC làm bit SPEN lên 1

 Nếu truyền dữ liệu 9 bit thì thiết lập bit cho phép TX9 lên 1

 Làm bit TXEN lên 1 để cho phép truyền dữ liệu

 Nếu muốn sử dụng ngắt thì cho bit TXIE lên 1, cho phép ngắt ngoại vi

và cho phép ngắt toàn cục

 Nếu truyền dữ liệu 9 bit thì phải gán giá trị bit thứ 9 cho bit TX9D

 Tiến hành nạp giá trị cần truyền vào thanh ghi TXREG, khi đó quá trình truyền dữ liệu sẽ bắt đầu

 Thanh ghi điều khiển và trạng thái của khối nhận (RCSTA – transmit Status and Control)

Hình 2.13 Thanh ghi RCSTA Bảng 2.7: Thanh ghi RCSTA

Bit Kí hiệu Chức năng (cho phép = 1; cấm = 0)

Trang 36

RCSTA.7 SPEN Serial Port Enable bit:

SPEN = 1: cho phép port nối tiếp (cấu hình các chân RX/TD và TX/CK là các chân cho truyền dữ liệu nối tiếp) SPEN = 0: thì cấm

RCSTA.6 RX9 9 bit Receive Enable bit

RX9 = 1: thì cho phép nhận dữ liệu 9 bit

RX9 = 0: thì cho phép nhận dữ liệu 8 bit

RCSTA.5 SREN Single Receive Enable bit:

Ở chế độ không đồng bộ: không có tác dụng

Ở chế độ đồng bộ - chủ SREN = 1: cho phép nhận đơn

SREN = 0: cấm nhận đơn Bit SREN bị xóa sau khi quá trình nhận hoàn tất

Ở chế độ không đồng bộ 8 bit: không có tác dụng

RCSTA.2 FERR Framing Error bit:

FERR =1: xảy ra lỗi khung dữ liệu

FERR =0: không có lỗi khung xảy ra

RCSTA.1 OERR Overrun Error bit

OERR = 1: xảy ra lỗi tràn

OERR = 0: không xảy ra lỗi tràn

RCSTA.0 RX9D Ninth bit of Receive Data

Bit này dùng để lưu dữ liệu nhận về của bit thứ 9 hoặc có thể là bit kiểm tra chẵn lẻ

Khối nhận dữ liệu EUASRT

Dữ liệu nhận vào ở chân RX/DT và điều khiển khối khôi phục dữ liệu Khối khôi phục dữ liệu là khối dịch tốc độ cao hoạt động gấp 16 lần tốc độ baud, trong khi

đó thanh ghi nhận dữ liệu (RSR: Receive Shift Register) hoạt động dịch dữ liệu cùng với tốc độ baud

Khi tất cả 8 bit hoặc 9 bit dữ liệu được dịch vào thì ngay lập tức sẽ được truyền

Trang 37

cho bộ đệm chứa được 2 kí tự dạng FIFO, nếu có thêm một ký tự nữa mà phần mềm chưa đọc 2 byte đã nhận thì sẽ phát sinh lỗi tràn Phần mềm không thể truy xuất bộ đệm FIFO và thanh ghi RSR mà chỉ được phép truy xuất thanh ghi RCREG

 Thiết lập giá trị cho cặp thanh ghi SPBRGH và SPBRG và BRGH và bit BRG16 để có tốc độ baud mong muốn

 Cho phép truyền dữ liệu bất đồng bộ bằng cách xóa bit SYNC làm bit SPEN lên 1

 Nếu nhận dữ liệu 9 bit thì thiết lập bit cho phép RX9 lên 1

 Làm bit CREN lên 1 để cho phép nhận dữ liệu

 Nếu muốn sử dụng ngắt thì cho bit RCIE lên 1, cho phép ngắt ngoại vi

và cho phép ngắt toàn cục

 Cờ báo ngắt RCIF sẽ lên 1 khi một kí tự chuyển từ RSR sang bộ đệm, ngắt sẽ phát sinh nếu được phép

 Đọc thanh ghi trạng thái nhận RCSTA để kiểm tra các cờ báo lỗi

 Nhận dữ liệu 8 bit từ thanh ghi RCREG

 Nếu có lỗi tràn xảy ra thì xóa bit cho phép nhận CREN

 Thanh ghi điều khiển tốc độ baud (BAUDCTL – Baud Rate Control)

Hình 2.14 Thanh ghi BAUDCTL

Bảng 2.8: Thanh ghi BAUDCTL

Bit Kí hiệu Chức năng (cho phép = 1; cấm = 0)

BAUDCTL.7 ABDOVF Auto – Baud detect Overflow bit: bit tự động phát hiện

Trang 38

BAUDCTL.6 RCIDL Receive Idle Flag bit: bit cờ ngừng nhận

SCKP = 1: phát dữ liệu đảo đến chân TX/CK

SCKP = 0: phát dữ liệu không đảo đến chân TX/CK

BAUDCTL.3 BRG16 16 bit Baud Rate generator bit

BRG16 = 1: sử dụng bộ tạo tốc độ baud 16 bit

BRG16 = 0: sử dụng bộ tạo tốc độ baud 8 bit

BAUDCTL.1 WUE Wake – up Enable bit: bit cho phép đánh thức CPU

Ở chế độ không đồng bộ:

WUE = 1: cho phép bộ nhận chờ cho đến khi có xung cạnh xuống Sẽ không có kí tự nào được nhận nếu bit RCIF thiết lập ở mức 1 WUE sẽ tự động xóa sau khi bit RCIF lên 1

WUE = 0: Bộ nhận hoạt động bình thường

 Bộ phát tốc độ baud (Baud Rate Generator) là timer 8 bit hoặc 16 bit để tạo tốc độ cho hoạt động truyền dữ liệu ESUART đồng bộ và bất đồng

Trang 39

 Trong chế độ truyền đồng bộ thì bộ nhân chu kỳ tốc độ baud được xác định bởi cả 2 bit BRGH trong thanh ghi TXSTA và bit BRG16 trong thanh ghi BAUDCTL

 Trong chế độ truyền bất đồng bộ thì bộ nhân chu kỳ tốc độ baud chỉ được xác định bởi bit BRGH

Trang 40

HỆ ĐIỀU HÀNH ANDROID [2]

2.3

2.3.1 Giới Thiệu Hệ Điều Hành Android

Android là một hệ điều hành có mã nguồn mở dựa trên nền tảng Linux được thiết kết dành cho các thiết bị di động có màn hình cảm ứng như điện thoại di động và máy tính bảng Hiện tại, Android là hệ điều hành phổ biến nhất hiện nay với thị phần trung bình hơn 50% trên toàn thế giới

Ban đầu, tổng công ty Android (Android, Inc.) được thành lập tại Palo Alto, California vào tháng 10 năm 2003 bởi Andy Rubin với sự hỗ trợ tài chính từ Google Vào năm 2005 Google đã mua lại và sau đó tới năm 2007 chính thức ra mắt hệ điều hành Android Vào tháng 10 năm 2008, chiếc điện thoại đầu tiên chạy hệ điều hành Android tên là HTC Dream với hệ điều hành phiên bản 1.6 có mã là Donut

Do chính mã nguồn mở nên không có nhiều ràng buộc đã cho phép các nhà phát triển thiết bị, mạng di động và các lập trình viên được điều chỉnh một cách tự do Nhờ vậy đã giúp cho Android trở thành nền tảng điện thoại thông minh phổ biến nhất hiện nay Nhằm để cải thiện, bổ xung các tính năng mới và sửa các lỗi trong những lần phát hành trước nên hệ điều hành Android luôn phải cập nhật phiên bản mới liên tục Mỗi bản nâng cấp được đặt tên lần lượt theo thứ tự bảng chữ cái, theo tên của một món ăn tráng miệng

Hình 2.15 Các phiên bản hệ điều hành Android

2.3.2 Ưu Điểm Và Nhược Điểm

 Ưu điểm:

 Thân thiện và dễ sử dụng với người dùng

Ngày đăng: 28/11/2021, 16:32

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] Nguyễn Đình Phú, “Vi điều khiển PIC 16F887”, Trường Đại Học Sư Phạm Kỹ Thuật TP.Hồ Chí Minh, 2015 Sách, tạp chí
Tiêu đề: “Vi điều khiển PIC 16F887”
[2] Nguyễn Văn Hiệp, Đinh Quang Hiệp, “Giáo trình lập trình android cơ bản”, Xuất bản ĐH Quốc gia, Tp.HCM, 2015 Sách, tạp chí
Tiêu đề: Giáo trình lập trình android cơ bản
[3] “Tổng quan về công nghệ Bluetooth”, truy cập ngày 15 tháng 6 năm 2017 (Link:http://rd.vntech24h.com/tong-quan-ve-cong-nghe-bluetooth.html) Sách, tạp chí
Tiêu đề: Tổng quan về công nghệ Bluetooth
[4] “Cảm biến nhiệt độ, độ ẩm DHT21”, truy cập ngày 15 tháng 6 năm 2017 (Link:http://mcu.banlinhkien.vn/threads/cam-bien-nhiet-do-do-am-dht21.2786)[5]“KitPicmini”,truycậpngày15tháng6năm2017(Link:http://mualinhkien.vn/san-pham/854/kit-pic-mini.html) Sách, tạp chí
Tiêu đề: Cảm biến nhiệt độ, độ ẩm DHT21"”, truy cập ngày 15 tháng 6 năm 2017 (Link:http://mcu.banlinhkien.vn/threads/cam-bien-nhiet-do-do-am-dht21.2786) [5] “"Kit Pic mini
[6] “Mạch thu phát Bluetooth HC-05 đã ra chân”, truy cập ngày 15 tháng 6 năm 2017 (Link: http://hshop.vn/products/mach-thu-phat-bluetooth-hc-05-do-ra-chon-master) Sách, tạp chí
Tiêu đề: Mạch thu phát Bluetooth HC-05 đã ra chân
[7] “Module điều khiển motor L298N”, truy cập ngày 15 tháng 6 năm 2017 (Link:https://dientu360.com/module-dieu-khien-motor-l298n) Sách, tạp chí
Tiêu đề: Module điều khiển motor L298N

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w