Gt lý thuyết vi điều khiển pic edited 2018 moi nhat

414 0 0
Gt lý thuyết vi điều khiển pic edited 2018 moi nhat

Đ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

Bộ vi xử lý ngày càng phát triển đa năng và được sử dụng hầu hết trong các hệ thống điều khiển trong công nghiệp cũng như trong các thiết bị điện tử dân dụng. Chính vai trò, chức năng của vi xử lý đã đem lại nhiều ưu điểm, nhiều tính năng đặc biệt cho các hệ thống điều khiển. Các nhà nghiên cứu không ngừng nghiên cứu các hệ thống điều khiển và sử dụng vi xử lý để thay thế nhằm nâng cao khả năng tự động thay thế cho con người, và cũng chính vì thế đã thúc đẩy lĩnh vực vi xử lý ngày càng phát triển không ngừng, đáp ứng yêu cầu điều khiển. Để đơn giản bớt sự phức tạp của phần cứng khi dùng vi xử lý, các nhà nghiên cứu đã tích hợp hệ vi xử lý, bộ nhớ, các ngoại vi thành một vi mạch duy nhất gọi là vi điều khiển. Nội dung giáo trình này nghiên cứu các kiến thức cơ bản của vi điều khiển. Do có nhiều họ vi điều khiển khác nhau, từ hệ 8 bit cho đến hệ 32 bit, mức độ tích hợp từ đơn giản đến phức tạp, nhiều hãng chế tạo khác nhau, nhiều chủng loại khác nhau có thể làm cho người bắt đầu học hay nghiên cứu gặp nhiều bỡ ngỡ không biết bắt đầu từ hệ nào cho phù hợp, chính vì thế giáo trình này chỉ trình bày họ vi điều khiển 8 bit của hãng Microchip nhằm giúp các bạn sinh viên ngành điện nói chung có giáo trình để học tập và nghiên cứu một cách dễ dàng. Các ứng dụng dùng vi điều khiển ở nhiều cấp độ khác nhau từ đơn giản đến phức tạp, giáo trình này chỉ trình bày các ứng dụng đơn giản để các bạn có thể đọc hiểu, từ các kiến thức cơ bản đó bạn có thể thực hiện các ứng dụng điều khiển phức tạp hơn. Phần bài tập kèm theo giúp bạn giải quyết các yêu cầu phức tạp. Từ các kiến thức cơ bản của vi điều khiển 8 bit, các bạn hoàn toàn có thể tự nghiên cứu các vi điều khiển nhiều bit hơn như 16 bit, 32 bit

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT THÀNH PHỐ HỒ CHÍ MINH  ThS.NGUYỄN ĐÌNH PHÚ GIÁO TRÌNH VI ĐIỀU KHIỂN PIC NHÀ XUẤT BẢN ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH - 2017 i LỜI NÓI ĐẦU Bộ vi xử lý ngày phát triển đa sử dụng hầu hết hệ thống điều khiển công nghiệp thiết bị điện tử dân dụng Chính vai trị, chức vi xử lý đem lại nhiều ưu điểm, nhiều tính đặc biệt cho hệ thống điều khiển Các nhà nghiên cứu không ngừng nghiên cứu hệ thống điều khiển sử dụng vi xử lý để thay nhằm nâng cao khả tự động thay cho người, thúc đẩy lĩnh vực vi xử lý ngày phát triển không ngừng, đáp ứng yêu cầu điều khiển Để đơn giản bớt phức tạp phần cứng dùng vi xử lý, nhà nghiên cứu tích hợp hệ vi xử lý, nhớ, ngoại vi thành vi mạch gọi vi điều khiển Nội dung giáo trình nghiên cứu kiến thức vi điều khiển Do có nhiều họ vi điều khiển khác nhau, từ hệ bit hệ 32 bit, mức độ tích hợp từ đơn giản đến phức tạp, nhiều hãng chế tạo khác nhau, nhiều chủng loại khác làm cho người bắt đầu học hay nghiên cứu gặp nhiều bỡ ngỡ hệ cho phù hợp, giáo trình trình bày họ vi điều khiển bit hãng Microchip nhằm giúp bạn sinh viên ngành điện nói chung có giáo trình để học tập nghiên cứu cách dễ dàng Các ứng dụng dùng vi điều khiển nhiều cấp độ khác từ đơn giản đến phức tạp, giáo trình trình bày ứng dụng đơn giản để bạn đọc hiểu, từ kiến thức bạn thực ứng dụng điều khiển phức tạp Phần tập kèm theo giúp bạn giải yêu cầu phức tạp Từ kiến thức vi điều khiển bit, bạn hồn tồn tự nghiên cứu vi điều khiển nhiều bit 16 bit, 32 bit Giáo trình biên soạn thành 10 chương, chủ yếu trình bày vi điều khiển PIC 16F887: Chương Đặc tính, cấu trúc, chức port Chương Tổ chức nhớ, ghi Chương Lệnh hợp ngữ Chương Ngơn ngữ lập trình C Chương Giao tiếp LED, LCD, phím đơn, ma trận phím Chương Timer - Counter ii Chương Chuyển đổi tín hiệu tương tự sang số Chương Ngắt Chương Điều chế độ rộng xung - PWM Chương 10 Truyền liệu UART Nội dung chương chủ yếu giới thiệu đặc tính, cấu trúc chức port vi điều khiển, người đọc cần phải biết đặc tính vi điều khiển nghiên cứu Để so sánh khả vi điều khiển khác ta phải dựa vào đặc tính Phần cấu trúc bên cho bạn biết tổ chức, mối quan hệ khối với nhau, chức khối Bạn phải biết tên, ký hiệu đặt tên cho port, chức port để giúp bạn sử dụng port kết nối với đối tượng điều khiển Nội dung chương giới thiệu cấu trúc tổ chức loại nhớ tích hợp bên vi điều khiển bao gồm nhớ chương trình, nhớ liệu RAM, nhớ ngăn xếp, nhớ Eeprom, cách truy xuất nhớ Nội dung chương giới thiệu tập lệnh hợp ngữ vi điều khiển để viết chương trình hợp ngữ lập trình hợp ngữ khó dài giải u cầu tính tốn phức tạp nên phần giới thiệu không nghiên cứu sâu Nội dung chương giới thiệu ngơn ngữ lập trình C cho vi điều khiển PIC Có nhiều trình biên dịch ngơn ngữ lập trình C cho vi điều khiển tài liệu trình bày trình biên dịch CCS Lập trình ngơn ngữ C giúp bạn viết chương trình dễ so với hợp ngữ, tồn chương trình tài liệu viết ngơn ngữ lập trình C Để hiểu chương trình giáo trình viết chương trình theo yêu cầu bạn cần phải nắm rõ tổ chức chương trình C, kiểu liệu, toán tử, thư viện viết sẵn lệnh C Nội dung chương khảo sát chi tiết chức port, sơ đồ mạch port, sử dụng port để xuất nhập tín hiệu điều khiển led đơn, led đoạn trực tiếp, led đoạn quét, LCD, nút nhấn, bàn phím ma trận Trong yêu cầu cho bạn biết cách kết nối phần cứng, nguyên lý hoạt động, viết lưu đồ hay trình tự điều khiển chương trình mẫu, có giải thích lệnh chương trình Nội dung chương khảo sát chi tiết chức timer-counter tích hợp vi điều khiển, cách sử dụng timer-counter để định thời đếm kiện iii Nội dung chương khảo sát chi tiết chức chuyển đổi tín hiệu tương tự thành tín hiệu số (ADC) tích hợp vi điều khiển, cách sử dụng ADC để chuyển đổi tín hiệu tương tự cảm biến nhiệt để thực ứng dụng đo nhiệt độ, cảnh báo nhiệt độ điều khiển nhiều ứng dụng khác Nội dung chương khảo sát chi tiết chức ngắt vi điều khiển, biết tính ưu việt ngắt, cách sử dụng ngắt để đáp ứng tối ưu yêu cầu điều khiển nhằm đáp ứng nhanh kiện xảy Nội dung chương khảo sát chi tiết chức điều chế độ rộng xung PWM vi điều khiển, biết nguyên lý hoạt động, tính tốn thơng số xung điều chế, biết lập trình sử dụng chức PWM để điều khiển thay đổi độ sáng đèn, thay đổi tốc độ động DC nhiều ứng dụng khác Nội dung chương 10 khảo sát chi tiết chức truyền liệu nối tiếp UART vi điều khiển, biết trình tự thực gởi liệu nhận liệu, thực yêu cầu truyền liệu vi điều khiển với máy tính vi điều khiển với Ngoài kiến thức mà tác giả trình bày, cịn nhiều chức khác vi điều khiển mà tác giả chưa trình bày bạn tham khảo thêm tài liệu nhà chế tạo cung cấp Trong q trình biên soạn khơng thể tránh khỏi sai sót nên mong bạn đọc góp ý xây dựng Mọi ý kiến xin gởi nhóm tác giả theo địa phund@hcmute.edu.vn phu_nd@yahoo.com Nhóm tác giả xin cảm ơn bạn bè đồng nghiệp đóng góp nhiều ý kiến, xin cảm ơn người thân gia đình cho phép nhóm tác giả có nhiều thời gian thực việc biên soạn giáo trình Đại diện nhóm Nguyễn Đình Phú iv DANH MỤC HÌNH Hình 1- Các thiết bị sử dụng vi xử lý Hình 1- Hệ thống vi xử lý Hình 1- Vi điều khiển tích hợp vi xử lý, nhớ ngoại vi Hình 1- Các thiết bị vào, vi điều khiển Hình 1- Cấu hình vi điều khiển Hình 1- Cấu trúc bên vi điều khiển Hình 1- Sơ đồ chân PIC 16F887 10 Hình 2- Kiến trúc Von Neumann Harvard 21 Hình 2- Sơ đồ nhớ chương trình ngăn xếp 22 Hình 2- Nội dung ghi PC thực lệnh Call hay Goto 23 Hình 2- Nhảy trang khác trang nhớ 24 Hình 2- Bộ nhớ ngăn xếp thực ngắt kết thúc ngắt 26 Hình 2- Tổ chức nhớ theo byte 27 Hình 2- Tổ chức nhớ chứa mã lệnh liệu 27 Hình 2- Quá trình thực lệnh bước 28 Hình 2- Quá trình thực lệnh bước 29 Hình 2- 10 Quá trình thực lệnh bước 29 Hình 2- 11 Ký hiệu bước trình thực lệnh bước 29 Hình 2- 12 Các bước thực chi tiết trình thực lệnh bước 30 Hình 2- 13 Làm xong việc đến việc khác 31 Hình 2- 14 Làm theo cấu trúc pipeline hay dây chuyền 31 Hình 2- 15 Minh họa cấu trúc để thấy hiệu thời gian 33 Hình 2- 16 Cấu trúc pipeline vi điều khiển PIC 16F887 34 Hình 2- 17 Tổ chức File ghi 35 Hình 2- 18 Truy xuất trực tiếp gián tiếp nhớ RAM 36 v Hình 2- 19 Thanh ghi trạng thái 37 Hình 3- Hệ thống điều khiển đèn giao thông – ảnh minh họa 44 Hình 3- Trình tự biên soạn chương trình Assembly nạp code 45 Hình 3- Logo phần mềm MPLAB 45 Hình 3- Chương trình dùng hợp ngữ 47 Hình 3- Biên dịch chương trình hợp ngữ 48 Hình 3- Biên dịch liên kết nhiều chương trình hợp ngữ 49 Hình 3- Biên dịch chương trình hợp ngữ tạo file hex file bin 49 Hình 3- Các dạng mã lệnh 50 Hình 4- Biểu tượng phần mềm PIC-C 80 Hình 4- Giao diện phần mềm PIC-C 80 Hình 5- Sơ đồ kết nối port với đối tượng điều khiển 99 Hình 5- Sơ đồ kết nối port xuất nhập tín hiệu điều khiển 100 Hình 5- Port A ghi định hướng port A 101 Hình 5- Cấu hình chân RA0 102 Hình 5- Cấu hình chân RA1 102 Hình 5- Cấu hình chân RA2 103 Hình 5- Cấu hình chân RA3 104 Hình 5- Cấu hình chân RA4 105 Hình 5- Cấu hình chân RA5 106 Hình 5- 10 Cấu hình chân RA6 106 Hình 5- 11 Cấu hình chân RA7 107 Hình 5- 12 Port B ghi định hướng port B 107 Hình 5- 13 Thanh ghi ANSELH định cấu hình số tương tự cho port B 108 Hình 5- 14 Thanh ghi WPUB thiết lập cho phép/cấm điện trở treo 108 vi Hình 5- 15 Thanh ghi IOCB cho phép/cấm ngắt portB thay đổi 109 Hình 5- 16 Cấu hình chân RB 110 Hình 5- 17 Cấu hình chân RB 111 Hình 5- 18 Các chân PortB giao tiếp với mạch nạp, gỡ rối 112 Hình 5- 19 Port C ghi TRISC 113 Hình 5- 20 Cấu hình chân RC0 114 Hình 5- 21 Cấu hình chân RC1 114 Hình 5- 22 Cấu hình chân RC2 115 Hình 5- 23 Cấu hình chân RC3 115 Hình 5- 24 Cấu hình chân RC4 117 Hình 5- 25 Cấu hình chân RC5 117 Hình 5- 26 Cấu hình chân RC6 118 Hình 5- 27 Cấu hình chân RC7 118 Hình 5- 28 Port D ghi TRISD 119 Hình 5- 29 Cấu hình chân RD 120 Hình 5- 30 Cấu hình chân RD 120 Hình 5- 31 Port E ghi TRISE 121 Hình 5- 32 Cấu hình chân RE 122 Hình 5- 33 Cấu hình chân RE 122 Hình 5- 34 Các dạng tín hiệu nguồn, MCLR, PWRT, OST 129 Hình 5- 35 Các dạng tín hiệu bị sụt giảm nguồn BOR 129 Hình 5- 36 Sơ đồ khối mạch dao động PIC 130 Hình 5- 37 Dao động RC bên ngồi 132 Hình 5- 38 Dao động RC bên 132 Hình 5- 39 Dao động lấy từ bên ngồi 133 Hình 5- 40 Các dạng dao động LP, XT, HS 133 Hình 5- 41 Chức định thời giám sát - WDT 134 Hình 5- 42 Sơ đồ khối định thời giám sát – WDT 136 vii Hình 5- 43 Các tín hiệu PIC giao tiếp với mạch nạp dạng nối tiếp ICSP 137 Hình 5- 44 Sơ đồ điều khiển led đơn 138 Hình 5- 45 Lưu đồ điều khiển led đơn chớp tắt 139 Hình 5- 46 Lưu đồ điều khiển led đơn chớp tắt 10 lần 141 Hình 5- 47 Lưu đồ điều khiển led đơn sáng dần tắt dần từ phải sang trái 142 Hình 5- 48 Sơ đồ kết nối port B với led đoạn 144 Hình 5- 49 Hình led đoạn 144 Hình 5- 50 Lưu đồ đếm từ đến 146 Hình 5- 51 Sơ đồ kết nối port B, C điều khiển led đoạn 149 Hình 5- 52 Lưu đồ đếm từ 00 đến 99 149 Hình 5- 53 Sơ đồ kết nối port B D điều khiển led đoạn quét 151 Hình 5- 54 Lưu đồ điều khiển led quét sáng số 153 Hình 5- 55 Sơ đồ kết nối port B D điều khiển led đoạn quét 155 Hình 5- 56 Lưu đồ đếm từ 00 đến 99 hiển thị led quét 155 Hình 5- 57 Sơ đồ điều khiển led nút nhấn 158 Hình 5- 58 Lưu đồ điều khiển led đơn nút nhấn ON-OFF 158 Hình 5- 59 Sơ đồ điều khiển led nút nhấn 160 Hình 5- 60 Lưu đồ điều khiển led nút ON-OFF-INV 161 Hình 5- 61 Lưu đồ điều khiển led có chống dội phím INV 163 Hình 5- 62 Sơ đồ kết nối port điều khiển led đoạn, nút nhấn 165 Hình 5- 63 Lưu đồ đếm có điều khiển nút nhấn Start-Stop 165 Hình 5- 64 Bàn phím ma trận 4×4 167 Hình 5- 65 Bàn phím ma trận 4×4 với cột C1 168 Hình 5- 66 Bàn phím ma trận 4×4 với cột C2 169 Hình 5- 67 Bàn phím ma trận 4×4 với cột C3 170 Hình 5- 68 Lưu đồ quét bàn phím ma trận 4×4 171 Hình 5- 69 Lưu đồ qt bàn phím ma trận 4×4 có chống dội 172 Hình 5- 70 Vi điều khiển giao tiếp bàn phím ma trận 173 viii Hình 5- 71 Lưu đồ quét hiển thị ma trận phím 174 Hình 5- 72 Vi điều khiển giao tiếp bàn phím ma trận led đoạn 177 Hình 5- 73 Lưu đồ quét ma trận phím hiển thị mã phím 178 Hình 5- 74 Hình ảnh LCD 179 Hình 5- 75 Mặt sau LCD 181 Hình 5- 76 Sơ đồ khối điều khiển LCD 181 Hình 5- 77 Dạng sóng điều khiển LCD 188 Hình 5- 78 Hiển thị ký tự chữ A LCD 190 Hình 5- 79 Hiển thị 32 ký tự LCD 16×2 192 Hình 5- 80 Hiển thị 80 ký tự LCD 20×4 192 Hình 5- 81 Trình tự khởi tạo LCD 193 Hình 5- 82 Mạch điện vi điều khiển PIC giao tiếp LCD theo chuẩn bit 194 Hình 5- 83 Lưu đồ hiển thị thông tin hàng 195 Hình 5- 84 Lưu đồ hiển thị thông tin đếm giây 199 Hình 5- 85 Mạch điện vi điều khiển PIC giao tiếp LCD theo chuẩn bit 201 Hình 5- 86 Lưu đồ khởi tạo LCD theo chuẩn bit 201 Hình 5- 87 Lưu đồ hiển thị thơng tin hàng theo chuẩn bit 202 Hình 6- Sơ đồ khối timer T0 PIC16F887 215 Hình 6- Thanh ghi OPTION_REG 215 Hình 6- Thanh ghi INTCON 217 Hình 6- Bộ chia trước gán cho timer T0 218 Hình 6- Bộ chia trước gán cho WDT 218 Hình 6- Thanh ghi lưu kết T1 219 Hình 6- Cấu trúc timer T1 219 Hình 6- Thanh ghi T1CON 220 Hình 6- Timer1 hoạt động định thời 221 Hình 6- 10 T1 hoạt động đếm xung ngoại từ mạch dao động T1 222 ix Hình 6- 11 T1 hoạt động đếm xung ngoại đưa đến ngõ vào T1CKI 222 Hình 6- 12 Giản đồ thời gian xung đếm Counter1 222 Hình 6- 13 Kết nối thạch anh tạo dao động 223 Hình 6- 14 Sơ đồ khối Timer T2 225 Hình 6- 15 Thanh ghi T2CON 226 Hình 6- 16 PIC điều khiển led sáng tắt 230 Hình 6- 17 Lưu đồ điều khiển led sáng tắt– định thời 210ms 231 Hình 6- 18 Lưu đồ điều khiển led sáng tắt dùng ngắt – định thời 200ms 233 Hình 6- 19 Lưu đồ điều khiển led sáng tắt – định thời 1s 235 Hình 6- 20 Lưu đồ điều khiển led sáng tắt, định thời 13,107ms dùng T0 237 Hình 6- 21 Lưu đồ điều khiển led sáng tắt, định thời 1s dùng T0 239 Hình 6- 22 Lưu đồ điều khiển led sáng tắt, định thời 13,107ms dùng T2 241 Hình 6- 23 Đếm xung ngoại dùng counter T0 242 Hình 6- 24 Lưu đồ đếm xung ngoại dùng counter T0 243 Hình 6- 25 Đếm xung ngoại dùng counter T1 246 Hình 6- 26 Lưu đồ đếm xung ngoại dùng counter T1 247 Hình 6- 27 Đếm xung ngoại dùng counter T1 hiển thị led quét 248 Hình 6- 28 Lưu đồ chương trình đếm dùng counter T1 PIC 16F887 249 Hình 7- Sơ đồ khối ADC PIC 16F887 257 Hình 7- Thanh ghi ADCON0 258 Hình 7- Thanh ghi ADCON1 259 Hình 7- Định dạng cặp ghi lưu kết 260 Hình 7- Sơ đồ mạch đo nhiệt độ dùng PIC16F887 hiển thị led trực tiếp 265 Hình 7- Lưu đồ chuyển đổi ADC đo nhiệt độ kênh thứ 266 Hình 7- Sơ đồ mạch giao tiếp điều khiển Relay, Triac, Buzzer 269 x

Ngày đăng: 26/02/2024, 19:15

Tài liệu cùng người dùng

Tài liệu liên quan