Vi điều khiển PIC16F886

0
1006

PIC16F886 là một trong những vi điều khiển 8-bit được sản xuất bằng công nghệ nano-watt. Nó được hầu hết các nhà phát triển ưa thích để thử nghiệm do có nhiều chức năng với mức giá rẻ. 

Nó có 28 chân, một bộ dao động bên trong có thể thay đổi ở một phạm vi cụ thể thông qua lập trình. Bộ nhớ flash 16 byte của bộ điều khiển này đủ tốt cho hầu hết các ứng dụng.

PIC16F886 đi kèm với các chế độ tiết kiệm năng lượng tự động và bộ hẹn giờ cơ quan giám sát giúp bộ điều khiển đáng tin cậy hơn. Nó cũng có nhiều gói để giải quyết nhiều yêu cầu về mạch. Nó cũng đi kèm với hai chân lập trình trên vi điều khiển giúp bạn dễ dàng lập trình.

Các tính năng này được liệt kê theo biểu dữ liệu.

Tên Các tính năng
Kiến trúc CPU 8-bit RISC Pipelined
Tần số CPU 20MHz
Dải điện áp hoạt động (2.0V-5.5V)
GPIO PORTS 26 chân I / O
Ngắt ngắt bên ngoài RB0
Bộ hẹn giờ 2 bộ định thời 8 bit và một bộ định thời 16 bit
PWM 1 CCP và 1 mô-đun ECCP
UART Một kênh UART
I2C Một kênh I2C
SPI Một kênh SPI
LAN không có sẵn
CAN không có sẵn
ADC 11 kênh
DAC Không có sẵn
Enhanced USART Module 1 kênh
SRAM 368 bytes
FLASH ( Program Memory) 8192 bytes
EEPROM 256 bytes
Comparator 2

Sơ đồ chân Vi điều khiển PIC16F886 Pic

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ị ở đây theo biểu dữ liệu:

Sơ đồ chân Vi điều khiển PIC16F886 Pic

PIN CUNG CẤP ĐIỆN

PIC16F886 nhiều chân nối đất nhưng nó chỉ có một chân nguồn. PIC có thể được cấp nguồn từ chân nguồn nhưng do có hai chân nối đất nên bất kỳ chân nối đất nào cũng có thể được sử dụng vì cả hai đều được kết nối bên trong.

Một mặt đất có thể được sử dụng để làm điểm nối đất chung với nguồn điện và mặt đất thứ hai có thể được sử dụng để làm điểm nối chung cho thiết bị vận hành khác với bộ điều khiển. Chân nguồn và chân nối đất trong bộ vi điều khiển là:

  • VSS / Ground – Pin 8
  • VSS / Ground – Pin 19
  • VSS / Ground – Pin 19
  • VDD / Ground – Pin 20

PIN ĐỒNG HỒ / OSCILLATOR

PIC16F886 đi kèm với một đồng hồ bên trong nhưng đôi khi các thiết bị bên ngoài của nó yêu cầu bộ dao động / đồng hồ khác nhau do yêu cầu thiết kế của chúng. Để giải quyết vấn đề của chúng, các chân đồng hồ / bộ dao động bên ngoài sẽ được sử dụng trên bộ điều khiển. Các chân dao động có hai trong số một được sử dụng cho đầu vào và thứ hai được sử dụng cho đầu ra:

  • OSC1/CLKIN – Pin 9
  • OSC2/CLKOUT – Pin 10

Số pin đầu ra kỹ thuật số

Giống như các vi điều khiển khác PIC16F886 cũng có các chân đầu ra kỹ thuật số. Tổng số chân của PIC16F886 là 28 trong đó 24 chân là chân xuất kỹ thuật số. Các chân này chỉ cung cấp đầu ra ở các trạng thái logic.

Trong PIC16F886 có 4 cổng, ba trong số chúng được sử dụng cho Đầu vào-Đầu ra Mục đích Chung. Hai trong số chúng (A & B) cho đầu ra ở dạng TTL và cổng thứ ba (C) cho đầu ra ở dạng Schematic Trigger (ST).

