Tổng quan về vi điều khiển Microchip PIC16F886
- PIC16F886 là một bộ vi điều khiển tốt cho việc thử nghiệm và phát triển các ứng dụng vì nó có chu kỳ ghi lại bộ nhớ flash cao. Ngoài ra còn có rất nhiều hướng dẫn và hỗ trợ có sẵn trực tuyến. Bộ điều khiển có bộ nhớ flash 16KBytes đủ cho nhiều ứng dụng. Cùng với 24 chân Đầu vào/đầu ra có thể lập trình được phát triển để xử lý dòng điện 20mA (khả năng điều khiển đèn LED trực tiếp), hệ thống có thể giao tiếp với nhiều thiết bị ngoại vi một cách dễ dàng. Với bộ đếm thời gian Watchdog để tự động đặt lại khi có lỗi, bộ điều khiển có thể được sử dụng để phát triển các ứng dụng cài đặt cố định.

Các tính năng của vi điều khiển
CPU | 8 bit |
Tổng số chân | 28 |
Chân lập trình | 24 |
Phương thức giao tiếp | Giao diện nối tiếp SPI (7,14,15,16 PINS) [Có thể được sử dụng để lập trình bộ điều khiển này] Giao diện UART (17,18 PINS) [Có thể được sử dụng để lập trình bộ điều khiển này] Giao diện nối tiếp hai dây hoặc I2C(14,15 PINS) [Có thể được sử dụng để kết nối cảm biến và màn hình LCD] ICSP hoặc Giao diện lập trình nối tiếp trong mạch (27,28 chân) [Có thể được sử dụng để lập trình bộ điều khiển này] |
Tính năng ADC | 11 kênh có độ phân giải 10 bit |
Tính năng hẹn giờ | Một bộ đếm 8 bit, Hai bộ đếm 16 bit |
Bộ so sánh tương tự | 2 |
kênh xung điện | 4 |
Bộ dao động bên ngoài | Lên đến 20 MHz |
Bộ dao động nội bộ | Bộ tạo dao động RC bên trong 31KHz-8 MHz nổi bật với: Nhà máy hiệu chuẩn đến ±1% Dải tần có thể lựa chọn bằng phần mềm từ 8 MHz đến 31 kHz Phần mềm có thể điều chỉnh Phát hiện lỗi Crystal cho các ứng dụng quan trọng Chuyển đổi chế độ đồng hồ trong quá trình hoạt động để tiết kiệm điện |
Bộ nhớ chương trình/Bộ nhớ Flash | 16Kbyte [100000 chu kỳ ghi/xóa] |
Tốc độ CPU | 1MIPS @ 1 MHz |
ĐẬP | 368Byte |
EEPROM | 256Byte |
Bộ đếm thời gian giám sát | Bộ đếm thời gian Watchdog có thể lập trình với bộ dao động trên chip riêng biệt |
Chế độ tiết kiệm năng lượng | Có sẵn |
Điện áp hoạt động | 2.0V đến 5.5V |
Dòng điện tối đa tới bất kỳ chân I/O nào | VÀO: 25mA RA: 25mA |
Nhiệt độ hoạt động | -40°C đến +125°C |
Sơ đồ chân của vi điều khiển PIC16F886
Sơ đồ cấu hình chân và các tính năng của bộ vi điều khiển pic 8-bit này được hiển thị dưới đây:

