资源描述
课程:单片机技术课程:单片机技术 教材:单片机基础教材:单片机基础教学基本要求教学基本要求:(1 1)、了解串行通信的基础知识;)、了解串行通信的基础知识;(2 2)、熟悉单片机串行口的结构及工作原理;)、熟悉单片机串行口的结构及工作原理;(3 3)、掌握单片机串行通信控制寄存器的功能;)、掌握单片机串行通信控制寄存器的功能;(4 4)、掌握单片机串行通信的工作方式;)、掌握单片机串行通信的工作方式;教学重点教学重点:(1 1)、串行控制寄存器)、串行控制寄存器SCONSCON的功能;的功能;(2 2)、串行工作方式)、串行工作方式0 0、1 1;教学难点教学难点:(1 1)、串行工作方式)、串行工作方式1 1的程序设计;的程序设计;第第8 8章章 80C5180C51单片机串行通信单片机串行通信课程:单片机技术课程:单片机技术 教材:单片机基础教材:单片机基础8.1 8.1 串行通信基础知识串行通信基础知识8.1.1 8.1.1 异步通信和同步通信异步通信和同步通信 在计算机系统中,在计算机系统中,CPUCPU和外部通信有以下两种方式:和外部通信有以下两种方式:(a a)并行通信:各数据位同时传送,速度快、效率高;)并行通信:各数据位同时传送,速度快、效率高;(b b)串行通信:数据传送按位顺序进行,成本低、速度慢;)串行通信:数据传送按位顺序进行,成本低、速度慢;串行通信又分为异步和同步方式,单片机中使用异步通信方式。串行通信又分为异步和同步方式,单片机中使用异步通信方式。计计算算机机1 1计计算算机机2 2或或外外设设G GN ND DG GN ND D计计算算机机1 1计计算算机机2 2或或外外设设G GN ND DG GN ND D发发送送接接受受(a a)(b b).课程:单片机技术课程:单片机技术 教材:单片机基础教材:单片机基础(1 1)异步串行通信的字符格式)异步串行通信的字符格式 异步串行通信以字符为单位,即一次传送一个字符。异步串行通信以字符为单位,即一次传送一个字符。异步串行通信异步串行通信的字符格式如下:的字符格式如下:D0D1D2D3D4D5D6D70/1D0D110/1.100第第n n+1 1字字符符帧帧第第n n字字符符帧帧8 8位位数数据据起起始始位位停停止止位位奇奇偶偶校校验验(a a)D0D1D2D3D4D5D6D70/1D0D111.100第第n n+1 1字字符符帧帧第第n n字字符符帧帧8 8位位数数据据起起始始位位停停止止位位奇奇偶偶校校验验111空空闲闲位位(b b)课程:单片机技术课程:单片机技术 教材:单片机基础教材:单片机基础 (a a)信息两种状态分别以)信息两种状态分别以markmark和和spacespace标志,标志,“mark”mark”译为译为“标号标号”对应逻辑对应逻辑“1”1”状态,在发送器空闲时,数据线应保持状态,在发送器空闲时,数据线应保持在在markmark状态;状态;“space”space”译为译为“空格空格”,对应逻辑,对应逻辑“0”0”状态。状态。(b b)起始位:发送器是通过发送起始位而开始一个字符的传送,)起始位:发送器是通过发送起始位而开始一个字符的传送,起始位使数据线处于起始位使数据线处于“SPACE”SPACE”状态。状态。(c c)数据位:起始位之后就传送数据。)数据位:起始位之后就传送数据。在数据位中、低位在前(左)、高位在后(右)。数据位可在数据位中、低位在前(左)、高位在后(右)。数据位可以是以是5 5、6 6、7 7或或8 8位。位。(d d)奇偶校验位:用于对字符传送作正确性检查,)奇偶校验位:用于对字符传送作正确性检查,3 3种可能:种可能:奇、偶或无校验。奇、偶或无校验。(e e)停止位:处于最后,用以标志一个字符传送的结束,它对)停止位:处于最后,用以标志一个字符传送的结束,它对应于应于markmark状态,停止位可能是状态,停止位可能是1 1,1.51.5或或2 2位。位。课程:单片机技术课程:单片机技术 教材:单片机基础教材:单片机基础 (f f)位时间:一个数据位的时间宽度。)位时间:一个数据位的时间宽度。(g g)帧()帧(frameframe):从起始位到停止位结束的时间。):从起始位到停止位结束的时间。(c c)数)数据位:起始位之后就传送数据。据位:起始位之后就传送数据。(2 2)异步串行通信的信号形式)异步串行通信的信号形式 (a a)近程通信:采用数字信号直接传送形式,即在传送过程中近程通信:采用数字信号直接传送形式,即在传送过程中不改变原数据代码的波形频率。不改变原数据代码的波形频率。(b b)远程通信:采用频率调制法,即以不同频率的载波信号代远程通信:采用频率调制法,即以不同频率的载波信号代表数字信号的两种不同电平状态,也称频带传送方式,因此,应表数字信号的两种不同电平状态,也称频带传送方式,因此,应采用调制解调器(采用调制解调器(modemmodem)。)。(3 3)串行通信的数据通路形式串行通信的数据通路形式 (a a)单工形式单工形式 (b b)半双工形式半双工形式 (c c)全双工形式全双工形式课程:单片机技术课程:单片机技术 教材:单片机基础教材:单片机基础发发送送器器A A站站接接受受器器站站单单工工通通信信(a a)发发收收站站发发收收站站发发收收站站发发收收站站(b b)(c c)半半双双工工通通信信全全双双工工通通信信(4 4)串行通信的传送速率串行通信的传送速率 波特率:每秒传送数据位的数目(波特率:每秒传送数据位的数目(bpsbps)位)位/秒秒 1 1波特波特=1bps(=1bps(位位/秒秒)课程:单片机技术课程:单片机技术 教材:单片机基础教材:单片机基础(5 5)串行接口电路串行接口电路 串行接口电路也称之为串行接口电路也称之为通用异步接收发送器(通用异步接收发送器(UARTUART)。)。电路组成:(电路组成:(1 1)接收器;)接收器;(2 2)发送器;)发送器;(3 3)控制器;)控制器;主要功能:(主要功能:(1 1)数据串行化)数据串行化/反串行化,并行数据反串行化,并行数据串行数据;串行数据;(2 2)格式信息的插入,滤除;)格式信息的插入,滤除;格式信息:启始位,奇偶位,停止位。格式信息:启始位,奇偶位,停止位。(3 3)错误检验)错误检验 用于检验数据通信过程是否正确用于检验数据通信过程是否正确。课程:单片机技术课程:单片机技术 教材:单片机基础教材:单片机基础8.2 80C518.2 80C51串行口串行口8.2.1 80C518.2.1 80C51串行口硬件结构串行口硬件结构 80C5180C51串行口硬件结构串行口硬件结构如图所示如图所示TI(发送中断)TI(发送中断)发送SBUF(99H)发送SBUF(99H)接收SBUF(99H)接收SBUF(99H)输入移位寄存器输入移位寄存器TXD串行输出TXD串行输出RXD串行输出RXD串行输出RI(接收中断)RI(接收中断)80C51内部总线80C51内部总线移位时移位时钟钟课程:单片机技术课程:单片机技术 教材:单片机基础教材:单片机基础 SBUFSBUF:串行口寄存器,可寻址专用寄存器,包括发送寄存器:串行口寄存器,可寻址专用寄存器,包括发送寄存器和接收寄存器,具有同一地址(和接收寄存器,具有同一地址(99H99H)。)。串行发送时:向串行发送时:向SBUFSBUF写入数据;写入数据;串行接收时:从串行接收时:从SBUFSBUF读出数据;读出数据;移位寄存器:与接收寄存器构成双缓冲结构。移位寄存器:与接收寄存器构成双缓冲结构。在接收方式下,串行数据通过引脚在接收方式下,串行数据通过引脚RXDRXD(P3.0P3.0)进入,由于)进入,由于接收接收SBUFSBUF和移位寄存器构成了双缓冲结构,所以,在数据接收过和移位寄存器构成了双缓冲结构,所以,在数据接收过程中,可以避免出现帧重叠错误。程中,可以避免出现帧重叠错误。在发送方式下,串行数据通过引脚在发送方式下,串行数据通过引脚TXDTXD(P3.1P3.1)送出。在发)送出。在发送数据时,送数据时,CPUCPU处于主动状态,不会发生帧重叠错误,因此,发处于主动状态,不会发生帧重叠错误,因此,发送电路不需要双缓冲结构。送电路不需要双缓冲结构。课程:单片机技术课程:单片机技术 教材:单片机基础教材:单片机基础MCS-51MCS-51单片机串行口结构如图所示单片机串行口结构如图所示课程:单片机技术课程:单片机技术 教材:单片机基础教材:单片机基础8.2.2 8.2.2 串行串行口控制口控制机制机制 与与串行串行通信有关的控制通信有关的控制寄存器寄存器共有共有3 3个:个:(1 1)串行控制寄存器串行控制寄存器SCONSCON(字节地址:(字节地址:98H98H;位地址:;位地址:9FH9FH98H98H)SCONSCON的格式如下:的格式如下:位地位地址址9FH9EH9DH9CH9BH9AH99H98H位符位符号号SM0SM1SM2RENTB8RB8TIRI 各位功能说明如下:各位功能说明如下:(a a)SM0SM0,SM1SM1:串行口工作方式选:串行口工作方式选择位择位课程:单片机技术课程:单片机技术 教材:单片机基础教材:单片机基础SM0SM1工作方式工作方式000011102113(b b)SM2SM2:多机通信控制:多机通信控制位位 多机通信控制位,用于方式多机通信控制位,用于方式2 2和方式和方式3 3中。在方式中。在方式2 2和方式和方式3 3处处于接收方式时,若于接收方式时,若SM2=1,SM2=1,且接收到的第且接收到的第9 9位数据位数据RB8RB8为为0 0时,不激时,不激活活RIRI;若;若SM2=1SM2=1,且,且RB8=1RB8=1时,则置时,则置RI=1RI=1。在方式。在方式2 2、3 3处于接收或处于接收或发送方式时,若发送方式时,若SM2=0SM2=0,不论接收到的第,不论接收到的第9 9位位RB8RB8为为0 0还是为还是为1 1,TITI、RIRI都以正常方式被激活。在方式都以正常方式被激活。在方式1 1处于接收时,若处于接收时,若SM2=1SM2=1,则只有,则只有收到有效的停止位后,收到有效的停止位后,RIRI置置1 1。在方式。在方式0 0中,中,SM2SM2应为应为0 0。课程:单片机技术课程:单片机技术 教材:单片机基础教材:单片机基础(c c)RENREN:允许接收位:允许接收位 它由软件置位或清零。它由软件置位或清零。REN=1REN=1时,允许接收;时,允许接收;REN=0REN=0时,禁止时,禁止接收。接收。(d d)TB8TB8:发送数据位:发送数据位8 8 在方式在方式2 2和方式和方式3 3中,中,TB8TB8的内容是要发送的第的内容是要发送的第9 9位数据,其位数据,其值由用户通过软件置位或复位。值由用户通过软件置位或复位。在双机通信时,在双机通信时,TB8TB8可做奇偶校验位使用;可做奇偶校验位使用;在多机通信时,常以在多机通信时,常以TB8TB8位的状态表示主机发送的是地址帧位的状态表示主机发送的是地址帧还是数据帧(还是数据帧(TB8=0TB8=0,数据帧;,数据帧;TB8=1TB8=1,地址帧)。,地址帧)。(e e)RB8RB8:接收数据位:接收数据位8 8 在方式在方式2 2和方式和方式3 3中,中,RB8RB8的内容是接收到的第的内容是接收到的第9 9位数据,代表位数据,代表着接收数据的某种特征(与着接收数据的某种特征(与TB8TB8功能类似)。功能类似)。课程:单片机技术课程:单片机技术 教材:单片机基础教材:单片机基础(f f)TITI发送中断标志位发送中断标志位 在方式在方式0 0中,发送完中,发送完8 8位数据后,由硬件置位;在其它方式中,位数据后,由硬件置位;在其它方式中,在发送停止位之前由硬件置位。因此,在发送停止位之前由硬件置位。因此,TI=1TI=1,表示帧发送结束。,表示帧发送结束。可用指令可用指令JBC TIJBC TI,relrel来查询是否发送结束。来查询是否发送结束。TI=1TI=1时,也可向时,也可向CPUCPU申请中断,响应中断后,必须由软件清除申请中断,响应中断后,必须由软件清除TITI(TI=0TI=0)。)。(g g)RIRI:接收中断标志位:接收中断标志位 在方式在方式0 0中,接收完中,接收完8 8位数据后,由硬件置位;在其它方式中,位数据后,由硬件置位;在其它方式中,在接收停止位时由硬件置位。因此,在接收停止位时由硬件置位。因此,RI=1RI=1,表示帧接收结束。同,表示帧接收结束。同TITI一样,也可以通过一样,也可以通过JBC RIJBC RI,relrel来查询是否接收完一帧数据。来查询是否接收完一帧数据。RI=1RI=1时,也可申请中断,响应中断后,必须由软件清除时,也可申请中断,响应中断后,必须由软件清除RIRI。课程:单片机技术课程:单片机技术 教材:单片机基础教材:单片机基础(2 2)电源控制寄存器)电源控制寄存器PCONPCON(字节地址(字节地址87H87H)电源控制寄存器电源控制寄存器PCONPCON是为是为CHMOSCHMOS型单片机的电源控制而设置的。型单片机的电源控制而设置的。SMODSMOD:串行口波特率的倍增位。:串行口波特率的倍增位。SMOD=1SMOD=1:串行口波特率加倍,:串行口波特率加倍,系统复位后系统复位后SMOD=0SMOD=0。位序位序B7B6 B5 B4B3B2B1B0位符号位符号SMOD/GF1 GF0 PD ID(3 3)中断允许寄存器中断允许寄存器IEIE(字节地址(字节地址0A8H0A8H,位地址,位地址0AFH0AFH0A8H0A8H)ESES:串行中断允许位;(:串行中断允许位;(a a)ES=0ES=0:禁止串行中断:禁止串行中断 (b b)ES=1ES=1:允许串行中断:允许串行中断 位地址位地址0AFH0AFH0AEH0AEH0ADH0ADH0ACH0ACH0ABH0ABH0AAH0AAH0A9H0A9H0A8H0A8H位符号位符号EAEA/ESESET1ET1EX1EX1ET0ET0EX0EX0课程:单片机技术课程:单片机技术 教材:单片机基础教材:单片机基础8.3 80C518.3 80C51串行口工作方式串行口工作方式SM0 SM1SM0 SM1工作方式工作方式功能功能波特率波特率0 00 0方式方式0 08 8位同步移位寄位同步移位寄存器存器f foscosc/12/120 10 1方式方式1 11010位位UARTUART可变可变1 01 0方式方式2 21111位位UARTUARTf foscosc/64/64或或f foscosc/32/321 11 1方式方式3 31111位位UARTUART可变可变 MCS-51 MCS-51单片机的串行口有单片机的串行口有4 4种工作方式,基本情况如下:种工作方式,基本情况如下:从表中可以看出,方式从表中可以看出,方式0 0和方式和方式2 2的波特率是固定的,而方式的波特率是固定的,而方式1 1和方式和方式3 3的波特率是可变的,其值由定时器的波特率是可变的,其值由定时器T1T1的溢出率控制。的溢出率控制。课程:单片机技术课程:单片机技术 教材:单片机基础教材:单片机基础8.3.1 8.3.1 串行串行工作方式工作方式0 0 在方式在方式0 0下下,串行口作为同步移位寄存器使用串行口作为同步移位寄存器使用,波特率固定为,波特率固定为f foscosc/12/12,RXDRXD(P3.0P3.0):数据移位的出入口;):数据移位的出入口;TXDTXD(P3.1P3.1):提):提供移位时钟脉冲。供移位时钟脉冲。移位数据发送移位数据发送,接收以接收以8 8位为一帧位为一帧,不设起始位和停止位不设起始位和停止位,低低位在前位在前,高位在后。高位在后。D0 D1 D2 D3 D4 D5 D6 D7(1 1)数据发送与接收数据发送与接收 使用方式使用方式0 0实现数据的移位输入输出时,实现数据的移位输入输出时,实际上把串行口变实际上把串行口变成为并行口使用成为并行口使用。串行口串行口作为并行口输入输出使用时,必须要有作为并行口输入输出使用时,必须要有“并入串出并入串出”(CD4014CD4014、74LS16574LS165)和)和“串入并出串入并出”(CD4094CD4094、74LS16474LS164)移位)移位寄存器的配合。寄存器的配合。课程:单片机技术课程:单片机技术 教材:单片机基础教材:单片机基础(a a)串行口串行口作并行口实现数据输出作并行口实现数据输出8 80 0C C5 51 1R RX XD DT TX XD DP P1 1.C CL LK KD DA AT TA AS ST TB BC CD D4 40 09 94 4并并行行输输出出课程:单片机技术课程:单片机技术 教材:单片机基础教材:单片机基础(b b)串行口串行口作并行口实现数据输入作并行口实现数据输入8 80 0C C5 51 1R RX XD DT TX XD DP P1 1.C CL LK KQ Q8 8P P/(/S S)C CD D4 40 01 14 4并并行行输输入入课程:单片机技术课程:单片机技术 教材:单片机基础教材:单片机基础(2 2)应用举例)应用举例 例:使用例:使用CD4094CD4094的并行输出端接的并行输出端接8 8支发光二极管支发光二极管,利用它的串利用它的串入并出功能,把发光二极管从左向右依此点亮,并反复循环之。入并出功能,把发光二极管从左向右依此点亮,并反复循环之。假设发光二极管为共阴极型假设发光二极管为共阴极型,电路如图所示。,电路如图所示。8 80 0C C5 51 1R RX XD DT TX XD DP P1 1.C CL LK KD DA AT TA AS ST TB BC CD D4 40 09 94 4课程:单片机技术课程:单片机技术 教材:单片机基础教材:单片机基础 解:解:当串行口把当串行口把8 8位状态码串行移位位状态码串行移位输出输出后,后,TITI置置1 1,如把,如把TITI作作状态查询标志,状态查询标志,则可使用则可使用查询法查询法进行程序设计进行程序设计。ORG 1000HORG 1000H MOV SCON MOV SCON,#00H#00H;串行口方式;串行口方式0 0工作工作 CLR ESCLR ES;MOV AMOV A,#80H#80H;发光二极管从左亮起;发光二极管从左亮起 DELRDELR:CLR P1.0CLR P1.0;关闭(关)并行输出关闭(关)并行输出 MOV SBUFMOV SBUF,A A;串行输出串行输出 JNB TIJNB TI,$;状态查询状态查询 SETB P1.0SETB P1.0;开启并行输出开启并行输出 ACALL DELAYACALL DELAY;状态维持状态维持(DELAYDELAY延时子程序)延时子程序)CLR TICLR TI;清发送中断标志清发送中断标志 RR ARR A;发光右移发光右移 AJMP DELRAJMP DELR;继续继续 ENDEND思考题:如采用中断方法,应如何修改程序?思考题:如采用中断方法,应如何修改程序?
展开阅读全文