IO:

IO口若存在长线（排线）与控制板其他部分连接，需要在靠近芯片处接保护电阻，防止IO口损坏和增强芯片抗干扰能力。

PORTA:
1.与PORTA相关的寄存器共4个：PORTA（数据寄存器）、TRISA（方向寄存器）、ANSEL（模拟选择寄存器）、WPUA（上拉电阻寄存器）。
2.如果引脚被配置为输出或模拟输入，将自动禁止弱上拉。
3.为了避免多路AD间相互影响，不要把IO口设置成模拟通道，ANSEL=0。

PORTB:
1.与PORTB相关的寄存器共5个：PORTB（数据寄存器）、TRISB（方向寄存器）、ANSELH（模拟选择寄存器）、WPUB（上拉电阻寄存器）、IOCB（电平变化中断寄存器）。
2.如果引脚被配置为输出或模拟输入，将自动禁止弱上拉。
3.要单独使能PORTB任一上拉，必须将OPTION_REG寄存器的全局RBPU置0，为1禁止上拉。
4.为了避免多路AD间相互影响，不要把IO口设置成模拟通道，ANSELH=0。

PORTC:
1.与PORTC相关的寄存器共3个：PORTC（数据寄存器）、TRISC（方向寄存器）、WPUC（上拉电阻寄存器）。
2.如果引脚被配置为输出，将自动禁止弱上拉。
3.TRISC寄存器不能进行位操作（位操作包含各种逻辑运算、位置0置等），只能整体赋值，如果一定要进行位运算的话可定义一个缓存寄存器，操作完后将缓存寄存器整体赋值给TRISC的方式。

PORTE:
1.与PORTE相关的寄存器共3个：PORTE（数据寄存器）、TRISE（方向寄存器）、WPUE（上拉电阻寄存器）。
2.如果引脚被配置为输出，将自动禁止弱上拉。


