(51单片机)第十一章-串行口应用提高

11.1 方式0应用

        在第6章中,已经对51单片机的串行口结构做过详细介绍,并且通过实例讲解了串行口的4种工作方式中方式1的具体用法,本节详细讲述串行口方式0的用法。

        串行口方式0被称为同步移位寄存器的输入/输出方式,主要用于扩展并行输入或输出口。数据由 RXD(P3.0)引脚输入或输出,同步移位脉冲由TXD(P3.1)引脚输出。发送和接收均8位数据低位在先高位在后波特率固定为fosc/12。在该模式下,串行口的SBUF是作为同步移位寄存器使用的。在串行口发送时,SBUF相当于一个并行进入、串行输出的移位寄存器,由单片机的内部总线并行接收8位数据,并从RXD信号线串行输出。在接收操作时,它又相当于一个串行输入、并行输出的移位寄存器。该模式下SM2RB8TB8不起作用。其数据输出时序图如下图所示,数据输入时序图如下下图所示。

        发送操作在 TI=0 时进行,CPU将数据移入SBUF之后,RXD线上即可发出8位数据,TXD上发送同步脉冲。8位数据发送完后,TI由硬件置位,并在中断允许的情况下向CPU申请中断。CPU 响应中断后,先用软件使TI清0,然后再给SBUF 送下一个需要发送的字符如此重复上面的过程。

        接收过程是在 REN=1和 RI=0 的条件下启动的。此时,串行数据由 RXD 线输入,TXD线输出同步脉冲。接收电路接收到8位数据后,RI自动置位并在中断允许的条件下向CPU发出中断请求。CPU查询到RI为1或者响应中断以后便将SBUF 中的数据送到累加器。RI需要由软件复位。

        需要注意,串行口工作模式0并不是一个同步串口通信方式,它的主要用途是与外面的同步移位寄存器相连,以达到扩展单片机输入并行口和输出并行口的目的,其典型应用图如下图所示。

        74LS164 是一个8位串行输入、并行输出的移位寄存器,CLR用来清0,A、B 两个输入端,可使用任一个作为输入端,也可两个同时作为输入端,单片机的RXD 引脚将数据送至 A、B端,然后在CLK同步时钟脉冲作用下,8位串行数据全部移至8位并行口上。

        74LS165 是一个8位并行输入、串行输出的移位寄存器,上图中Q为串行输出端,S/L端为启动移位信号端,一个低脉冲可启动移位操作。

        示例

  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值