i
cludereg51hdefi
eBUFFERLEGTH10voidUART_i
it串口初始化函数voidCOM_se
dvoid串口发送函数charstr20charjvoidmai
voidu
sig
edchariUART_i
itj0初始化串口fori0i10iCOM_se
d首先发送一次数据作为测试用while1voidUART_i
itSCON0x50TMOD0x20TH10xfAPCON0x80TR11启动定时器T1ET10ES1允许串行口中断PS1设计串行口中断优先级EA1单片机中断允许voidCOM_se
dvoidu
sig
edcharpoi
t0forpoi
t0strpoi
t0poi
t把缓存区的数据都发送到串口SBUFstrpoi
twhileTITI0初始化串行口和波特率发生器选择串口工作方式1,打开接收允许定时器1工作在方式2,定时器0工作在方式1实现波特率9600(系统时钟110592MHZ)
连续发送二十位数据
fstrpoi
t0函数名称:com_i
terrup串口接收中断处理函数函数功能:接收包括起始位S在内的十位数据到数据缓冲区voidcom_i
terruptvoidi
terrupt4usi
g3u
sig
edcharRECEIVR_bufferbitflag1ifRI处理接收中断RI0清除中断标志位RECEIVR_bufferSBUF接收串口数据strjSBUFifRECEIVR_bufferES0strj0SCON0x40接收不允许COM_se
d发送数据ES1j0flag0SCON0x50接收允许ifflagj
fr