6.1.4串行通信的错误校验 在串行通信中,往往要对数据传送的正确与否进行校验。校 验时保证传输数据准确无误的关键。常用的有奇偶校验与循环 冗余码校验等方法。 1.奇偶校验 串行发送数据时,数据位尾随1位奇偶校验位(1或0)。当 约定为奇校验时,数据中“1”的个数与校验位“1”的个数之和 应为奇数;当约定为偶校验时,数据中“1”的个数与校验位 “”的个数之和应为偶数。数据发送方与接收方应一致。在接 收数据帧时,对“1”的个数进行校验,若发现不一致,则说明 数据传输过程中出现了差错,则通知发送端重发。 16
16 6.1.4 串行通信的错误校验 在串行通信中,往往要对数据传送的正确与否进行校验。校 验时保证传输数据准确无误的关键。常用的有奇偶校验与循环 冗余码校验等方法。 1. 奇偶校验 串行发送数据时,数据位尾随1位奇偶校验位(1或0)。当 约定为奇校验时,数据中“1”的个数与校验位“1”的个数之和 应为奇数;当约定为偶校验时,数据中“1”的个数与校验位 “1”的个数之和应为偶数。数据发送方与接收方应一致。在接 收数据帧时,对“1”的个数进行校验,若发现不一致,则说明 数据传输过程中出现了差错,则通知发送端重发
2.代码和校验 代码和校验是发送方将所发数据块求和或各字节异或,产生 一个字节的校验字符(校验和)附加到数据块末尾。接收方接 收数据时同时对数据块(除校验字节)求和或各字节异或,将 所得结果与发送方的“校验和”进行比较,如果相符,则无差 错,否则即认为在传输过程中出现了差错。 3.循环冗余码校验 循环冗余码校验纠错能力强,容易实现。该校验是通过某种 数学运算实现有效信息与校验位之间的循环校验,常用于对磁 盘信息的传输、存储区的完整性校验等。是目前应用最广的检 错码编码方式之一,广泛用于同步通信中。 17
17 2. 代码和校验 代码和校验是发送方将所发数据块求和或各字节异或,产生 一个字节的校验字符(校验和)附加到数据块末尾。接收方接 收数据时同时对数据块(除校验字节)求和或各字节异或,将 所得结果与发送方的“校验和”进行比较,如果相符,则无差 错,否则即认为在传输过程中出现了差错。 3. 循环冗余码校验 循环冗余码校验纠错能力强,容易实现。该校验是通过某种 数学运算实现有效信息与校验位之间的循环校验,常用于对磁 盘信息的传输、存储区的完整性校验等。是目前应用最广的检 错码编码方式之一,广泛用于同步通信中
6.2串行口的结构 结构见图6-6。 有两个物理上独立的接收、发送缓冲器SBUF(属于特殊 功能寄存器),可同时发送、接收数据。 发送缓冲器只能写入不能读出 接收缓冲器只能读出不能写入 两个缓冲器共用一个特殊功能寄存器字节地址(99H) 控制寄存器共有两个:特殊功能寄存器SCON和PCON。 18
18 6.2 串行口的结构 结构见图6-6。 有两个物理上独立的接收、发送缓冲器SBUF(属于特殊 功能寄存器),可同时发送、接收数据。 发送缓冲器只能写入不能读出 接收缓冲器只能读出不能写入 两个缓冲器共用一个特殊功能寄存器字节地址(99H)。 控制寄存器共有两个:特殊功能寄存器SCON和PCON。 18
内部总线 TX①P3.1引脚) 8 发送 门 SBUF (99D 发送控制器 定时器 ≥1 TI 串行口中断 RI 串行口控制寄存器 接收 接收控制器 SBUF (98D 8 (99D SCON 8 输入移位寄存器 RXDP3.0引脚 图6-6串行口的内部结构图 19
19 图6-6 串行口的内部结构图 19
6.2.1串行口控制寄存器SCON 字节地址98H,可位寻址,位地址为98H~9FH。格式如 图6-7所示。 D7 D6 D5 D4 D3 D2 D1 DO SCON SMO SMI SM2 REN TB8 RB8 TI RI 98H 位地址 9FH 9EH 9DH 9CH 9BH 9AH 99H 98H 图6-7 串行口控制寄存器SCON的格式 介绍SCON中各位的功能。 (1)SM0、SM1一串行口4种工作方式选择位 SM0、SM1所对应的4种工作方式见表6-1。 20
20 6.2.1 串行口控制寄存器SCON 字节地址98H,可位寻址,位地址为98H~9FH。格式如 图6-7所示。 20 介绍SCON中各位的功能。 (1)SM0、SM1——串行口4种工作方式选择位 SM0、SM1所对应的4种工作方式见表6-1。 图6-7 串行口控制寄存器SCON的格式