void sendchar(unsigned char ch)? {? ? SBUF=ch; А while(TI==0); А TI=0; ? }Р作为键盘扫描程序,在前面的课题中已经有较详细的说明,在此不作过多的说明。具体处理仅需将数据发送。? 使用串口的发送数据,需要将发送的数据送至SBUF单元,如果发送完毕,则TI自动置位,需要将其手动清除,发送一个字符的程序如下所示。РРРР一、有关通信的基本概念Р数据通信的基本方法有并行通信和串行通信两种。Р异步串行通信以字符为传送单位用起始位和停止位标识每个 字符的开始和结束,字符间隔不固定,只需字符传送时同步。异步串行通信的双方需要两项约定:Р异步串行通信是指通信时发送设备与接收设备使用各自的时钟控制数据的发送和接收的过程。异步串行通信的特点是以字符为单位进行传输,传送字符与字符之间的时间间隔是任意的,但所传送每个字符中的各位是以固定的时间传送的,硬件设备简单。Р串行通信的基本方式分为同步串行通信和异步串行通信。РРРР⑴ 字符格式? 一帧字符位数的规定:数据位,校验位,起始位和停止位。?⑵ 波特率? 波特率是数据传送的速率,要求发送方和接收方都要以相同的数据传送速率工作。在异步通信中,波特率为每秒钟传送二进制数码的位数,以位/秒作为单位。Р一、有关通信的基本概念РРРР二、与串口控制相关的寄存器Р⑴ SCON? SCON是可编程控制的,修改SCON的值,就可改变串口工作方式和工作状态,各位定义如下:РSM0РSM1РSM2РRENРTB8РRB8РTIРRIРSM0、SM1:串口模式设定位。? 00:方式0;? 01:方式1;? 10:方式2;? 11:方式3。