Chức năng các chân của portA
1. Chân RA0/AN0
- RA0: xuất/ nhập số - bit thứ 0 của port A.
- AN0: ngõ vào tương tự của kênh thứ 0.
2. Chân RA1/AN1
- RA1: xuất/nhập số - bit thứ 1 của port A.
- AN1: ngõ vào tương tự của kênh thứ 1.
3. Chân RA2/AN2/VREF-/CVREF
- RA2: xuất/nhập số - bit thứ 2 của port A.
- AN2: ngõ vào tương tự của kênh thứ 2.
- VREF-: ngõ vào điện áp chuẩn (thấp) của bộ ADC.
- CVREF: điện áp tham chiếu VREF ngõ vào bộ so sánh.
4. Chân RA3/AN3/VREF+
- RA3: xuất/nhập số - bit thứ 3 của port A.
- AN3: ngõ vào tương tự kênh thứ 3.
- VREF+: ngõ vào điện áp chuẩn (cao) của bộ A/D.
5. Chân RA4/TOCKI/C1OUT
- RA4: xuất/nhập số – bit thứ 4 của port A.
- TOCKI: ngõ vào xung clock từ bên ngoài cho Timer0.
- C1OUT: ngõ ra bộ so sánh 1.
6. Chân RA5/AN4/ SS/ C2OUT
- RA5: xuất/nhập số – bit thứ 5 của port A.
- AN4: ngõ vào tương tự kênh thứ 4.
- SS : ngõ vào chọn lựa SPI tớ (Slave SPI device).
- C2OUT: ngõ ra bộ so sánh 2.
Chức năng các chân của portB
1 Chân RB0/INT
- RB0: xuất/nhập số – bit thứ 0 của port B.
- INT: ngõ vào nhận tín hiệu ngắt ngoài.
2. Chân RB1
- INT: ngõ vào nhận tín hiệu ngắt ngoài.
2. Chân RB1
- RB1: xuất/nhập số – bit thứ 1 của port B.
3. Chân RB2
- RB2: xuất/nhập số – bit thứ 2 của port B.
4. Chân RB3
- RB3: xuất/nhập số – bit thứ 3 của port B.
5. Chân RB4
- RB4: xuất/nhập số – bit thứ 4 của port B.
6. Chân RB5
- RB5: xuất/nhập số – bit thứ 5 của port B.
7.Chân RB6
- RB6: xuất/nhập số.
8. Chân RB7
- RB7: xuất/nhập số.
- RC0: xuất/nhập số – bit thứ 0 của port C.
- T1OSO: ngõ ra của bộ dao động Timer1.
- T1CKI: ngõ vào xung clock từ bên ngoài Timer1.
2. Chân RC1/T1OSI/CCP2 (16): có 3 chức năng:
- RC1: xuất/nhập số – bit thứ 1 của port C.
- T1OSI: ngõ vào của bộ dao động Timer1.
- CCP2: ngõ vào Capture2, ngõ ra compare2, ngõ ra PWM2.
3. Chân RC2 /P1A/CCP1 (17): có 3 chức năng:
- RC2: xuất/nhập số – bit thứ 2 của port C.
- P1A: ngõ ra PWM.
- CCP1: ngõ vào Capture1, ngõ ra compare1, ngõ ra PWM1 .
4. Chân RC3/SCK/SCL (18): có 3 chức năng:
- RC3: xuất/nhập số – bit thứ 3 của port C.
- SCK: ngõ vào xung clock nối tiếp đồng bộ/ngõ ra của chế độ SPI.
- SCL: ngõ vào xung clock nối tiếp đồng bộ/ngõ ra của chế độ I2C.
5. Chân RC4/SDI/SDA (23): có 3 chức năng:
- RC4: xuất/nhập số – bit thứ 4 của port C.
- SDI: ngõ vào dữ liệu trong truyền dữ liệu kiểu SPI.
- SDA: xuất/nhập dữ liệu I2C.
6. Chân RC5/SDO (24): có 2 chức năng:
- RC5: xuất/nhập số – bit thứ 5 của port C.
- SDO: ngõ xuất dữ liệu trong truyền dữ liệu kiểu SPI.
7. Chân RC6/TX/CK (25): có 3 chức năng:
- RC6: xuất/nhập số – bit thứ 6 của port C.
- TX: ngõ ra phát dữ liệu trong chế độ truyền bất đồng bộ USART.
- CK: ngõ ra cấp xung clock trong chế độ truyền đồng bộ USART.
8. Chân RC7/RX/DT
- RC7: xuất/nhập số – bit thứ 7 của port C.
- RX: ngõ vào nhận dữ liệu trong chế độ truyền bất đồng bộ EUSART.
- DT: ngõ phát và nhận dữ liệu ở chế độ truyền đồng bộ EUSART.
- RD0: xuất/nhập số – bit thứ 0 của port D.
- Chân RD1
2.RD1: xuất/nhập số – bit thứ 1 của port D.
3. Chân RD2
- RD2: xuất/nhập số – bit thứ 2 của port D.
4.Chân RD3
- RD3: xuất/nhập số – bit thứ 3 của port D.
5. Chân RD4
- RD4: xuất/nhập số – bit thứ 4 của port D.
6. Chân RD5
- RD5: xuất/nhập số – bit thứ 5 của port D.
- ngõ ra PWM.
7. Chân RD6
- RD6: xuất/nhập số – bit thứ 6 của port D.
8. Chân RD7
- RD7: xuất/nhập số – bit thứ 7 của port D.
3. Chân RB2
- RB2: xuất/nhập số – bit thứ 2 của port B.
4. Chân RB3
- RB3: xuất/nhập số – bit thứ 3 của port B.
5. Chân RB4
- RB4: xuất/nhập số – bit thứ 4 của port B.
6. Chân RB5
- RB5: xuất/nhập số – bit thứ 5 của port B.
7.Chân RB6
- RB6: xuất/nhập số.
8. Chân RB7
- RB7: xuất/nhập số.
Chức năng các chân của portC
1. Chân RC0/T1OSO/T1CKI (15): có 3 chức năng:- RC0: xuất/nhập số – bit thứ 0 của port C.
- T1OSO: ngõ ra của bộ dao động Timer1.
- T1CKI: ngõ vào xung clock từ bên ngoài Timer1.
2. Chân RC1/T1OSI/CCP2 (16): có 3 chức năng:
- RC1: xuất/nhập số – bit thứ 1 của port C.
- T1OSI: ngõ vào của bộ dao động Timer1.
- CCP2: ngõ vào Capture2, ngõ ra compare2, ngõ ra PWM2.
3. Chân RC2 /P1A/CCP1 (17): có 3 chức năng:
- RC2: xuất/nhập số – bit thứ 2 của port C.
- P1A: ngõ ra PWM.
- CCP1: ngõ vào Capture1, ngõ ra compare1, ngõ ra PWM1 .
4. Chân RC3/SCK/SCL (18): có 3 chức năng:
- RC3: xuất/nhập số – bit thứ 3 của port C.
- SCK: ngõ vào xung clock nối tiếp đồng bộ/ngõ ra của chế độ SPI.
- SCL: ngõ vào xung clock nối tiếp đồng bộ/ngõ ra của chế độ I2C.
5. Chân RC4/SDI/SDA (23): có 3 chức năng:
- RC4: xuất/nhập số – bit thứ 4 của port C.
- SDI: ngõ vào dữ liệu trong truyền dữ liệu kiểu SPI.
- SDA: xuất/nhập dữ liệu I2C.
6. Chân RC5/SDO (24): có 2 chức năng:
- RC5: xuất/nhập số – bit thứ 5 của port C.
- SDO: ngõ xuất dữ liệu trong truyền dữ liệu kiểu SPI.
7. Chân RC6/TX/CK (25): có 3 chức năng:
- RC6: xuất/nhập số – bit thứ 6 của port C.
- TX: ngõ ra phát dữ liệu trong chế độ truyền bất đồng bộ USART.
- CK: ngõ ra cấp xung clock trong chế độ truyền đồng bộ USART.
8. Chân RC7/RX/DT
- RC7: xuất/nhập số – bit thứ 7 của port C.
- RX: ngõ vào nhận dữ liệu trong chế độ truyền bất đồng bộ EUSART.
- DT: ngõ phát và nhận dữ liệu ở chế độ truyền đồng bộ EUSART.
Chức năng các chân của portD
1. Chân RD0 - RD0: xuất/nhập số – bit thứ 0 của port D.
- Chân RD1
2.RD1: xuất/nhập số – bit thứ 1 của port D.
3. Chân RD2
- RD2: xuất/nhập số – bit thứ 2 của port D.
4.Chân RD3
- RD3: xuất/nhập số – bit thứ 3 của port D.
5. Chân RD4
- RD4: xuất/nhập số – bit thứ 4 của port D.
6. Chân RD5
- RD5: xuất/nhập số – bit thứ 5 của port D.
- ngõ ra PWM.
7. Chân RD6
- RD6: xuất/nhập số – bit thứ 6 của port D.
8. Chân RD7
- RD7: xuất/nhập số – bit thứ 7 của port D.
Chức năng các chân của portE
1 Chân RE0/AN5 (8): có 2 chức năng:
- RE0: xuất/nhập số.
- AN5: ngõ vào tương tự 5.
2.Chân RE1/AN6 (9): có 2 chức năng:
- RE1: xuất/nhập số.
- AN6: ngõ vào tương tự kênh thứ 6.
3. Chân RE2/AN7 (10): có 2 chức năng:
- RE2: xuất/nhập số.
- AN7: ngõ vào tương tự kênh thứ 7.
- AN5: ngõ vào tương tự 5.
2.Chân RE1/AN6 (9): có 2 chức năng:
- RE1: xuất/nhập số.
- AN6: ngõ vào tương tự kênh thứ 6.
3. Chân RE2/AN7 (10): có 2 chức năng:
- RE2: xuất/nhập số.
- AN7: ngõ vào tương tự kênh thứ 7.
Ảnh minh họa.
Các bạn tìm hiểu thêm nha !
Đây là code.
:
#include <xc.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define _XTAL_FREQ 20000000
// CONFIG
#pragma config FOSC = HS // Oscillator Selection bits (HS oscillator)
#pragma config WDTE = OFF // Watchdog Timer Enable bit (WDT disabled)
#pragma config PWRTE = OFF // Power-up Timer Enable bit (PWRT disabled)
#pragma config BOREN = OFF // Brown-out Reset Enable bit (BOR disabled)
#pragma config LVP = OFF // Low-Voltage (Single-Supply) In-Circuit Serial Programming Enable bit (RB3 is digital I/O, HV on MCLR must be used for programming)
#pragma config CPD = OFF // Data EEPROM Memory Code Protection bit (Data EEPROM code protection off)
#pragma config WRT = OFF // Flash Program Memory Write Enable bits (Write protection off; all program memory may be written to by EECON control)
#pragma config CP = OFF // Flash Program Memory Code Protection bit (Code protection off)
void main(void)
{
TRISB = 0X00; // nếu là input thì TRISB = 0XFF;
PORTB = 0X00;
TRISA = 0X00;
PORTA = 0X00;
TRISC = 0X00;
PORTC = 0X00;
TRISD = 0X00;
PORTD = 0X00;
TRISE = 0X00;
PORTE = 0X00;
while(1)
{
PORTA = 0XFF;
PORTB = 0XFF;
PORTC = 0XFF;
PORTD = 0XFF;
PORTE = 0XFF;
}
}
Ở trên là khai báo xuất cho tất cả các port của PIC16F877A.
EmoticonEmoticon