单片机中的奇偶校验原理

合集下载

单片机原理及应用(胡乾斌)第九章

单片机原理及应用(胡乾斌)第九章

13 14 15 16
4 5 6 7 17 1
7 54 52
7 54 52
7 54 52
7 54 52
6 7
2 1
6 7
2 1
3
A T itle
26 27 28
12
11
7
1 2 3 4 5
9
324
Size B Da te: File:
Nu mb er
Re visio n
1 -Jun -20 05 She et of C:\Prog ram File s\De sign E xp lore r 9 9 SE Dra wn By : \E xa mp le s\dlt1 . DDB 6
五、波特率
波特率:数据传送速率,即每秒钟传送二进制代码的位数。 单位:位/秒(bit/s)或波特。
如果传送速率为200字符/ 秒,每个字符包含10个代码位,则传送的波特
率是:
200字符/秒×10位/字符=2000波特=2000bps 每一位代码的传送时间Td为波特率的倒数:
Td
1 s 0.5ms 2000
第九章 MCS-51串行口
9.1 概 述 9.2 MCS-51的串行接口
9.1 概 述
9.1.1 串行通信的基本概念 一、并行通信和串行通信 并行通信: 定义:数据各位同时传送。特点:速度快、效率高、数据 线较多,通信距离较短(30m)。 串行通信:
定义:数据按位顺序传送。特点:线路简单,最多一对传 输线。传送时数据格式有要求(同步通信和异步通信)
A0 A1 A2 A3 A4 A5 A6 A7 B0 B1 B2 B3 B4 B5 B6 B7 C0 C1 C2 C3 C4 C5 C6 C7

奇偶校验——精选推荐

奇偶校验——精选推荐

奇偶校验奇偶校验原理(转载)什么是奇校验、偶校验、奇偶校验,什么是奇偶校验对数据传输正确性的⼀种校验⽅法。

在数据传输前附加⼀位奇校验位,⽤来表⽰传输的数据中"1"的个数是奇数还是偶数,为奇数时,校验位置为"0",否则置为"1",⽤以保持数据的奇偶性不变。

例如,需要传输"11001110",数据中含5个"1",所以其奇校验位为"0",同时把"110011100"传输给接收⽅,接收⽅收到数据后再⼀次计算奇偶性,"110011100"中仍然含有5个"1",所以接收⽅计算出的奇校验位还是"0",与发送⽅⼀致,表⽰在此次传输过程中未发⽣错误。

奇偶校验就是接收⽅⽤来验证发送⽅在传输过程中所传数据是否由于某些原因造成破坏。

具体⽅法如下:奇校验:就是让原有数据序列中(包括你要加上的⼀位)1的个数为奇数1000110(0)你必须添0这样原来有3个1已经是奇数了所以你添上0之后1的个数还是奇数个。

偶校验:就是让原有数据序列中(包括你要加上的⼀位)1的个数为偶数1000110(1)你就必须加1了这样原来有3个1要想1的个数为偶数就只能添1了。

⼤家⼀定会问,如何计算奇偶性呢,在计算机内有⼀种特殊的运算它遵守下⾯的规则:1+1=0; 1+0=1; 0+1=1; 0+0=0;我们把传送过来的1100111000逐位相加就会得到⼀个1,应该注意的的,如果在传送中1100111000变成为0000111000,通过上⾯的运算也将得到1,接收⽅就会认为传送的数据是正确的,这个判断正确与否的过程称为校验。

⽽使⽤上⾯⽅法进⾏的校验称为奇校验,奇校验只能判断传送数据中奇数个数据从0变为1或从1变为0的情况,对于传送中偶数个数据发⽣错误,它就⽆能为⼒了。

巧用单片机的奇偶校验位

巧用单片机的奇偶校验位

巧用8051单片机的奇偶校验位() 南京东南大学电子工程系 210096 孙洪军() 南京理工大学化工学院 210094孙秀云周学铁摘根连线即可达到 3要: 一种微机间的串行通信方法, 只需用 R XD、T XD 和GN D115200bp s 的传输速率。

中断关键词: 串行通信语言 8250 IN S C送出去。

IN S 8250接收由 R XD 来的数据后, 经过串?在工程设计中, 经常会遇到近距离的微机间数据交换问题, 通常的解决方法是利用微机的异步串行通并信适配器, 通过把2台微机的串行通信口相连来实现转换后, 放在中供读取。

RBR C PU 表1 IN S 8250中可访问的寄存器据交换。

