PIC16F877 I/O口特色
扫描二维码
随时随地手机看文章
1.PORTA 总共有6个位(RA0~RA5),PORTA端口模块有3个特殊的寄存器:端口数据寄存器PORTA,端口方向控制寄存器TRISA,A/D转换控制寄存器ADCIN1;PORTA端口各引脚的所复合的功能相同,各引脚的内部结构也不一致。对三个寄存器的设置可控制PORTA端口作为数字I/O端口的应用,而系统重置后,PORTA自动成为模拟输入状态,可读取模拟输入讯号;
PORTB 是8位宽度的数字I/O端口(RB0~RB7),一般只有RB6和RB7两个引脚存在复用功能,它们在芯片编程烧写和在线调试时,RB6作为编程串行时钟引脚PGC,RB7作为编程串行数据引脚PGM,这是一种特殊模式的功能复用类型,它不可能出现在芯片正常工作时。PORTB模块有关的特殊寄存器有4个,PORTB端口作为数字I/0端口的应用可以撰写程序规划输入输出方向、状态;
PORTC 总共有8个位(RC0~RC7),有关的特殊寄存器有2个,单片机上电之后,输出数据寄存器PORTC的值随机值,方向寄存器TRISC的值全为1,因此,起始状态下各个引脚均处于输入方式,对外呈现高阻状态,通过定义TRISC寄存器的值,可以分别指定引脚设置为输入还是输出方式。除了可作为数位I/O外,还和一些特殊功能的周边电路共享接脚;
PORTC 是8位宽度的双向数字I/O端口(RC0~RC7),有关的特殊寄存器有3个,它在基本输入/输出功能的基础上,增加并行从动端口功能;另外每个引脚作I/O引脚使用时,输入信号都要经过其内部的施密特触发输入缓冲器,对于输入信号波形可以起整形作用,而工作于并行从动端口方式时则是经过TTL缓冲器输入。PORTC可作一般数字I/O,并与PSP(Parallel Slave Port)并列传输接口共享。当整体系统需要多单片机时,彼此可以经由并列传输接口来快速传输资料;
PORTE 只有3条引脚的双向I/O端口(RE0~RE2),有关的特殊寄存器有3个,它在基本输入/输出功能的基础上,增加并行从动端口,模拟量输入功能。单片机上电之后,输出数据寄存器PORTE的值随机值,方向寄存器TRISC的值全为1,因此,起始状态下各个引脚均处于输入方式,对外呈现高阻状态,通过定义TRISE寄存器的值,可分别指定引脚设置为输入还是输出方式。
2.由RA4的内部结构可知,RA4和PORTA端口的其它端口有很大的不同,它没有被复用成模拟信号输入。一般其作用有个:普通数字I/O端口和定时TMR0的外部数字脉冲输入端口(TOCKI)。RA4特征如下:
(1)输入时与其它端口一样,都是呈现高阻态。
(2)输出低电平时,与其它端口一样,吸入端口外部电路的电流,引脚上的电压接近0V。
(3)输出高电平时,与其它端口有很大不同,RA4端口只有一个N沟道场效应驱动管,没有P沟道场效应驱动管,所以RA4引脚处于漏极开路状态,输出高电平时为悬空状态。改进方法:尽量设计成低电平有效,若需要高电平来驱动外围电路时,必须在RA4引脚上外加上拉电阻。上拉电阻的取值范围为1KΩ~10KΩ左右。
3.是,选项寄存器POTION也是一个可读/写的寄存器,包含TMR0,分频器和端口RB有关的控制位。端口RB0与外部中断INT共同一引脚,与该引脚有关的2个控制位含义如下:
1=RB 端口弱上拉电路禁止
0=RB 端口弱上拉电路使能
所以该端口内部每条引脚的弱上拉电路是不可单独编