1.计算机串口通信的RS-232电平:用正负电压来表示逻辑状态.逻辑1= = -3V~-15V,逻辑0=+3~+15V。

2.单片机串口通信的TTL电平:输出高电平>2.4V,输出低电平<0.4V。在室温下,一般输出高电平是3.5V,输出低电平

是0.2V。最小输入高电平和低电平:输入高电平>=2.0V,输入低电平<=0.8V,噪声容限是0.4V。

由于计算机的串口通信使用的是RS-232标准的电平协议而单片机的串口采用的是TTL电平,为了实现单片机与计算机之间的

通信就必须进行TTL/RS232电平之间的转换,集成转换芯片就可以实现两者之间的转换,如果自己搭建电路进行转换也可以

实现。

转换的原理图如下:

左边的是DB9串口,电脑主机后面的那个与显示器连接的就是这个,右边的TXD与RXD是单片机的引脚,电源VCC是+5V

(一)TTLàRS-232电平的转换原理
I)
TXD=L=0时,因为T1是NPN型三极管所以Q3会导通,而导通电阻是比较小的所以PCRXD的电压与VCC相同,都

II)TXD=H=1时,此时Q3是截止的(截止电阻非常大),而PCTXD的电平是-3~-15V之间,当PCTXD的电平是-3V时二极管D1导通,电容C7充电,上负下正,电容C7的上极板电位最终被钳在-3V之间(呵呵假设二极管是理想二极管,没有导通压降)由于电容的作用会保持一段时间,而PCRXD的电位与电容C7的上极板电位是等同的都是-3V,同理可知当PCTXD的电平是-15V时PCRXD的电位也是-15V

(TTL)

(TTL)

(二)RS-232àTTL电平的转换原理

当PCTXD为-3~-15时显然Q4是处于截止状态的,RXD的电平与VCC相等的为+5V是逻辑1

当PCTXD为+3~+15V时显然Q4是处于导通状态的,RXD的电位为0是逻辑0

(TTL)

当PCTXD为+3~+15V(RS-232)时转换后的TTL电平为0V是

用分立元件实现串口通讯TTL/RS232电平转换的更多相关文章

  1. 串口通讯之rs232 c++版本

    rs232.cpp #ifndef kranfix_rs232_rs232_cc #define kranfix_rs232_rs232_cc #include "rs232.h" ...

  2. 串口 COM口 TTL RS-232 RS-485 区别 释疑

    Point: 1.串口.COM口是指的物理接口形式(硬件).而TTL.RS-232.RS-485是指的电平标准(电信号). 2.接设备的时候,一般只接GND RX TX.不会接Vcc或者+3.3v的电 ...

  3. TTL电平、CMOS电平、RS232电平的区别

    工作中遇到一个关于电平选择的问题,居然给忘记RS232电平的定义了,当时无法反应上来,回来之后查找资料才了解两者之间的区别,视乎两年多的时间,之前非常熟悉的一些常识也开始淡忘,这个可不是一个好的现象. ...

  4. TTL电平与RS232电平的区别

    TTL电平与RS232电平的区别   工作中遇到一个关于电平选择的问题,居然给忘记RS232电平的定义了,当时无法反应上来,回来之后查找资料才了解两者之间的区别,视乎两年多的时间,之前非常熟悉的一些常 ...

  5. 单片机电平转换电路5V 3.3V串口通讯等(转)

    源: 单片机电平转换电路5V 3.3V串口通讯等

  6. TTL电平, RS232电平以及CMOS电平的区别

    TTL电平标准 输出 L: <0.8V : H:>2.4V. 输入 L: <1.2V : H:>2.0V TTL器件输出低电平要小于0.8V,高电平要大于2.4V.输入,低于1 ...

  7. 单片机串口通信电平不匹配的解决电路,5V 3.3V串口通讯

    很早的时候调试串口通讯遇到单片机和模块电压不匹配,信号无法传输,所以整理后来遇到的转换电路.1.最简单的用转换电平IC,可以去淘宝上搜索,有四路的有两路的,比如这个双向电平转换模块 2.根据接触的开发 ...

  8. Android Studio的串口通讯开发

    基于android-serialport-api实现 前言RS232标准接口UARTRS232与UART转接下载 NDK 和构建工具创建支持 C/C++ 的新项目编译C/C++代码串口通讯原理关于校验 ...

  9. 第20章 USART—串口通讯

    本章参考资料:<STM32F76xxx参考手册>USART章节. 学习本章时,配合<STM32F76xxx参考手册>USART章节一起阅读,效果会更佳,特别是涉及到寄存器说明的 ...

随机推荐

  1. struts2-core-2.0.14更新到2.3.15

    struts2-core-2.0.14更新到2.3.15 将低版本的struts2-core更新到最新版本2.3.15,更新jar包,有这个几个 1. struts2-core-2.0.14.jar ...

  2. 软件开发工具GCC

    重点掌握以下知识点: 了解gcc编译器的下载和安装方法,包括嵌入式交叉编译平台搭建的方法 重点掌握gcc的基本编译流程和编译方法 重点掌握gcc编译的高级操作及选项 了解gcc编译器性能分析工具,包括 ...

  3. Makefile自动编写工具实例

    准备源文件如下: /*test.c*/ #include <stdio.h>#include "phello.h"#include "pword.h" ...

  4. Effective java读书札记第一条之 考虑用静态工厂方法取代构造器

    对于类而言,为了让client获取它自身的一个实例,最经常使用的方法就是提供一个共同拥有的构造器. 另一种放你发,也应该子每一个程序猿的工具箱中占有一席之地.类能够提供一个共同拥有的静态 工厂方法.它 ...

  5. C语言中递归什么时候能够省略return引发的思考:通过内联汇编解读C语言函数return的本质

    事情的经过是这种,博主在用C写一个简单的业务时使用递归,因为粗心而忘了写return.结果发现返回的结果依旧是正确的.经过半小时的反汇编调试.证明了我的猜想,如今在博客里分享.也是对C语言编译原理的一 ...

  6. 【Linux】od命令

    用途 od命令主要用于查看非文本文件,通过指定该命令的不同选项可以以十进制.八进制.十六进制和ASCII码来显示 全称 od的全称为:Octal Dump 参数 -t :后面接各种类型的显示方式 a ...

  7. Node.js 使用JWT进行用户认证

    代码地址如下:http://www.demodashi.com/demo/13847.html 运行环境 该项目基于 node(v7.8.0版本以上) 和 mongodb 数据库,因此电脑上需要安装这 ...

  8. eval函数处理JSON数据需要加括号

    在将服务器端构建好的JSON数据转化为可用的JavaScript对象时常常使用eval函数.如下: var dataJson = eval('(' + data + ')'); 在转化的时候需要将JS ...

  9. 一招破解混淆后的JavaScript代码

    http://www.cnblogs.com/zjyuan/archive/2011/12/14/2287647.html JavaScript不是很给力,想怎么破解就怎么破解!此文章教你的不仅仅是破 ...

  10. C++:SQLServer字段赋值

    大前提: 1. 初始化环境 2. 创建连接实例 3. 创建记录集实例 注意点: 1.AddNews失败问题: (1)是否将CursorTypeEnum cursorType, LockTypeEnum ...