★基本通讯方式●并行通讯方式 通常是指数据字节中的各位上的数据通过多条数据线同时进行传送,每一位数据都需要一条数据线。这种方式的特点:传输速度相对较快,但是如果进行长距离的数据传送,成本会很高。
●串行通讯方式串行通信就是将数据分成一位一位的,在一条数据线上逐个的进行传输。因此对于一个字节的数据至少需要分八次传输,相比并行通信,传输速度慢。串行通讯又分为:同步串行通信和异步串行通讯。
●异步串行通信方式异步串行通讯是指:发送方和接收方各自有各自的时钟控制数据的发送和接收。异步通信是以帧为单位进行传输,帧与帧之间的间隙可以是任意的。一帧字符信息由四部分组成: 起始位、数据位、奇偶校验位、停止位。它的特点:不要求双方时钟一样,每帧之间要加上起始位、校验位、停止位,并且各帧之间有间隔,传输效率不高。
●同步串行通讯方式同步通信是要建立发送方时钟对接收方时钟直接控制,使时钟同步。
★串口通信的制式●单工:数据 传输只能沿一个方向传输,不能反过来传输 ●半双工:可以双向进行传输,但是不能同时进行双向传输 ●全双工:数据可以同时进行双向传输
★串口通信错误校验●奇偶校验 奇校验时,数据中1的个数与校验位1的个数之和为奇数;偶校验时,数据中1的个数与校验位1的个数之和应为偶数。 ●代码和校验 代码和是发送方将所发数据求和产生一个字节的校验帧,与接收方对所接收的数据所求得和进行比较,如果相符则说明没有差错;否则认为传输过程中出现差错。 ●循环冗余校验 通过某种数学运算实现有效信息与校验位之间的循环校验。纠错能力比较强。
★波特率波特率是用来表示串口通信时的速率的。每秒传送二进制代码的位数。1波特 = 1位/秒。 ●波特率的计算 串行口共有四种工作方式,其中方式0和方式2的波特率是固定的,方式1和方式3的波特率是根据T1的溢出率决定的。 波特率计算定时器初值的方法: 一般情况下,都是通过确定波特率的值B来确定定时器的初始值。一般的计算方法(51单片机串口方式1): 如果使用的晶振是11.0592MHZ,那么我们可以知道时钟周期是1/11.0592MHZ;因为一个机器周期等于12个时钟周期,因此完成一个机器周期所用的时间就是12/11.0592MHZ。因为定时器每计数一次就花费1个机器周期,假设定时器所计的数为M,那么定时器溢出一次所用的时间就是T = M*(12/11.0592MHZ);溢出率就是T的倒数。因此可以根据公式B = (2^SMOD/32)*(1/T),然后就可以求得M,同时就知道了定时器的初始值256-M。
★与串行口相关的寄存器IE中断允许寄存器
TMOD定时器/计数器工作方式寄存器
TCON定时器/计数器控制寄存器
SCON串行口控制寄存器
|