Đề tài BÁO CÁO THỰC TẬP VI ĐIỀU KHIỂN

39 612 0
Đề tài BÁO CÁO THỰC TẬP VI ĐIỀU KHIỂN

Đ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

Đề tài BÁO CÁO THỰC TẬP VI ĐIỀU KHIỂN MỤC LỤC MỤC LỤC........................................................................................................ 1 CHƢƠNG 1: TỔNG QUAN VỀ VI ĐIỀU KHIỂN..................................... 3 1.1 GIỚI THIỆU KHÁI QUÁT VỀ VI ĐIỀU KHIỂN .................................... 3 1.1.1 GIỚI THIỆU CHUNG ............................................................................ 3 1.1.2 PHÂN LOẠI ........................................................................................... 4 1.1.3 CẤU TRÚC TỔNG QUAN CỦA VDK................................................. 5 1.2 KHÁI QUÁT VỀ VI ĐIỀU KHIỂN PIC ................................................ 5 1.2.1 PIC LÀ GÌ ? ............................................................................................. 5 1.2.2 KIẾN TRÚC PIC ..................................................................................... 6 1.2.3 RISC VÀ CISC ...................................................................................... 7 1.2.4 PIPELINING.......................................................................................... 7 1.2.5 CÁC DÒNG PIC VÀ CÁCH LỰA CHỌN VI ĐIỀU KHIỂN PIC ....... 8 1.2.6 NGÔN NGỮ LẬP TRÌNH CHO PIC..................................................... 9 1.2.7 MẠCH NẠP PIC..................................................................................... 9 1.3 VI ĐIỀU KHIỂN PIC16F877A ............................................................... 10 1.3.1 CÁC DẠNG SƠ ĐỒ CHÂN................................................................. 10 1.3.2 SƠ ĐỒ KHỐI VI ĐIỀU KHIỂN PIC16F877A ................................... 12 1.3.3 CHỨC NĂNG CÁC CHÂN CỦA PIC16F877A ................................. 13 1.3.4 ĐẶC ĐIỂM VI ĐIỀU KHIỂN PIC16F877A ....................................... 15 1.3.5 BỘ NHỚ CHƢƠNG TRÌNH................................................................ 16 1.3.6 BỘ NHỚ DỮ LIỆU .............................................................................. 17 1. THANH GHI CHỨC NĂNG ĐẶC BIỆT SFR ......................................... 19 1.3.7 STACK................................................................................................... 20 CHƢƠNG 2: PHÂN TÍCH THIẾT KẾ HỆ THỐNG ............................... 22 2.1 Thiết kế nguyên lý:.................................................................................... 22 2.1.2 Sơ đồ mô hình tổng quát của hệ thống................................................... 22 2.1.2. Sơ đồ đặc tả hệ thống:........................................................................... 23 2.1.3.Sơ đồ thuật toán của hệ thống:............................................................... 24 Đề tài: BÁO CÁO THỰC TẬP VI ĐIỀU KHIỂN 2.1.4.Sơ đồ call graph của hệ thống:............................................................... 25 2.1.5.Sơ đồ nguyên lý mạch............................................................................ 26 2.2.Nguyên tắc làm việc.................................................................................. 26 2.2.1 Nguyên tắc hoạt động: ........................................................................... 26 2.2.2 Ngyên lý hoạt động của hệ thống: ......................................................... 27 2.3 Giới thiệu về linh kiện dùng trong hệ thống ............................................. 28 2.3.1 Các linh kiện sử dụng............................................................................. 28 CHƢƠNG 3: XÂY DỰNG HỆ THỐNG..................................................... 29 3.1 các module phần phần cứng trong hệ thống ............................................. 29 3.1.1. Module khối điều khiển trung tâm........................................................ 29 3.1.2.Module hiển thị. ..................................................................................... 29 3.1.3.Module đo nhiệt độ. ............................................................................... 30 3.1.4.Module khối nguồn. ............................................................................... 31 3.1.5. Module khối giao tiếp phím bấm. ......................................................... 31 3.2 Xây dựng phần mềm, mạch: ..................................................................... 32 3.3 Sơ đồ mạch in hệ thống :........................................................................... 36 Đề tài BÁO CÁO THỰC TẬP VI ĐIỀU KHIỂN Đề tài BÁO CÁO THỰC TẬP VI ĐIỀU KHIỂN Đề tài BÁO CÁO THỰC TẬP VI ĐIỀU KHIỂN Đề tài BÁO CÁO THỰC TẬP VI ĐIỀU KHIỂN Đề tài BÁO CÁO THỰC TẬP VI ĐIỀU KHIỂN Đề tài BÁO CÁO THỰC TẬP VI ĐIỀU KHIỂN Đề tài BÁO CÁO THỰC TẬP VI ĐIỀU KHIỂN Đề tài BÁO CÁO THỰC TẬP VI ĐIỀU KHIỂN Đề tài BÁO CÁO THỰC TẬP VI ĐIỀU KHIỂN