Số chân | Tên chân | Mô tả chân |
1 | RE3/MCLR/VPP | RE3: Chân 3 của Cổng E MCLR: Xóa đầu vào chính hoặc chân đặt lại VPP: Lập trình điện áp |
2 | RA0/AN0/ULPWU/C12IN0- | RA0: Chân 0 của Cổng A AN0: Đầu vào tương tự 0 ULPWU: Đầu vào kích hoạt công suất cực thấp C12IN0-: Đầu vào âm của bộ so sánh C1 hoặc C2 |
3 | RA1/AN1/C12IN1- | RA1: Chân 1 của Cổng A AN1: Đầu vào tương tự 1 C12IN1-: Đầu vào âm của bộ so sánh C1 hoặc C2 |
4 | RA2/AN2/VREF-/CVREF/C2IN+ | RA2: Chân 2 của Cổng A AN2: Đầu vào tương tự 2 VREF-: Đầu vào điện áp tham chiếu A/D (thấp) CVREF: Đầu ra tham chiếu điện áp so sánh C2IN+: Đầu vào dương của bộ so sánh C2 |
5 | RA3/AN3/VREF+/C1IN+ | RA3: Chân 3 của Cổng A AN3: Đầu vào tương tự 3 VREF+: Đầu vào điện áp tham chiếu A/D (cao) C1IN+: Đầu vào dương của bộ so sánh C1 |
6 | RA4/T0CKI/C1OUT | RA4: Chân 4 của cổng A T0CKI: Đầu vào đồng hồ bên ngoài Hẹn giờ0 C1OUT: Đầu ra bộ so sánh C1 |
7 | RA5/AN4/SS/ C2OUT | RA5: Chân 5 của cổng A AN4: Đầu vào tương tự 4 SS: Đầu vào chọn giao tiếp SPI C2OUT: Đầu ra bộ so sánh C2 |
8 | VSS | Nối đất |
9 | RA7/OSC1/CLKIN | RA7: Chân 7 của cổng A OSC1:Chân dao động 1 CLKI: Đầu vào nguồn đồng hồ bên ngoài |
10 | RA6/OSC2/CLKOUT | RA6: Chân 6 của Cổng A OSC2: Chân dao động 2 CLKO: Đầu ra nguồn đồng hồ |
11 | RC0/T1OSO/T1CKI | RC0: Chân 0 của cổng C T1OSO : Đầu ra bộ dao động hẹn giờ 1 T1CKI: Đầu vào đồng hồ bên ngoài Hẹn giờ1 |
12 | RC1/T1OSI/CCP2 | RC1: Chân 1 của cổng C T1OSI: Đầu vào bộ dao động Hẹn giờ1 CCP2: Chụp 2 đầu vào/So sánh 2 đầu ra/đầu raPWM2 |
13 | RC2/P1A/CCP1 | RC2: Chân 2 của Cổng C P1A: Đầu ra PWM CCP1: Chụp 1 đầu vào/So sánh 1 đầu ra/đầu raPWM1. |
14 | RC3/SCK/SCL | RC3: Chân 3 của cổng C SCK: Đồng hồ SPI SCL: Đồng hồ I2C |
15 | RC4/SDI/SDA | RC4: Chân 4 của cổng C SDI: Dữ liệu đầu vào SPI SDA: Vào/ra dữ liệu I2C |
16 | RC5/SDO | RC5: Chân 5 của cổng C SDO: Dữ liệu SPI ra |
17 | RC6/TX/CK | RC6: Chân 6 của cổng C TX: Truyền không đồng bộ EUSART CK: Đồng hồ đồng bộ EUSART |
18 | RC7/RX/DT | RC7: Chân 7 của Cổng C RX: Nhận không đồng bộ EUSART DT: Dữ liệu đồng bộ EUSART |
19 | VSS | Nối đất |
20 | VDD | Cung cấp nguồn |
21 | RB0/AN12/INT | RB0: Chân 0 của cổng B AN12: Đầu vào tương tự 12 INT: Ngắt ngoài |
22 | RB1/AN10/P1C/C12IN3- | RB1: Chân 1 của Cổng B AN10: Đầu vào tương tự 10 P1W: Đầu ra PWM C12IN3-: Đầu vào âm của bộ so sánh C1 hoặc C2 |
23 | RB2/AN8/P1B | RB2: Chân 2 của cổng B AN8: Đầu vào tương tự 8 P1B: Đầu ra PWM |
24 | RB3/AN9/PGM/C12IN2- | RB3: Chân 3 của cổng B AN9: Đầu vào tương tự 9 PGM: Chân cho phép lập trình ICSP điện áp thấp C12IN2-: Đầu vào âm của bộ so sánh C1 hoặc C2 |
25 | RB4/AN11/P1D | RB4: Chân 4 của cổng B AN11: Đầu vào tương tự 11 P1D: Đầu ra PWM |
26 | RB5/AN13/T1G | RB5 Chân 5 của cổng B AN13: Đầu vào tương tự 13 T1G: Đầu vào cổng hẹn giờ 1 |
27 | RB6/ICSPCLK | RB6: Chân 6 của cổng B ICSPCLK: Đồng hồ lập trình nối tiếp |
28 | RB7/ICSPDAT | RB7: Chân 7 của cổng B ICSPDAT: Vào/ra dữ liệu ICSP |
Sơ đồ khối của Vi điều khiển PIC16F886