在程序的设计上往往利用或数 B IO S DO S 的功 1 2 能调用来实现对适配器的初始化、状态检测、数COM COM 方向寄存器名称口地址口地址据的发 3828输出发送器保持寄存器() F H F H T HR 送和接收等。

这种方法实现的串行通信程序, 设计起来 3828输入接收器缓冲寄存器() F H F H RBR 相对简单, 但是在连线上要复杂一些, 除了通信线外, 3828输出除数寄存器( 低位) () F H F H D R 还需要握手信号线, 通信速率最高只可达到9600。

bp s3929输出除数寄存器( 高位) () F H F H D R 而在实践中, 人们往往更希望采用3线通信形式, 只采 3929输出中断允许寄存器( ) F H F H IER 用、、根线, 通信速率也希望能达到更 3R XDT XDGN D 32输入中断识别寄存器( ) FA H FA H IIR 高水平。

通过对微机的异步串行通信适配器的研究发32输出线路控制寄存器() 现, 完全可以避开对或的功能调用, 通过 FBH FBH L CR B IO S DO S 调制解调器控制寄存器直接访问其寄存器来实现对适配器的初始化、状态检 3FCH 2FCH 输出 ()M CR 测、数据的发送和接收等功能, 可以达到115200的 bp s 32输入线路状态寄存器()FD H FD H L SR 传输速率, 再通过对中断控制器8259的编程, 采用中 A 调制解调器状态寄存器 3F EH 2F EH 输入断方式接收数据, 可以可靠地实现高速3线串行通信。

奇偶校验、无校验、SPACE校验、MARK校验五种方式互发实验

奇偶校验、无校验、SPACE校验、MARK校验五种方式互发实验

奇偶校验、无校验、SPACE校验、MARK校验五种方式互发实验------分隔线----------------------------最近在研究串口的五各校验方式,在网上找到一篇文章是用这五种不同校验方式互发数据的结果比较,可以方便地理解这五种校验方式的作用。

首先再来复习一下这几中校验的原理及定义,其中奇校验、偶校验、无校验这三种在《VC串口编程基础-奇偶校验》一文中有详细的解释,这里再解释一下SPACE校验和MARK校验。

MARK校验是把校验位固定设为1,而SPACE校验是把校验位固定设为0,我个人认为这两种校验方式没有奇偶校验方式“保险”。

理解了各种校验方式的含义,再通过下面的实验来可以加深这一理解。

作者使用的是MsComm控件,试验中发现,发生校验错的那些数据在后面能校验通过的数据被收到时才被输出,而且输出值一律为5BH,也许用其它串口控件或串口类不是输出5BH,还有待进一步的实验。

下面是试验过程中的截图:第一组试验:发送方发送的1个数据桢有10位组成:1位起始位,8位数据位,1位停止位试验(1.1)发方:9600,N,8,1(发出的数据位数为8)收方:9600,N,8,1解读:协议完全匹配,所有数据均能被正确收到。

试验(1.2)发方:9600,N,8,1(发出的数据位数为8)收方:9600,O,8,1解读:此时发送方的停止位被接收方当作校验位,由于是奇校验,而此时的校验位为1,所以只有含有偶数个1的那些数据才能被PC正确收到,比如00H,03H,05H,06H,09H,0AH,0CH,0FH等。

(发生校验错的那些数据在后面能校验通过的数据被收到时才被输出,输出为5BH)试验(1.3)发方:9600,N,8,1(发出的数据位数为8)收方:9600,E,8,1解读:此时发送方的停止位被接收方当作校验位,由于是偶校验,而此时的校验位为1,所以只有含有奇数个1的那些数据才能被PC正确收到,比如01H,02H,04H,07H,08H,0BH,0DH,0EH等。

单片机 校验和 异或校验 算法

单片机 校验和 异或校验 算法

在深入探讨单片机及其相关主题之前,我们需要先明确单片机的概念。

单片机,又称微控制器(Microcontroller),是一种集成电路芯片,内部包含了处理器、存储器和各种输入输出设备。

它可以看作是一个小型的计算机系统,广泛应用于家电、汽车、医疗设备等各个领域。

单片机能够根据预先设计好的程序来完成特定的功能,其程序编写和实现离不开校验和算法和异或校验算法的支持。

让我们来了解一下校验和。

校验和是一种数据传输时用于验证数据完整性的技术。

它通过对数据进行加和运算,生成一个校验值。

发送端将原始数据和校验值一同发送给接收端,接收端收到数据后同样对数据进行加和运算,并与接收到的校验值进行比对,以确认数据是否在传输过程中出现了错误。