Đề tài: BÁO CÁO THỰC TẬP VI ĐIỀU KHIỂN MỤC LỤC MỤC LỤC CHƢƠNG 1: TỔNG QUAN VỀ VI ĐIỀU KHIỂN 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.1.3 CẤU TRÚC TỔNG QUAN CỦA VDK 1.2 KHÁI QUÁT VỀ VI ĐIỀU KHIỂN PIC 1.2.1 PIC LÀ GÌ ? 1.2.2 KIẾN TRÚC PIC 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 1.2.6 NGƠN NGỮ LẬP TRÌNH CHO PIC 1.2.7 MẠCH NẠP PIC 1.3 VI ĐIỀU KHIỂN PIC16F877A 10 1.3.1 CÁC DẠNG SƠ ĐỒ CHÂN 10 1.3.2 SƠ ĐỒ KHỐI VI ĐIỀU KHIỂN PIC16F877A 12 1.3.3 CHỨC NĂNG CÁC CHÂN CỦA PIC16F877A 13 1.3.4 ĐẶC ĐIỂM VI ĐIỀU KHIỂN PIC16F877A 15 1.3.5 BỘ NHỚ CHƢƠNG TRÌNH 16 1.3.6 BỘ NHỚ DỮ LIỆU 17 THANH GHI CHỨC NĂNG ĐẶC BIỆT SFR 19 1.3.7 STACK 20 CHƢƠNG 2: PHÂN TÍCH THIẾT KẾ HỆ THỐNG 22 2.1 Thiết kế nguyên lý: 22 2.1.2 Sơ đồ mơ hình tổng quát hệ thống 22 2.1.2 Sơ đồ đặc tả hệ thống: 23 2.1.3.Sơ đồ thuật toán hệ thống: 24 Đề tài: BÁO CÁO THỰC TẬP VI ĐIỀU KHIỂN 2.1.4.Sơ đồ call graph hệ thống: 25 2.1.5.Sơ đồ nguyên lý mạch 26 2.2.Nguyên tắc làm việc 26 2.2.1 Nguyên tắc hoạt động: 26 2.2.2 Ngyên lý hoạt động hệ thống: 27 2.3 Giới thiệu linh kiện dùng hệ thống 28 2.3.1 Các linh kiện sử dụng 28 CHƢƠNG 3: XÂY DỰNG HỆ THỐNG 29 3.1 module phần phần cứng hệ thống 29 3.1.1 Module khối điều khiển trung tâm 29 3.1.2.Module hiển thị 29 3.1.3.Module đo nhiệt độ 30 3.1.4.Module khối nguồn 31 3.1.5 Module khối giao tiếp phím bấm 31 3.2 Xây dựng phần mềm, mạch: 32 3.3 Sơ đồ mạch in hệ thống : 36 Đề tài: BÁO CÁO THỰC TẬP VI ĐIỀU KHIỂN CHƢƠNG 1: TỔNG QUAN VỀ VI ĐIỀU KHIỂN 1.1 GIỚI THIỆU KHÁI QUÁT VỀ 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 nhƣ 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 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 đƣợc 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ỏ Vì 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 đƣợc 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 đƣợc ghép thêm thiết bị ngoại vi bên nhƣ 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 đƣợc 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 nhƣ 1byte, ½ byte, word, double word, Ở VĐK, tập lệnh mạnh việc xử lý kiêu liệu nhỏ nhƣ bit vài bit Đề tài: BÁO CÁO THỰC TẬP VI ĐIỀU KHIỂN - 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 đƣợc tất yêu cầu ngƣời dùng Vi điều khiển đƣợc ứ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 Đề tài: BÁO CÁO THỰC TẬP VI ĐIỀU KHIỂN 1.1.3 CẤU TRÚC TỔNG QUAN CỦA VDK CPU: Là trái tim hệ thống Là nơi quản lí tất hoạt động VĐK Bên CPU gồm: - ALU phận thao tác liệu - Bộ giải mã lệnh điều khiển, xác định thao tác mà CPU cần thực - Thanh ghi lệnh IR, lƣu giữ opcode lệnh đƣợc thực thi - Thanh ghi PC, lƣu giũ địa lệnh cần thực thi - Một tập ghi dùng để lƣu thông tin tạm thời ROM: ROM nhớ dùng để lƣu giữ chƣơng trình ROM dùng để chứa số liệu bảng, tham số hệ thống, số liệu cố định hệ thống Trong trình hoạt động nội dung ROM cố định, thay đổi, nội dung ROM thay đổi ROM chế độ xóa nạp chƣơng trình RAM: RAM bọ nhớ liệu Bộ nhớ RAM dùng làm môi trƣờng xử lý thông tin, lƣu trữ kết trung gian kết cuối phép tốn, xử lí thơng tin Nó dùng để tổ chức vùng đệm liệu, thao tác thu phát, chuyển đổi liệu BUS: BUS đƣờng dẫn dùng để di chuyển liệu Bao gồm: bus địa chỉ, bus liệu , bus điều khiển BỘ ĐỊNH THỜI: Đƣợc sử dụng cho mục đích chung thời gian WATCHDOG: Bộ phận dùng để reset lại hệ thống hệ thống gặp “bất thƣờng” ADC: Bộ phận chuyển tín hiệu analog sang tín hiệu digital Các tín hiệu bên vào VDK thƣờng dạng analog ADC chuyển tín hiệu dạng tín hiệu digital mà VDK hiểu đƣợc 1.2 KHÁI QUÁT VỀ VI ĐIỀU KHIỂN PIC 1.2.1 PIC LÀ GÌ ? PIC viết tắt “Programable Intelligent Computer”, tạm dịch “máy tính thơng minh khả trình” hãng Genenral Instrument đặt tên cho vi điều khiển họ: PIC1650 đƣợc thiết kế để dùng làm thiết bị ngoại vi cho Đề tài: BÁO CÁO THỰC TẬP VI ĐIỀU KHIỂN vi điều khiển CP1600 Vi điều khiển sau đƣợc nghiên cứu phát triển thêm từ hình thành nên dịng vi điều khiển PIC ngày 1.2.2 KIẾN TRÚC PIC Cấu trúc phần cứng vi điều khiển đƣợc thiết kế theo hai dạng kiến trúc: kiến trúc Von Neuman kiến trúc Havard Hình 1.1: Kiến trúc Havard kiến trúc Von-Neuman Tổ chức phần cứng PIC đƣợc thiết kế theo kiến trúc Havard Điểm khác biệt kiến trúc Havard kiến trúc Von-Neuman cấu trúc nhớ liệu nhớ chƣơng trình Đối với kiến trúc Von-Neuman, nhớ liệu nhớ chƣơng trình nằm chung nhớ, ta tổ chức, cân đối cách linh hoạt nhớ chƣơng trình nhớ liệu Tuy nhiên điều có ý nghĩa tốc độ xử lí CPU phải cao, với cấu trúc đó, thời điểm CPU tƣơng tác với nhớ liệu nhớ chƣơng trình Nhƣ nói kiến trúc Von-Neuman khơng thích hợp với cấu trúc vi điều khiển Đối với kiến trúc Havard, nhớ liệu nhớ chƣơng trình tách thành hai nhớ riêng biệt Do thời điểm CPU tƣơng tác với hai nhớ, nhƣ tốc độ xử lí vi điều khiển đƣợc cải thiện đáng kể Một điểm cần ý tập lệnh kiến trúc Havard đƣợc tối ƣu tùy theo yêu cầu kiến trúc vi điều khiển mà không phụ thuộc vào cấu trúc liệu Ví dụ, vi điều khiển dịng 16F, độ dài lệnh ln 14 bit (trong liệu đƣợc tổ chức thành byte), kiến trúc Von-Neuman, độ dài lệnh bội số byte (do liệu đƣợc tổ chức thành byte) Đặc điểm đƣợc minh họa cụ thể hình 1.1 Đề tài: BÁO CÁO THỰC TẬP VI ĐIỀU KHIỂN 1.2.3 RISC VÀ CISC Nhƣ trình bày trên, kiến trúc Havard khái niệm so với kiến trúc Von-Neuman Khái niệm đƣợc hình thành nhằm cải tiến tốc độ thực thi vi điều khiển Qua việc tách rời nhớ chƣơng trình nhớ liệu, bus chƣơng trình bus liệu, CPU lúc truy xuất nhớ chƣơng trình nhớ liệu, giúp tăng tốc độ xử lí vi điều khiển lên gấp đôi Đồng thời cấu trúc lệnh khơng cịn phụ thuộc vào cấu trúc liệu mà linh động điều chỉnh tùy theo khả tốc độ vi điều khiển Và để tiếp tục cải tiến tốc độ thực thi lệnh, tập lệnh họ vi điều khiển PIC đƣợc thiết kế cho chiều dài mã lệnh cố định (ví dụ họ 16Fxxxx chiều dài mã lệnh 14 bit) cho phép thực thi lệnh chu kì xung clock ( ngoại trừ số trƣờng hợp đặc biệt nhƣ lệnh nhảy, lệnh gọi chƣơng trình … cần hai chu kì xung đồng hồ) Điều có nghĩa tập lệnh vi điều khiển thuộc cấu trúc Havard lệnh hơn, ngắn hơn, đơn giản để đáp ứng yêu cầu mã hóa lệnh số lƣợng bit định Vi điều khiển đƣợc tổ chức theo kiến trúc Havard đƣợc gọi vi điều khiển RISC (Reduced Instruction Set Computer) hay vi điều khiển có tập lệnh rút gọn Vi điều khiển đƣợc thiết kế theo kiến trúc Von-Neuman đƣợc gọi vi điều khiển CISC (Complex Instruction Set Computer) hay vi điều khiển có tập lệnh phức tạp mã lệnh khơng phải số cố định mà bội số bit (1 byte) 1.2.4 PIPELINING Đây chế xử lí lệnh vi điều khiển PIC Một chu kì lệnh vi điều khiển bao gồm xung clock Ví dụ ta sử dụng oscillator có tần số MHZ, xung lệnh có tần số MHz (chu kì lệnh us) Giả sử ta có đoạn chƣơng trình nhƣ sau: MOVLW 55h MOVWF PORTB CALL SUB_1 BSF PORTA,BIT3 instruction @ address SUB_1 Ở ta bàn đến qui trình vi điều khiển xử lí đoạn chƣơng trình thơng qua chu kì lệnh Quá trình đƣợc thực thi nhƣ sau: Đề tài: BÁO CÁO THỰC TẬP VI ĐIỀU KHIỂN Hình 1.2: Cơ chế pipelining - TCY0: đọc lệnh - TCY1: thực thi lệnh 1, đọc lệnh - TCY2: thực thi lệnh 2, đọc lệnh - TCY3: thực thi lệnh 3, đọc lệnh - TCY4: lệnh khơng phải lệnh đƣợc thực thi theo qui trình thực thi chƣơng trình (lệnh đƣợc thực thi phải lệnh label SUB_1) nên chu thi lệnh đƣợc dùng để đọc lệnh label SUB_1 Nhƣ xem lênh cần chu kì xung clock để thực thi - TCY5: thực thi lệnh SUB_1 đọc lệnh SUB_1 Quá trình đƣợc thực tƣơng tự cho lệnh chƣơng trình Thơng thƣờng, để thực thi lệnh, ta cần chu kì lệnh để gọi lệnh đó, chu kì xung clock để giải mã thực thi lệnh Với chế pipelining đƣợc trình bày trên, lệnh xem nhƣ đƣợc thực thi chu kì lệnh Đối với lệnh mà trình thực thi làm thay đổi giá trị ghi PC (Program Counter) cần hai chu kì lệnh để thực thi phải thực việc gọi lệnh địa ghi PC tới Sau xác định vị trí lệnh ghi PC, lệnh cần chu kì lệnh để thực thi xong 1.2.5 CÁC DÒNG PIC VÀ CÁCH LỰA CHỌN VI ĐIỀU KHIỂN PIC Các kí hiệu vi điều khiển PIC: - PIC12xxxx: độ dài lệnh 12 bit - PIC16xxxx: độ dài lệnh 14 bit Đề tài: BÁO CÁO THỰC TẬP VI ĐIỀU KHIỂN - PIC18xxxx: độ dài lệnh 16 bit C: PIC có nhớ EPROM (chỉ có 16C84 EEPROM) F: PIC có nhớ flash LF: PIC có nhớ flash hoạt động điện áp thấp LV: tƣơng tự nhƣ LF, kí hiệu cũ Bên cạnh số vi điệu khiển có kí hiệu xxFxxx EEPROM, có thêm chữ A cuối flash (ví dụ PIC16F877 EEPROM, cịn PIC16F877A flash) Ngồi cịn có thêm dịng vi điều khiển PIC dsPIC Ở Việt Nam phổ biến họ vi điều khiển PIC hãng Microchip sản xuất Cách lựa chọn vi điều khiển PIC phù hợp: - Trƣớc hết cần ý đến số chân vi điều khiển cần thiết cho ứng dụng Có nhiều vi điều khiển PIC với số lƣợng chân khác nhau, chí có vi điều khiển có chân, ngồi cịn có vi điều khiển 28, 40, 44, … chân - Cần chọn vi điều khiển PIC có nhớ flash để nạp xóa chƣơng trình đƣợc nhiều lần Tiếp theo cần ý đến khối chức đƣợc tích hợp sẵn vi điều khiển, chuẩn giao tiếp bên - Sau cần ý đến nhớ chƣơng trình mà vi điều khiển cho phép - Ngồi thơng tin cách lựa chọn vi điều khiển PIC đƣợc tìm thấy sách “Select PIC guide” nhà sản xuất Microchip cung cấp 1.2.6 NGƠN NGỮ LẬP TRÌNH CHO PIC Ngơn ngữ lập trình cho PIC đa dạng Ngơn ngữ lập trình cấp thấp có MPLAB (đƣợc cung cấp miễn phí nhà sản xuất Microchip), ngơn ngữ lập trình cấp cao bao gồm C, Basic, Pascal, … Ngoài cịn có số ngơn ngữ lập trình đƣợc phát triển dành riêng cho PIC nhƣ PICBasic, MikroBasic,… 1.2.7 MẠCH NẠP PIC Đây dòng sản phẩm đa dạng dành cho vi điều khiển PIC Có thể sử dụng mạch nạp đƣợc cung cấp nhà sản xuất hãng Microchip nhƣ: PICSTART plus, MPLAB ICD 2, MPLAB PM 3, PRO MATE II Có thể dùng sản phẩm để nạp cho vi điều khiển khác thơng qua chƣơng trình MPLAB Dịng sản phẩm thống có ƣu nạp đƣợc cho tất vi điều khiển PIC, nhiên giá thành cao thƣờng gặp nhiều khó khăn trình mua sản phẩm Đề tài: BÁO CÁO THỰC TẬP VI ĐIỀU KHIỂN Ngồi tính cho phép nhiều chế độ nạp khác nhau, có nhiều mạch nạp đƣợc thiết kế dành cho vi điều khiển PIC Có thể sơ lƣợc số mạch nạp cho PIC nhƣ sau: - JDM programmer: mạch nạp dùng chƣơng trình nạp Icprog cho phép nạp vi điều khiển PIC có hỗ trợ tính nạp chƣơng trình điện áp thấp ICSP (In Circuit Serial Programming) Hầu hết mạch nạp hỗ trợ tính nạp chƣơng trình - WARP-13A MCP-USB: hai mạch nạp giống với mạch nạp PICSTART PLUS nhà sản xuất Microchip cung cấp, tƣơng thích với trình biên dịch MPLAB, nghĩa ta trực tiếp dùng chƣơng trình MPLAB để nạp cho vi điều khiển PIC mà khơng cần sử dụng chƣơng trình nạp khác, chẳng hạn nhƣ ICprog - P16PRO40: mạch nạp Nigel thiết kế tiếng Ông cịn thiết kế chƣơng trình nạp, nhiên ta sử dụng chƣơng trình nạp Icprog - Mạch nạp Universal Williem: mạch nạp chuyên dụng dành cho PIC nhƣ P16PRO40 Các mạch nạp kể có ƣu điểm lớn đơn giản, rẻ tiền, hồn tồn tự lắp ráp cách dễ dàng, thông tin sơ đồ mạch nạp, cách thiết kế, thi công, kiểm tra chƣơng trình nạp dễ dàng tìm đƣợc download miễn phí thơng qua mạng Internet Tuy nhiên mạch nạp có nhƣợc điểm hạn chế số vi điều khiển đƣợc hỗ trợ, bên cạnh mạch nạp cần đƣợc sử dụng với chƣơng trình nạp thích hợp 1.3 VI ĐIỀU KHIỂN PIC16F877A 1.3.1 CÁC DẠNG SƠ ĐỒ CHÂN Đề tài: BÁO CÁO THỰC TẬP VI ĐIỀU KHIỂN 2.1.4.Sơ đồ call graph hệ thống: Vi xử lý, vi điều khiển Chƣơng trình chuyển đổi ADC ADC Chƣơng trình kết nối bàn phím Bàn phím Chƣơng trình đo nhiệt độ Cảm biến LM35 Chƣơng trình hiển thị LCD LCD Hình 4: Sơ đồ quan hệ module phần cứng phần mềm hệ thống cảnh báo nhiệt độ Đề tài: BÁO CÁO THỰC TẬP VI ĐIỀU KHIỂN 2.1.5.Sơ đồ nguyên lý mạch Hình 5: Mơ Proteus 2.2.Ngun tắc làm việc 2.2.1 Nguyên tắc hoạt động: Chân đƣợc nối với mạch reset Khi nhấn SW1 vi điều khiển đƣợc khởi động lại từ đầu chân 13-14 đƣợc nối song song với thạch anh 12Mhz mạch có nhiệm vụ tạo dao động cho vi điều khiển Từ chân RD2 RD3 lần lƣợt đƣợc nối với RS, E LCD Có nhiệm vụ điều khiển hoạt động LCD RD4=>RD7 lần lƣợt đƣợc nối với đầu vào liệu từ D4=> D7 LCD Có chức điều khiển hiển thị LCD theo nhiệt độ đo đƣợc Chân 2(VDD) LCD đƣơc nối với nguồn;chân VSS,VEE,RW đƣợc nối với mát Đề tài: BÁO CÁO THỰC TẬP VI ĐIỀU KHIỂN Hình 6: Sơ đồ chân LCD LM016L 2.2.2 Ngyên lý hoạt động hệ thống: Khi khởi động hệ thống, cảm biến nhiệt LM35 biến đổi đầu vào nhiệt độ mơi trƣờng thành tín hiệu điện áp Tín hiệu đƣợc đƣa vào vi điều khiển qua chân AN0 (analog ADC) PIC16f877A; pic tích hợp sẵn chuyển đổi tƣơng tự sang số  tín hiệu điện áp đƣợc chuyển đổi sang tín hiệu số đƣợc xuất cổng từ RD4->RD7 đƣợc hiển thị lên hình LCD Khi nhiệt độ tăng giới hạn cho phép phát tín hiệu cảnh báo làm cho led sáng Các nút bấm : nút 1;nút 2; nút cho phép ta cài đặt nhiệt độ đặt (nhiệt độ cảnh báo):  Khi ta nhấn nút hiển thị nhiệt độ đặt chờ phím khác đƣợc nhấn  + Khi nút đƣợc nhấn cho phép ta tăng nhiệt độ đặt  + Khi nút đƣợc nhấn cho phép ta giảm nhiệt độ đặt Công thức biên đổi ADC: Ta dùng adc pic la 10bit  max= 1023, Vref=Vcc; giả thiết đầu cua Vcc=5v nên độ c hay 273 độ k thi đầu LM35 la 2,7v  ví dụ: nhiệt độ 30 độ c = 303k out= 303x10mv/K =3,03 v Ta tính tốn giá trị đọc đƣợc từ adc 10 bit (ADC_Vin điện áp đƣa vào chân ADC pic, ADC_value la giá trị đầu ADC dƣới dạng thập phân): ADC_Vin =5v  ADC_value =1023 Đề tài: BÁO CÁO THỰC TẬP VI ĐIỀU KHIỂN ADC_Vin =2,73v  ADC_value =(1023/5)x2,73=558,558 (ứng với độ c) ADC_Vin =3,03v  ADC_value =(1023/5)x3,03=619,938 (ứng với 30 độ c) Mặt khác : Vref=Vcc=5V nên ADC_value =1 tƣơng ứng với (5/1023=4,887mV =5V).Trong LM35 cho điện áp 10mV/1K nên giá trị ADC thay đổi đơn vị nhiệt độ phải thay đổi 0.5K (hay gần 5mV).nhƣ ta có cơng thức đầy đủ tính độ C nhƣ sau:  C=(ADC_value -558,558 )x(4,887mV/10mV)  C=(ADC_value -558,558 )/2.048 2.3 Giới thiệu linh kiện dùng hệ thống 2.3.1 Các linh kiện sử dụng 1.CAM BIẾN NHIỆT LM35 2.VI ĐIỀU KHIỂN PIC 16F877AB 3.THIẾT BỊ CHUYỂN MẠCH 4.HIỂN THỊ ( LCD 16x2) LM016L 5.THIẾT BỊ CHẤP HÀNH (đèn ) 6.NÚT ẤN 7.CÁC LINH KIỆN KHÁC:THẠCH ANH, ĐIỆN TRỞ… Đề tài: BÁO CÁO THỰC TẬP VI ĐIỀU KHIỂN CHƢƠNG 3: XÂY DỰNG HỆ THỐNG 3.1 module phần phần cứng hệ thống 3.1.1 Module khối điều khiển trung tâm a Sơ đồ nguyên lý: b Nguyên tắc hoạt động  Khối điều khiển trung tâm sử dụng vi điều khiển PIC18F77A, qua chƣơng trình lập trình đƣợc nạp cho chip, vi điều khiển điều khiển việc đọc, ghi trị số áp suất lên khối hiển thị LCD  Bộ dao động thạch anh có tác dụng tạo xung nhịp với tần số 12MHz cho VĐK hoạt động Hai đầu đƣợc nối vào 2chân XTAL1 XTAL2 VĐK  Bộ RESET có tác dụng đƣa vi điều khiển trạng thái ban đầu Khi nút Reset đƣợc ấn điện áp +5V từ nguồn đƣợc nối vào chân Reset vi điều khiển đƣợc chạy thẳng xuống đất lúc điện áp chân vi điều khiển thay đổi đột ngột 0, VĐK nhận biết đƣợc thay đổi khởi động lại trạng thái ban đầu cho hệ thống 3.1.2.Module hiển thị Đề tài: BÁO CÁO THỰC TẬP VI ĐIỀU KHIỂN a sơ đồ nguyên lý b nguyên tắc hoạt động  Sử dụng hình LCD (LM016L) để hiển thị nhiệt độ mà cảm biến đo đƣợc, LCD hiển thị đƣợc tất ký tự bảng mã ASCII Ta hiển thị sâu ký tự hiển thị đƣợc số hiển thị đƣợc số phải chia thành phần trăm, chục đơn vị áp suất hiển thị phần  Chọn chân D4-D7 làm chân nhận liệu LCD  Cổng D(RD2-RD7) VDK làm cổng để đƣa liệu LCD  Các led D2 ,D3, để báo trạng thái nhiệt độ mà cảm biến nhận đƣợc D2 sáng nhiệt độ vƣợt ngƣỡng cao Tmax D3 sáng nhiệt độ thấp Tmax  Các cực dƣơng led đƣợc nối với chân RC0-RC1 (lá cổng ra) nhiệt độ vƣợt ngƣỡng cao Tmax VDK đƣa mức logic chân RC0 led D3 sáng tƣơng tự với trạng thái lại 3.1.3.Module đo nhiệt độ a sơ đồ nguyên lý b nguyên tắc hoạt động  Sử dụng cảm biến nhiệt độ để đo nhiệt độ Nhiệt độ mà cảm biến đo đƣợc Đề tài: BÁO CÁO THỰC TẬP VI ĐIỀU KHIỂN đƣợc biến đổi thành điện áp để đƣa vào VĐK Thông qua biến đổi ADC VĐK VĐK tính tốn nhiệt độ 3.1.4.Module khối nguồn a sơ đồ nguyên lý b.nguyên tắc hoạt động  Điện áp lƣới 220V qua MBA đƣợc biến đổi thành điện áp 15V Và thông qua biến đổi cầu DIODE đƣợc biến đổi thành nguồn chiều (DC) sau tiếp tục đƣợc biến đổi thành điện áp chuẩn 5V nhờ IC7805 để cung cấp nguồn cho cảm biến  Tụ C có tác dụng lọc nhiễu để ổn định điện áp đầu 3.1.5 Module khối giao tiếp phím bấm a sơ đồ b.Nguyên tắc hoạt động  Các nút bấm dùng để thay đổi nhiệt độ đặt Tmax Đề tài: BÁO CÁO THỰC TẬP VI ĐIỀU KHIỂN  Các nút bấm đƣợc đƣa vào chân RC2, RC3, RC4, Nút dùng để khởi tạo giá trị đặt, nút dùng để tăng nhiệt độ đặt, nút dùng để giảm nhiệt độ đặt 3.2 Xây dựng phần mềm, mạch: Chƣơng trình: #include #include #device *=16 adc=10 #FUSES NOWDT, HS, NOPUT, NOPROTECT, NODEBUG, NOBROWNOUT,NOLVP, NOCPD, NOWRT #use delay(clock=20000000) #include // Thu vien ham cho LCD int8 low,high,min,max,i,nutbam=0xaa; float value; #define nut1 RC2 #define nut2 RC3 #define nut3 RC4 #INT_EXT //=================================================== void convert_bcd(int8 x) { low=x%10; high=x/10; //chia lay phan du, so hang don vi //tach hang tram va hang chuc low = low + 0x30; high = high + 0x30; } //=================================================== void banphim() { if (nut1 == 0) { nutbam=~nutbam; //dao lai if(nutbam!=0xaa)// nutbam#0xaa Đề tài: BÁO CÁO THỰC TẬP VI ĐIỀU KHIỂN { LCD_putcmd(0x01); LCD_putchar("nhap nhiet do:"); LCD_putcmd(0xC0); printf(LCD_putchar,"gia tri MAX:%d",max); } else { LCD_putcmd(0x01); LCD_putchar("do_nhiet_do:"); value = read_adc(); value=(value-558.5)/2.048; LCD_putcmd(0xC0); printf(LCD_putchar,"Nhiet la:"); LCD_putchar(high); LCD_putchar(low); printf(LCD_putchar," C"); } while(nut1 == 0) { } } else if (nut3 == 0) { if(nutbam!=0xaa) { max = max - 1; LCD_putcmd(0xC0); printf(LCD_putchar,"gia tri MAX:%d",max); } else { Đề tài: BÁO CÁO THỰC TẬP VI ĐIỀU KHIỂN } while(nut3 == 0)//cho nha phim { } delay_ms(10);//chong phim } else if (nut2 == 0) { if(nutbam!=0xaa) { max = max +1; LCD_putcmd(0xC0); printf(LCD_putchar,"gia tri MAX:%d",max); } else { } while(nut2 == 0)//cho nha phim { } delay_ms(10);//chong phim } else { } } //=================================================== void main() { max =40; //nhiet max i = 10 ; trisa = 0xFF; Đề tài: BÁO CÁO THỰC TẬP VI ĐIỀU KHIỂN trisb = 0x01; trisc = 0b00011100; output_low(pin_C0); output_low(pin_C1); //==== Khoi tao cho ngat ngoai========================== enable_interrupts (INT_EXT); ext_int_edge(H_TO_L); enable_interrupts (GLOBAL); //=========== Khoi tao che cho bo ADC================ setup_adc_ports(AN0); setup_adc(ADC_CLOCK_INTERNAL); LCD_init(); LCD_putcmd(0x01); LCD_putchar("do_nhiet_do:"); LCD_putcmd(0xC0); LCD_putchar("cho ty nhe "); delay_us(10);// Lay mau nhiet lan dau tien value=(float)read_adc(); value = (value - 558.5)/2.048; // For 5V supply // value = (value - 754.8)/2.048; // For 3.7V Supply // value = (value - 698.2)/2.048; // For 4V supply convert_bcd(value); // Tach so tram, chuc, donvi de hien thi len LED delay_ms(100); LCD_putcmd(0xC0); LCD_putchar("Ok delay_ms(100); while(1) { banphim(); if (i==10) { if(nutbam==0xaa) "); Đề tài: BÁO CÁO THỰC TẬP VI ĐIỀU KHIỂN { value = read_adc(); value=(value-558.5)/2.048; LCD_putcmd(0xC0); printf(LCD_putchar,"Nhiet la:"); LCD_putchar(high); LCD_putchar(low); printf(LCD_putchar," C"); i=0; } else { } }// if (value max ) output_high(pin_C0); else output_low(pin_C0); i++; } } //The End============================================ 3.3 Sơ đồ mạch in hệ thống : Đề tài: BÁO CÁO THỰC TẬP VI ĐIỀU KHIỂN Đề tài: BÁO CÁO THỰC TẬP VI ĐIỀU KHIỂN NHẬN XÉT (Của quan thực tập) ………………………………………………………………………………… ………………………………………………………………………………… ………………………………………………………………………………… ………………………………………………………………………………… ………………………………………………………………………………… ………………………………………………………………………………… ………………………………………………………………………………… ………………………………………………………………………………… ………………………………………………………………………………… ………………………………………………………………………………… ………………………………………………………………………………… ………………………………………………………………………………… ………………………………………………………………………………… ………………………………………………………………………………… ………………………………………………………………………………… Xác nhận đơn vị thực tập Ngƣời viết nhận xét (Ký tên, ghi rõ họ tên, đóng dấu) (Ký, ghi rõ họ tên) Đề tài: BÁO CÁO THỰC TẬP VI ĐIỀU KHIỂN NHẬN XÉT (Của giảng viên hướng dẫn) ………………………………………………………………………………… ………………………………………………………………………………… ………………………………………………………………………………… ………………………………………………………………………………… ………………………………………………………………………………… ………………………………………………………………………………… ………………………………………………………………………………… ………………………………………………………………………………… ………………………………………………………………………………… ………………………………………………………………………………… ………………………………………………………………………………… ………………………………………………………………………………… ………………………………………………………………………………… ………………………………………………………………………………… ………………………………………………………………………………… Giảng viên hƣớng dẫn (Ký, ghi rõ họ tên)