Công suất tối đa trên các chân này sẽ không nhiều hơn nguồn điện của bộ vi điều khiển. Đầu ra trên các chân này sẽ là 0 cho đến khi nó được thay đổi thông qua lập trình. Các chân đầu ra kỹ thuật số của PIC16F886 là:

  • RA0 – GPIO2
  • RA1 – GPIO3
  • RA2 – GPIO4
  • RA3 – GPIO5
  • RA4 – GPIO6
  • RA5 – GPIO7
  • RA6 – GPIO10
  • RA7 – GPIO9
  • RA7 – GPIO9
  • RB0 – GPIO21
  • RB1 – GPIO22
  • RB2 – GPIO23
  • RB3 – GPIO24
  • RB4 – GPIO25
  • RB4 – GPIO25
  • RB5 – GPIO26
  • RB6 – GPIO27
  • RB7 – GPIO28
  • RC0 – GPIO11
  • RC1 – GPIO12
  • RC1 – GPIO12
  • RC2 – GPIO13
  • RC3 – GPIO14
  • RC4 – GPIO15
  • RC5 – GPIO16
  • RC6 – GPIO17
  • RC7 – GPIO18

Số pin đầu vào kỹ thuật số

Trong PIC16F886 ngoại trừ chân nguồn, tất cả các chân đều có thể được sử dụng làm chân đầu vào. Tất cả 4 cổng có thể được điều khiển bằng lập trình như một đầu vào. Đầu vào trên Cổng A, C, E sẽ cần đầu vào dựa trên TTL để hoạt động nhưng Cổng B sẽ chỉ hoạt động với đầu vào dựa trên ST. Danh sách tất cả 25 chân đầu vào của PIC16F886 được đưa ra dưới đây:

  • RA0 – GPIO2
  • RA1 – GPIO3
  • RA2 – GPIO4
  • RA3 – GPIO5
  • RA4 – GPIO6
  • RA5 – GPIO7
  • RA6 – GPIO10
  • RA7 – GPIO9
  • RB0 – GPIO21
  • RB1 – GPIO22
  • RB2 – GPIO23
  • RB3 – GPIO24
  • RB4 – GPIO25
  • RB5 – GPIO26
  • RB6 – GPIO27
  • RB7 – GPIO28
  • RC0 – GPIO11
  • RC1 – GPIO12
  • RC2 – GPIO13
  • RC3 – GPIO14
  • RC4 – GPIO15
  • RC5 – GPIO16
  • RC6 – GPIO17
  • RC7 – GPIO18
  • RE3 – GPIO1

Mã PIN PWM

Chân PWN được biết đến như một xung có chân điều chế. Chúng được sử dụng để điều khiển đầu vào điện áp của các thiết bị DC. Các chân này có số lượng hạn chế do có nhiều thanh ghi tham gia vào bộ vi điều khiển để tạo ra PWM. Trong PIC16F886, có 4 chân PWM được đưa ra dưới đây:

  • P1A – GPIO13
  • P1B – GPIO23
  • P1C – GPIO22
  • P1D – GPIO25

Mã PIN giao tiếp SERIAL ASYNCHRONOUS

PIC16F886 cũng có một cổng giao tiếp nối tiếp không đồng bộ có thể được sử dụng để nhận và gửi dữ liệu từ bất kỳ thiết bị giao tiếp nối tiếp nào khác. Giao tiếp không đồng bộ giúp vi điều khiển giao tiếp với nhiều cảm biến và mô-đun và làm cho nó đáng tin cậy hơn cho các tác vụ thông minh. Giao tiếp nối tiếp cần hai chân truyền dữ liệu, một để gửi và một để nhận. Cả hai chân này được liệt kê bên dưới.

  • TX – GPIO17
  • RX – GPIO18

GIAO TIẾP SERIAL ĐỒNG BỘ

Bên cạnh Không đồng bộ còn có các giao tiếp nối tiếp đồng bộ cũng có sẵn trong vi điều khiển, đi kèm với ba chân. Một được sử dụng cho đầu vào đồng hồ, thứ hai được sử dụng để truyền dữ liệu và thứ ba sử dụng cho nguồn. Các chân này chủ yếu được sử dụng để lập trình vi điều khiển.

  • ICPCLK – GPIO27
  • ICPDAT – GPIO28
  • VPP – Pin1
  • PGM – GPIO14

