Giới thiệu về PIC 16F877A

08/10/2022 admin
Giới thiệu tổng quan về PIC 16F877 A, khám phá PIC16F877A là gì, sơ đồ chân, công dụng những chân, thông số kỹ thuật kỹ thuật, datasheet và nhiều thông tin hữu dụng khácTrong bài viết này, Điện Tử Tương Lai sẽ trình làng cho những bạn về PIC 16F877 A. Đây là vi tinh chỉnh và điều khiển PIC được sử dụng phổ cập nhất vì tính linh động trong hoạt động giải trí, tính khả dụng và giá rẻ .

Bạn có thể tham khảo giá sản phẩm tại đây vi điều khiển PIC16F877A

 

Bạn đang đọc: Giới thiệu về PIC 16F877A

Điện Tử Tương Lai đã nhận được rất nhiều nhu yếu về PIC16F877a từ những sinh viên kỹ thuật vì vi điều khiển và tinh chỉnh PIC này được sử dụng nhiều trong những dự án Bất Động Sản kỹ thuật. Vì vậy, đó là nguyên do tại sao Điện Tử Tương Lai sẽ san sẻ toàn bộ thông tin cụ thể về PIC16F877a .

PIC16F877A là gì

PIC16F877A là một Vi điều khiển và tinh chỉnh PIC 40 chân và được sử dụng hầu hết trong những dự án Bất Động Sản và ứng dụng nhúng. Nó có năm cổng khởi đầu từ cổng A đến cổng E. Nó có ba bộ định thời trong đó có 2 bộ định thời 8 bit và 1 bộ định thời là 16 Bit. Nó tương hỗ nhiều giao thức tiếp xúc như giao thức tiếp nối đuôi nhau, giao thức song song, giao thức I2C. PIC16F877A tương hỗ cả ngắt chân phần cứng và ngắt bộ định thời .

Thông số kỹ thuật 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 xê dịch bên trong Không
Số bộ so sánh 2
Số opamp Không
Số kênh ADC 14
Độ phân giải ADC tối đa ( bit ) 10
ADC với giám sát 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ộ
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 số lượng 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 cường 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ó hành lang cửa số ( WWDT ) Không
CRC / Scan Không
Bộ tạo xê dịch được điều khiển và tinh chỉnh bằng số 0
Cap. Touch Channels 11
LCD phân đoạn 0
Nhiệt độ hoạt động giải trí tối thiểu ( * C ) – 40
Nhiệt độ hoạt động giải trí tối đa ( * C ) 125
Điện áp hoạt động giải trí tối thiểu ( V ) 2
Điện áp hoạt động giải trí tối đa ( V ) 5.5
Điện áp cao hoàn toàn có thể Không

Sơ đồ chân PIC16F877A

Hình dưới đây là Sơ đồ chân PIC16F877A. Ngoài ra còn có bảng thông tin chi tiết cụ thể đi kèm số thứ tự của chân, tên tương ứng và diễn đạt sơ lược về chân .