Ngày đăng: 20/06/2016, 21:46

Từ khóa liên quan

Mục lục

  • MỤC LỤC

  • CHƯƠNG 1: TỔNG QUAN VỀ VI ĐIỀU KHIỂN

  • 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.1.3 CẤU TRÚC TỔNG QUAN CỦA VDK

  • 1.2 KHÁI QUÁT VỀ VI ĐIỀU KHIỂN PIC

  • 1.2.1 PIC LÀ GÌ ?

  • 1.2.2 KIẾN TRÚC PIC

    • 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

    • 1.2.6 NGÔN NGỮ LẬP TRÌNH CHO PIC

      • 1.2.7 MẠCH NẠP PIC

      • 1.3 VI ĐIỀU KHIỂN PIC16F877A

      • 1.3.1 CÁC DẠNG SƠ ĐỒ CHÂN

        • 1.3.2 SƠ ĐỒ KHỐI VI ĐIỀU KHIỂN PIC16F877A

        • 1.3.3 CHỨC NĂNG CÁC CHÂN CỦA PIC16F877A

        • 1.3.4 ĐẶC ĐIỂM VI ĐIỀU KHIỂN PIC16F877A

          • 1.3.5 BỘ NHỚ CHƯƠNG TRÌNH

          • 1.3.6 BỘ NHỚ DỮ LIỆU

          • 1. THANH GHI CHỨC NĂNG ĐẶC BIỆT SFR

          • 1.3.7 STACK

          • CHƯƠNG 2: PHÂN TÍCH THIẾT KẾ HỆ THỐNG

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

Tài liệu liên quan