Giới thiệu về PIC 16F877A

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 có ích 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 điều khiển PIC được sử dụng thông dụng 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 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 chi tiết cụ thể về PIC16F877a .

PIC16F877A là gì

PIC16F877A là một Vi điều khiển 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 mở màn 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 đo lường và thống kê
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 giao độ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 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 cụ thể đi kèm số thứ tự của chân, tên tương ứng và miêu 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, đa phần đượ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ộ giao động bên ngoài / chân đầu vào clock
14
OSC2 / CLKOModule điện tử 932*50
Bộ giao độ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 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
26
RC7 / Rx / DT
Chân thứ 7 của POCTC hoặc chân thu của Vi đ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 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 đ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 đ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 cung ứng đ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 cung ứng 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í .
Để cung ứng tần số cho vi điều khiển PIC, tất cả chúng ta sử dụng bộ giao động 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 giao động 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 xê dịch tinh thể ( 16MH z ) tại những chân này trên đường màu cam. Sau bộ xê dịch 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 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à chính bớ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 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 PIC, điều tiếp theo tất cả chúng ta cần làm là phong cách thiết kế một số ít code và sử dụng những cổng vi điều khiển 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 khởi đầu 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 ở đầu 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 sau cuối nằm ở chân số 27 đến chân số 30 .
Cổng E : có tổng số 3 chân khởi đầu 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ó 1 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 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 điều khiển PIC. Bạn phải gửi lệnh từ bộ vi đ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 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 sau 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ự phối hợp của toàn bộ 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 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 đ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 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 để 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 thực thi 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 thực thi 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ể thực thi hai tiếp xúc này với những chân của nó, vì thế nó trọn vẹn nhờ 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à một 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 :

Alternate Text Gọi ngay