单片机串口通信模式有4种.(一种同步,3种异步).在控制寄存器SCON中设置通信模式,

TI位为发送中断请求标志位,TI=0,表示可发关(要软件清0),TI=1发送结束,硬件自动置位.

RI位为接收中断请求标志位,RI=0,可接.RI=1.表示接收完毕.

REN为接收允许/禁止控制位.

       下面以模式1为例.由PC机发送控制信息.控制从机LED显示.

模式1接收流程:(模式1一帧10位)

1.设置SCON中的REN=1,启动串行口数据接收.RXD引脚进行串行口数据取样.

2.在数据传递的时候RXD为高电平1,当有负跳变时,确认数据起始位0.

3.开始接收一帧串行数据,在接收移位脉冲的控制下,将收到的数据一位一位地送入移位寄存器,直到9位数据(包括停止位)完全接收完毕,其中最后一位为停止位.

4.当RI=0,并且接收到的停止位为1,8位数据送入SBUF,停止位送入RB8

5.读数据MOV A,SBUF

6.软件中清空RI,以便接收下一次串行数据.

以下发的是FE,因为板子中LED是共阳的,所以低电平有效,即FE只点亮最低位的一个LED灯,最上面的那个.

 

代码如下:

 org 0000H

 AJMP MAIN

MAIN:

 MOV TMOD,#20H

 MOV TL1,#0F4H

 MOV TH1,#0F4H

 SETB TR1

 CLR ES

HERE:

 MOV SCON,#50H

 MOV PCON,#80H

 JNB RI,$

 MOV A,SBUF

 MOV P0,A

 CLR RI

 JMP HERE

 END