串口 --第八天

1 .串口基本认知

串行接口简称串口,也称串行通信接口或串行通讯接口(通常指COM接口),是采用串行通信方式的扩展接口。串行接口(Serial Interface)是指数据一位一位地顺序传送。其特点是通信线路简单,只要一对传输线就可以实现双向通信(可以直接利用电话线作为传输线),从而大大降低了成本,特别适用于远距离通信,但传送速度较慢

        ·是设备间接线通信的一种方式

        ·数据一位一位地顺序传送

        ·双向通信,全双工 

        A1     B1

------>        <---------(可以互骂)

TX -----RX

RX------TX

        ·传送速度相对较慢

2.关于电器标准和协议

        串行接口按电气标准及协议来分包括RS-232-CRS-422、RS485等。RS-232-C、RS-422与RS-485标准只对接口的电气特性做出规定,不涉及接插件、电缆或协议。

RS-232

        也称标准串口,最常用的一种[串行通讯接口,比如我们的电脑主机的9针串口 ,最高速率为20kb/s   RS-232是为点对点(即只用一对收、发设备)通讯而设计的,其传送距离最大为约15米。所以RS-232适合本地设备之间的通信

RS-422

        由于接收器采用高输入阻抗和发送驱动器比RS232更强的驱动能力,故允许在相同传输线上连接多个接收节点,最多可接10个节点。即一个主设备(Master),其余为从设备(Slave),从设备之间不能通信,所以RS-422支持点对多的双向通信。

RS-422的最大传输距离为1219米,最大传输速率为10Mb/s。平衡双绞线的长度与传输速率成反比

RS-485

是从RS-422基础上发展而来的,无论四线还是二线连接方式总线上可多接到32个设备。

3.关于串口的电平,UART

异步串行是指UART(Universal Asynchronous Receiver/Transmitter),通用异步接收/发送。UART包含TTL电平的串口和RS232电平的串口

RS232电平

逻辑1为-3~-15V的电压, 逻辑0为3~15V的电压

TTL电平

TTL是Transistor-Transistor Logic,即晶体管-晶体管逻辑的简称,它是计算机处理器控制的设备内部各部分之间通信的标准技术。TTL电平信号应用广泛,是因为其数据表示采用二进制规定, +5V等价于逻辑”1”,0V等价于逻辑”0”。

数字电路中,由TTL电子元器件组成电路的电平是个电压范围,规定:

输出高电平>=2.4V,输出低电平<=0.4V;

输入高电平>=2.0V,输入低电平<=0.8V

笔记本电脑通过TTL电平与单片机通信

TX发送线(端口)3.1

RX接收线 (端口)3.00

 USB转TTL,使用ch340通信

  • 8
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
51与PC通信 1 #include "at89x51.h" 2 #include "must.h" 3 sfr port_display = 0xa0;// 4 Uchar8 incept_data[10]; // 接收缓冲区 5 Uchar8 incept_index = 0; // 接收计数 6 Uchar8 send_data[10]={0,1,2,3,4,5,6,7,8,9}; // 发送缓冲区 7 Uchar8 send_index = 0; // 发送计数 8 Uchar8 table[]={ // 0~9 共饮共阴极数码管 9 0x3F, 10 0x06, 11 0x5B, 12 0x4F, 13 0x66, 14 0x6D, 15 0x7D, 16 0x07, 17 0x7F, 18 0x6F}; 19 /*********************************************************************************** 20 函数功能:延时y*1ms 21 入口参数:y 22 出口参数:无 23 ********************************************************************************/ 24 void Delay_1ms(Uint16 y) 25 { 26 1 Uint16 i,j; 27 1 for(i=0;i<y;i++) 28 1 { 29 2 for(j=0;j<60;j++) 30 2 {;} 31 2 } 32 1 } 33 /******************************************************************** 34 函数功能:设置串口通信方式 35 入口参数: 36 com_baud 串口波特率选择 37 1-----------300 38 2-----------600 39 3-----------1200 40 4-----------2400 41 5-----------4800 42 6-----------9600 43 7-----------19200 44 8-----------57600 45 46 出口参数:无 47 *********************************************************************/ 48 void Com_init(Uchar8 com_baud) 49 { 50 1 Uchar8 THTL; 51 1 switch (com_baud) 52 1 { 53 2 case 1: THTL = 64; break; //波特率300 54 2 case 2: THTL = 160; break; //600 55 2 case 3: THTL = 208; break; //1200 C51 COMPILER V8.08 COM_TEXT 05/24/2009 17:48:04 PAGE 2 56 2 case 4: THTL = 232; break; //2400 57 2 case 5: THTL = 244; break; //4800 58 2 case 6: THTL = 250; break; //9600 59 2 case 7: THTL = 253; break; //19200 60 2 case 8: THTL = 255; break; //57600 61 2 default: THTL = 208; //1200 62 2 } 63 1 SCON = 0x50; // 设定串行口工作方式 64 1 TMOD = 0x20; // 定时器1工作于8位自动重载模式, 用于产生波特率 65 1 PCON = 0x80; // 波特率倍增 66 1 RI = 0; // 清收标志 67 1 TI = 0; // 清发标志 68 1 TR1 = 1; // 启动定时器1 69 1 TH1 = THTL; 70 1 TL1 = THTL; 71 1 ES=1; 72 1 EA=1; 73 1 }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值