本文将详细介绍AT89S51单片机的串行口内部结构和工作原理,以及与其相关的特殊功能寄存器SCON和PCON。 AT89S51单片机的串行口包含两个独立的接收和发送缓冲器SBUF,它们都是特殊功能寄存器的一部分,地址为99H。发送缓冲器只能写入数据,接收缓冲器只能读出数据,两者不能互相操作。串行口的控制主要通过两个特殊功能寄存器——SCON和PCON来实现。 1. 串行口控制寄存器SCON SCON位于字节地址98H,可以位寻址,地址范围为98H~9FH。SCON寄存器中包含以下关键位: - SM0和SM1:用于选择串行口的工作模式,共有四种模式,具体对应关系见表。这些模式决定了波特率的生成方式、数据传输的位数以及是否支持多机通信。 - SM2:多机通信控制位。在方式2和方式3下,如果SM2设为1,只有当接收到的第9位(RB8)为1时,RI才会被置1,产生中断请求,并将前8位数据存入SBUF;否则,数据会被丢弃。在方式1和0,SM2有特定的含义和限制。 - REN:允许串行接收位。REN设为1允许接收数据,0则禁止接收。 - TB8:发送的第9位数据。在方式2和3中,TB8可以设置为奇偶校验位或在多机通信中表示数据帧/地址帧。在其他模式下,TB8可能不被使用。 - RB8:接收的第9位数据。在方式2和3中,存储接收到的第9位数据。在方式1中,如果SM2为0,RB8表示停止位。在方式0中,RB8不被使用。 - TI:发送中断标志位。TI在数据发送结束后由硬件置1,表示一帧数据发送完成。TI需要通过软件清0。 - RI:接收中断标志位。当接收完一帧数据时,RI被置1,请求CPU处理。RI同样需要通过软件清0。 2. 特殊功能寄存器PCON PCON位于字节地址87H,不可位寻址。其中与串行口相关的位是SMOD: - SMOD:波特率选择位。当SMOD设为1时,某些工作模式下的波特率会翻倍,如方式1。因此,SMOD也被称为波特率倍增位。 总结来说,AT89S51单片机的串行口提供了灵活的通信方式,通过配置SCON和PCON寄存器,可以适应不同的通信需求,包括数据传输速率、数据帧格式以及多机通信等。了解这些内部结构和工作原理对于开发基于AT89S51的串行通信系统至关重要。
本内容试读结束,登录后可阅读更多
下载后可阅读完整内容,剩余5页未读,立即下载
评论星级较低,若资源使用遇到问题可联系上传者,3个工作日内问题未解决可申请退款~