51单片机实现串口偶校验

发布者:devilcore最新更新时间:2021-07-13 来源: eefocus关键字:51单片机  串口  偶校验 手机看文章 扫描二维码
随时随地手机看文章

1. STC单片机串口

在这里插入图片描述
在这里插入图片描述

2. PSW是一个8位寄存器。PSW的全称是Program Status Word,即程序状态字。

在这里插入图片描述

奇偶标志位P

每执行一条汇编指令,单片机都能根据A中1的个数的奇偶自动令P置位或清零,奇为1,偶为0。P可以填入TB8,作为偶校验。

此标志位对串行通信的数据传输非常有用,通过就校验可以检验传输的可靠性。


3. 奇偶校验

奇校验(odd parity):让传输的数据(包含校验位)中1的个数为奇数。

在这里插入图片描述

偶校验(even parity):让传输的数据(包含校验位)中1的个数为偶数。

在这里插入图片描述

4. STC单片机串口实现偶校验

//uart.c

unsigned char var0,var; //var0一定要是全局变量


void Uart_isr( void ) interrupt 4

{

uint8_t tmpBuf;


RI = 0;

tmpBuf= SBUF;


    var = tmpBuf; 

    var0= 0;

    var += var0;

if(RB8 == P)        //偶校验OK

{

//数据接收处理

}

}



void Uart1Init(void)

{

//SCON = 0x40; //0100,0000 8 位可变波特率,无校验位, 串口1模式1

SCON = 0xC0; //1100,0000 9 位可变波特率,偶校验位, 串口1模式3

//其他串口初始化代码


}

void UartSend(uint8_t var)

{

var0 = 0;

var += var0;

TB8 = P;

SBUF = var;

//其他串口发送代码

}


关键字:51单片机  串口  偶校验 引用地址:51单片机实现串口偶校验

上一篇:51单片机(三十二)—— 串口通信实例测试
下一篇:51单片机(三十一)—— 串口通信介绍

推荐阅读最新更新时间:2024-11-13 11:05

51单片机串口通信原理与应用
  这节我们主要讲单片机上串口的工作原理和如何通过程序来对串口进行设置,以及根据所给出的实例实现与PC 机通信。   一、原理简介   51 单片机内部有一个全双工串行接口。什么叫全双工串口呢?一般来说,只能接受或只能发送的称为单工串行;既可接收又可发送,但不能同时进行的称为半双工;能同时接收和发送的串行口称为全双工串行口。串行通信是指数据一位一位地按顺序传送的通信方式,其突出优点是只需一根传输线,可大大降低硬件成本,适合远距离通信。其缺点是传输速度较低。   与之前一样,首先我们来了解单片机串口相关的寄存器。   SBUF 寄存器:它是两个在物理上独立的接收、发送缓冲器,可同时发送、接收数据,可通过指令对SBUF 的读写来区别是
