Trong bài viết này, chúng ta sẽ cùng tìm hiểu về vi điều khiển PIC 16F877A. Đây là một vi điều khiển phổ biến và linh hoạt, được sử dụng rộng rãi trong các dự án kỹ thuật. Chúng ta sẽ khám phá các tính năng và thông số kỹ thuật của vi điều khiển này.
Contents
PIC16F877A là gì?
PIC16F877A là một Vi điều khiển PIC 40 chân và được sử dụng phổ biến trong các dự án và ứng dụng nhúng. Nó có ba bộ định thời, trong đó có 2 bộ định thời 8 bit và 1 bộ định thời 16 bit. Ngoài ra, nó hỗ trợ nhiều giao thức giao tiếp như giao thức nối tiếp, giao thức song song và giao thức I2C. Vi điều khiển này cũng hỗ trợ cả ngắt chân phần cứng và ngắt bộ định thời.
Bạn đang xem: Giới thiệu về PIC 16F877A
READ MORE:
Thông số kỹ thuật PIC16F877A
Dưới đây là một số thông số kỹ thuật của vi điều khiển PIC16F877A:
- CPU: PIC 8 bit
- Cấu trúc: 8
- Kích thước bộ nhớ chương trình (Kbyte): 14
- RAM (bytes): 368
- EEPROM/HEF: 256/HEF
- Số chân: 40
- Tốc độ CPU tối đa (MHz): 20
- Chọn chân ngoại vi (PPS): Không
- Bộ tạo dao động bên trong: Không
- Số bộ so sánh: 2
- Số kênh ADC: 14
- Độ phân giải ADC tối đa (bit): 10
- ADC với tính toán: Không
- Số bộ chuyển đổi DAC: 0
- Độ phân giải DAC tối đa: 0
- Tham chiếu điện áp nội bộ: Có
- Zero Cross Detect: Không
- Số bộ định thời 8 bit: 2
- Số bộ định thời 16 bit: 1
- Bộ định thời đo tín hiệu: 0
- Bộ định thời giới hạn phần cứng: 0
- Số đầu ra PWM: 0
- Độ phân giải PWM tối đa: 10
- Bộ định thời góc: Không
- Bộ tăng tốc toán học: Không
- Số module UART: 1
- Số module SPI: 1
- Số module I2C: 1
- Số module USB: 0
- Bộ định thời giám sát có cửa sổ (WWDT): Không
- CRC/Scan: Không
- Bộ tạo dao động được điều khiển bằng số: 0
- Cap. Touch Channels: 11
- LCD phân đoạn: 0
- Nhiệt độ hoạt động tối thiểu (°C): -40
- Nhiệt độ hoạt động tối đa (°C): 125
- Điện áp hoạt động tối thiểu (V): 2
- Điện áp hoạt động tối đa (V): 5.5
- Điện áp cao có thể: Không
Sơ đồ chân PIC16F877A
Dưới đây là sơ đồ chân của PIC16F877A và bảng thông tin chi tiết về từng chân:
STT | Tên chân | Mô tả |
---|---|---|
1 | MCLR / Vpp | Chân MCLR được sử dụng trong quá trình lập trình và kết nối với programer như PicKit. |
2 | RA0 / AN0 | Chân analog 0 hoặc chân 0 của PORTA. |
3 | RA1 / AN1 | Chân analog 1 hoặc chân 1 của PORTA. |
4 | RA2 / AN2 / Vref- | Chân analog 2 hoặc chân 2 của PORTA. |
5 | RA3 / AN3 / Vref+ | Chân analog 3 hoặc chân 3 của PORTA. |
6 | RA4 / T0CKI / C1out | Chân 4 của PORTA. |
7 | RA5 / AN4 / SS / C2out | Chân analog 4 hoặc chân 5 của PORTA. |
8 | RE0 / RD / AN5 | Chân analog 5 hoặc chân 0 của PORTE. |
9 | RE1 / WR / AN6 | Chân analog 6 hoặc chân 1 của PORTE. |
10 | RE2 / CS / AN7 | Chân 7 của PORTE. |
11 | Vdd | Chân nối đất của vi điều khiển PIC. |
12 | Vss | Chân dương của vi điều khiển PIC (+5V). |
13 | OSC1 / CLKI | Bộ tạo dao động bên ngoài / chân đầu vào clock. |
14 | OSC2 / CLKO | Bộ tạo dao động bên ngoài / chân đầu vào clock. |
15 | RC0 / T1OSO / T1CKI | Chân 0 của PORT C. |
16 | RC1 / T1OSI / CCP2 | Chân 1 của PORT C hoặc chân Timer / PWM. |
17 | RC2 / CCP1 | Chân 2 của PORT C hoặc chân Timer / PWM. |
18 | RC3 / SCK / SCL | Chân 3 của PORT C. |
19 | RD0 / PSP0 | Chân 0 của PORT D. |
20 | RD1 / PSPI | Chân 1 của PORT D. |
21 | RD2 / PSP2 | Chân 2 của PORT D. |
22 | RD3 / PSP3 | Chân 3 của PORT D. |
23 | RC4 / SDI / SDA | Chân 4 của PORT C hoặc chân Serial Data vào. |
24 | RC5 / SDO | Chân 5 của PORT C hoặc chân Serial Data ra. |
25 | RC6 / Tx / CK | Chân thứ 6 của PORT C hoặc chân phát của vi điều khiển. |
26 | RC7 / Rx / DT | Chân thứ 7 của PORT C hoặc chân thu của vi điều khiển. |
27 | RD4 / PSP4 | Chân 4 của PORT D. |
28 | RD5 / PSP5 | Chân 5 của PORT D. |
29 | RD6 / PSP6 | Chân 6 của PORT D. |
30 | RD7 / PSP7 | Chân 7 của PORT D. |
31 | Vss | Chân dương của vi điều khiển PIC (+5V). |
32 | Vdd | Chân nối đất của vi điều khiển PIC. |
33 | RB0 / INT | Chân thứ 0 của PORT B hoặc chân ngắt ngoài. |
34 | RB1 | Chân thứ 1 của PORT B. |
35 | RB2 | Chân thứ 2 của PORT B. |
36 | RB3 / PGM | Chân thứ 3 của PORT B hoặc kết nối với programmer. |
37 | RB4 | Chân thứ 4 của PORT B. |
38 | RB5 | Chân thứ 5 của PORT B. |
39 | RB6 / PGC | Chân thứ 6 của PORT B hoặc kết nối với programmer. |
40 | RB7 / PGD | Chân thứ 7 của PORT B hoặc kết nối với programmer. |
Xem thêm : Cách đọc điện trở 4, 5 vạch màu điện trở dán SMD
Bạn có thể thấy trong sơ đồ trên, mỗi chân của vi điều khiển PIC có thể thực hiện nhiều nhiệm vụ khác nhau. Ví dụ, chân số 25 có thể được sử dụng như một chân số 6 của cổng C kỹ thuật số (RC6) và cũng có thể được sử dụng như một chân phát (TX) cho giao tiếp nối tiếp. Do đó, cách sử dụng từng chân sẽ phụ thuộc vào mục đích cụ thể của dự án. Trong bài viết này, chúng ta sẽ tìm hiểu về hầu hết các chức năng của từng chân.
Mạch cơ bản PIC16F877A
Mỗi vi điều khiển PIC có một mạch cơ bản, giống như cấp nguồn cho vi điều khiển và cung cấp tần số hoạt động. Để cung cấp tần số cho vi điều khiển PIC16F877A, chúng ta sử dụng bộ dao động tinh thể trong phạm vi từ 4MHz đến 40MHz. Dưới đây là mạch cơ bản PIC16F877A mà bạn cần thiết kế:
Trong mạch trên:
- Chân số 1 (MCLR): Chân này được gọi là MCLR (Master Clear) và được kết nối với điện trở 10k-ohm và +5V để được sử dụng trong quá trình lập trình.
- Chân số 11 và chân số 32 (Vdd): Chân này là chân nguồn, được cấp +5V.
- Chân số 12 và chân số 31 (Vss): Chân này là chân nối đất, được cấp GND.
- Chân số 13 và chân số 14 (OSC1/OSC2): Đây là chân kết nối với bộ tạo dao động tinh thể 16MHz và tụ điện 33pF.
- LED: Một LED được gắn ở chân số 21 để kiểm tra việc hoạt động của vi điều khiển PIC.
Các cổng PIC16F877A
Vi điều khiển PIC16F877A có tổng cộng 5 cổng là:
- Cổng A: Có 6 chân (RA0 đến RA5).
- Cổng B: Có 8 chân (RB0 đến RB7).
- Cổng C: Có 8 chân không thẳng hàng.
- Cổng D: Có 8 chân không thẳng hàng.
- Cổng E: Có 3 chân (RE0 đến RE2).
Xem thêm : Quy đổi từ Mil – Thou sang Milimét (Mil – Thou sang mm)
Mỗi cổng được liên kết với hai thanh ghi là PortX và TRISX. Trong đó, TRISX quyết định cổng là đầu ra hay đầu vào, và PortX chứa giá trị thực của cổng.
Trình biên dịch PIC16F877A
Trình biên dịch chính thức dành cho vi điều khiển PIC16F877A là MPLAB C18, có thể tải về từ trang web chính thức của Microchip. Chúng ta viết code trong trình biên dịch và sau đó biên dịch nó. Sau khi biên dịch, một file hex được tạo ra và chúng ta sẽ tải nó vào vi điều khiển PIC.
Cổng nối tiếp PIC16F877A
Vi điều khiển PIC16F877A có một cổng nối tiếp, được sử dụng để giao tiếp dữ liệu. Chân số 25 là một chân TX, được sử dụng để gửi dữ liệu nối tiếp. Chân số 26 là một chân RX, được sử dụng để nhận dữ liệu nối tiếp.
Giao tiếp I2C PIC16F877A
Vi điều khiển PIC16F877A cũng có một cổng I2C để giao tiếp I2C. Chân số 18 là chân SCL (Serial Clock Line), và chân số 23 là chân SDA (Serial Data Line). Chúng ta có thể sử dụng cổng C làm cổng đơn giản hoặc thực hiện giao tiếp I2C với các chân của nó, tùy thuộc vào yêu cầu cụ thể của dự án.
READ MORE:
Ngắt PIC16F877A
Vi điều khiển PIC16F877A có 8 nguồn ngắt, có thể được tạo ra từ các sự kiện như bộ đếm thời gian hoặc sự thay đổi trạng thái của các chân. Ngắt PIC16F877A liên kết với 5 thanh ghi: INTCON, PIE1, PIR1, PIE2 và PIR2.
Với các tính năng và khả năng kỹ thuật hàng đầu, vi điều khiển PIC16F877A là lựa chọn lý tưởng cho các dự án kỹ thuật. Hãy khám phá và tận dụng những tiềm năng tuyệt vời của nó trong các ứng dụng của bạn!
Nguồn: https://cite.edu.vn
Danh mục: Học tập