第7章 AT89S51单片机的串行口.ppt
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《第7章 AT89S51单片机的串行口.ppt》由会员分享,可在线阅读,更多相关《第7章 AT89S51单片机的串行口.ppt(87页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第7 7章章 串行口与串行通信串行口与串行通信(本章是一个本章是一个难点、重点难点、重点,注意学习的层次性注意学习的层次性)7.1 7.1 串行口的结构串行口的结构7.2 7.2 和串行通信有关的寄存器和串行通信有关的寄存器7.3 7.3 串行口的串行口的4 4种工作方式种工作方式7.4 7.4 波特率的制定方法波特率的制定方法7.57.5 串行口的应用编程串行口的应用编程7.1 串行口的结构串行口的结构AT89S51单片机片内的单片机片内的串行口为串行口为全双工的通用异步收发(全双工的通用异步收发(UART:Universal Asynchronous Receiver and Trans
2、mitter)的串)的串行口。行口。一一.串行通信的串行通信的传送过程传送过程shiftMOV A,SBUF串行数据串行数据CPUCPU SBUF SBUFshiftMOV SBUF,A并并行行数数据据并并行行数数据据甲方甲方(发送发送)乙方乙方(接收接收)TIRI 发送过程发送过程:甲方发送甲方发送时时,CPU,CPU执行执行指令指令MOV SBUF,AMOV SBUF,A,就就启动了发送启动了发送过过程程,数据数据并行并行送入送入SBUFSBUF,在在发送时钟发送时钟shiftshift的控制下由的控制下由低位到低位到高位一位一位发送高位一位一位发送;甲方甲方一帧数据发送完毕一帧数据发送完
3、毕,置位发送中断标志置位发送中断标志TITI,该位可该位可作为作为查询标志查询标志(或引起中断或引起中断),CPU,CPU可再发送下一帧数据可再发送下一帧数据.接收过程:接收过程:乙方乙方在在接收时钟接收时钟shiftshift的控制下的控制下,由由低位到高位顺序进低位到高位顺序进入移位寄存器入移位寄存器SBUFSBUF;乙方一帧乙方一帧数据到齐数据到齐,即接收缓冲器满即接收缓冲器满,置位接收中断标置位接收中断标志志RIRI,该位可作为该位可作为查询标志查询标志(或引起接收中断或引起接收中断),),通过通过MOV MOV A,SBUFA,SBUF,CPU,CPU将这帧数据将这帧数据并行读入并行
4、读入.注意注意:1.1.甲、乙方的甲、乙方的移位时钟频率应相同移位时钟频率应相同,即应具有即应具有相同的相同的波特率波特率,否则会造成数据丢失否则会造成数据丢失.2.2.发送方是发送方是先发数据再查标志先发数据再查标志,接收方是接收方是先查标志再收数据先查标志再收数据.3.3.接收接收/发送数据发送数据,无论是否采用中断方式工作无论是否采用中断方式工作,每接每接收收/发送一个数据都发送一个数据都必须必须用指令对用指令对RI/TIRI/TI清清0 0,以备下以备下一次收一次收/发发(CLR TI,CLR RICLR TI,CLR RI)二二.波特率波特率(Baudrate)波特率是波特率是双方对
5、数据传送速率的约定双方对数据传送速率的约定,表示表示每秒传送每秒传送的二进制位数的二进制位数(bit),是串行通信的一个重要指标是串行通信的一个重要指标,反映反映了串行通信的了串行通信的速率速率,也反映了对传输通道的要求也反映了对传输通道的要求.单位单位是是bps(Bit Per Second),bit/s 例如例如:120字符字符/秒秒,1个字符个字符10位位,波特率为波特率为:12010=1200bps 平均平均每一位每一位传送占用时间传送占用时间:Td=1/1200=0.833ms常用的波特率有常用的波特率有:(:(离散离散)19200/19200/96009600/4800/2400/
6、1200/600/300/150/100/50,/4800/2400/1200/600/300/150/100/50,还有还有10M/100M10M/100M1.1.串行口控制寄存器串行口控制寄存器 SCONSCON Serial Port Control Register.Bit Addressable(98H)存放串行口的存放串行口的控制和状态信息控制和状态信息,其格式如下其格式如下7.1.1 7.1.1 与串行通信有关的寄存器与串行通信有关的寄存器SM0SM1SM2RENTB8RB8TIRI 模式选择模式选择 多机通讯位多机通讯位 允许接收位允许接收位 发送、接收第发送、接收第9 9位位
7、 发送、接收标志发送、接收标志 SM0 SM1SM0 SM1:串行口串行口4 4种工作方式种工作方式的选择位。的选择位。方式方式0(00):0(00):8 8位移位寄存器用于扩展位移位寄存器用于扩展I/O,I/O,波特率波特率固定固定=f=foscosc/12/12方式方式1(01):1(01):8 8位位UART(1+UART(1+8 8+1+1位位),),波特率波特率可变可变,由定时器控制由定时器控制方式方式2(10):2(10):9 9位位UART(1+UART(1+8+18+1+1+1位位),),波特率波特率固定固定=f=foscosc/32/32或或f foscosc/6464方式方
8、式3(11):3(11):9 9位位UART(1+UART(1+8+18+1+1+1位位),),波特率波特率可变可变,由定时器控制由定时器控制SM0SM1SM2RENTB8RB8TIRI 模式选择模式选择 多机通讯位多机通讯位 允许接收位允许接收位 发送、接收第发送、接收第9 9位位 发送、接收标志发送、接收标志SM2:(SM2:(难点难点)多机通信控制位多机通信控制位(作为方式作为方式2 2、方式、方式3 3的附加控制位的附加控制位).).当当选择方式选择方式2 2或方式或方式3 3时时,发送机设置发送机设置SM2=1SM2=1,以以发送第九位发送第九位TB8=1TB8=1作为地作为地址帧寻
9、找从机址帧寻找从机,以以TB8=0TB8=0作为数据帧进行通信作为数据帧进行通信,从机初始化时设置从机初始化时设置SM2=1SM2=1,若接收到的第九位数据若接收到的第九位数据RB8=0RB8=0,不置位不置位RIRI,即不引起接收中断即不引起接收中断,亦既不接收数据帧亦既不接收数据帧,继续监听继续监听,如接收到的如接收到的RB8=1,RB8=1,置位置位RIRI,引起接收引起接收中断中断,中断程序中判断所接收的地址帧和本机的地址是否符合中断程序中判断所接收的地址帧和本机的地址是否符合,若不若不符合符合,维持维持SM2=1,SM2=1,继续监听继续监听,若符合若符合,则清则清SM2,SM2,接
10、收对放发来的后续接收对放发来的后续信息信息.SM0SM1SM2RENTB8RB8TIRI 模式选择模式选择 多机通讯位多机通讯位 允许接收位允许接收位 发送、接收第发送、接收第9 9位位 发送、接收标志发送、接收标志SM2:Enable the multiprocessor communication feature in modes 2&3.In mode 2&3,if SM2 is set to 1 then RI will be activated if the received 9th data bit(RB8)is 0.In mode 1,if SM2=1 then RI will
11、not be active if a valid stop bit was not received.In mode 0,SM2 should be 0.综上所述综上所述,SM2,SM2的作用为的作用为:在方式在方式2,32,3中中,发送机发送机SM2=1SM2=1(程序设置程序设置).).接收机接收机SM2=1SM2=1,若若RB8=1,RB8=1,激活激活RI,RI,引起接收中断引起接收中断.RB8=0,.RB8=0,不激活不激活RI,RI,不引起中不引起中断断.发送机发送机SM2=0,SM2=0,无论无论RB8=1RB8=1还是还是RB8=0RB8=0均激活均激活RIRI引起接收引起接收
12、中断中断.在方式在方式1 1中中,当当接收时接收时SM2=1SM2=1,则只有收到有效停止位才激活则只有收到有效停止位才激活RI;RI;在方式在方式0 0中中,SM2,SM2应置为应置为0.0.RENREN:串行口接收允许控制位串行口接收允许控制位Set/Cleared by software to Enable/Disable reception =1 =1 允许接收允许接收;(SETB REN)=0 =0 禁止接收禁止接收.系统复位后系统复位后,REN=0,REN=0,不允许接受不允许接受SM0SM1SM2RENTB8RB8TIRI 模式选择模式选择 多机通讯位多机通讯位 允许接收位允许接
13、收位 发送、接收第发送、接收第9 9位位 发送、接收标志发送、接收标志RB8:在在串行工作方式串行工作方式2和方式和方式3中中,是是收到的第收到的第9位数据位数据.该数据来自该数据来自发送机的发送机的TB8In modes 2&3,is the 9th data bit that was received.In mode 1,if SM2=0,RB8 is the stop bit that was received.In mode 0,RB8 in not used.在在多机通信多机通信中中,用作区别地址帧用作区别地址帧/数据帧的标志数据帧的标志.TB8:在串行工作方式在串行工作方式2和方式
14、和方式3中中,是要是要发送的第发送的第9位数据位数据。The 9th bit that will be transmitted in modes 2&3.Set/Cleared by software多机通信多机通信中中:TB8=0 表示发送的是表示发送的是数据数据;TB8=1 表示发送的是表示发送的是地址地址.SM0SM1SM2RENTB8RB8TIRI 模式选择模式选择 多机通讯位多机通讯位 允许接收位允许接收位 发送、接收第发送、接收第9 9位位 发送、接收标志发送、接收标志TITI:串行口串行口发送发送中断申请标志位中断申请标志位.Transmitted Interrupt Trans
15、mitted Interrupt flag.flag.发送前发送前必须用必须用软件清零软件清零,发送过程中发送过程中TITI保持零电平保持零电平,发送完发送完一帧数据后一帧数据后,由由硬件置硬件置“1”1”,如果再发送如果再发送,必须必须用软件再清零用软件再清零.Set by hardware at the end of the 8th bit time in mode 0,or at the beginning of the stop bit in the other modes.Must be cleared by software.SM0SM1SM2RENTB8RB8TIRI 模式选择模
16、式选择 多机通讯位多机通讯位 允许接收位允许接收位 发送、接收第发送、接收第9 9位位 发送、接收标志发送、接收标志RIRI:串行口串行口接收接收中断申请标志位中断申请标志位.Receive Interrupt flag.Receive Interrupt flag.接收前接收前必须用必须用软件清零软件清零,接收过程中接收过程中RIRI保持零电平保持零电平,接收完一接收完一帧数据后由片内帧数据后由片内硬件自动置硬件自动置“1 1”.如果再接收必须如果再接收必须用软件清用软件清零零.Set by hardware at the end of the 8th bit time in mode 0,
17、or halfway through the stop bit time in the other modes(except see SM2).Must be cleared by software.=1=1 申请中断申请中断;=0;=0 不申请中断不申请中断SM0SM1SM2RENTB8RB8TIRI 模式选择模式选择 多机通讯位多机通讯位 允许接收位允许接收位 发送、接收第发送、接收第9 9位位 发送、接收标志发送、接收标志2.SBUF:Serial Buffer Register(99H)两个两个物理上独立的物理上独立的接收、发送缓冲器接收、发送缓冲器SBUF,它们它们占用同一占用同一地
18、址地址99H,可同时发送、接收数据可同时发送、接收数据.发送缓冲器发送缓冲器SBUF只能写入、不能读出只能写入、不能读出,CPU写写SBUF,MOV SBUF,A 一方面修改发送寄存器一方面修改发送寄存器,同时启动数据串同时启动数据串行发送行发送;接收缓冲器接收缓冲器SBUF只能读出、不能写入只能读出、不能写入,CPU读读SBUF,MOV A,SBUF 就是读接收寄存器就是读接收寄存器.SMOD GF1 GF0 PD IDL3.3.电源控制寄存器电源控制寄存器 PCON PCON Power Control Register.(87H)最高位最高位SMODSMOD位和串行通信有关位和串行通信有
19、关(了解了解)(1)(1)只能只能字节字节寻址寻址,初始化时初始化时SMOD=0.SMOD=0.(2)SMOD:(2)SMOD:Double baud rate bitDouble baud rate bit.在串行口工作方式在串行口工作方式1/2/31/2/3中中,波特率加倍位波特率加倍位 =1=1时时,波特率加倍波特率加倍 (MOV PCON,#80H(MOV PCON,#80H 加倍加倍)=0 =0时时,波特率不加倍波特率不加倍.(MOV PCON,#00H.(MOV PCON,#00H 默认是不加倍的默认是不加倍的)(串行通信只用其中的最高位串行通信只用其中的最高位SMOD)SMOD)
20、If Timer1 is used to generate baud rate and SMOD=1,the baud rater is doubled when the Serial Port is used in modes 1,2,3.PCONPCONGF1,GF0:用户可自行定义使用的用户可自行定义使用的通用标志位通用标志位GF1:General purpose Flag bit.GF0:General purpose Flag bit.SMOD GF1 GF0 PD IDLPCONPCONPD:掉电方式控制位掉电方式控制位 Power Down bit.=0:=0:常规工作方式常规工
21、作方式.=1:=1:进入掉电方式进入掉电方式:振荡器停振振荡器停振片内片内RAMRAM和和SRFSRF的的值保持不变值保持不变P0P0P3P3口维持原状口维持原状程序停止程序停止 只有复位能使之退出掉电方式只有复位能使之退出掉电方式.Setting this bit activates Power Down operation in the 80C51BH.(Available only in CHMOS)IDL(Idle Mode bit)待机方式待机方式(空闲方式空闲方式)控制位控制位.=0:=0:常规工作方式常规工作方式.=1:=1:进入进入待机方式待机方式:振荡器继续振荡振荡器继续振荡
22、中断、定时中断、定时器、串口功能继续有效器、串口功能继续有效片内片内RAMRAM和和SRFSRF保持不变保持不变CPUCPU状态保持状态保持、P0P0P3P3口维持原状口维持原状程序停顿程序停顿.中断和复位能退出待机中断和复位能退出待机,继续后面的程序继续后面的程序.Setting this bit activates Idle Mode operation in the 80C51BH.(Available only in CHMOS)SMOD GF1 GF0 PD IDL4.TMOD 4.TMOD 定时器方式寄存器定时器方式寄存器Timer/Counter Mode control reg
23、ister.Not bit addressable(89H)用于控制用于控制T0和和T1的操作模式的操作模式 (MOV TMOD,#20H)M0M1C/T*GATEM0M1C/T*GATE (89H)D0D1D2 D3D4D5D6 D7 TMOD定时器定时器T0T0 定时器定时器T1T1方式方式0:00:13位位 Timer方式方式1:01:16位位 Timer方式方式2:10:8位自动重装的位自动重装的Timer波特率发生器波特率发生器方式方式3:11:T0 分为分为2个个8位位 Timer;(1)M1,M0:工作方式定义位工作方式定义位(定义定义4种方式种方式):M1M0 Operatio
24、n Mode000 13-bit Timer(MCS-48 compatible)011 16-bit Timer/Counter102 8-bit Auto-Reload Timer/Counter113 Split timer mode(Timer 0)TL0 is an 8-bit Timer/Counter controlled by the standard Timer 0 control bits,TH0 is an 8-bit Timer and is controlled by Timer 1 control bits(Timer 1)Timer/Counter 1 stopp
25、ed7.2 串行口四种工作方式(难点)回顾:定时器也有四种工作方式,不要混淆7.2.17.2.1 工作工作方式方式0 0 SM0 SM1=00 SM0 SM1=00(常用常用)(special,(special,记忆记忆)串行口作为串行口作为同步移位寄存器同步移位寄存器使用使用,数数据传输波特率固定为据传输波特率固定为f foscosc/12,/12,串行数据由串行数据由RxD(P3.0)RxD(P3.0)输入输入输出输出,同步移位脉冲由同步移位脉冲由TxD(P3.1)TxD(P3.1)输出输出,数据的发送和接收数据的发送和接收以以8 8位为一帧数据位为一帧数据,低位在前低位在前,高位在后高位
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第7章 AT89S51单片机的串行口 AT89S51 单片机 串行口
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内