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单片机实现串口偶校验
推荐阅读最新更新时间:2024-11-19 10:19
PIC串口通信程序(3)发送字符
#include pic.h __CONFIG(XT&WDTDIS&LVPDIS); main() { SPBRG=25; SYNC=0;//选择异步模式 BRGH=1;//高波特率方式 TXEN=1;//发送使能 TX9=0;//不发送第9位 SPEN=1;//USART使能 //以上可替代语句RCSTA=0b10000000,TXSTA=0b00100100 TXREG='A'; while(1) { if(TRMT==1)//如果TSR空,说明发送完毕,发下个数据 { TXREG='A';//再次填充TXREG,USART模块会继续自动发送 } } }
[单片机]
51单片机MLX90614红外温度计
/*********************************************************** * * 功能:利用MLX90614实现红外测温 * * 平台:keil5 + STC89C52 * * 作者:辟邪居士 * * * 日期:2020年9月19 * ************************************************************/ #include reg52.h #include intrins.h //************************************ #define uint unsigned int #defin
[单片机]
51单片机DIY做PLC编程
简介:有朋友想定制一个净水机控制器,有一些独特的功能要增加,但是商品控制板没有这样的功能,问我能否做一个,我觉得单片机完全能满足这种简单的控制需要,上手开始编程序时候突然感到,用PLC逻辑编这种功能是非常简单轻松的,而如果用汇编或C编却感觉有点棘手,编程效率不高,所以想为何不在单片机上实现PLC的逻辑呢? 上网搜索尝试看能否找到合适的程序下载来稍微改改就能用的呢?方案几年前就有了,实际上是利用三菱的低档plc编程软件编辑好梯形图,存盘后用专用的格式转换工具转换成HEX单片机烧写文件烧进去,尝试下载三菱plc工具软件,但是在我的WIN7-64位系统上不能正常工作,好容易换了系统装好开发工具,但是初次上手这款开发工具,界面挺复杂的
[单片机]
MCS251和PC机间的串口通信电路设计
随着计算机技术的快速发展和广泛应用,上位机和下位机的主从工作方式为工业控制及自动控制系统所采用。由于PC 机分析能力强、处理速度更快及单片机使用灵活方便等特点,所以一般都将PC 机作为上位机,单片机作为下位机,二者通过RS2232或者RS2485接收、发送数据和传送指令。单片机可单独处理数据和控制任务,同时也将数据传送给PC 机,由PC 机对这些数据进行处理或显示。本文介绍PC 机和单片机通信在一种基于 C8051F 单片机的波形发生器中的应用,在上位机上显示正弦波的幅值和频率,由上位机发送指令可以改变波形幅度及频率。 硬件电路的设计 MCS251 单片机有一个全双工的串行通讯口UART,利用其RXD 和TXD
[电源管理]
51单片机的PT2257调音IC控制程序
Volume_Handle.H这头文件请到 http://www.51hei.com/bbs/dpj-19294-1.html 下载,下面的代码是从一个收音机程序里面截取出来的. /*-----------PT2257调音IC控制-----------*/ /*------ 外部 晶振 为 12MHz-------*/ #include STC12C5620AD.H #include Volume_Handle.H #include delay.h /********************** 声明 外部变量**************************/ /***
[单片机]
51单片机——数码管动态显示
1、静态与动态不同的显示 在静态显示时所有数码管显示的是一样的,动态显示时可以单独决定每个数码管显示什么; 静态显示时,数码管是常亮的。动态显示时每时刻只有一个数码管在亮; 2、按原理图找对应控制端口 数码管的显示由P0口控制 可以用P1口选择哪个数码管亮 3、程序部分 程序如下: #include reg52.h sbit ADDR0=P1^0; sbit ADDR1=P1^1; sbit ADDR2=P1^2; sbit ADDR3=P1^3; sbit ENLED=P1^4; void delay(unsigned char x); unsigned char code
[单片机]
一种用于51单片机的红外串行通信接口
引言
在很多单片机应用系统中,常常利用非电信号(如光信号、超声波信号等)传送控制信息和数据信息,以实现遥控或遥测的功能。例如在单相电度表抄表系统中,就是使用手持抄表器通过遥控的方式,来完成电度表用电量的抄录、设置表底数、电度表校时等工作。红外通信具有控制简单、实施方便、传输可靠性高的特点,是一种较为常用的通信方式。实现单片机系统红外通信的关键在于红外接口电路的设计以及接口驱动程序的设计。
1 红外通信的基本原理
红外通信是利用950nm近红外波段的红外线作为传递信息的媒体,即通信信道。发送端采用脉时调制(PPM)方式,将二进制数字信号调制成某一频率的脉冲序列,并驱动红外发射管以光脉冲的形式发送出去;接收端将接收到的光脉
[单片机]
基于P89V51单片机的电力线载波温湿控制系统设计
以单片机为核心的控制系统可准确实现交互信息的输入输出,信息量大,被广泛应用于工控系统、移动电子设备中。利用电力线网络作为高速数据的传输媒介,能够创造出很高的经济效益和社会效益。电力线载波通讯是利用电网的电力线作为传输媒介的有线传输模式,作为载波通讯在同一电力变压器范围内无需另外架设线路,成本低,使用方便。双音多频DTMF(Dual Tone Multi Frequency)信号由于具有较强的抗干扰能力和可靠的信号传输等优点,已逐渐被广泛使用。本系统设计采用以单片机为核心结合PID算法的智能载波温湿控制系统,实验证明系统运行稳定可靠。 1 P89V51单片机简介 P89V51是PHILIPS生产的高性能、低功耗的8位
[单片机]