STT chân Tên chân Mô tả
1 MCLR / Vpp MCLR được sử dụng trong quy trình lập trình, hầu hết được liên kết 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 MCU
12 Vss Chân dương của MCU ( + 5V )
13 OSC1 / CLKI Bộ xê dịch bên ngoài / chân đầu vào clock
14 OSC2 / CLKOQuảng cáo đặt hàng nhập Bộ xê dịch 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 POCTC hoặc chân Timer / PWM
17 RC2 / CCP1 Chân 2 của POCTC hoặc chân Timer / PWM
18 RC3 / SCK / SCL Chân 3 của POCTC
19 RD0 / PSP0 Chân 0 của POCTD
20 RD1 / PSPI Chân 1 của POCTD
21 RD2 / PSP2 Chân 2 của POCTD
22 RD3 / PSP3 Chân 3 của POCTD
23 RC4 / SDI / SDA Chân 4 của POCTC hoặc chân Serial Data vào
24 RC5 / SDO Chân 5 của POCTC hoặc chân Serial Data ra
25 RC6 / Tx / CK Chân thứ 6 của POCTC hoặc chân phát của Vi điều khiển và tinh chỉnh
26 RC7 / Rx / DT Chân thứ 7 của POCTC hoặc chân thu của Vi tinh chỉnh và điều khiển
27 RD4 / PSP4 Chân 4 của POCTD
28 RD5 / PSP5 Chân 5 của POCTD
29 RD6 / PSP6 Chân 6 của POCTD
30 RD7 / PSP7 Chân 7 của POCTD
31 Vss Chân dương của MCU ( + 5V )
32 Vdd Chân nối đất của MCU
33 RB0 / INT Chân thứ 0 của POCTB hoặc chân ngắt ngoài
34 RB1 Chân thứ 1 của POCTB
35 RB2 Chân thứ 2 của POCTB
36 RB3 / PGM Chân thứ 3 của POCTB hoặc liên kết với programmer
37 RB4 Chân thứ 4 của POCTB
38 RB5 Chân thứ 5 của POCTB
39 RB6 / PGC Chân thứ 6 của POCTB hoặc liên kết với programmer
40 RB7 / PGD Chân thứ 7 của POCTB hoặc liên kết với programmer

Bạn hoàn toàn có thể thấy trong hình trên những chân của Vi điều khiển và tinh chỉnh PIC có nhiều hơn một tên, vì mỗi chân của PIC hoàn toàn có thể thực thi nhiều trách nhiệm .
Ví dụ, Chân số 25, nó hoàn toàn có thể được sử dụng như một chân số 6 cổng C kỹ thuật số ( RC6 ) và cũng hoàn toàn có thể được sử dụng như một Bộ phát ( TX ) cho tiếp xúc tiếp nối đuôi nhau .
Vì vậy nó sẽ tùy thuộc vào cách bạn muốn sử dụng từng chân. Trong bài hướng dẫn này tất cả chúng ta sẽ kiểm tra hầu hết những tính năng của chân .

Mạch cơ bản PIC16F877A

Mỗi vi tinh chỉnh và điều khiển PIC có một mạch cơ bản và nếu bạn không phong cách thiết kế mạch cơ bản thì nó sẽ không hoạt động giải trí .
Nó giống như cấp nguồn cho vi tinh chỉnh và điều khiển PIC và nó hoạt động giải trí ở mức + 5V .
Nếu bạn muốn bật quạt thì bạn sẽ làm gì ? Bạn chỉ cần phân phối điện cho nó và đó là những gì tất cả chúng ta sẽ làm với PIC nhưng trong trường hợp của PIC, tất cả chúng ta cũng cần phân phối tần số mà nó sẽ hoạt động giải trí .
Chúng ta cần thiết kế mạch cơ bản và mạch cơ bản này chứa hiệu suất cũng như tần số mà nó sẽ hoạt động giải trí .
Để phân phối tần số cho vi điều khiển và tinh chỉnh PIC, tất cả chúng ta sử dụng bộ xê dịch tinh thể và so với PIC 16F877 a, bạn hoàn toàn có thể sử dụng bộ xê dịch tinh thể dải tần từ 4MH z đến 40MH z .
Đây là Mạch cơ bản PIC16F877a mà bạn cần thiết kế :

Giải thích mạch trên
Chân số 1 : Chân này được gọi là MCLR ( Master Clear ) và tất cả chúng ta cần cấp 5V cho chân này trải qua điện trở 10 k – ohm .
Chân số 11 và chân số 32 : Các chân này được ký hiệu là Vdd nên tất cả chúng ta cũng cần cấp cho nó + 5V và bạn hoàn toàn có thể thấy những đường này có màu đỏ trong hình trên .
Chân số 12 và chân số 31 : Các chân này là Vss, vì thế tất cả chúng ta cấp GND ( nối đất ) tại chân này và những đường của nó có màu đen .
Chân số 13 và 14 : Các chân này được đặt tên là OSC1 ( Bộ tạo xê dịch 1 ) và OSC2 ( Bộ tạo xê dịch 2 ), giờ đây tất cả chúng ta phải gắn bộ tạo giao động tinh thể ( 16MH z ) tại những chân này trên đường màu cam. Sau bộ giao động tinh thể, tất cả chúng ta có tụ điện 33 pF và sau đó được nối đất .

Chúng ta đã phong cách thiết kế mạch cơ bản và giờ đây vi điều khiển và tinh chỉnh PIC đã sẵn sàng chuẩn bị hoạt động giải trí và bạn cũng hoàn toàn có thể thấy một LED được gắn ở chân số 21, đó là do tại tất cả chúng ta cũng cần kiểm tra xem nó có đang chạy hay không để tất cả chúng ta hoàn toàn có thể bật hoặc tắt đèn LED này .

Các cổng PIC16F877A

Trong mạch cơ bản, tất cả chúng ta đã sử dụng tổng thể những chân nguồn của vi điều khiển và tinh chỉnh PIC, trong khi tổng thể những chân cổng vẫn còn chưa được sử dụng .
Vì vậy, giờ đây khi tất cả chúng ta đã cấp nguồn cho bộ vi điều khiển và tinh chỉnh PIC, điều tiếp theo tất cả chúng ta cần làm là phong cách thiết kế 1 số ít code và sử dụng những cổng vi điều khiển và tinh chỉnh PIC. Đầu tiên tất cả chúng ta hãy xem xét những Cổng PIC16F877a .
PIC16F877a có tổng số 5 Cổng là :
Cổng A : có tổng số 6 chân khởi đầu từ chân số 2 đến chân số 7. Các chân cổng A được ký hiệu từ RA0 đến RA5 trong đó RA0 là ký hiệu của chân tiên phong của Cổng A .
Cổng B : có tổng số 8 chân mở màn từ chân số 33 đến chân số 40. Các chân cổng B được ký hiệu từ RB0 đến RB7 trong đó RB0 là ký hiệu của chân tiên phong của cổng B .
Cổng C : có tổng số 8 Chân. Các chân của nó không được thẳng hàng với nhau. Bốn chân tiên phong của cổng C nằm ở chân số 15 đến chân số 18, còn bốn chân sau cuối nằm ở chân số 23 đến chân số 26 .
Cổng D : có tổng số 8 chân. Các chân của nó cũng không thẳng hàng với nhau. Bốn chân tiên phong của cổng D nằm ở chân số 19 đến chân số 22, trong khi bốn chân ở đầu cuối nằm ở chân số 27 đến chân số 30 .
Cổng E : có tổng số 3 chân mở màn từ chân số 8 đến chân số 10. Các chân cổng E được ký hiệu từ RE0 đến RE2 trong đó RE0 là ký hiệu của chân tiên phong của cổng E .

Trước hết những gì bạn cần quyết định hành động là bạn muốn những chân cổng là nguồn vào hay đầu ra .
Giả sử bạn có một số ít cảm ứng và bạn muốn nhận giá trị của nó thì bạn phải liên kết cảm ứng này với vi điều khiển và tinh chỉnh PIC. Trong trường hợp này, chân PIC sẽ hoạt động giải trí như chân đầu vào vì nó sẽ nhập giá trị từ cảm ứng. Cảm biến gửi giá trị và PIC nhận nó .
Trong trường hợp bạn có động cơ DC và bạn muốn di chuyển động cơ DC đó bằng vi tinh chỉnh và điều khiển PIC. Bạn phải gửi lệnh từ bộ vi tinh chỉnh và điều khiển PIC đến động cơ DC để chân PIC hoạt động giải trí như chân đầu ra .

