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. scala lambda 小括号与大括号

    看akka源码的时候看到这样的一个用法: 作为接触scala两天半的我有些看不明白了.好一番搜索看到这样的答案: <scala雾中风景(2): 小括号与花括号> 下面的问题,表面上看是小括 ...

  2. 统计的一个小题目python实现

    最近面试碰到的一个题目,业余时间用python实现的. 拿到数据,先用sort 命令排序,也可再进一步去重复 sort -k 1,2  data.txt |uniq  > data.new # ...

  3. netlink error: too many arguments to function 'netlink_kernel_create'

    2.6版本的 netlink_kernel_create(&init_net, NETLINK_TEST, 0, NULL, kernel_receive ,THIS_MODULE);   3 ...

  4. 从头认识java-13.11 对照数组与泛型容器,观察类型擦除给泛型容器带来什么问题?

    这一章节我们继续类型擦除的话题,我们将通过对照数组与泛型容器,观察类型擦除给泛型容器带来什么问题? 1.数组 package com.ray.ch13; public class Test { pub ...

  5. PHP封装成应用程序的三个方案

    大概有三个解决方案吧. 1 如果你精通PHP,你可以看看这个网站:http://gtk.php.net/ 很明显,这个网站介绍了啥是GTK,你可以构件跨平台的图形化应用程序,当然你要再学一门语言,去掌 ...

  6. UVA11402 - Ahoy, Pirates!(线段树)

    UVA11402 - Ahoy, Pirates!(线段树) option=com_onlinejudge&Itemid=8&category=24&page=show_pro ...

  7. CA证书服务器从2003迁移到2008 R2!

    1.在源 CA 服务器中备份相应的 CA :

  8. Python 换行符

    raw字符串与多行字符串如果一个字符串包含很多需要转义的字符,对每一个字符都进行转义会很麻烦.为了避免这种情况,我们可以在字符串前面加个前缀 r ,表示这是一个 raw 字符串,里面的字符就不需要转义 ...

  9. oracle的check约束

    check约束是指检查性约束,使用check约束时.将对输入的每个数据进行检查,仅仅有符合条件的记录才会被保存到表中,从而保证了数据的有效性和完整性.      check约束既有下面的四个特点: 在 ...

  10. python selenium 自动化测试环境安装

    注意:2.7和3.0版本的语法有些不一样 安装自动化测试软件 selenium(地址http://www.seleniumhq.org/download/) 安装步骤: 1.安装pythone运行环境 ...