C51 串口通信

并行通信:通常是将数据字节的各位用多条数据线同时进行传送 。

并行通信控制简单、传输速度快;由于传输线较多,长距离传送时成本高且接收方的各位同时接收存在困难。

   串行通信是将数据字节分成一位一位的形式在一条传输线上逐个地传送。

串行通信的特点:传输线少,长距离传送时成本低,且可以利用电话网等现成的设备,但数据的传送控制比并行通信复杂。

 异步通信是指通信的发送与接收设备使用各自的时钟控制数据的发送和接收过程。为使双方的收发协调,要求发送和接收设备的时钟尽可能一致。

     异步通信是以字符(构成的帧)为单位进行传输,字符与字符之间的间隙(时间间隔)是任意的,但每个字符中的各位是以固定的时间传送的,即字符之间不一定有“位间隔”的整数倍的关系,但同一字符内的各位之间的距离均为“位间隔”的整数倍。

 异步通信的特点:不要求收发双方时钟的严格一致,实现容易,设备开销较小,但每个字符要附加2~3位用于起止位,各帧之间还有间隔,因此传输效率不高。

同步通信时要建立发送方时钟对接收方时钟的直接控制,使双方达到完全同步。此时,传输数据的位之间的距离均为“位间隔”的整数倍,同时传送的字符间不留间隙,即保持位同步关系,也保持字符同步关系。发送方对接收方的同步可以通过两种方法实现。

比特率是每秒钟传输二进制代码的位数

RS232c  :抗干扰能力弱,传输距离短

RS422  :全双工  两个T R 传输距离较长

RS285  :RS422变型  是一种多发送器标准   可以一对多,传输距离长  稳定性好 抗干扰极好 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 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、付费专栏及课程。

余额充值