单片机串行口精选PPT.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)
《单片机串行口精选PPT.ppt》由会员分享,可在线阅读,更多相关《单片机串行口精选PPT.ppt(70页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、单片机串行口课件第1页,此课件共70页哦异步通信方式异步通信方式01停停止止位位起起始始位位低位低位高位高位7位数据位位数据位奇偶奇偶校验校验停停止止位位第第N个字符个字符第第N-1个字符个字符第2页,此课件共70页哦同步通信方式同步通信方式(Synchronous Data Communication)第3页,此课件共70页哦串行通信的波特率 波波特特率率(band rate)是是异异步步通通信信中中每每秒秒钟钟传传送送的的二二进进制制数数码码的的位位数数(比特数),单位是位(比特数),单位是位/秒。秒。作用:作用:1、反映串行通信的速率;、反映串行通信的速率;2、反映对传输通道的要求:波特
2、率越高,要求的传输、反映对传输通道的要求:波特率越高,要求的传输 通道的频带宽度就越宽。通道的频带宽度就越宽。异步通信:波特率为每秒传送的字符数和每个字符位数的乘积。异步通信:波特率为每秒传送的字符数和每个字符位数的乘积。第4页,此课件共70页哦6.2 MCS-516.2 MCS-51串行口的结构串行口的结构 MCS-51有有一一个个可可编编程程的的全全双双工工串串行行通通信信接接口口,可可作作为为通通用用异异步步收收发发器器(UART),也也可可作作为为同同步步移移位位寄寄存存器器。它它的的帧帧格格式式有有8位位、10位位和和11位位,可可以以设设置置为为固固定定波波特特率率和和可可变变波波
3、特特率率,给给使使用用者者带带来来很很大大的灵活性。的灵活性。第5页,此课件共70页哦串行口内部结构示意简图串行口内部结构示意简图第6页,此课件共70页哦串行口控制寄存器串行口控制寄存器SCON(1)SCON(98H)第7页,此课件共70页哦(2)PCON(87H)电源控制寄存器电源控制寄存器PCON中只有中只有SMOD位与串行口工作有关,位与串行口工作有关,如下图所示。如下图所示。电源控制寄存器电源控制寄存器PCON第8页,此课件共70页哦6.3 6.3 串行口的串行口的 4 4 种工作方式种工作方式方式的选择由方式的选择由SM0、SM1实现。实现。四种方式的比较:四种方式的比较:工作方式功
4、能说明波特率方式08位同步移位寄存器常用于扩展I/O口fosc/12方式110位UART起始位0、8位数据、结束位1可变(取决于定时器1溢出率)方式211位UART起始位0、8位数据、奇偶校验位和结束位1fosc/64或fosc/32方式311位UART同上可变(取决于定时器1溢出率)第9页,此课件共70页哦1.1.串行口方式串行口方式0 0 同步移位寄存器方式同步移位寄存器方式 方方式式0以以8位位数数据据为为一一帧帧,不不设设起起始始位位和和停停止止位位,先先发送或接收最低位。其发送或接收最低位。其帧格式帧格式如下:如下:串串行行数数据据通通过过RXD输输入入或或输输出出,而而TXD用用于
5、于输输出出移移位时钟,作为外接部件的同步信号。位时钟,作为外接部件的同步信号。这这种种方方式式不不适适用用于于两两个个8051之之间间的的串串行行通通信信,但但可可以以通过外接移位寄存器来实现单片机的通过外接移位寄存器来实现单片机的I/O接口扩展。接口扩展。第10页,此课件共70页哦串行口方式0的应用(P150,P169)串行口扩展显示器【例1】用8位串入并出移位寄存器74HC164扩展显示器。第11页,此课件共70页哦功能:把数据从显示缓冲区送到数码管。入口;要显示的数放在以DIS0为首的8个单元中。出口:把预置的数输出以更新原有的显示。编写程序实现:第12页,此课件共70页哦 MOVR7,
6、08H;显示8个数码管 MOVR0,DIS0;显示缓冲区未地址送入R0DL0:MOVA,R0;取要显示数作查表偏移量 MOVDPTR,TAB;指向字形表首 MOVCA,ADPTR;查表得字形码 MOVSBUF,A;发送显示DL1:JNBT1,DL1;等待发送完一帧 CLRTI;清中断标志,准备继续发送 DECR0;更新显示单元 DJNZR7,DL0;重复显示所有数码管 RETTAB:DB 0C0H,0F9H,0A4H,0B0H,99H;0,1,2,3,4,DB 92H,82H,0F8H,80H,90H;5,6,7,8,9,DB 88H,83H,0C6H,0A1H,86H;A,B,C,D,E,D
7、B 8EH,0BFH,8CH,0FFH;F,P,暗 第13页,此课件共70页哦74LS165 其中A,B,C,D,E,F,G,H 并行输入端。并行输入端。QH串行输出端。串行输出端。CLOCK:时钟输入端。:时钟输入端。CLOCK INHIBIT:时钟禁止端。当时钟禁止端:时钟禁止端。当时钟禁止端CLK2为低电平时,允许时为低电平时,允许时钟输入。钟输入。SHIFT/LOAD:移位与置位控制端。:移位与置位控制端。SER:扩展多个:扩展多个74LS165的首尾连接端。的首尾连接端。74LS165是一个并行输入串行输出的移位寄存器。第14页,此课件共70页哦RI图图(b)(b)方式方式 0 0
8、接收电路及时序接收电路及时序第15页,此课件共70页哦串行口方式0的应用(P150,P169)串行口扩展的键盘第16页,此课件共70页哦ORG0100HSTART:CLR P1.0 ;载入数据 NOP;NOP;SETB P1.0;数据输出 CLR P1.1;允许时钟输入 RCVI:MOVSCON,10H JNBRI,$CLRRI MOVA,SBUF ;判断键值,散转 OPR0:LJMP STARTTAB:AJMP OPR0 AJMPOPR1 AJMPOPR7第17页,此课件共70页哦2.2.串行口方式串行口方式1 1 10 10位位UARTUART方方式式1以以10位位为为一一帧帧传传输输,设
9、设有有1个个起起始始位位(0),8个个数数据据位位和和1个停止位(个停止位(1)。其)。其帧格式帧格式为:为:方方式式1真真正正用用于于串串行行发发送送或或接接收收,为为10位位通通用用异异步步接接口口。TXD(P3.1)引脚发送数据,)引脚发送数据,RXD(P3.0)引脚接收数据。)引脚接收数据。数据传输波特率由数据传输波特率由T1的溢出率决定,可用的溢出率决定,可用程序设定程序设定。在接收时,停止位进入在接收时,停止位进入SCON的的RB8。串行口方式串行口方式1的发送和接收的发送和接收时序时序如图如图(a)和()和(b)所示。所示。第18页,此课件共70页哦方式方式 1 1 发送和接收时
10、序发送和接收时序n只有当只有当REN=1时,才能对时,才能对RXD进行检测进行检测。第19页,此课件共70页哦RI=0。即即上上一一帧帧数数据据接接收收完完成成时时,RI=1发发出出的的中中断断请请求求已已被被响响应应,SBUF中中数数据据已已被被取取走走。由由软软件件使使RI=0,以以便便提提供供“接接收收SBUF已已空空”的信息。的信息。SM2=0或收到的停止位为或收到的停止位为1(方式(方式1时,停止位进入时,停止位进入RB8)。)。满满足足上上述述两两个个条条件件,将将接接收收到到的的数数据据装装入入串串行行口口的的SBUF和和RB8(RB8装装入入停停止止位位),并并置置位位RI,通
11、通知知CPU取取数数据据;如如果果不不满满足足,接接收收到到的的数数据据不不能能装装入入SBUF,这这意意味味着着该该帧帧信信息息将会丢失。将会丢失。接收有效的两个条件:接收有效的两个条件:第20页,此课件共70页哦两个单片机之间的通信通信协议:数据格式、校验方式 波特率硬件连接第21页,此课件共70页哦2.串行口方式串行口方式1的应用的应用例例:通通过过MCS-51串串行行口口发发送送带带存存放放在在片片内内RAM 20H3FH中中的的数数据据,要要求求传传送送的的波波特特率率为为1200bps。编编写写有有关关的的通通信信程程序序。fosc=11.0592MHz。分析分析:第22页,此课件
12、共70页哦取取SMOD0(TH1)2320E8H 设设串串行行口口为为方方式式1,定定时时器器/计计数数器器T1为为方方式式2作作为为串串行行口口的的波特率发生器。可以避免计数溢出后用软件重装定时初值的工作。波特率发生器。可以避免计数溢出后用软件重装定时初值的工作。第23页,此课件共70页哦ORG 0100HMOV TMOD,#20H;设;设T1为方式为方式2MOV TL1,#0E8H;T1定时常数定时常数MOV TH1,#0E8HSETB TR1;启动;启动T1MOV SCON,#01000000B;设串行口为方式;设串行口为方式1MOV R0,#20H;设发送数据区首址;设发送数据区首址M
13、OV R7,#32;发送;发送32个个ASCII码数据码数据LOOP:MOV A,R0;取;取ASCII码数据码数据ACALL SP_OUT;调用串行口发送子程序;调用串行口发送子程序INC R0;未发送完,则继续;未发送完,则继续DJNZ R7,LOOP主程序:主程序:第24页,此课件共70页哦SP_OUT:MOV SBUF,A ;带校验位发送;带校验位发送 JNB TI,$;发送等待;发送等待 CLR TI ;清;清TI标志标志 RET串行口发送子程序:串行口发送子程序:第25页,此课件共70页哦例:例:B机机由串行口由串行口接收接收数据块。数据块。解解:采采用用查查询询方方式式,本本例例
14、与与上上例例相相呼呼应应,接接收收器器把把接接收收到到的的32个个数数据据存存放放在在20H3FH单元内,波特率同上。单元内,波特率同上。第26页,此课件共70页哦MOV SCON,#01010000B ;设串口方式;设串口方式1,允许接收,允许接收MOV TMOD,#20H ;设置定时器;设置定时器T1为方式为方式2MOV TL1,#0E8H ;初值,波特率为;初值,波特率为1200b/sMOV TH1,#0E8H SETB TR1 ;启动;启动T1运行运行MOV R0,#20H ;数据存放首地址;数据存放首地址MOV R7,#32 ;数据块长度;数据块长度LOOP:ACALL SP_IN
15、;调用接收一帧子程序;调用接收一帧子程序 MOV R0,A ;存放接收的数据;存放接收的数据 INC R0 DJNZ R7,LOOP 主程序:主程序:第27页,此课件共70页哦 SP_IN:JNB RI,$;RI由硬件置位由硬件置位 CLR RI ;软件清除;软件清除RI MOV A,SBUF RET接收一帧子程序:接收一帧子程序:第28页,此课件共70页哦3.3.串行口方式串行口方式2 2和和3 3 11 11位位UARTUART方方式式2和和方方式式3以以11位位为为1帧帧传传输输,设设有有1个个起起始始位位(0),8个个数数据据位位,1个附加第个附加第9位和位和1个停止位个停止位(1)。
16、其。其帧格式帧格式为:为:附附加加第第9位位(D8)由由软软件件置置1或或清清0。发发送送时时在在TB8中中,接接收收时时送送RB8中。中。方式方式2的波特率是固定的,为振荡器频率的的波特率是固定的,为振荡器频率的1/32或或1/64。方式方式3的波特率则由的波特率则由T1的溢出率决定,可用程序设定。的溢出率决定,可用程序设定。方式方式2和方式和方式3的发送、接收的发送、接收时序时序如图如图所示。其操作与方式所示。其操作与方式1类似。类似。第29页,此课件共70页哦方式方式2 2、方式、方式3 3发送和接收时序发送和接收时序n只有当只有当REN=1时,才能对时,才能对RXD进行检测进行检测。第
17、30页,此课件共70页哦发发送送前前,先先根根据据通通信信协协议议由由软软件件设设置置TB8(如如作作奇奇偶偶校校验验位位或或地地址址/数据标志位),数据标志位),然后将要发送的数据写入然后将要发送的数据写入SBUF,即可启动发送过程。,即可启动发送过程。串串行行口口能能自自动动把把TB8取取出出,并并装装入入到到第第9位位数数据据位位的的位位置置,再再逐逐一发送出去。一发送出去。发送完毕,使发送完毕,使TI=1。发送过程发送过程第31页,此课件共70页哦接收时,使接收时,使SCON中的中的REN=1,允许接收。,允许接收。当当检检测测到到RXD(P3.0)端端有有10的的跳跳变变(起起始始位
18、位)时时,开开始始接接收收9位数据,送入移位寄存器(位数据,送入移位寄存器(9位)。位)。当当满满足足RI=0且且SM2=0,或或接接收收到到的的第第9位位数数据据为为1时时,前前8位位数数据据送送入入SBUF,附附加加的的第第9位位数数据据送送入入SCON中中的的RB8,置置RI为为1;否则,这次接收无效,也不置位否则,这次接收无效,也不置位RI。接收过程接收过程第32页,此课件共70页哦例例:编编制制一一个个发发送送程程序序,将将片片内内RAM中中50H5FH的的数数据据串串行行发发送送。串串行行口口设设定定为为工工作作方方式式2,TB8作作奇奇偶偶校校验验位位。发送波特率375 kb/s
19、,晶振为12 MHz,SMOD=1。解解:在在数数据据写写入入发发送送SBUF之之前前,先先将将数数据据的的奇奇偶偶标标志志P写写入入TB8,此此时时,第第9位位数数据据便便可可作作奇奇偶偶校校验验用用。可可采采用用查查询询和和中中断断两两种种方式发送。方式发送。第33页,此课件共70页哦ORG 0000H AJMP MAIN ;上电,转向主程序上电,转向主程序 ORG 0100H ;主程序主程序MAIN:MOV SCON,#80H ;设工作方式设工作方式2 MOV PCON,#80H ;取波特率为取波特率为fosc/32 MOV R0,#50H ;首址首址50H送送R0 MOV R7,#10
20、H ;数值长度送数值长度送R7LOOP:MOV A,R0 ;取数据取数据 MOV C,P ;PC MOV TB8,C ;奇偶标志送奇偶标志送TB8 MOV SBUF,A ;发送数据发送数据WAIT:JBC TI,CONT AJMP WAIT ;等待中断标志等待中断标志TI=1CONT:INC R0 DJNZ R7,LOOP ;数值尚未发送完,数值尚未发送完,继续发送下一个数据继续发送下一个数据 SJMP$END第34页,此课件共70页哦例例:编编制制一一个个接接收收程程序序,将将接接收收的的16B数数据据送送入入片片内内RAM的的50H5FH单单元元中中。设设串串行口工作在行口工作在方式方式2
21、,波特率为,波特率为375bps。解:解:第35页,此课件共70页哦源程序如下:源程序如下:MAIN:MOV SCON,#080H ;串行口工作于方串行口工作于方2;REN=1,可接收可接收 MOV PCON,#80H ;设设SMOD=1 MOV R0,#50H ;首址首址50H送送R0 MOV R7,#10H ;数值长度送数值长度送R7 SETB REN SETB REN ;启动接收;启动接收WAIT:JBC RI,PR1 ;接收完一帧数据,清接收完一帧数据,清RI,转转PR1 SJMP WAIT ;否则等待否则等待PR1:MOV A,SBUF ;读入数据读入数据 JNB P,PNP ;P=
22、0,转,转PNP JNB RB8,ERR ;P=1,RB8=0,转出错处理,转出错处理 SJMP RIGHTPNP:JB RB8,ERR ;P=0,RB8=1,转出错处理,转出错处理RIGHT:MOV R0,A ;数据送内存数据送内存 INC R0 ;修改地址指针修改地址指针 DJNZ R7,WAIT ;数据未接收完,数据未接收完,;继续接收下一个数据继续接收下一个数据 CLR F0 ;置正确接收完毕标志置正确接收完毕标志F0=0 SJMP ENDTERR:SETB F0ENDT:SJMP$第36页,此课件共70页哦4.4.波特率的设定波特率的设定在在串串行行通通信信中中,要要求求收收发发双双
23、方方接接收收和和发发送送数数据据的的波波特特率率必必须须一一致致。通通过过软软件件对对MCS-51串串行行口口编编程程可可约约定定四四种种工工作作方方式式。其其中中,方方式式0和和方方式式2的的波波特特率率是是固固定定的的;而而方方式式1和和方方式式3的的波波特特率率是可变的,由定时器是可变的,由定时器T1的溢出率的溢出率来决定来决定(T1每秒溢出的次数每秒溢出的次数)。串串行行口口的的四四种种工工作作方方式式对对应应着着三三种种波波特特率率。由由于于输输入入的的移移位位时钟来源不同,因此,各种方式的波特率计算公式也不同。时钟来源不同,因此,各种方式的波特率计算公式也不同。第37页,此课件共7
24、0页哦(1)方式)方式 0 的波特率的波特率由由下下图图可可见见,方方式式0时时,每每个个机机器器周周期期产产生生一一个个移移位位时时钟钟,发发送送或或接接收收一一位位数数据据。因因此此,波波特特率率固固定定为为振振荡荡频频率率的的1/12,并并不受不受PCON寄存器中寄存器中SMOD位的影响。位的影响。串行口方式串行口方式 0 0 波特率的产生波特率的产生第38页,此课件共70页哦(2)方式)方式 2 的波特率的波特率方式方式2波特率取决于波特率取决于PCON中中SMOD位的值:位的值:SMOD=0时,波特率为时,波特率为fosc的的1/64;SMOD=1时,波特率为时,波特率为fosc的的
25、1/32。即即:方式方式2波特率波特率(2SMOD/64)foscfosc=12MHz,SMOD=0,187.5kbps SMOD=1,375kbps第39页,此课件共70页哦(3)方式)方式1和方式和方式3的波特率的波特率方方式式1和和方方式式3的的移移位位时时钟钟脉脉冲冲由由定定时时器器T1产产生生,如如图图所所示示。因因此此,MCS-51串串行行口口方方式式1和和方方式式3的的波波特特率率由由定定时时器器T1的的溢溢出出率率与与SMOD值值共同决定。共同决定。即即 方式方式1、方式、方式3波特率波特率(2SMOD/32)T1溢出率溢出率串行口方式串行口方式1 1、方式、方式3 3波特率的
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 串行口 精选 PPT
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内