㈠ 51单片机串口通讯代码和校验怎么弄,最好有现成的程序我参考一下!
串口通讯模式3用于数据收发,支持9位数据传输,其中第九位可以作为奇偶校验位。发送代码如下:
发送代码:
SPOUT: MOV C,P ;奇偶位送C
MOV TB8,C ;送发送位
MOV SBUF,A ;发送数据
JNB TI,$
CLR TI
RET
接收代码如下:
接收代码:
SPIN: JNB RI,$ ;等待接收数据
MOV A,SBUF;接收数据
MOV C,RB8 ;第九位送C
JC SPIN1 ;为1转
ORL C,P ;与奇偶位或运算
JC ERR ;为1(也就是不相等转错误)
SJMP SPOK
SPIN1: ANL C,P ;与奇偶位与运算
JNC ERR ;为0则错误
SPOK: RET
ERR: MOV A,#0FFH
以上代码详细展示了如何使用模式3进行串口通信,并对奇偶校验位进行了处理。通过这种方式,可以有效检测数据传输中的错误。
㈡ 关于51单片机的复位电路
51单片复位:高电平复位,低电平工作。
此复位电路包含两种复位方式:上电复位、手动复位。
上电复位——
因为51机要求复位正脉冲持续20us以上方有效,故R2的作用就是C1的充电延时电阻,并将充电电流反馈成高电位。显然,若无R2,RST端接地,将持续为低电平。
上电时,+5V电压经C3、R2回路对C1充电,刚开始,充电电流很大,此电流在R2上产生压降,RST端呈正电位(高电平);随着充电的持续进行,在C1上逐步建立起左正右负的电压,右端负压使RST电位逐步下降,最后将RST端电位锁定在低电平。
手动复位——
如果需要重启程序,则按下RET1后松开即可。按下时,+5V电压使RST为高电平,松 开后,RST端变为低电平。R1为手动复位时的限流电阻,同时又与R2构成串联分压电路,使RST端的电压,电流维持在适当的水平,保护51单片不受大电流、高电压的冲击。
㈢ 51单片机延时程序时间是怎么计算的
51单片机延时时间计算需要考虑以下两种因素:
1、指令执行时间
2、指令循环次数