单片机IO口内部的结构,主要是三种:准双向IO、开漏输出、强推挽输出
而51单片机上通常使用的是准双向IO和开漏输出两种。
什么是准双向IO和开漏输出?
准双向IO是一种可以既作为输入又作为输出的IO口,它的内部电路结构包括一个场效应管和一个上拉电阻。
当IO口作为输出时,可以通过控制场效应管的开关来输出高电平或低电平。例如:我们从内部输出1,经过一个反向器之后编程0,那么对应的场效应管不导通,这个时候由于内部有上拉电阻,那么对应的单片机IO口上就会输出一个高电平;而如果在内部输出输出一个0,经过反向器之后编程1,那么导致场效应管导通,VCC就会通过上拉电机流通到场效应管的S极,那么对应的单片机的IO输出就拉到低电平。
当IO口作为输入时,需要先向IO口写1,然后再读取外部信号。这样可以保证正确地读取高电平或低电平。
开漏输出是一种只能输出低电平的IO口,它的内部电路结构只有一个场效应管。
当IO口输出0时,场效应管导通,输出低电平。当IO口输出1时,场效应管截止,输出高阻态。这时候IO口没有驱动能力,需要外部接上拉电阻才能输出高电平。
开漏输出的优点是可以提高输出电压的灵活性,可以通过改变上拉电阻的电源来实现不同的电平转换。例如,如果上拉电阻接5V电源,那么输出的高电平就是5V;如果上拉电阻接3.3V电源,那么输出的高电平就是3.3V。
上拉电阻就是将不确定的信号通过一个电阻拉到高电平,同时此电阻起到一个限流的作用,下拉就是下拉到低电平。
上拉电阻的好处:
1、OC门要输出高电平,外部必须加上拉电阻
2、加大普通I0口的驱动能力。
3、起到限流的作用。
4、抵抗电磁干扰。
上拉电阻选择的原则:
1、从降低功耗方面考虑应该足够大,因为电阻越大,电流越小。
2、从确保足够的引脚驱动熊力考虑应该足够小越小,电流才能越大
电阻。
3、开漏输出时,过大的上拉电阻会导致信号上升沿变缓。
一般选择上拉电阻的阻值是4.7K-10K范围。
全部0条评论
快来发表一下你的评论吧 !