PGM được sử dụng để cho phép lập trình nối tiếp đồng bộ ở điện áp thấp.

Giao tiếp SPI PIC16F886

Đây là kiểu giao tiếp nối tiếp thứ ba. Nó cũng giống như một phương thức giao tiếp nối tiếp đồng bộ được sử dụng để gửi và nhận dữ liệu và đồng hồ từ các đường truyền thông khác nhau. 

Nó có bốn đường giao tiếp, hai trong số đó được sử dụng để gửi và nhận dữ liệu, thứ ba được sử dụng để gửi xung đồng hồ nhưng đường giao tiếp thứ tư được gọi là slave select được sử dụng để chọn thiết bị ngoại vi. Trong trường hợp có nhiều bộ vi điều khiển ngoại vi hoạt động như một chân cắm chính và chân chọn phụ sẽ tăng số lượng và sẽ được sử dụng để chọn giữa nhiều thiết bị. Trong PIC16F886 các chân MSSP là:

  • SCK (CLOCK PIN) – GPIO14
  • SDO (SPI DATA OUTPUT) – GPIO16
  • SDI (SPI DATA INPUT) – GPIO15
  • SS’ (SLAVE SELECT) – GPIO7

Mã PIN giao tiếp I2C

Giao thức này hầu như tuân theo một bit cả SPI và giao tiếp nối tiếp không đồng bộ. Nó được sử dụng trong trường hợp có nhiều thiết bị ngoại vi. Nó đi kèm với hai đường giao tiếp; một được sử dụng cho tín hiệu đồng hồ tạo ra điều kiện khởi động của một thiết bị ngoại vi và sau đó thiết bị cụ thể đó bắt đầu gửi dữ liệu qua đường dữ liệu. Các chân cho giao tiếp I2C là:

  • SCL – GPIO14
  • SDA – GPIO15

Bộ vi điều khiển TIMERS PIC16F886

PIC16F886 đi kèm với ba bộ định thời, hai trong số đó là 8 bit (Timer0, Timer2) và bộ thứ ba (Timer1) là bộ định thời 16 bit. Timer1 cũng có một chân điều khiển được gọi là cổng hẹn giờ, được sử dụng để điều khiển bộ định thời từ một chân bên ngoài và Timer2 được điều khiển từ bên trong. Các chân hẹn giờ của bộ điều khiển là:

  • T0CKI – GPIO
  • T1CKI – GPIO
  • T1G’ (Timer1 gate) – GPIO

Time1 also has the ability to count the clock cycle by using a separate oscillator. To use the separate oscillator an external pin will be used:

  • T1OSO – GPIO11
  • T1OSI – GPIO12

Mã pin so sánh

Trong PIC16F886 có 2 bộ so sánh tương tự, cũng có tham chiếu điện áp. Các bộ so sánh này được sử dụng để so sánh các đầu vào tương tự và các đầu vào của chúng có thể được so sánh theo nguồn điện cung cấp và theo tham chiếu điện áp nhất định.

Đầu vào trong bộ so sánh được so sánh bằng tín hiệu tương tự không đảo. Các chân so sánh và chân tham chiếu của chúng trên PIC16F886 được liệt kê bên dưới:

  • C1IN (+) – GPIO5
  • C12IN0(-) – GPIO2
  • C12IN1(-) – GPIO3
  • C12IN2(-) – GPIO24
  • C12IN3(-) – GPIO22
  • C1OUT – GPIO6
  • C2IN (+) – GPIO4
  • C2OUT – GPIO7
  • VREF – /CVREF – GPIO4
  • VREF (+) – GPIO5

PIC16F886 phân tích đến kênh số

PIC16F886 cũng đi kèm với một bộ chuyển đổi tương tự sang kỹ thuật số. Nó có 14 đầu vào tương tự có thể chuyển đổi 14 tín hiệu dữ liệu đầu vào tương tự thành tín hiệu kỹ thuật số 10 bit. 

