Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 100 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
100
Dung lượng
4,42 MB
Nội dung
BÁO CÁO THỰC TẬP TỐT NGHIÊP 1 SV: LẠI VĂN ĐỨC BỘ CÔNG THƯƠNG TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI BÁO CÁO THỰC TẬP TỐT NGHIỆP Nghiên cứu về vi điều khiển pic và mạch điện ứng dụng Giáo viên hướng dẫn: Nguyễn Tuấn Anh Sinh viên thực hiện : Lại văn Đức CƠ SỞ VỀ PIC ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI BÁO CÁO THỰC TẬP TỐT NGHIÊP 2 SV: LẠI VĂN ĐỨC MỤC LỤC LỜI NỐI ĐẦU CHƯƠNG 1 TỔNG QUAN VỀ VI ĐIỀU KHIỂN 1.1 PIC LÀ GÌ ?? 1.2 KIẾN TRÚC PIC 1.4 RISC VÀ CISC 1.5 NGÔN NGỮ LẬP TRÌNH CHO PIC 1.6 MẠCH NẠP PIC CHƯƠNG 2 VI ĐIỀU KHIỂN PIC16F877A 2.1 SƠ ĐỒ CHÂN VI ĐIỀU KHIỂN PIC16F877A 2.2 MỘT VÀI THÔNG SỐ VỀ VI ĐIỀU KHIỂN PIC16F877A 2.3 SƠ ĐỒ KHỐI VI ĐIỀU KHIỂN PIC16F877A 2.4 TỔ CHỨC BỘ NHỚ 2.5 BỘ NHỚ DỮ LIỆU 2.6 MỘT SỐ THANH GHI ĐẶC BIỆT 2.7 STACK 2.8 CỔNG VÀO RA CƠ SỞ VỀ PIC ĐẠI HỌC CƠNG NGHIỆP HÀ NỘI BÁO CÁO THỰC TẬP TỐT NGHIÊP 3 SV: LẠI VĂN ĐỨC 2.9 TIMER 0 2.10 TIMER1 2.11 TIMER 2 2.12 MỘT VÀI NHẬN XÉT VỀ CÁC TIMER TRONG 16F877A 2.13 ADC 2.14 COMPARATOR 2.15 CCP 2.16 GIAO TIẾP NỐI TIẾP 2.17 GIAO TIẾP SONG SONG 2.18 TỔNG QUAN VỀ MỘT SỐ ĐẶC TÍNH CỦA CPU PHUÏ LUÏC 1 CODE CỦA CHƯƠNG TRÌNH CƠ SỞ VỀ PIC ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI BÁO CÁO THỰC TẬP TỐT NGHIÊP 4 SV: LẠI VĂN ĐỨC L ỜI NÓI ĐẦU Ngày nay, chúng ta thấy nhiều sản phẩm điện tử được dùng trong công nghiệp và gia dụng như các bộ điều khiển từ xa, máy in hoá đơn điện thoại, bộ điều chỉnh công suất tự động, máy giặt tự động hay bán tự động, lò vi sóng, các thiết bị đo, các thiết bị hiển thị và các sản phẩm khác. Điểm chung của các thiết bị này là phải có một linh kiện gọi là ‘vi điều khiển’, cho phép điều khiển việc phân chia khoảng thời gian và sắp đặt trình tự của các cơ cấu và quá trình xử lý, lưu giữ và xử lý dữ liệu trong hệ thống điều khiển. Việc sử dụng vi điều khiển không chỉ giảm chi phí cho quá trình tự động hoá mà còn làm cho quá trình trở nên linh hoạt hơn. Nhà thiết kế bớt căng thẳng hơn do việc ghép nối phức tạp với các thiết bị ngoại vi như ADC/DAC … và có thể tập trung vào các đối tượng ứng dụng và nội dung phát triển. Linh kiện này có thể lập trình được để làm cho hệ thống trở nên thông minh. Điều này hoàn toàn là có thể bởi vì việc xử lý dữ liệu có liên quan đến dung lượng bộ nhớ của các vi điều khiển. Các vi điều khiển có nhiều khối chức năng, có thể đáp ứng toàn bộ các yêu cầu chung của kỹ thuật tự động hoá. Trong quá trình thực hiện đề tài, được sự hướng dẫn tận tình của thầy giáo Nguyễn Tuấn Anh và các thầy cô khác trong khoa em đã có cơ hội chuyển kiến thức lý thuyết thành sản phẩm thực tế qua đề tài “ĐIỀU KHIỂN ĐÓNG MỞ CỬA TỰ ĐỘNG”, qua đó cũng đã hoàn thành được đề tài của mình. Tuy nhiên, với thời gian ngắn, trang thiết bị để phục vụ làm báo cáo chưa đầy đủ nên báo cáo không tránh khỏi những thiếu sót và hạn chế, em rất mong nhận được sự đóng góp, góp ý kiến của các thầy và các thầy,cô trong khoa điện tử và các bạn trong lớp là một điều rất tốt để báo cáo thực tập tốt nghiệp của chúng em thêm hoàn thiện. Em xin chân thành cảm ơn! CƠ SỞ VỀ PIC ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI BÁO CÁO THỰC TẬP TỐT NGHIÊP 5 SV: LẠI VĂN ĐỨC CHÖÔNG 1 TOÅNG QUAN VEÀ VI ÑIEÀU KHIEÅN PIC 1.1 PIC LAØ GÌ ?? 1.1.1 PIC là viết tắt của “Programable Intelligent Computer”, có thể tạm dịch là “máy tính thông minh khả trình” do hãng Genenral Instrument đặt tên cho vi điều khiển đầu tiên của họ: PIC1650 được thiết kế để dùng làm các thiết bị ngoại vi cho vi điều khiển CP1600. Vi điều khiển này sau đó được nghiên cứu phát triển thêm và từ đó hình thành nên dòng vi điều khiển PIC ngày nay. 1.1.2 Tại sao lại chọn pic Hiện nay trên thị trường có rất nhiều họ vi điều khiển như 8051, Motorola 68HC, AVR, ARM, trong đĩ cĩ vi điều khiển 8051 đã được học tại trường đại học.Em đã quyết định chọn họ vi điều khiển PIC để mở rộng vốn kiến thức và phát triển các ứng dụng trên công cụ này vì các nguyên nhân sau: Họ vi điều khiển này có thể tìm mua dễ dàng tại thị trường Việt Nam. Giá thành không quá đắt. Có đầy đủ các tính năng của một vi điều khiển khi hoạt động độc lập. Là một sự bổ sung rất tốt về kiến thức cũng như về ứng dụng cho họ vi điều khiển mang tính truyền thống: họ vi điều khiển 8051. Số lượng người sử dụng họ vi điều khiển PIC. Hiện nay tại Việt Nam cũng như trên thế giới, họ vi điều khiển này được sử dụng khá rộng rãi. Điều này tạo nhiều thuận lợi trong quá trình tìm hiểu và phát triển các ứng dụng như: số lượng tài liệu, số lượng các ứng dụng mở đã được phát triển thành công, dễ dàng trao đổi, học tập, dễ dàng tìm được sự chỉ dẫn khi gặp khó khăn,… Sự hỗ trợ của nhà sản xuất về trình biên dịch, các công cụ lập trình, nạp chương trình từ đơn giản đến phức tạp,… Các tính năng đa dạng của vi điều khiển PIC ,và các tình năng này ngày càng được phát triển Để có thể giải thích cụ thể lý do tại sao chọn pic là đối tượng nghiên cứu trong đồ án này em xin đưa ra một sư so sánh giữa vi điều khiển pic và 8051 (một dòng vi điều khiển đã khá quen thuộc trong qua trình học ở trường). CƠ SỞ VỀ PIC ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI BÁO CÁO THỰC TẬP TỐT NGHIÊP 6 SV: LẠI VĂN ĐỨC • So sánh với vi điều khiển 8051 Bộ vi điều khiển 8051 là bộ vi điều khiển đầu tiên thuộc họ vi điều khiển x51 được sản xuất bởi cơng ty intel,siemen,Advanced Micro Devices, Fujitsu, Philips. Sau đây là bảng so sánh các thơng số chính của hai dịng vi điều khiển này Vi điều khiển 8051 Vi điều khiển PIC Đặc tính Dung lượng Đặc tính Dung lượng ROM trên chip 4 K byte Rom trên chip 8 Kb RAM 128 byte RAM 368 byte Bộ định thời 2 Bộ định thời 3 Các chân vào ra 32 Các chân vào ra 40 Cổng nối tiếp 1 Cổng nối tiếp 2 Nguồn ngắt 6 Nguồn ngắt 15 Bảng 1.1 1.1.3.Các dòng vi điều khiển PIC Nếu phân chia theo độ rộng bus dữ liệu thì có 3 dòng vi điều khiển PIC CƠ SỞ VỀ PIC ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI BÁO CÁO THỰC TẬP TỐT NGHIÊP 7 SV: LẠI VĂN ĐỨC Hình 1.1 Các dòng vi điều khiển của Microchip 1.1.3.1. Vi điều khiển 8bit Đây là dòng sản phẩm bán chạy nhất của Microchip, vi điều khiển 8bit có một số đặc điểm chính sau: - Thiết kế theo kiến trúc Harvard - Độ rộng bus dữ liệu: 8bit CƠ SỞ VỀ PIC ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI PIC10 PIC12 PIC16 PIC18 PIC24 F PIC24 H dsPIC30 dsPIC33 PIC32 Vi điều khiển 8bit Vi điều khiển 32bit Vi điều khiển 16bit BÁO CÁO THỰC TẬP TỐT NGHIÊP 8 SV: LẠI VĂN ĐỨC - Mỗi lệnh được thực hiện trong 1 chu kỳ máy. - Độ rộng của bus giữa CPU và bộ nhớ chương trình có thể là 12, 14 hoặc 16 bit tùy theo mục đích thiết kế của từng loại vi điều khiển. Hình 1.2 Sơ đồ khối vi điều khiển 8bit của Microchip • Các dòng PIC 8bit bao gồm: 1.1.3.1.1.PIC10 Đây là dòng PIC với độ dài mã lệnh là 12 bit, tốc độ thực hiện lệnh: 1 triệu lệnh/giây. Ngoài bộ nhớ (ROM và RAM) dòng PIC này còn một số tài nguyên cơ bản như: Port xuất/nhập, Timer. 1.1.3.1.2. PIC12 PIC12 được chế tạo theo công nghệ nanoWatt, ngoài các tính năng như PIC10, dòng chip này còn được bổ sung thêm công cụ gỡ rối (debugging) tương thích với bộ công cụ MPLAB ICE-2. 1.1.3.1.3.PIC16 Khác với PIC10 và PIC12 là loại vi điều khiển cỡ nhỏ (chỉ gồm 8 chân), PIC16 là loại vi điều khiển 8bit loại trung. Dòng vi điều khiển này được bổ sung CƠ SỞ VỀ PIC ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI BÁO CÁO THỰC TẬP TỐT NGHIÊP 9 SV: LẠI VĂN ĐỨC thêm khá nhiều module như ADC, Timer, PWM, truyền thông nối tiếp Ngoài ra PIC16 còn được bổ sung tính năng “tiết kiệm nguồn điện” nhờ có thể hoạt động ở chế độ “Power Saving Sleep”. 1.1.3.1.4. PIC18 PIC18 được Microchip nâng tốc độ thực hiện lệnh lên 10 MIPS (10 triệu lệnh/giây), ngoài ra dòng chip này còn được bổ sung một số tính năng như: Có thể hoạt động ở chế độ nghỉ (sleep mode) với dòng tiêu thụ chỉ 0.1uA; có thể chuyển sang nguồn dao động dự phòng nếu nguồn dao động chính bị hỏng. Các chip thuộc dòng 18FxxJxx còn được tích hợp thêm module Ethernet chuẩn IEEE 802.3. 1.1.3.2. Vi điều khiển 16bit Dòng vi điều khiển 16bit của Microchip gồm PIC24 và dsPIC. 1.1.3.2.1. PIC24. PIC24 bao gồm hai dòng PIC24F và PIC24H. Một số đặc điểm chính của dòng PIC24F: CPU: - Thiết kế theo kiến trúc Harvard - Độ rộng bus dữ liệu: 16bit, độ dài mã lệnh: 24bit - Tốc độ thực hiện lệnh: 16 triệu lệnh/giây - Bộ nhân phần cứng 16bit x 16bit, thực hiện lệnh nhân trong 1 chu kỳ - Bộ chia phần cứng 32bit : 16bit . - Có hỗ trợ bộ dao động nội với tần số từ 31Khz đến 8 Mhz hoặc 32 Mhz nếu qua bộ nhân 4 lần. CƠ SỞ VỀ PIC ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI BÁO CÁO THỰC TẬP TỐT NGHIÊP 10 SV: LẠI VĂN ĐỨC - Được tích hợp bộ điều chỉnh điện áp, cho phép chíp có thể hoạt động khi điện áp nguồn bị rơi đột ngột (LDO- Low-Dropout) - Được tích hợp chuẩn JTAG. - Có tính năng giám sát nguồn dao động, vi điều khiển sẽ chuyển sang chế độ shutdown khi bị sự cố ở nguồn xung cung cấp. - Được tích hợp Watchdog Timer với bộ dao động RC độc lập. CƠ SỞ VỀ PIC ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI [...]... ngắn hơn, đơn giản hơn để đáp ứng yêu cầu mã hóa lệnh bằng một số lượng bit nhất đònh Vi điều khiển được tổ chức theo kiến trúc Havard còn được gọi là 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òn được gọi là vi điều khiển CISC (ComplexInstruction Set Computer) hay vi điều khiển có tập lệnh phức tạp... của một vi điều khiển Qua vi c tách rời bộ nhớ chương trình và bộ nhớ dữ liệu, bus chương trình và bus dữ liệu, CPU có thể cùng một lúc truy xuất cả bộ nhớ chương trình và bộ nhớ dữ liệu, giúp tăng tốc độ xử lí của 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 dữ liệu nữa mà có thể linh động điều chỉnh tùy theo khả năng và tốc độ của từng vi điều khiển Và để tiếp... cho tất cả các vi điều khiển PIC, tuy nhiên giá thành rất cao và thường gặp rất nhiều khó khăn trong quá trình mua sản phẩm Ngoài ra do tính năng cho phép nhiều chế độ nạp khác nhau, còn có rất nhiều mạch nạp được thiết kế dành cho vi điều khiển PIC Có thể sơ lược một số mạch nạp cho PIC như sau: JDM programmer: mạch nạp này dùng chương trình nạp Icprog cho phép nạp các vi điều khiển PIC có hỗ trợ tính... hồn tồn được điều khiển bởi CPU 2.8 CỔNG VÀO RA Cổng xuất nhập (I/O port) chính là phương tiện mà vi điều khiển dùng để tương tác với thế giới bên ngồi Sự tương tác này rất đa dạng và thơng qua q trình tương tác đó, chức năng của vi điều khiển được thể hiện một cách rõ ràng Một cổng xuất nhập của vi điều khiển bao gồm nhiều chân (I/O pin), tùy theo cách bố trí và chức năng của vi điều khiển mà số lượng... (địa chỉ 85h) : điều khiển xuất nhập CMCON (địa chỉ 9Ch) : thanh ghi điều khiển bộ so sánh CVRCON (địa chỉ 9Dh) : thanh ghi điều khiển bộ so sánh điện áp ADCON1 (địa chỉ 9Fh) : thanh ghi điều khiển bộ ADC 2.8.2 PORTB PORTB (RPB) gồm 8 pin I/O Thanh ghi điều khiển xuất nhập tương ứng là TRISB Bên cạnh đó một số chân của PORTB còn được sử dụng trong q trình nạp chương trình cho vi điều khiển với các chế... các trình biên dịch kể trên thì CCS đã được chọn lựa để vi t chương trình cho pic 1.5 MẠCH NẠP PIC Đây cũng là một dòng sản phẩm rất đa dạng dành cho vi điều khiển PIC Có thể sử dụng các mạch nạp được cung cấp bởi nhà sản xuất là hãng Microchip như: PICSTART plus, MPLAB ,ICD 2, MPLAB PM 3, PRO MATE II Có thể dùng các sản phẩm này để nạp cho vi điều khiển khác thông qua chương trình MPLAB Dòng sản phẩm... được vi điều khiển cất vào trong stack Khi một trong các lệnh RETURN, RETLW hat RETFIE được thực thi, giá trị PC sẽ tự động được lấy ra từ trong stack, vi điều khiển sẽ thực hiện tiếp chương trình theo đúng qui trình định trước CƠ SỞ VỀ PIC ĐẠI HỌC CƠNG NGHIỆP HÀ NỘI BÁO CÁO THỰC TẬP TỐT NGHIÊP 34 SV: LẠI VĂN ĐỨC Bộ nhớ Stack trong vi điều khiển PIC họ 16F87xA có khả năng chứa được 8 địa chỉ và hoạt... vi và bộ Timer0 PORTB còn được tích hợp chức năng điện trở kéo lên được điều khiển bởi chương trình Các thanh ghi SFR liên quan đến PORTB bao gồm: PORTB (địa chỉ 06h,106h) : chứa giá trị các pin trong PORTB TRISB (địa chỉ 86h,186h) : điều khiển xuất nhập OPTION_REG (địa chỉ 81h,181h) : điều khiển ngắt ngoại vi và bộ Timer0 2.8.3 PORTC PORTC (RPC) gồm 8 pin I/O Thanh ghi điều khiển xuất nhập tương ứng. .. thiết lập và điều khiển các khối chức năng được tích hợp bên trong vi điều khiển Có thể phân thanh ghi SFR làm hai lọai: thanh ghi SFR liên quan đến các chức năng bên trong (CPU) và thanh ghi SRF dùng để thiết lập và điều khiển các khối chức năng bên ngồi (ví dụ như ADC, PWM, …) Phần này sẽ đề cập đến các thanh ghi liên quan đến các chức năng bên trong Các thanh ghi dùng để thiết lập và điều khiển các... cho pic là ngơn ngữ bậc cao C vì đây là ngơn ngữ dễ tiếp cận và rất mạnh + Phần mềm biên dịch chương trình cho pic Để vi t firmware cho PIC thì có rất nhiều phần mềm, HTPIC, CCS, C18, C30, PICBasic, mikroC, mikroBasic, mikroPascal, CC5X, IAR for PIC + Mỗi loại này đều có những ưu điểm và nhược điểm riêng ta có thể điểm qua như sau: - Với HTPIC, trình dịch này có thể dịch cho gần như mọi loại PIC, HTPIC . QUAN VỀ VI ĐIỀU KHIỂN 1.1 PIC LÀ GÌ ?? 1.2 KIẾN TRÚC PIC 1.4 RISC VÀ CISC 1.5 NGÔN NGỮ LẬP TRÌNH CHO PIC 1.6 MẠCH NẠP PIC CHƯƠNG 2 VI ĐIỀU KHIỂN PIC1 6F877A 2.1 SƠ ĐỒ CHÂN VI ĐIỀU KHIỂN PIC1 6F877A. NỘI BÁO CÁO THỰC TẬP TỐT NGHIỆP Nghiên cứu về vi điều khiển pic và mạch điện ứng dụng Giáo vi n hướng dẫn: Nguyễn Tuấn Anh Sinh vi n thực hiện : Lại văn Đức CƠ SỞ VỀ PIC ĐẠI HỌC CÔNG NGHIỆP HÀ. 1.1.3.1.3 .PIC1 6 Khác với PIC1 0 và PIC1 2 là loại vi điều khiển cỡ nhỏ (chỉ gồm 8 chân), PIC1 6 là loại vi điều khiển 8bit loại trung. Dòng vi điều khiển này được bổ sung CƠ SỞ VỀ PIC ĐẠI HỌC