Mỗi cổng của vi điều khiển và tinh chỉnh PIC được link với hai thanh ghi ( register ), ví dụ những thanh ghi cổng D là PortD và TRISD .
Cả hai thanh ghi này đều có 8 bit vì cổng D có 8 chân .
TRISD quyết định hành động cổng là đầu ra hay nguồn vào và tất cả chúng ta cũng hoàn toàn có thể gán giá trị cho từng chân riêng không liên quan gì đến nhau. Nếu tất cả chúng ta đã gán 0 thì nó sẽ là đầu ra và nếu tất cả chúng ta đã gán 1 thì nó sẽ là nguồn vào .
Ví dụ : nếu tất cả chúng ta gán TRISD = 0x01, thì 7 chân tiên phong của cổng D sẽ là đầu ra nhưng chân ở đầu cuối sẽ là nguồn vào vì 0x01 là 00000001 trong hệ nhị phân .
Thanh ghi PortD chứa giá trị thực và giá trị này là sự tích hợp của tổng thể 8 chân .

Trình biên dịch PIC16F877a

Trình biên dịch chính thức của vi điều khiển và tinh chỉnh PIC là trình biên dịch MPLAB C18, có trên website chính thức của Microchip .
Chúng ta viết code trong trình biên dịch PIC và sau đó biên dịch nó. Sau khi biên dịch, một file hex được tạo và tất cả chúng ta sẽ tải lên trong bộ vi tinh chỉnh và điều khiển PIC .

Cổng nối tiếp PIC16F877a

PIC16F877a có một cổng tiếp nối đuôi nhau trong đó được sử dụng để tiếp xúc tài liệu .
Chân số 25 cũng hoạt động giải trí như TX vì thế nếu bạn muốn thực thi tiếp xúc tiếp nối đuôi nhau thì nó sẽ được sử dụng để gửi tài liệu tiếp nối đuôi nhau .
Chân 26 cũng hoạt động giải trí như RX, thế cho nên nếu bạn muốn triển khai tiếp xúc tiếp nối đuôi nhau thì nó sẽ được sử dụng để nhận tài liệu tiếp nối đuôi nhau .

Giao tiếp I2C PIC16F877a

PIC16F877a cũng có một cổng I2C hoàn toàn có thể thuận tiện triển khai tiếp xúc I2C .
Chân số 18 hoạt động giải trí như SCL, viết tắt của Serial Clock Line .
Chân số 23 hoạt động giải trí như SDA, là chữ viết tắt của Serial Data Line .
Bây giờ bạn hoàn toàn có thể thấy tất cả chúng ta có cổng tiếp nối đuôi nhau và cổng I2C trong cổng C, vì thế tất cả chúng ta hoàn toàn có thể sử dụng cổng C như một cổng đơn thuần nhưng cũng hoàn toàn có thể triển khai hai tiếp xúc này với những chân của nó, thế cho nên nó trọn vẹn phụ thuộc vào vào lập trình viên .

Ngắt PIC16F877a

PIC16F877a có tổng số 8 nguồn ngắt. Nguồn ngắt là 1 số ít sự kiện tạo ra ngắt, nguồn này hoàn toàn có thể là bộ đếm thời hạn như những ngắt được tạo sau mỗi 1 giây hoặc cũng hoàn toàn có thể là sự kiện đổi khác trạng thái chân, ví dụ điển hình như nếu trạng thái chân bị biến hóa sau đó ngắt sẽ được tạo ra .
Vì vậy, ngắt PIC16F877a hoàn toàn có thể được tạo ra bằng 8 cách sau :

  • Ngắt ngoài .
  • Ngắt bộ định thời ( Timer0 / Timer1 ) .
  • Thay đổi trạng thái cổng B .
  • Cổng Slave Song song Đọc / Ghi .
  • Bộ chuyển đổi A / D .
  • Nhận / Truyền tiếp nối đuôi nhau .
  • PWM ( CCP1 / CCP2 ) .
  • Thao tác ghi EEPROM .

Ngắt PIC16F877a được link với 5 thanh ghi dưới đây :

Liên kết:KQXSMB
Alternate Text Gọi ngay