Nghiên cứu KIT thực hành vi điều khiển PIC 16F877A

109 309 0
Nghiên cứu KIT thực hành vi điều khiển PIC 16F877A

Đ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

Ngày nay kỹ thuật vi điều khiển đã trở nên quen thuộc trong các ngành kỹ thuật và trong dân dụng. Các bộ vi điều khiển có khả năng xử lý nhiều hoạt động phức tạp mà chỉ cần một chip vi mạch nhỏ, nó đã thay thế các tủ điều khiển lớn và phức tạp bằng những mạch điện gọn nhẹ, dễ dàng thao tác sử dụng. Vi điều khiển không những góp phần vào kỹ thuật điều khiển mà còn góp phần to lớn vào việc phát triển thông tin. Chính vì các lý do trên, việc tìm hiểu, khảo sát vi điều khiển là điều mà các sinh viên ngành điện mà đặc biệt là chuyên ngành kỹ thuật điện-điện tử phải hết sức quan tâm. Đó chính là một nhu cầu cần thiết và cấp bách đối với mỗi sinh viên, đề tài này được thực hiện chính là đáp ứng nhu cầu đó. Các bộ điều khiển sử dụng vi điều khiển tuy đơn giản nhưng để vận hành và sử dụng đươc lại là một điều rất phức tạp. Phần công việc xử lý chính vẫn phụ thuộc vào con người, đó chính là chương trình hay phần mềm. Nếu không có sự tham gia của con người thì hệ thống vi điều khiển cũng chỉ là một vật vô tri. Do vậy khi nói đến vi điều khiển cũng giống như máy tính bao gồm 2 phần là phần cứng và phần mềm. Mặc dù vi điều khiển đã đi được những bước dài như vậy nhưng để tiếp cận được với kỹ thuật này không thể là một việc có được trong một sớm một chiều. Để tìm hiểu bộ vi điều khiển một cách khoa học và mang lại hiệu quả cao làm nền tảng cho việc xâm nhập vào những hệ thống tối tân hơn. Việc trang bị những kiến thức về vi điều khiển cho sinh viên là hết sức cần thiết. Xuất phát từ thực tiển này em đã đi đến quyết định Thiết kế bộ Kit Vi Điều Khiển PIC 16F877A nhằm đáp ứng nhu cầu ham muốn học hỏi của bản than và giúp cho các bạn sinh viên dễ tiếp cận và hiểu sâu hơn về VĐK PIC. Trong quá trình thực hiện đề tài vẫn còn nhiều sai sót, mong nhận được nhiều ý kiến đóng góp từ cô và các bạn. Em xin chân thành cảm ơn!