校验和算法可以更有效地保护数据的完整性,防止数据传输中的错误。

接下来,我们来介绍一下异或校验。

异或校验是一种简单而有效的校验方法,它通过对数据进行异或运算来生成校验值。

发送端将原始数据和异或校验值一同发送给接收端,接收端同样对数据进行异或运算,并将结果与接收到的校验值进行比对,以确认数据传输是否出现了错误。

异或校验算法的简单性和高效性使其成为了数据通信领域中常用的校验方法之一。

在单片机的应用中,校验和和异或校验算法被广泛应用于数据通信和存储领域。

在数据传输过程中,单片机通过计算数据的校验和或者异或校验值,可以有效地判断数据是否在传输过程中发生了错误。

在数据存储方面,校验和和异或校验算法也能够帮助单片机检测数据的完整性和一致性,保障数据的准确性和可靠性。

从个人观点来看,校验和和异或校验算法作为单片机领域中的重要概念,对于数据传输和存储的可靠性至关重要。

通过合理的应用和实践,单片机可以更好地保障数据的精准传输和可靠存储,从而提高系统的稳定性和可靠性。

我认为对校验和和异或校验算法的深入理解和应用,对于单片机的工程师和开发者来说是至关重要的。

总结回顾起来,我们深入探讨了单片机、校验和和异或校验算法的概念及重要性。

奇偶校验发生器

奇偶校验发生器

奇偶校验发生器/检测器奇偶校验发生器/检测器是用来检查数据传输和存取过程中是否产生错误的组合逻辑电路。

奇偶校验发生器/检测器是同一个逻辑器件:当作为奇偶校验发生器使用时,它可产生奇偶校验位,与数据一起传输或保存;当作为奇偶校验检测器使用时,它可以检验所接受数据的正确性。

⑴奇偶校验发生器①工作原理被校验的数据和1位校验位组成校验码。

以 8421 码为例, 当采用奇校验时,被校验的数据和校验位满足奇数个 1 ,组成 5 位奇校验码奇校验位逻辑值的表达式当采用偶校验时,被校验的数据和校验位满足偶数个 1,组成 5位偶校验码偶校验位逻辑值的表达式②电路实现由以上两个表达式看出:电路采用异或门实现,非常简单;奇校验位逻辑值电路是在偶校验位逻辑值电路输出端加非门实现。

⑵奇偶校验检测器①工作原理校验码被送到检测电路,该电路能够检测奇偶错。

工作原理是校验码送到检测电路,发生一位错或奇数位错时,输出为 1,否则为 0.②电路实现和发生器电路相同,只不过增加了 1 个输入端。

实际应用中,发生器电路和检测器电路是同一电路,作在一个 IC 片上。

逻辑表达式Jqi 是奇检测输出当Jqi = 0 时,校验码无错,允许输出;当Jqi=1时,校验码有错,禁止输出。

逻辑表达式Jou 是偶检测输出当Jou = 0 时,校验码无错,允许输出;当Jou = 1 时,校验码有错,禁止输出。

⑶奇偶校验实际应用意义①能够检测一位错或奇数位错,但不能确定错误位置,因此,不能纠错;②由逻辑表达式看出,电路不能检测偶数位错,当发生偶数位错时,电路显示正确;③数据在存储或传送过程中,发生一位错误的可能性占96%以上;④电路简单,容易实现,且有实际应用意义。

单片机 校验和 异或校验 算法

单片机 校验和 异或校验 算法

单片机校验和异或校验算法在数字电子技术领域中,单片机是一种集成了微处理器、存储器和输入/输出设备的微型计算机系统。

它的出现,使得电子产品可以实现更多的功能,同时体积更小,功耗更低。

在单片机的设计中,校验和算法和异或校验算法被广泛应用,以确保数据的传输和存储的可靠性和正确性。

在单片机中,数据的传输和存储是非常重要的,因为单片机通常会与其他设备进行数据交换。

在这个过程中,数据很可能会受到干扰或损坏,所以需要一种方法来验证数据的正确性。

校验和算法就是一种常用的方法,它通过对数据进行求和,并将结果附加到数据后面,在接收端再次求和并与附加的和进行比对,来检验数据是否正确。

异或校验算法也是一种常用的校验方法。

异或操作是一种逻辑运算,当两个运算对象的对应位不同时结果为1,相同时结果为0。

在单片机中,异或校验算法常常被用来检验数据的正确性,它通过对数据进行逐位异或运算,并将结果附加到数据后面,在接收端再次进行异或运算并与附加的结果比对,来验证数据的准确性。

