"该资源是关于C51单片机串行通信的课件,主要讲解了串行口数据寄存器SBUF的功能和串行通信的基本原理。内容包括单片机串行异步通信接口的特性,以及C51单片机中不同串行通信方式的介绍,同时涉及到了串行口的特殊功能寄存器SCON及其各个位的含义和作用。"
在51系列单片机中,串行通信是通过RXD和TXD两条线路实现的,这种方式称为串行异步通信。根据工作方式的不同,单片机串行口有四种工作模式:方式0、方式1、方式2和方式3。其中,方式0和方式2是同步移位寄存器方式,而方式1和3则是8位或9位的异步通信方式,波特率可以通过定时器T1来设定。
串行口数据寄存器SBUF是一个特殊功能寄存器,具有两个独立的物理寄存器,用于发送和接收数据,它们共享同一个地址99H。当CPU向SBUF写数据时,数据会被放入发送数据寄存器,并按照低位在前,高位在后的顺序,在发送时钟的控制下逐位发送,起始位为低电平,结束位为高电平。发送完成后,发送中断标志TI被置位,通知CPU发送已完成。而当CPU读取SBUF时,读取的是接收数据寄存器,它会检测起始位,接收到的数据会移入移位寄存器,如果接收有效,接收中断标志RI会被置位。
串行口控制寄存器SCON是另一个关键的寄存器,其位字段包括工作方式选择SM0和SM1,多机通信控制SM2,允许接收控制REN,发送数据的第9位TB8,接收数据的第9位RB8,以及发送中断标志TI和接收中断标志RI。这些位的设置决定了串行口的工作模式、是否允许接收、以及如何处理中断请求。例如,SM0和SM1组合可以设置串行口的工作模式,SM2用于多机通信,REN开启或关闭串行接收,而TI和RI则指示发送和接收中断的状态。
在系统复位时,SCON寄存器的所有位都会被清零。发送中断标志TI在不同工作方式下,会在发送完数据的特定时刻被硬件置位,触发中断请求。但是,中断服务程序执行后,TI不会自动清零,需要软件手动清除。接收中断标志RI则表示接收数据的有效性,当接收到数据并检测到起始位后,RI被置位,同样需要软件来清零。
总结来说,这个课件详细介绍了C51单片机中串行通信的基础知识,包括SBUF寄存器的使用,串行接口的工作方式,以及控制串行通信的SCON寄存器的配置,对于理解51单片机的串行通信机制非常有帮助。