文章地址:
需要将RS232转为TTL时,身边没有max3232可以用一对NPN、PNP三极管代替(如图电路)
图中所用pnp为9015,npn为9014。
RS232的(-15)-(-3)V为逻辑1;3-15V为逻辑0;
发出的数据经过TXD从PCRXD发出,接收的数据从PCTXD进入通过RXD接收。
当PCTXD为逻辑1时,PCTXD为负电压,此时二极管D1导通,给电容C7充电,从而使电容顶端呈负电压;
当PCTXD为逻辑0时,PCTXD为正电压,图中9013射极为0V,所以基极与射极见有电压差,且大于0.7V,故使9013导通,RXD端由未导通时的5V被三极管拉低为0V,PCTXD至RXD完成接收动作。
当TXD为5V时(逻辑1),三极管9012的基极与射极间电压为0V,处于不导通状态。此时PCRXD处电压等于电容C7顶端电压,即负电压,此时PCRXD为逻辑1;
当TXD为0V时(逻辑0),三极管9012的基极与射极间电压为(-5)V,处于导通状态,此时PCRXD直接接入5V电源由于电阻R7的存在,PCRXD的电压等于电源电压即5V(逻辑0);
TXD至PCRXD完成发送动作。
个人在使用此电路时发现需要注意如下:
TXD应与VCC尽量相同,相差大于0.7V时可能发送数据。当VCC为5V时,TXD采用3.3V为逻辑1电路,由于3.3V与5V相差1.7V大于了9012的导通电压,故使三极管9012一直处于导通状态,无法发送数据。3.3V为逻辑1的电路可以采用VCC=3.3V供电或在9012上加二极管降压到3.3V,也可以在TXD端加三极管将3.3V转为5V。
供电电源VCC应大于3V,低于3V不满足RS232对电平要求。
经本人测试使用9015与9014制作的电路,在波特率为115200下收发正常。
阅读(4418) | 评论(0) | 转发(0) |