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
转贴自网络