对于校验和算法和异或校验算法的理解,我认为它们都是非常简单有效的方法,可以在单片机中快速实现,同时可以有效验证数据的正确性。

在实际应用中,根据具体的需求和性能要求,可以选择校验和算法或异或校验算法来保证数据的可靠性。

单片机作为一种微型计算机系统,在设计中校验和算法和异或校验算法是非常重要的部分。

它们可以保证数据在传输和存储过程中的正确性,同时也能够在保证可靠性的前提下降低成本和复杂度。

在单片机的应用中,校验和算法和异或校验算法具有非常重要的意义。

通过对单片机、校验和算法和异或校验算法的深度和广度的讨论,我们可以更好地理解它们在数字电子技术领域中的重要性和作用。

希望这篇文章能够为你对单片机和校验算法的理解提供一些帮助。

在数字电子技术领域中,单片机是一种非常重要的微型计算机系统,广泛应用于各种电子产品中。

它集成了微处理器、存储器和输入/输出设备,可以实现复杂的控制和处理任务。

奇偶校验码的产生与检测电路

奇偶校验码的产生与检测电路
扩展阅读
奇 偶校验码的产生与 检测 电路
第一章已经介绍了奇偶校验码的检错原理,所谓“奇校验码”,指信息位 和校验位中,“1”的个数为奇数;所谓“偶校验码”,指信息位和校验位中, “1”的个数为偶数。
奇偶校验码的生成,指的是依据信息位中 1 的个数,按校验规则产生校验 位具体的取值。奇偶校验码的检测,指的是接收端收到具体代码后,计算整个 码组中 1 的个数,验证是否符合校验规则,由此判断是否产生了误码。
图 2.3.10 8421 偶校验码的生成电路
得到输出 B0 后,再将五位码元 B4、B3、B2、B1、B0 并行输出,则 1 的个数 必为偶数,由此形成了 8421 偶校验码。
2. 8421 偶校验码的检测 8421 偶校验码的检测电路如图 2.3.11 所示。在接收端,将收到的 8421 偶
校验码的五位码元 B4、B3、B2、B1、B0 作为 五输入异或逻辑电路的输入,输出 F 为检测 信号。
根据 n 输入异或的功能,五位码元中, 1 的个数为偶数时,输出 F 为 0;1 的个数为奇数时,输出 F 为 1。
图 2.3.11 8421 偶校验码的检测电路
分不难理解,当 F 为 1 时,不符合偶校验规则,表示接收到的 8421 偶校 验码为误码,F 为 0 则表示符合偶校验规则,接收到的 8421 偶校验码正确。
奇偶校验码的产生与检测电路是利用异或、同或门来实现的,以下介绍该 电路的组成结构和原理。从高到低依次为:信息 位 B4、B3、B2、B1,校验位 B0。
1. 8421 偶校验码的生成 8421 偶校验码的生成电路如图 2.3.10 所
示。将满足 8421 码规则的四位信息位 B4、B3、 B2、B1 作为四输入异或逻辑电路的输入变量, 则根据 n 输入异或的功能,当信息位中 1 的个 数为奇数时,输出 B0 为 1,信息位中 1 的个数 为偶数时,输出 B0 为 0。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

单片机中的奇偶校验原理
奇偶校验是一种用于检验数据传输中是否发生错误的校验方式,常用于单片机或通信设备中。

奇偶校验的原理是通过对数据字节每个位的值进行统计,确定数据字节中的1的个数是奇数还是偶数。

校验位(奇校验时为奇校验位,偶校验时为偶校验位)的值取决于数据字节中1的个数。

具体原理如下:
1. 奇校验:统计数据字节中二进制中1的个数,如果个数为奇数,则校验位的值为0,否则为1。

这样在传输过程中,如果数据字节中发生了偶数个位的错误,校验位会检测到错误。

2. 偶校验:统计数据字节中二进制中1的个数,如果个数为偶数,则校验位的值为0,否则为1。

这样在传输过程中,如果数据字节中发生了奇数个位的错误,校验位会检测到错误。

在单片机中,奇偶校验可以通过硬件电路实现,也可以通过软件算法实现。

通过将校验位与数据字节一起传输,接收端在接收数据时可以通过统计校验位和数据字节中1的个数来判断数据是否正确传输。

如果校验位与数据字节中统计得到的1的个数一致,则表示数据传输正确,否则表示发生了错误。

相关文档
最新文档