TRƯỜNG ĐẠI HỌC GIAO THÔNG VẬN TẢI HÀ NỘI KHOA CƠ KHÍ Bộ mơn: Kỹ thuật máy ĐỒ ÁN TỐT NGHIỆP ĐỀ TÀI: NGHIÊN CỨU KIT THỰC HÀNH VI ĐIỀU KHIỂN PIC 16F877A Giáo viên hướng dẫn : Sinh viên thực TS Phạm Xuân Hiển : Nguyễn Ngọc Định – MSV : 151303131 Trần Lê Trang – MSV : 151300364 Lớp : Cơ Điện Tử Khóa : K56 Hà Nội – 2019 LUẬN VĂN TỐT NGHIỆP LỜI CẢM ƠN Lời em xin gửi lời cảm ơn chân thành tri ân sâu sắc thầy cô môn “KỸ THUẬT MÁY” trường đại học Giao Thông Vận Tải Hà Nội tạo điều kiện hướng dẫn em suốt trình thực đồ án Đặc biệt em xin gửi lời cảm ơn chân thành tới TS PHẠM XUÂN HIỂN - người trực tiếp hướng dẫn tận tình động viên em suốt thời gian thực đồ án để em hồn thành tốt đồ án Trong q trình thực đồ án khó tránh khỏi sai sót, em mong thầy bỏ qua Đồng thời hạn chế trình độ kiến thức em nên đồ án khơng thể tránh khỏi thiếu sót, em mong nhận đóng góp ý kiến thầy để hồn thiện tốt Em xin chân thành cảm ơn! Nhóm sinh viên thực hiện: Nguyễn Ngọc Định Trần Lê Trang LUẬN VĂN TỐT NGHIỆP Bộ Giáo dục Đào tạo Trường Đại học Giao thông vận tải Cộng hòa xã hội chủ nghĩa Việt Nam Độc lập – Tự – Hạnh phúc NHIỆM VỤ THIẾT KẾ TỐT NGHIỆP Bộ môn Khoa Sinh viên : KỸ THUẬT MÁY : CƠ KHÍ : Nguyễn Ngọc Định – Lớp Cơ Điện Tử - K56 Trần Lê Trang – Lớp Cơ Điện Tử - K56 Tên tóm tắt yêu cầu, nội dung đề tài: NGHIÊN CỨU KIT THỰC HÀNH VI ĐIỀU KHIỂN PIC 16F877A Nội dung yêu cầu: STT Nội Dung Tổng quan vi điều khiển Giới thiệu PIC 16F877A Ứng dụng lập trình cho kit thực hành vi điều khiển PIC 16F877A Số liệu cần thiết chủ yếu để thiết kế: - Kit thực hành có sẵn thị trường sử dụng vi điều khiển PIC 16F877A - Phần mềm lập trình CCS Nội dung thuyết minh, yêu cầu giải thích tính tốn thiết kế tốt nghiệp: LUẬN VĂN TỐT NGHIỆP Các vẽ chính: Những yêu cầu bổ sung thêm nhiệm vụ thiết kế tốt nghiệp chuyên đề: Cán hướng dẫn: a Giáo viên Trường: TS Phạm Xuân Hiển b Cán sản xuất: Ngày giao nhiệm vụ thiết kế tốt nghiệp: Ngày 26 Tháng 02 Năm 2019 Ngày bắt đầu thiết kế tốt nghiệp: Ngày 26 Tháng 02 Năm 2019 TL\HIỆU TRƯỞNG Ngày 15 tháng năm 2019 Đã giao nhiệm vụ TKTN Trưởng khoa Trưởng môn TS Đinh Thị Thanh Huyền Đã nhận nhiệm vụ TKTN Giáo viên hướng dẫn TS Phạm Xuân Hiển Sinh viên: Nguyễn Ngọc Định Trần Lê Trang Lớp: Cơ điện tử Khóa: K56 LUẬN VĂN TỐT NGHIỆP Đánh giá nhận xét GV hướng dẫn LUẬN VĂN TỐT NGHIỆP MỤC LỤC LỜI CẢM ƠN Trường Đại học Giao thông vận tải MỤC LỤC DANH MỤC HÌNH ẢNH 1.1Giới thiệu khái quát vi điều khiển 1.2Khái quát vi điều khiển PIC 11 2.1 Giới thiệu chung 17 2.2 Tổ chức nhớ 22 2.3 Các cổng xuất nhập PIC16F877A 27 2.4 Timer0 29 2.5 Timer1 31 2.10 Giao tiếp nối tiếp 45 2.11 Cổng giao tiếp song song PSP (PARALLEL SLAVE PORT) 47 3.1GIỚI THIỆU 60 TÀI LIỆU THAM KHẢO 108 PHỤ LỤC 109 DANH MỤC HÌNH ẢNH LUẬN VĂN TỐT NGHIỆP LỜI MỞ ĐẦU Ngày kỹ thuật vi điều khiển trở nên quen thuộc ngành kỹ thuật dân dụng Các vi điều khiển có khả xử lý nhiều hoạt động phức tạp mà cần chip vi mạch nhỏ, thay tủ điều khiển lớn phức tạp mạch điện gọn nhẹ, dễ dàng thao tác sử dụng Vi điều khiển khơng góp phần vào kỹ thuật điều khiển mà góp phần to lớn vào việc phát triển thơng tin Chính lý trên, việc tìm hiểu, khảo sát vi điều khiển điều mà sinh viên ngành điện mà đặc biệt chuyên ngành kỹ thuật điệnđiện tử phải quan tâm Đó nhu cầu cần thiết cấp bách sinh viên, đề tài thực đáp ứng nhu cầu Các điều khiển sử dụng vi điều khiển đơn giản để vận hành sử dụng đươc lại điều phức tạp Phần cơng việc xử lý phụ thuộc vào người, chương trình hay phần mềm Nếu khơng có tham gia người hệ thống vi điều khiển vật vơ tri Do nói đến vi điều khiển giống máy tính bao gồm phần phần cứng phần mềm Mặc dù vi điều khiển bước dài để tiếp cận với kỹ thuật việc có sớm chiều Để tìm hiểu vi điều khiển cách khoa học mang lại hiệu cao làm tảng cho việc xâm nhập vào hệ thống tối tân Việc trang bị kiến thức vi điều khiển cho sinh viên cần thiết Xuất phát từ thực tiển em đến định Thiết kế Kit Vi Điều Khiển PIC 16F877A nhằm đáp ứng nhu cầu ham muốn học hỏi than giúp cho bạn sinh viên dễ tiếp cận hiểu sâu VĐK PIC Trong q trình thực đề tài nhiều sai sót, mong nhận nhiều ý kiến đóng góp từ cô bạn Em xin chân thành cảm ơn! Hà nội, ngày 19 tháng năm 2019 Sinh viên: Nguyễn Ngọc Định Trần Lê Trang LUẬN VĂN TỐT NGHIỆP CHƯƠNG 1: TỔNG QUAN VỀ VI ĐIỀU KHIỂN 1.1 Giới thiệu khái quát vi điều khiển 1.1.1 Giới thiệu chung Bộ Vi xử lý có khả vượt bậc so với hệ thống khác khả tính tốn, xử lý, thay đổi chương trình linh hoạt theo mục đích người dùng, đặc biệt hiệu toán hệ thống lớn.Tuy nhiên ứng dụng nhỏ, tầm tính tốn khơng đòi hỏi khả tính tốn lớn việc ứng dụng vi xử lý cần cân nhắc Bởi hệ thống dù lớn hay nhỏ, dùng vi xử lý đòi hỏi khối mạch điện giao tiếp phức tạp Các khối bao gồm nhớ để chứa liệu chương trình thực hiện, mạch điện giao tiếp ngoại vi để xuất nhập điều khiển trở lại, khối liên kết với vi xử lý thực cơng việc Để kết nối khối đòi hỏi người thiết kế phải hiểu biết tinh tường thành phần vi xử lý, nhớ, thiết bị ngoại vi Hệ thống tạo phức tạp, chiếm nhiều không gian, mạch in phức tạp vấn đề trình độ người thiết kế Kết giá thành sản phẩm cuối cao, không phù hợp để áp dụng cho hệ thống nhỏ số nhược điểm nên nhà chế tạo tích hợp nhớ số mạch giao tiếp ngoại vi với vi xử lý vào IC gọi Microcontroller- Vi điều khiển Một số đặc điểm khác vi xử lí VĐK: - Về phần cứng: VXL cần ghép thêm thiết bị ngoại vi bên nhớ, thiết bị ngoại vi khác, … để tạo thành mạch hồn chỉnh Đối với VĐK thân hệ máy tính hồn chỉnh với CPU, nhớ, mạch giao tiếp, định thời mạch điều khiển ngắt tích hợp bên mạch - Về đặc trưng tập lệnh: Do ứng dụng khác nên VXL VĐK có yêu cầu khác tập lệnh chúng Tập lệnh VXL thường mạnh kiểu định địa với lệnh cung cấp hoạt động lượng liệu lớn 1byte, ½ byte, word, double word, Ở VĐK, tập lệnh mạnh việc xử lý kiêu liệu nhỏ bit vài bit - Do VĐK cấu tạo phần cứng khả xử lí thấp nhiều soi với VXL nên giá thành VĐK rẻ nhiều Tuy nhiên đủ khả đáp ứng LUẬN VĂN TỐT NGHIỆP tất yêu cầu người dùng Vi điều khiển ứng dụng dây chuyền tự động loại nhỏ, robot có chức đơn giản, máy giặt, ôtô v.v 1.1.2 Phân loại  Độ dài ghi Dựa vào độ dài ghi lệnh VĐK mà người ta chia loại VĐK 8bit, 16bit, hay 32bit Các loại VĐK 16bit có độ dài lệnh lớn nên tập lệnh nhiều hơn, phong phú Tuy nhiên chương trình viết VĐK 16bit viết VDK 8bit với chương trình thích hợp  Kiến trúc CISC RISC VXL VĐK CISC VĐK có tập lệnh phức tạp Các VĐK có số lượng lớn lệnh nên giúp cho người lập trình linh hoạt dễ dàng viết chương trình VĐK RISC VĐK có tập lệnh đơn giản Chúng có số lương nhỏ lệnh đơn giản DO đó, chúng đòi hỏi phần cứng hơn, giá thành thấp hơn, nhanh so với CISC Tuy nhiên đòi hỏi người lập trình phải viết chương trình phức tạp hơn, nhiều lệnh  Kiến trúc Harvard kiến trúc Vonneumann Kiến trúc Harvard sử dụng nhớ riêng biệt cho chương trình liệu Bus địa bus liệu độc lập với nên trình truyền nhận liệu đơn giản Kiến trúc Vonneumann sử dụng chung nhớ cho chương trình liệu Điều làm cho VĐK gọn nhẹ hơn, giá thành nhẹ Một số loại VĐK có thị trường: - VĐK MCS-51: 8031, 8032, 8051, 8052, - VĐK ATMEL: 89Cxx, AT89Cxx51 - VĐK AVR AT90Sxxxx - VĐK PIC 16C5x, 17C43 1.1.3 Cấu trúc tổng quan VĐK  CPU: Là trái tim hệ thống Là nơi quản lí tất hoạt động VĐK Bên 10 LUẬN VĂN TỐT NGHIỆP Sơ đồ nguyên lý: Hình 3.26 Sơ đồ nguyên lý ma trận phím 3.3.5.2 Nguyên lý hoạt động ma trận phím Để giao tiếp với ma trận phím 4x4, tơi dùng phương pháp "Qt" để kiểm tra xem nút bấm, cụ thể cách quét sau (quét theo cột): Các chân P1.0, P1.1, P1.2, P1.3 (các hàng) thiết lập chân INPUT, lại chân P1.4, P1.5, P1.6, P1.7 (các cột) chân OUTPUT (ở mức logic ‘0’) Giả sử SW9 bấm: Cho COL1 = (COL[2 4] = 1), kiểm tra trạng thái hàng: ROWA= ROWB= ROWC= ROWD=1: kết luận khơng có nút bấm COL1 Cho COL2 = (COL[1,3,4] = 1), kiểm tra trạng thái hàng: ROWA=ROWB=ROWD=1, ROWC =0: kết luận có nút nằm hàng C, cột bấm (SW9) Cho COL3 = (COL[1,2,4]=1): ROWA = ROWB = ROWC= ROWD=1: kết 95 LUẬN VĂN TỐT NGHIỆP luận khơng có nút bấm COL3 Cho COL4 = (COL[1,2,3]=1): ROWA= ROWB= ROWC= ROWD=1: kết luận khơng có nút bấm COL4 Qt tương tự nút bấm khác Hình 3.27 Ma trận phím hoạt động kit PIC 96 LUẬN VĂN TỐT NGHIỆP 3.3.5.4 Lưu đồ thuật toán 3.3.5.5 Viết chương trình //Tạo thư viện thiết lập chân #include #fuses HS,NOWDT,NOLVP #use fast_io(b) #use delay(clock=12000000) #define LCD_ENABLE_PIN PIN_E2 #define LCD_RS_PIN PIN_E0 #define LCD_RW_PIN PIN_E1 #define LCD_DATA4 PIN_D4 #define LCD_DATA5 PIN_D5 #define LCD_DATA6 PIN_D6 #define LCD_DATA7 PIN_D7 #include static unsigned char keypad_4x4[4][4] = {'1','2','3','4','5','6','7','8', '9','A','B', 'D','E','F','0'}; unsigned char scan_code[4] = {0x0E,0x0D,0x0B,0x07}; int key; 97 LUẬN VĂN TỐT NGHIỆP int checkpad() { int i,j,keyin; for(i=0;i

