第7章 AT89S51单片机的串行口.ppt

第7章 AT89S51单片机的串行口.ppt

ID:48755134

大小:1.42 MB

页数:87页

时间:2020-01-21

第7章 AT89S51单片机的串行口.ppt_第1页
第7章 AT89S51单片机的串行口.ppt_第2页
第7章 AT89S51单片机的串行口.ppt_第3页
第7章 AT89S51单片机的串行口.ppt_第4页
第7章 AT89S51单片机的串行口.ppt_第5页
资源描述:

《第7章 AT89S51单片机的串行口.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、第7章串行口与串行通信(本章是一个难点、重点,注意学习的层次性)7.1串行口的结构7.2和串行通信有关的寄存器7.3串行口的4种工作方式7.4波特率的制定方法7.5串行口的应用编程7.1串行口的结构AT89S51单片机片内的串行口为全双工的通用异步收发(UART:UniversalAsynchronousReceiverandTransmitter)的串行口。一.串行通信的传送过程shiftMOVA,SBUF串行数据CPUCPUSBUFSBUFshiftMOVSBUF,A并行数据并行数据甲方(发送)乙方(接收)TI

2、RI发送过程:甲方发送时,CPU执行指令MOVSBUF,A,就启动了发送过程,数据并行送入SBUF,在发送时钟shift的控制下由低位到高位一位一位发送;甲方一帧数据发送完毕,置位发送中断标志TI,该位可作为查询标志(或引起中断),CPU可再发送下一帧数据.接收过程:乙方在接收时钟shift的控制下,由低位到高位顺序进入移位寄存器SBUF;乙方一帧数据到齐,即接收缓冲器满,置位接收中断标志RI,该位可作为查询标志(或引起接收中断),通过MOVA,SBUF,CPU将这帧数据并行读入.注意:1.甲、乙方的移位时钟频率应

3、相同,即应具有相同的波特率,否则会造成数据丢失.2.发送方是先发数据再查标志,接收方是先查标志再收数据.3.接收/发送数据,无论是否采用中断方式工作,每接收/发送一个数据都必须用指令对RI/TI清0,以备下一次收/发(CLRTI,CLRRI)二.波特率(Baudrate)波特率是双方对数据传送速率的约定,表示每秒传送的二进制位数(bit),是串行通信的一个重要指标,反映了串行通信的速率,也反映了对传输通道的要求.单位是bps(BitPerSecond),bit/s例如:120字符/秒,1个字符10位,波特率为:12

4、0×10=1200bps平均每一位传送占用时间:Td=1/1200=0.833ms常用的波特率有:(离散)19200/9600/4800/2400/1200/600/300/150/100/50,还有10M/100M1.串行口控制寄存器SCONSerialPortControlRegister.BitAddressable(98H)存放串行口的控制和状态信息,其格式如下7.1.1与串行通信有关的寄存器SM0SM1SM2RENTB8RB8TIRI模式选择多机通讯位允许接收位发送、接收第9位发送、接收标志SM0SM1:

5、串行口4种工作方式的选择位。方式0(00):8位移位寄存器用于扩展I/O,波特率固定=fosc/12方式1(01):8位UART(1+8+1位),波特率可变,由定时器控制方式2(10):9位UART(1+8+1+1位),波特率固定=fosc/32或fosc/64方式3(11):9位UART(1+8+1+1位),波特率可变,由定时器控制SM0SM1SM2RENTB8RB8TIRI模式选择多机通讯位允许接收位发送、接收第9位发送、接收标志SM2:(难点)多机通信控制位(作为方式2、方式3的附加控制位).当选择方式2或方

6、式3时,发送机设置SM2=1,以发送第九位TB8=1作为地址帧寻找从机,以TB8=0作为数据帧进行通信,从机初始化时设置SM2=1,若接收到的第九位数据RB8=0,不置位RI,即不引起接收中断,亦既不接收数据帧,继续监听,如接收到的RB8=1,置位RI,引起接收中断,中断程序中判断所接收的地址帧和本机的地址是否符合,若不符合,维持SM2=1,继续监听,若符合,则清SM2,接收对放发来的后续信息.SM0SM1SM2RENTB8RB8TIRI模式选择多机通讯位允许接收位发送、接收第9位发送、接收标志SM2:Enable

7、themultiprocessorcommunicationfeatureinmodes2&3.Inmode2&3,ifSM2issetto1thenRIwillbeactivatedifthereceived9thdatabit(RB8)is0.Inmode1,ifSM2=1thenRIwillnotbeactiveifavalidstopbitwasnotreceived.Inmode0,SM2shouldbe0.综上所述,SM2的作用为:在方式2,3中,发送机SM2=1(程序设置).接收机SM2=1,若RB8

8、=1,激活RI,引起接收中断.RB8=0,不激活RI,不引起中断.发送机SM2=0,无论RB8=1还是RB8=0均激活RI引起接收中断.在方式1中,当接收时SM2=1,则只有收到有效停止位才激活RI;在方式0中,SM2应置为0.REN:串行口接收允许控制位Set/ClearedbysoftwaretoEnable/Disablereception=1允许接收

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。