单片机(TTL)与电脑RS232接口

2010年11月28日 21:38

1.先介绍电脑上与单片机进行通讯的接口的名称

(1)一般是用电脑串口来进行通讯的,平常大家说的电脑的串口是指台式电脑主机后面的九针接口,如下图


这个接口有个专业的名称,叫RS23接口,而RS232接口是串口通讯的一种,其实所谓的接口,我的理解就是一种通信协议,规定了传输电平,传输方式,及怎么传输数据等等。

协议标准规定采用一个25个脚的DB25连接器,还规定了连接器的每个引脚的信号内容,同时还对各种信号的电平加以规定。但随着设备的不断改进,出现了代替DB25的DB9接口,现在都把RS232接口叫做DB9。

(2)电脑上的RS232接口采用的是负逻辑电平:

        -15~-3表示逻辑1;

        +15~+3表示逻辑0;

         电压值通常在7V左右

(3)我们可以使用串口电缆直接连接两台PC机的串口,实现两台PC机的串口通讯。但是PC机和单片机的通讯却不能够用电缆直接进行连接,原因是PC机RS232串口的电平标准和单片机的TTL电平不一致,因此单片机和PC机之间的串口通讯必须要有一个RS232/TTL电平转换电路。通常这个电路都选择专用的RS232接口电平转换集成电路进行设计,如MAX232、HIN232等。

2.单片机串口输出的逻辑电平

单片机的串口输出电路采用的逻辑电平是TTL电平。这种电平信号由TTL器件产生的,一般的芯片,如运放,数字器件等...

TTL:Transistor-Transistor Logic 三极管结构。 
    Vcc:5V;VOH>=2.4V;VOL<=0.5V;

VIH>=2V;VIL<=0.8V

3.单片机与电脑串口的连接

首先解决的就是逻辑接口电平的问题,其次就是通信方法及方式的问题

(1)在这里我们可以使用集成芯片MAX232,这是一款专门用来进行信号电平的转换的芯片,使用起来简单方便,这里把电路贴出。

(2)当然,我们也可以使用分立元件来搭建RS232电平转换电路以供我们实验使用,下图给出了一个常见电路,只要器件完好,电路焊接完毕后即可正常工作,经实际使用,效果良好。不用MAX232实现DSP或MCU与PC通讯的电路,元件经济,结构简单设计巧妙

用三极管实现RS-232转TTL电路

电路如下图

‍‍

1.DB9的2脚 TXD:为RS-232电平信号接收端,RXD;3脚为RS-232电平信号发送端,
2.图中的Vcc应该是+5V,TXD接单片机TXD,RXD接单片机RXD。

工作原理是:‍从TTL转为RS2323电平,由于二极管与电容的作用使得在二极管D1与电容C7交接处的电压保持在-3V~-15V.
     当TXD为"1"(TTL)时,Q3截止,PCRXD上的电压与PCTXD电压相等,也是-3~-15V,为"1"(RS232)

当TXD为"0"(TTL)时, Q3导通,则PCRXD电压约为+5V,这个电压在+3~+15V之间,根据RS232电平,它是"0"....也就是说TTL的"1"经过这个电平转换电路后,RS2323可以识别出它是"1",是"0"也能识别为0.这就实现了从TTL到RS232的电平转换.

从RS232转换为TTL电平那就简单了,当PCTXD为"1",即-3~-15V时,Q4截止,RXD电压约为5V,为"1",,当PCTXD为"0"时,Q4导通,电压为0,电平为"0".那么从RS232到TTL的电平转换也实现了.

备注:D2是为了防止Q4的BE反向击穿,TXD的最低电压时15V,Q4的BE耐压是6V左右。‍

简略大概的说:

当TXD=1时,Q3截止,导致PCRXD=1;
当TXD=0时,Q3导通,导致PCRXD=0;
当PCTXD=1时,Q4导通,导致RXD=1;
当PCTXD=0时,Q4截止,导致RXD=0;
RS232  1,0
TTL     1 ,0

自己总结的,希望对有需要的人有帮助

/********希望我能幸福,也希望能给别人带来幸福***/

上一篇:C#微信开发回复信息


下一篇:Ionic1.x项目中的Installing npm packages问题