嵌入式 > 嵌入式开发 > 详情

单片机串口通信控制LED灯

发布时间:2023-11-29 发布时间:
|
单片机串口通信模式有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.读数据MOVA,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



『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
我拆解了一款过气的电视盒子.想为国产芯片再鼓把劲