[单片机]
<font color='red'>51单片机</font><font color='red'>串口</font>通信原理与应用
51单片机—软件看门狗—01
这是第一次写一写下自己的学习的过程,这只是个开始,呵呵,当然没有结束的一个开始 今天没有事情,就看看单片机的书,突然发现自己学了这么长的时间还没有用过看门狗这个东东~~表示很惭愧,(*^__^*) 嘻嘻 既然这是自己的第一篇文章,那就来个简单,但是也好写的东东吧~~~ 001.软件看门狗 当程序跑飞到一个临时构成的死循环中时,这是如果没有人为的操作(也就是按下复位键 ),那么软件系统将完全瘫痪。那么我们就要让MCU自己实现监视系统运行的情况,这就是程序运行监视系统(WatchDog)。 简单来说吧,好比一个主人养了一条狗,主人在正常工作时总是不忘记每隔一段时间就喂一次狗,狗吃过东西就安静下来,这样也就不会影响主人生活
[单片机]
<font color='red'>51单片机</font>—软件看门狗—01
STM32 串口通信实验
一,串口操作相关库函数: 获取状态标志位函数-操作USART_SR寄存器 // 获取状态标志位 FlagStatus USART_GetFlagStatus(USART_TypeDef* USARTx, uint16_t USART_FLAG); // 清除状态标志位 void USART_ClearFlag(USART_TypeDef* USARTx, uint16_t USART_FLAG); // 获取中断状态标志位 ITStatus USART_GetITStatus(USART_TypeDef* USARTx, uint16_t USART_IT); // 清除中断状态标志位 void USART_ClearITPe
[单片机]
STM32 <font color='red'>串口</font>通信实验
手把手教学51单片机第七课 | AT24C02的I²C总线数据传输
SCL(clock)时钟信号 SDA(data)数据总线 数据位的有效性规定 I²C总线进行数据传输时,时钟信号为高电平期间。数据总线上的数据必须保持稳定,只有在时钟线上的信号为低电平期间,数据线上的高电平或者低电平状态才允许变化。 时序图 起始信号和终止信号 当时钟信号高电平, SDA变低电平,为起始信号,若SDA变高电平,为终止信号 起始信号产生后 ,总线处于占用状态 终止信号产生后,总线处于空闲状态 void start()//起始信号 { sda=1; delay(); scl=1; delay(); sda=0; delay(); } void stop()//
[单片机]
手把手教学<font color='red'>51单片机</font>第七课 | AT24C02的I²C总线数据传输
基于51单片机交通灯课程设计
1 绪论1.1设计目的 单片机具有性价比高、集成度高、可靠性好、抗干扰性强等特点,广泛运用于各种智能仪器中。基于新型规则的可编程交通控制系统,可以实现对车辆、行人的控制,使的交通便于管理。所以,采用单片机自动控制交通灯有现实的社会意义。 通过本次设计,使学生不仅更加深刻领会微型计算机从硬件组成到软件编程的基本原理和知识,而且更要学会应用,务必做到理论和实践相结合,掌握硬件分析、软件设计的基本思想和方法,提高分析问题、解决问题和工程实践的能力。 1.2设计内容 1)设计一个十字路口交通灯控制器。用单片机控制LED灯模拟指示。模拟东西方向的十字路口交通信号控制情况。南北方向主干道计时时间为60s,东西方向次干道计时时间为45s。
[单片机]
基于<font color='red'>51单片机</font>交通灯课程设计
基于SJA1000的CAN总线和AT89C51单片机实现运动控制系统的设计
1、引言 运动控制系统是以机械运动的驱动设备—电动机为控制对象, 以控制器为核心, 以电力电子、功率变换装置为执行机构, 在自动控制理论指导下组成的电气传动控制系统。在电气时代, 电动机一直在现代化的生产和生活中起着十分重要的作用。在近年来, 由于半导体制造设备等相关的电子制造设备市场大幅成长, 而使得机器设备上的运动控制系统出现了以下几点技术需求: ( 1) 多轴运动控制。机器设备因自动化程度提高而使得单一机器上所需要的轴数增多, 一台设备上十几轴是常见的事情。在轴数变多后, 如何协调各轴动作就是一个重要的课题。 ( 2) 体积要小。由于厂房空间的限制, 机器的体积要求越小越好, 机器内控制器的体积也就被要求愈来愈小, 相对
[单片机]
基于SJA1000的CAN总线和AT89C<font color='red'>51单片机</font>实现运动控制系统的设计
STM32F103单片机学习笔记(3):串口
关于串口,基础的应该都知道,波特率,校验位,停止位,双向通信接收端连接发送端,发送端连接接收端,两个不同设备通信的时候要共地。485、232、422都是由串口驱动的,只是他们的传输电平不一样。经过了前面IO口的设置以及中断的配置之后,感觉再驱动中断普通的接收和发送就没有那么的吃力了,关于复杂的用法设置我这里就不总结了。这里要注意的是USART1应用的是APB2时钟,USART2、USART3、UART4、UART5应用的是APB1时钟。 继续看给我们的库函数,这一个涉及到的库函数是与串口相关的库函数stm32f10x_usart.c 对于串口,它在接收和发送的时候也可以设置为中断,这样就应用到我们之前的设置方法。这里我以
[单片机]
STM32F103单片机学习笔记(3):<font color='red'>串口</font>
基于51单片机DS1302四位数码管可调时钟
#include reg52.h #define uchar unsigned char #define uint unsigned int sbit sda=P1^0; //ds1302的数据线 sbit clk=P1^1; //ds1302的时钟线 sbit rst=P1^2; //ds1302的复位线 sbit k1=P1^5; //设置/确定 sbit k2=P1^6; //加 sbit k3=P1^7; //切换 uchar code duan_code ={ 0xc0,0xf9,0xa4,0xb0,0
[单片机]
基于<font color='red'>51单片机</font>DS1302四位数码管可调时钟
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved