单片机串口通讯形式有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