Nó cũng có khả năng chuyển đổi dữ liệu đầu vào sang kỹ thuật số theo tham chiếu điện áp nhất định. Điện áp của dữ liệu tương tự đầu vào và điện áp tham chiếu không được vượt quá dải công suất đầu vào của bộ vi điều khiển. Các chân analog trên PIC16F886 được đưa ra dưới đây:

  • AN0 – GPIO2
  • AN1 – GPIO3
  • VREF (-)/AN2 – GPIO4
  • VREF (+)/AN3 – GPIO5
  • AN4 – GPIO6
  • AN5 – GPIO7
  • AN6 – GPIO9
  • AN7 – GPIO10
  • AN8 – GPIO23
  • AN9 – GPIO24
  • AN10 – GPIO22
  • AN11 – GPIO25
  • AN12 – GPIO21
  • AN13 – GPIO26

Mô-đun CAPTURE / SO SÁNH / PWM NÂNG CAO

PIC16F886 đi kèm với một mô-đun cho phép người dùng điều khiển sự kiện theo thời gian. Chế độ chụp cho phép một sự kiện trong khoảng thời gian ngoại vi. Chế độ so sánh cho phép một sự kiện bên ngoài khi bộ điều khiển đã trôi qua một khoảng thời gian cụ thể và PWM chỉ được sử dụng để tạo ra tín hiệu PWM đơn giản theo thời gian của các tần số khác nhau. Tất cả ba chức năng này đều có trong một chân duy nhất và PIC16F886 có hai chân loại đó.

  • CCP1 – GPIO13
  • CCP2 – GPIO12

WAKEUP 

Trong PIC16F886 tất cả các chân đầu vào đều có thể được lập trình nhưng các chân đó yêu cầu logic TTL và ST để đánh thức vi điều khiển. Khi chân bên ngoài có điện áp thấp hoặc có khả năng điện áp có thể giảm xuống thì một chân đặc biệt được thiết kế trong PIC16F886 để đánh thức bộ điều khiển.

  • ULPWU – GPIO2

ĐẶT LẠI mã PIN

PIC16F886 có thể được đặt lại bên trong nhưng nó cũng có một chân cắm bên ngoài có thể được sử dụng bởi bất kỳ thiết bị hoặc nút nào khác để đặt lại bộ vi điều khiển trong trường hợp được yêu cầu.

  • MCLR’ – GPIO1

Các tùy chọn thay thế

Các vi điều khiển pic 8 bit khác là: PIC18F452, PIC18F4550, PIC16F46K22, PIC16F676

Tùy chọn tương đương

Các vi điều khiển tương đương khác là PIC16F882, PIC18F883

SƠ ĐỒ KHỐI PIC16F886

Sơ đồ khối bên trong của PIC16F886 được đưa ra dưới đây:

SƠ ĐỒ KHỐI PIC16F886

Ứng dụng PIC16F886

  • Nó được sử dụng trong hầu hết các dự án nhỏ tại nhà.
  • PIC16F886 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.
  • Hầu hết các máy pha cà phê và máy bán hàng tự động cũng sử dụng PIC16F886.

Lập trình PIC16F886

Để bắt đầu học lập trình vi điều khiển pic, bạn nên nắm rõ về các chân GPIO. Do đó, chúng tôi đã trình bày chi tiết về tất cả các chân và chức năng của chúng trong các phần trước. Chúng ta có thể sử dụng hợp ngữ hoặc lập trình c để lập trình vi điều khiển. Chúng tôi khuyên bạn nên xem các hướng dẫn bắt đầu này:

  • Lập trình hợp ngữ vi điều khiển pic
  • Lập trình vi điều khiển Pic trong c bằng Mikroc Pro cho PIC

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:

  1. 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.
  2. 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ã.
  3. 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.

Chúng tôi sẽ cập nhật phần này với các ví dụ lập trình bằng ngôn ngữ C nhúng trong phần này.

>>> Mời anh em xem thêm

Tôi là một người làm việc trong lĩnh vực cơ khí, thiết bị công nghiệp....Blog là nơi tôi chia sẻ thông tin hữu ích đến các bạn đọc.
Subscribe
Notify of
0 Bình luận
Inline Feedbacks
View all comments