#include
main()
{
char dat
TMOD=0x20
TH1=0xfd
TL1=0xfd
TR1=1
SCON=0xd0
while(1)
{
dat++
ACC=dat
TB8=P //校验位送第九数据位TB8
SBUF=ACC
while(TI==0)
TI=0
}
}
MOVA,
#待发数据
数据进了A,即刻生成校验位P
MOV
C,
P
MOV
TB8,
C
校验位送到TB8
MOV
SBUF,
A
发送数据,以及P
上述写法,是偶校验。奇校验,需要增加一条取反指令,如下:
MOV
C,
P
CPL
C
MOV
TB8,
C
校验位送到TB8