Cách sử dụng vi điều khiển PIC16F886
Giống như bất kỳ bộ vi điều khiển nào khác, PIC16F886 cần được lập trình trước khi chip hoạt động. Vì vậy, để PIC16F886 hoạt động, trước tiên chúng ta cần lưu tệp chương trình thích hợp vào bộ nhớ FLASH của bộ điều khiển. Sau khi được cấp nguồn, bộ điều khiển sẽ thực thi mã này được lưu trong bộ nhớ FLASH để tạo phản hồi.
Toàn bộ quá trình lập trình PIC16F886 diễn ra như sau:
- Đầu tiên liệt kê tất cả các chức năng sẽ được thực thi bởi bộ điều khiển này.
- Tiếp theo viết các hàm này vào “phần mềm IDE” bằng ngôn ngữ lập trình tương đối
- Sau khi viết chương trình mong muốn, biên dịch nó để loại bỏ lỗi
- Để biên dịch thành công, ứng dụng IDE sẽ tạo tệp HEX cho chương trình đã viết
- Chọn thiết bị lập trình (thường là ‘PIC kit 3’ hoặc ‘PIC kit 2’) để thiết lập giao tiếp giữa PC và PIC16F886
- Kết nối thiết bị lập trình với vi điều khiển phù hợp
- Chạy phần mềm kết xuất tệp HEX liên quan đến thiết bị lập trình đã chọn
- Chọn tệp HEX chương trình thích hợp và ghi tệp HEX này vào bộ nhớ flash PIC16F886
- Ngắt kết nối bộ lập trình và kết nối các thiết bị ngoại vi thích hợp cho bộ điều khiển
Sau khi kết nối nguồn, bộ điều khiển thực thi mã HEX này được lưu trong bộ nhớ (là chương trình được viết) và tạo phản hồi theo hướng dẫn.
Công cụ lập trình
Để bắt đầu lập trình, bạn cần có các thành phần phần mềm và phần cứng sau:
- Trình biên dịch hoặc IDE để viết chương trình bằng hợp ngữ hoặc ngôn ngữ C: Điều chính mà bạn sẽ nhập chương trình vi điều khiển đầu tiên của mình là trình biên dịch hoặc môi trường phát triển tích hợp. Ba trình biên dịch phổ biến nhất được sử dụng để lập trình vi điều khiển pic là MPLABX IDE, Mikro C cho PIC và trình biên dịch PIC CCS. Trình biên dịch được sử dụng để tạo tệp hex mà người dùng tải lên bộ vi điều khiển.
- Lập trình viên hoặc Trình ghi: Khi bạn viết xong mã của mình, bạn có một tệp hex mà bạn muốn tải lên bộ vi điều khiển. Chúng tôi sử dụng bộ lập trình hoặc bộ ghi để tải tệp nhị phân lên pic16f866. Pickit3 là một trong những lựa chọn tốt nhất để ghi mã.
- Bảng phát triển Pic: Bảng phát triển là tùy chọn nhưng chúng giúp quá trình phát triển của bạn trở nên rất dễ dàng. Bởi vì họ cung cấp các thiết bị ngoại vi trên bo mạch như đầu nối GPIO, Cảm biến, ADC, v.v.
Ứng dụng của Vi điều khiển PIC16F886
- PIC16F886 được sử dụng trong hầu hết các dự án nhỏ tại nhà.
- Nó cũng có trong một số mặt hàng thương mại do có nhiều chức năng trong một bộ điều khiển duy nhất.
- Để điều khiển tốc độ động cơ, PIC16F886 cũng được sử dụng.
- Máy pha cà phê và máy bán hàng tự động
Chưa có đánh giá nào.