51单片机与PC串口通信程序及硬件电路图200910161018
i
cludereg51hdefi
eBUFFERLEGTH10voidUART_i
it串口初始化函数voidCOM_se
dvoid串口发送函数charstr20charjvoidmai
voidu
sig
edchariUART_i
itj0初始化串口fori0i10iCOM_se
d首先发送一次数据作为测试用while1
f函数名称:UART_i
it串口初始化函数函数功能:在系统时钟为11059MHZ时,设定串口波特率为9600bits串口接收中断允许,发送中断禁止voidUART_i
it初始化串行口和波特率发生器SCON0x50选择串口工作方式1,打开接收允许TMOD0x20定时器1工作在方式2,定时器0工作在方式1TH10xfA实现波特率9600(系统时钟110592MHZ)PCON0x80TR11启动定时器T1ET10ES1允许串行口中断PS1设计串行口中断优先级EA1单片机中断允许voidCOM_se
dvoidu
sig
edcharpoi
t0forpoi
t0strpoi
t0poi
t连续发送二十位数据据都发送到串口SBUFstrpoi
twhileTITI0strpoi
t0
函数名称:com_i
terrup串口接收中断处理函数函数功能:接收包括起始位S在内的十位数据到数据缓冲区voidcom_i
terruptvoidi
terrupt4usi
g3u
sig
edcharRECEIVR_bufferbitflag1ifRI处理接收中断RI0清除中断标志位RECEIVR_bufferSBUF接收串口数据
fstrjSBUFifRECEIVR_bufferES0strj0SCON0x40接收不允许COM_se
d发送数据ES1j0flag0SCON0x50接收允许ifflagj
fr