0. 串口通讯
0. 串口通讯的数据传输方式:单工(单向传输数据),半双工(非同时双向传输),全双工(同时,双向传输)
1. 根据通信方式的不同又分为同步通讯和异步通讯。
同步通讯:所有设备都使用同一个时钟,称为同步时钟。在数据传送时,以若干个数据字符(称为数据块)为单位进行传输,每个数据块包括同步字符、数据块和校验字符CRC。
异步通信是指在串行通信中,接收设备和发送设备有各自的时钟信号,异步通信以字符为单位进行数据传送,不过通信中这些时钟频率必须保持一致。
2. 波特率和比特率
波特率是每秒传输的信号量(单位波特B),比特率是每秒传输的信号量(单位bps),在单片机中,这两个东西是一样的。
例如,通信双方每秒钟所传送数据的速率是240字符/秒,每一字符包含10位(1个起始位、8个数据位、1个停止位),则波特率为
240 ×10 =2400b/s=2400B
3. SCON(98H,可位寻址)
SM0,SM1是设定串口工作方式的,
SM2是设定在串口工作方式2,3时发送地址or数据。
REN是允许接受位,TB8是在工作方式2,3时的第九位可编程位的数值。
TI是发送标志位。
RI是接收标志位。
4. PCON(87H,不可位寻址)
最高位是可以拿来调整波特率的,低位那些和电源管理相关。
80C51串口工作方式:(P3.0是位移输入RxD((低位在前),P3.1是位移输出TxD)
工作方式0:(同步)8位数据为一帧,没有停止位和起始位,串行口发送的条件是TI = 0;接受条件是RI = 0且REN = 1(允许接受位)。
波特率固定fosc/12。RB8不用。
工作方式1:(异步)(用于双机通讯)10位数据为一帧,最低位为起始位(0),最高位为停止位(1)。SM2=0,RB8接收的是停止位。实际上工作方式1在发送时是不断把数据右移到TxD端口(最高位已经置1),然后不断在左边补0,发完TI = 1;接受时恰好反过来,首先接受的时候会在接受端口补1,当一旦发现从1-0的跳变(收到起始位了),就开始接受数据,直到收到的停止位为1,则收到的是正确的信息。然后RI = 1。
工作方式2,3:(异步)(多机通讯),11位数据一帧,除了起始位和停止位,还包括一个可编程位, 这个位由SCON的TB8提供,可以做奇偶校验,也可以与SM2结合进行多机通讯,发送时设定TB8,接受时为RB8。
当SM2 = 0时,接受数据和地址;当SM2 = 1时,只接受地址(体现在接收到的信息的RB8位必须是1(表明是地址))
串口波特率计算:
方式0的波特率为晶振频率的1/12。
方式2的波特率为:波特率=(2SMOD/64)×fosc
方式1和方式3的波特率 =(2SMOD /32)×定时器的溢出率(一般选方式2作为方式一和方式三的时钟)
常用波特率(熟悉一下):
串口通讯编程例子(注意要自己手动清除TI和RI)
(发送)
MOV R0,#40H ;设定数据块地址指针初值
MOV R7,#10H ;设定数据块长度初值
ALOOP3:MOV SBUF,@R0 ;发送一个数据字节
JNB TI,$ ;等待发送完
CLR TI ;清发送标志位
INC R0 ;地址单元加1
DJNZ R7,ALOOP3 ;整个数据块是否发送完毕
(接收)
MOV R0,#40H ;设定数据块地址指针初值
MOV R7,#10H ;设定数据块长度初值
BLOOP3:JNZ RI,$ ;等待接收信息
CLR RI ;清接收标志位
MOX A,SBUF ;读取接收缓冲区内容
MOX @R0,A ;接收数据转储
INC R0 ;存储单元加1
DJNZ R7,BLOOP3 ;判断数据块是否接收完毕
在由MCS-51组成的主从式多机通信系统中,主机只有一台,从机最多有256台。
1. I^2C总线
编码内容包括:器件标识,引脚电平,方向位。
两条线:SCL(时钟线),SDA(数据线),9位数据传输形式(最后一个应答位)。
当SCL为高,SDA下降沿,表明启动。
当SCL为高,SDA上升沿,表明停止。
上一篇:单片微机原理P3:80C51外部拓展系统
下一篇:单片微机原理P2:80C51外部中断与定时器系统
- 热门资源推荐
- 热门放大器推荐
设计资源 培训 开发板 精华推荐
- AM2F-1215SH52Z 15V 2瓦DC-DC转换器的典型应用
- 使用符合 EN55022 B 类(24Vin 和 48Vin,双输出)EMC 滤波的 RP40-4805SFR DC/DC 转换器的典型应用
- LT6656ACDC-5、5V 扩展电源范围电压基准的典型应用
- DC2268A-G,用于 LTM4631EV 双降压模块稳压器的演示板,5.5V = VIN = 16V,Vout1 = 3.3V @ 13A,Vout2 = 1.5V @ 13A
- PCAL6534EV 34位通用IO Arduino® Shield扩展板
- FEBFHR1200_SPG01A,基于 FHR1200 高性能并联稳压器的评估板
- LTM4606 的典型应用 - 超低 EMI 28VIN、6A DC/DC 模块稳压器
- ADP3300 恒定压差后置稳压器的典型应用
- TB2905HQ Class-KB 高效、低频功率放大器的典型应用,最大功率:47 W x 4 通道
- 【物联网】yuCCC 智能wifi开关+4212451A