I/O XC8

5:30:00 AM
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
 -  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ố.

 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.


Ảnh minh họa.


Xuất nhập pic16f877a xc8

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.

Share this

Related Posts

First