Ngày đăng: 08/06/2019, 19:58

Từ khóa liên quan

Mục lục

  • LỜI CẢM ƠN

    • Trường Đại học Giao thông vận tải

    • MỤC LỤC

    • DANH MỤC HÌNH ẢNH

      • 1.1 Giới thiệu khái quát về vi điều khiển

        • 1.1.1 Giới thiệu chung

        • 1.1.2 Phân loại.

        • 1.2 Khái quát về vi điều khiển PIC

          • 1.2.1 PIC là gì ?

          • 1.2.3 RISC và CISC

          • 1.2.4 PIPELINING

          • 1.2.5 Các dòng PIC và cách lựa chọn vi điều khiển PIC

          • 2.1 Giới thiệu chung

            • 2.1.1 Các dạng sơ đồ chân

            • 2.1.2 Sơ đồ khối vi điều khiển PIC16F877A

            • 2.1.3 Chức năng các chân của PIC16F877A

            • 2.1.4 Đặc điểm vi điều khiển PIC16F877A

            • 2.2 Tổ chức bộ nhớ

              • 2.2.1 Bộ nhớ chương trình

              • 2.2.2 Bộ nhớ dữ liệu

              • 2.2.3 STACK

              • 2.3 Các cổng xuất nhập của PIC16F877A

                • 2.3.1 PORTA

                • 2.3.2 PORTB

                • 2.4 Timer0

                • 2.5 Timer1

                • 2.10 Giao tiếp nối tiếp

                  • 2.10.1 USART

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

Tài liệu liên quan