Giới thiệu về PIC 16F877A
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ộ | 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 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 / CLKO | 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 :
- INTCON
-
PIE1
- PIR1
- PIE2
- PIR2
Source: https://suachuatulanh.edu.vn
Category : Tư Vấn Hỗ Trợ