单片机教程--串口通信优秀PPT.ppt

上传人:1398****507 文档编号:55876019 上传时间:2022-10-31 格式:PPT 页数:58 大小:611.50KB
返回 下载 相关 举报
单片机教程--串口通信优秀PPT.ppt_第1页
第1页 / 共58页
单片机教程--串口通信优秀PPT.ppt_第2页
第2页 / 共58页
点击查看更多>>
资源描述

《单片机教程--串口通信优秀PPT.ppt》由会员分享,可在线阅读,更多相关《单片机教程--串口通信优秀PPT.ppt(58页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、第第9 9章:串口通信章:串口通信本章基本要求:本章基本要求:基本概念基本概念 51 51的串行接口的串行接口*串行接口的应用串行接口的应用*并行并行并行并行通通 信信串行串行串行串行串行串行串行串行1位位9.1串行通信基础串行通信基础所所谓谓“通通信信”是是指指计计算算机机与与其其他他设设备备之之间间进进行行的信息交换。的信息交换。通信的方式分为并行通信和串行通信两种。通信的方式分为并行通信和串行通信两种。并并行行通通信信是是构构成成一一组组数数据据的的各各位位同同时时进进行行传传送送,例如例如8 8位数据或位数据或1616位数据并行传送。位数据并行传送。其其特特点点是是传传输输速速度度快快

2、,但但当当距距离离较较远远、位位数数又又多时导致了通信线路困难且成本高。多时导致了通信线路困难且成本高。串串行行通通信信是是数数据据一一位位接接一一位位地地依依次次传传送送。其其特特点点是是通通信信线线路路简简洁洁,只只要要一一对对传传输输线线就就可可以以实实现现通通信信(如如电电话话线线),可可大大大大地地降降低低成成本本,适适用用于于远远距距离离通信。缺点是传送速度慢。通信。缺点是传送速度慢。9.1串行通信基础串行通信基础下下图图为为以以上上两两种种通通信信方方式式的的示示意意图图。由由图图可可知知,假假设设并并行行传传送送N N位位数数据据所所需需时时间间为为T,T,那那么么串串行行传传

3、送送的时间至少为的时间至少为NT,NT,事实上总是大于事实上总是大于NTNT的。的。9.1串行通信基础串行通信基础9.1.19.1.1串行通信的分类串行通信的分类1 1、异步通信、异步通信异异步步传传送送的的特特点点是是数数据据在在线线路路上上的的传传送送不不连连续续。在在传传送送时时,数数据据是是以以一一个个字字符符为为单单位位进进行行传传送送的的。它它用用一一个个起起始始位位表表示示字字符符的的起起先先,用用停停止止位位表表示示字字符的结束。异步传送的字符格式如图所示。符的结束。异步传送的字符格式如图所示。字字符符帧帧:也也叫叫数数据据帧帧,由由起起始始位位、数数据据位位、奇奇偶校验位和停

4、止位偶校验位和停止位4 4个部分组成。个部分组成。9.1串行通信基础串行通信基础9.1串行通信基础串行通信基础波波特特率率:就就是是数数据据的的传传送送速速率率,即即每每秒秒钟钟传传送送的的二进制位数,单位:位二进制位数,单位:位/秒。秒。说说明明:要要求求发发送送端端与与接接收收端端的的波波特特率率必必需需一一样样。波特率越高,传送速度越快。波特率越高,传送速度越快。例例:设设字字符符传传送送的的速速率率为为120字字符符/秒秒,而而每每1个个字字符符为为10位位,那那么么传传送送的的波波特特率率为为:10位位/字字符符120字字符符/秒秒=1200位位/秒秒=1200波波特特。每每1位位二

5、二进进制制位位的的传送时间传送时间Td就是波特率的倒数,就是波特率的倒数,例中:例中:Td=1/1200=0.833ms9.1串行通信基础串行通信基础2 2、同步通信、同步通信在在异异步步传传送送中中,每每一一个个字字符符都都要要用用起起始始位位和和停停止止位位作作为为字字符符起起先先和和结结束束的的标标记记,占占用用了了确确定定的的时时间间。为为了了提提高高传传送送速速度度,有有时时就就去去掉掉这这些些标标记记,而而接接受受同同步步传传送送,即即1 1次次传传送送1 1组组数数据据。在在这这1 1组组数数据据的起先处要用同步字符的起先处要用同步字符SYNSYN来加以指示来加以指示,如图示:如

6、图示:9.1.29.1.2串行通信的制式串行通信的制式串行通信的数据传送方向有三种形式。串行通信的数据传送方向有三种形式。9.1串行通信基础串行通信基础 1、单工制式(、单工制式(Simplex)单工制式是指甲乙双方通信时只能单向传送数据,单工制式是指甲乙双方通信时只能单向传送数据,发送方和接收方固定。发送方和接收方固定。单工:单工:广播广播9.1串行通信基础串行通信基础 2 2、半双工制式、半双工制式 半半双双工工制制式式是是指指通通信信双双方方都都具具有有发发送送器器和和接接收收器器,既既可可发发送送也也可可接接收收,但但不不能能同同时时接接收收和和发发送送,发发送送时时不不能能接接收,接

7、收时不能发送。收,接收时不能发送。半双工:对讲机半双工:对讲机9.1串行通信基础串行通信基础 全双工制式是指通信双方均设有发送器和接收器,并且信道划分为发送信道和接收信道,因此全双工制式可实现甲乙双方同时发送和接收数据,发送时能接收,接收时也能发送。3 3、全双工制式、全双工制式双工:电话双工:电话9.1串行通信基础串行通信基础9.1.39.1.3 调制解调器调制解调器计计算算机机通通信信是是一一种种数数字字信信号号的的通通信信,如如图图所所示示。它它要要求求传传送送线线的的频频带带很很宽宽,而而在在长长距距离离通通讯讯时时,通通常常是是利利用用电电话话线线来来传传送送的的,该该线线不不行行能

8、能有有这这样样宽宽的的频频带带。假假如如用用数数字字信信号号经经过过传传送送线线干干脆脆通通讯讯,信信号号就会畸变。就会畸变。9.1串行通信基础串行通信基础因因此此要要在在发发送送端端用用调调制制器器(Modulator)(Modulator)把把数数字字信信 号号 转转 换换 为为 模模 拟拟 信信 号号,在在 接接 收收 端端 用用 解解 调调 器器(Demodulator)(Demodulator)检检测测此此模模拟拟信信号号,再再把把它它转转换换成成数数字信号字信号,如图所示。如图所示。9.2MCS-51单片机串行接口单片机串行接口5151单单片片机机内内部部有有一一个个功功能能很很强

9、强的的全全双双工工串串行行口口,可可同同时时发发送送和和接接收收数数据据。它它有有四四种种工工作作方方式式,可可供供不不同同场场合合运运用用。波波特特率率由由软软件件设设置置,通通过过片片内内的的定定时时/计计数数器器产产生生。接接收收、发发送送均均可可工工作作在在查查询询方方式或中断方式式或中断方式,运用特别敏捷。运用特别敏捷。5151的的串串行行口口除除了了用用于于数数据据通通信信外外,还还可可以以特特别别便便利利地地构构成成1 1个个或或多多个个并并行行输输入入/输输出出口口或或作作串串并并转换转换,用来驱动键盘与显示器。用来驱动键盘与显示器。51单片机的串行接口单片机的串行接口硬件结构

10、硬件结构SBUF(发)(发)SBUF(收)(收)发送限制器发送限制器 TI接收限制器接收限制器 RI移位寄存器移位寄存器波波特特率率发发生生器器T1+A累累加加器器移位寄存器移位寄存器RxDP3.0TxD P3.1去申请中断去申请中断引脚引脚引脚引脚CPU内内部部1 1、发送和接收电路、发送和接收电路SBUFSBUF是是两两个个在在物物理理上上独独立立的的接接收收、发发送送缓缓冲冲器器,可可同同时时发发送送、接接收收数数据据。两两个个缓缓冲冲器器只只用用一一个个字字节节地地址址99H,99H,可可通通过过指指令令对对SBUFSBUF的的读读写写来来区区分分是是对对接接收收缓缓冲冲器器的的操操作

11、作还还是是对对发送缓冲器的操作。发送缓冲器的操作。MOV SBUF,A ;CPU MOV SBUF,A ;CPU写写SBUF,SBUF,就是修改发送缓冲器就是修改发送缓冲器;MOV A,SBUF ;CPU MOV A,SBUF ;CPU读读SBUF,SBUF,就是读接收缓冲器。就是读接收缓冲器。串串行行口口对对外外也也有有两两条条独独立立的的收收发发信信号号线线RXD(P3.0)RXD(P3.0)和和TXD(P3.1),TXD(P3.1),因因此此可可以以同同时时发发送送、接接收收数数据据,实实现现全全双双工工传传送。送。9.2MCS-51单片机串行接口单片机串行接口发发送送和和接接收收过过程

12、程都都是是在在发发送送和和接接收收时时钟钟限限制制下下进进行行的的,必需与设定的波特率保持一样。必需与设定的波特率保持一样。一一般般,5151单单片片机机的的串串口口时时钟钟是是由由内内部部定定时时器器的的溢溢出出率率经经1616分频后供应。分频后供应。2 2、串行口限制寄存器、串行口限制寄存器SCONSCON、PCONPCONSCONSCON用用来来限限制制串串行行口口的的工工作作方方式式和和状状态态(可可位位寻寻址址)。在复位时全部位被清在复位时全部位被清0,0,字地址为字地址为98H98H。PCONPCON主主要要是是为为CHMOSCHMOS型型单单片片机机的的电电源源限限制制而而设设置

13、置的的专专用用寄存器寄存器,单元地址为单元地址为87H,87H,不能位寻址。不能位寻址。SCONSCON、PCONPCON的格式和内容如下图。的格式和内容如下图。9.2MCS-51单片机串行接口单片机串行接口串行口限制寄存器串行口限制寄存器SCONSCON(98H98H)1 1、SM0SM0、SM1 SM1 限制串行口方式限制串行口方式 2 2、SM2 SM2 允许方式允许方式2 2、3 3的多机通讯特征位的多机通讯特征位 在方式2、3中若SM2=1表示接收的第九位数据(RB8)为1时,激活RI。在方式0,1中SM2必需为0。SM0 SM1工作方式工作方式功功 能能 简简 述述波特率波特率 0

14、 0方式方式08位位 同步移位寄存器同步移位寄存器fosc/12 0 1方式方式110位位 UART可变可变 1 0方式方式211位位 UARTfosc/32或或/64 1 1方式方式311位位 UART可变可变 3 3、REN REN 允许串行接收位,由软件置允许串行接收位,由软件置/复位复位 1 1:允许接收:允许接收 0 0:不允许接收:不允许接收4 4、TB8 TB8 在方式在方式2 2、3 3中要发送的第九位数据,由软件置中要发送的第九位数据,由软件置/复位复位 5 5、RB8 RB8 在方式在方式2 2、3 3中是接收的第九位数据中是接收的第九位数据 在方式在方式0 0中不用中不用

15、RB8RB8。串行口限制寄存器串行口限制寄存器SCONSCON(98H98H)6 6、RI RI 接收中断标记(必需由软件清除)接收中断标记(必需由软件清除)在方式在方式0 0中串行接收到第中串行接收到第8 8位结束时自动置位。位结束时自动置位。在方式在方式1 1、2 2、3 3中串行接收到停止位的中间时置位。中串行接收到停止位的中间时置位。1 111111SBUF1111 1111RxD1RI=17 7、TI TI 发送中断标记(必需由软件清除)发送中断标记(必需由软件清除)在方式在方式0 0中串行发送第中串行发送第8 8位结束时自动置位。位结束时自动置位。在方式在方式1 1、2 2、3 3

16、中串行发送停止位的起先时置位。中串行发送停止位的起先时置位。串行口限制寄存器串行口限制寄存器SCONSCON(98H98H)电源限制寄存器电源限制寄存器PCONPCONPCOND7D6D5D4D3D2D1D0位名称SMODGF1GF0PDIDLSMOD=1SMOD=1,串行口波特率加倍。串行口波特率加倍。PCONPCON寄存器不能进行位寻址。寄存器不能进行位寻址。SMODSMOD:在串行口工作方式:在串行口工作方式 1 1、2 2、3 3 中,是中,是波特波特率加倍位率加倍位 =1 =1 时,波特率加倍时,波特率加倍 =0 =0 时,波特率不加倍。时,波特率不加倍。(在在PCONPCON中只有

17、这一个位与串口有关中只有这一个位与串口有关)9.2.29.2.2串行口的工作方式串行口的工作方式5151的的串串行行口口有有四四种种工工作作方方式式,它它是是由由SCONSCON中中的的SM0SM0、SM1SM1来定义的来定义的,如下表和下屏表格所示。如下表和下屏表格所示。9.2MCS-51单片机串行接口单片机串行接口SM0 SM1工作方式工作方式功功 能能 简简 述述波特率波特率 0 0方式方式08位位 同步移位寄存器同步移位寄存器fosc/12 0 1方式方式110位位 UART可变可变 1 0方式方式211位位 UARTfosc/32或或/64 1 1方式方式311位位 UART可变可变

18、SM0 SM1工作方式工作方式说说 明明波特率波特率0 0方式方式0(扩展扩展I/O口口)移位输入移位输入/输出输出(用于用于扩展扩展I/O引脚引脚)方式方式为为f foscosc(振振荡荡频频率率)的的1/121/12。0 1方式方式1(常用常用)波特率可变的波特率可变的8位异步位异步串行通信方式串行通信方式1 0方式方式2(不常用不常用)波特率固定的波特率固定的9位异步位异步串行通信方式串行通信方式1 1方式方式3(常用常用)波特率可变的波特率可变的9位异步位异步串行通信方式串行通信方式9.2MCS-51单片机串行接口单片机串行接口1 1、方式、方式0 0为为同同步步移移位位寄寄存存器器方

19、方式式,其其波波特特率率是是固固定定的的,为为fosc(fosc(振荡频率振荡频率)的的1/121/12。方方式式0 0发发送送:数数据据从从RXDRXD引引脚脚串串行行输输出出,TXD,TXD引引脚脚输输出出同同步步脉脉冲冲。当当1 1个个数数据据写写入入串串行行口口发发送送缓缓冲冲器器时时,串串行行口口将将8 8位位数数据据以以fosc/12fosc/12的的固固定定波波特特率率从从RXDRXD引引脚脚输输出出,从从低低位位到到高高位位。发发送送完完后后置置中中断断标标记记TITI为为1,1,呈呈中中断断恳恳求求状状态态,在在再再次次发发送送数数据据之之前前,必需用软件将必需用软件将TIT

20、I清清0 0。9.2MCS-51单片机串行接口单片机串行接口方式方式0 0接收:在满足接收:在满足REN=1(REN=1(允许接收)、允许接收)、RI=0RI=0的条的条件下件下,串行口处于方式串行口处于方式0 0输入。此时输入。此时,RXD,RXD为数据输入为数据输入端端,TXD,TXD为同步信号输出端为同步信号输出端,接收器也以接收器也以fosc/12fosc/12的波的波特率采样特率采样RXDRXD引脚输入的数据信息。当接收器接收完引脚输入的数据信息。当接收器接收完8 8位数据后,置中断标记位数据后,置中断标记RI=1RI=1为恳求中断为恳求中断,在再次接在再次接收之前收之前,必需用软件

21、将必需用软件将RIRI清清0 0。9.2MCS-51单片机串行接口单片机串行接口说明:说明:在在方方式式0 0工工作作时时,必必需需使使SCONSCON寄寄存存器器中中的的SM2SM2位位为为“0”,“0”,这这并并不不影影响响TB8TB8位位和和RB8RB8位位。方方式式0 0发发送送或或接接收收完完8 8位位数数据据后后由由硬硬件件置置位位TITI或或RIRI中中断断恳恳求求标标记记,CPU,CPU在在响响应应中中断断后后要要用用软软件件清清除除TITI或或RIRI标标记记。若若串串行行口口要要作作为为并并行行口口输输入入输输出出,这这时时必必需需设设置置“串串入入并并出出“或或”并并入入

22、串串出出”的的移移位位寄寄存存器器来来协协作作运运用用(如如74HC16474HC164或或74HC16574HC165等等)。9.2MCS-51单片机串行接口单片机串行接口2 2、方式、方式1 1该方式为波特率可变的该方式为波特率可变的8 8位异步通信接口。位异步通信接口。方方式式1 1发发送送:数数据据位位由由TXDTXD端端输输出出,发发送送1 1帧帧信信息息为为1010位位,其其中中1 1位位起起始始位位、8 8位位数数据据位位(先先低低位位后后高位高位)和一个停止位和一个停止位“1”“1”。CPUCPU执执行行1 1条条数数据据写写入入发发送送缓缓冲冲器器SBUFSBUF的的指指令令

23、,就就启启动动发发送送器器发发送送。当当发发送送完完数数据据,就就置置中中断断标标记记TITI为为1 1。9.2MCS-51单片机串行接口单片机串行接口方方式式1 1所所传传送送的的波波特特率率取取决决于于定定时时器器T1T1的的溢溢出出率率和和特特殊殊功功能能寄寄存存器器PCONPCON中中SMODSMOD的的值值,即即方方式式1 1的的波特率波特率=(2SMOD/32)=(2SMOD/32)定时器定时器T1T1的溢出率。的溢出率。方方式式1 1接接收收:当当串串行行口口置置为为方方式式1,1,且且REN=1REN=1时时,串串行行口口处处于于方方式式1 1输输入入状状态态。它它以以所所选选

24、波波特特率率的的1616倍的速率采样倍的速率采样RXDRXD引脚状态。引脚状态。9.2MCS-51单片机串行接口单片机串行接口3 3、方式、方式2 2该方式为该方式为1111位异步通信接口。位异步通信接口。方方式式2 2发发送送:发发送送数数据据由由TXDTXD端端输输出出,发发送送1 1帧帧信信息息为为1111位位,其其中中1 1位位起起始始位位(0)(0)、8 8位位数数据据位位(先先低低位位后后高高位位)、1 1位位可可控控位位为为1 1或或0 0的的第第9 9位位数数据据、1 1位位停停止止位位。附附加加的的第第9 9位位数数据据为为SCONSCON中中的的TB8,TB8,它它由由软软

25、件件置置位位或或清清0,0,可可作作为为多多机机通通信信中中地地址址/数数据据信息的标记位信息的标记位,也可作为数据的奇偶校验位。也可作为数据的奇偶校验位。9.2MCS-51单片机串行接口单片机串行接口PIPL:PIPL:PUSHPUSHPSWPSW;爱护现场爱护现场PUSHPUSHACCACCCLRCLRTITI;清清0 0发送中断标记发送中断标记MOVMOVA,R0A,R0;取数据取数据MOVMOVC,PC,P;奇偶位送奇偶位送C CMOVMOVTB8,CTB8,C;奇偶位送奇偶位送TB8TB8MOVMOVSBUF,ASBUF,A;数据写入发送缓冲器数据写入发送缓冲器,启动发送启动发送IN

26、CINCR0R0;数据指针加数据指针加1 1POPPOPACCACC;复原现场复原现场POPPOPPSWPSWRETIRETI;中断返回中断返回9.2MCS-51单片机串行接口单片机串行接口方式方式2中运用中运用TB8作为发送数据的奇偶校验位,作为发送数据的奇偶校验位,发送程序如下:发送程序如下:方方式式2 2接接收收:当当串串行行口口置置为为方方式式2,2,且且REN=1REN=1时时,串串行行口口以以方方式式2 2接接收收数数据据。方方式式2 2的的接接收收与与方方式式1 1基基本本相相像像。数数据据由由RXDRXD端端输输入入,接接收收1111位位信信息息,其其中中1 1位位起起始始位位

27、(0)(0)、8 8位位数数据据位位、1 1位位附附加加的的第第9 9位位数数据据、1 1位停止位位停止位(1)(1)。方式方式2 2的波特率的波特率=(2SMOD/64)fosc=(2SMOD/64)fosc若若附附加加的的第第9 9位位数数据据为为奇奇偶偶校校验验位位,在在接接收收中中断断服务程序中应作检验处理服务程序中应作检验处理,参考程序如下:参考程序如下:9.2MCS-51单片机串行接口单片机串行接口PIPL:PIPL:PUSHPUSHPSWPSW;爱护现场爱护现场PUSHPUSHACCACCCLRCLRRIRI;清清0 0接收中断标记接收中断标记MOVMOVA,SUBFA,SUBF

28、;接收数据接收数据MOVMOVC,PC,P;取奇偶校验位取奇偶校验位JNCJNCL1L1;偶校验时转偶校验时转L1L1JNBJNBRB8,ERRRB8,ERR;奇校验时奇校验时RB8RB8为为0 0转出错处理转出错处理SJMPSJMPL2L2L1:L1:JBJBRB8,ERRRB8,ERR;偶校验时偶校验时RB8RB8为为1 1转出错处理转出错处理L2:L2:MOVMOVR0,AR0,A;奇偶校验对时存入数据奇偶校验对时存入数据INCINCR0R0;修改指针修改指针POPPOPACCACC;复原现场复原现场POPPOPPSWPSWRETIRETI;中断返回中断返回ERR:ERR:;出错处理出错

29、处理RETIRETI;中断返回中断返回9.2MCS-51单片机串行接口单片机串行接口方式方式2中运用中运用RB8作为接收数据的奇偶校验位,作为接收数据的奇偶校验位,接收程序如下:接收程序如下:4 4、方式、方式3 3方方式式3 3为为波波特特率率可可变变的的9 9位位异异步步通通信信方方式式,除除了了波特率有所区分之外波特率有所区分之外,其余方式都与方式其余方式都与方式2 2相同。相同。方方式式3 3的的波波特特率率=(2SMOD/32)(=(2SMOD/32)(定定时时器器T1T1的的溢溢出出率率)9.2MCS-51单片机串行接口单片机串行接口9.2.39.2.3串行口的通信波特率串行口的通

30、信波特率串行通信的四种工作方式对应着三种波特率。串行通信的四种工作方式对应着三种波特率。对对于于方方式式0,0,波波特特率率是是固固定定的的,为为单单片片机机时时钟钟的的十十二二分分之之一一,即即f foscosc/12/12。对对于于方方式式2,2,波波特特率率有有两两种种可可供供选选择择,即即f foscosc/32/32和和f foscosc/64/64。对应于以下公式:。对应于以下公式:波特率波特率=f=foscosc22SMODSMOD/64/649.2MCS-51单片机串行接口单片机串行接口对对于于方方式式1 1和和方方式式3,3,波波特特率率都都由由定定时时器器T1T1的的溢出率

31、来确定溢出率来确定,运用下面公式:运用下面公式:波特率波特率=(2SMOD/32)(=(2SMOD/32)(定时器定时器T1T1的溢出率的溢出率)而而定定时时器器T1T1的的溢溢出出率率则则和和所所接接受受的的定定时时器器工工作作方式有关方式有关,并可用以下公式表示:并可用以下公式表示:定时器定时器T1T1的溢出率的溢出率=fosc/12(2n-X)=fosc/12(2n-X)其其中中X X为为定定时时器器T1T1的的计计数数初初值值,n,n为为定定时时器器T1T1的的位位数数,对对于于定定时时器器方方式式0 0,取取n=13n=13;对对于于定定时时器器方方式式1 1,取,取n=16n=16

32、;对于定时器方式;对于定时器方式2 2、3 3,取,取n=8n=8。9.2MCS-51单片机串行接口单片机串行接口常用波特率和定时器常用波特率和定时器T1T1初值初值9.2MCS-51单片机串行接口单片机串行接口留留意意:假假如如选选定定的的波波特特率率对对应应的的初初值值C C不不是是整整数数,则则实实际际波波特特率率与与标标准准值值就就存存在在偏偏差差,若若晶晶振振频频率率为为12MHz12MHz,则则标标准准波波特特率率96009600对对应应的的初初值值C C为为252.745(SMOD1252.745(SMOD1为为0 0时时的的计计算算值值),由由于于初初值值C C只只能能取取最最

33、接接近近计计算算值值的的整整数数,因因此此,C C取取253(FDH)253(FDH)。而而当当C=253C=253时时,实实际际波波特特率率为为1041710417,与与理理论论值值相相对对误差为:约误差为:约5.7%5.7%。9.2MCS-51单片机串行接口单片机串行接口实实践践表表明明:当当两两个个串串行行通通信信设设备备之之间间的的波波特特率率误误差差超超过过2.5%2.5%时时,串串行行通通信信将将无无法法进进行行,且且通通信信速速率率越越高高,发发送送、接接收收波波特特率率的的允允许许误误差差范范围围就就越越小小。因因此此,当当单单片片机机限限制制系系统统须须要要与与PCPC机机通

34、通信信时时,单单片片机机限限制制系系统统的的晶晶振振频频率率foscfosc往往往往不不是是整整数数(如如 6MHz6MHz、12MHz)12MHz),而而 是是 某某 一一 特特 定定 值值,如如11.0592 MHz11.0592 MHz就是常用的一种晶振频率之一。就是常用的一种晶振频率之一。9.2MCS-51单片机串行接口单片机串行接口9.3MCS-51串行口的应用串行口的应用串行口的编程串行口的编程串串行行口口需需初初始始化化后后,才才能能完完成成数数据据的的输输入入、输输出。其初始化过程如下出。其初始化过程如下:按按选选定定串串行行口口的的操操作作方方式式设设定定SCONSCON的的

35、SM0SM0、SM1SM1两位二进制编码。两位二进制编码。对对于于操操作作方方式式2 2或或3,3,应应依依据据须须要要在在TB8TB8中中写写入入待待发送的第发送的第 9 9位数据。位数据。若若选选定定的的操操作作方方式式不不是是方方式式0,0,还还需需设设定定接接收收/发发送送的的波波特特率率。设设定定SMODSMOD的的状状态态,以以限限制制波波特特率率是是否否加加倍倍。若若选选定定操操作作方方式式1 1或或3,3,则则应应对对定定时时器器T1T1进行初始化以设定其溢出率。进行初始化以设定其溢出率。9.3.19.3.1串口在方式串口在方式0 0下的应用下的应用当当串串行行口口工工作作于于

36、方方式式0 0时时,串串行行口口本本身身相相当当于于“并并入入串串出出”(”(发发送送状状态态)或或“串串入入并并出出”(”(接接收收状状态态)的的移移位位寄寄存存器器。8 8位位串串行行数数据据b0b0b7b7依依次次从从RDX RDX(P3.0)(P3.0)引引脚脚输输出出或或输输入入,移移位位脉脉冲冲信信号号来来自自TXD TXD(P3.1)(P3.1)引引脚脚,输输出出/输输入入移移位位脉脉冲冲频频率率固固定定为为系系统统时时钟钟频频率率foscfosc的的1212分分频频(对对于于8XC5X28XC5X2芯芯片片来来说说,在在“6“6时时钟钟/机机器器周周期期”模模式式下下,移移位位

37、脉脉冲冲频频率率是是时时钟频率钟频率foscfosc的的6 6分频分频),不行变更。,不行变更。9.3MCS-51串行口的应用串行口的应用1 1、方式、方式0 0的串行输出:运用的串行输出:运用74LS16474LS164,如下图,如下图最简的程序可以写为:最简的程序可以写为:MOVMOVSCON,#00000000BSCON,#00000000B;定义串行工作方式定义串行工作方式CLRCLRTITI;清除发送中断标记清除发送中断标记MOVMOVSUBF,ASUBF,A;输出串行数据输出串行数据LOOP:LOOP:JNBJNBTI,LOOPTI,LOOP;等等待待一一帧帧数数据据发送结束发送结

38、束 9.3MCS-51串行口的应用串行口的应用说明:说明:运运用用中中断断方方式式时时,在在中中断断处处于于开开放放状状态态下下(串串行行中中断断允允许许ESES为为1 1,中中断断允允许许EAEA为为1)1),当当TITI有有效效时时,将将产产生生串串行行中中断断恳恳求求。值值得得留留意意是是CPUCPU响响应应串串行行中中断断后后,不不会会自自动动清清除除TITI,须须要要用用“CLR“CLR TI”TI”指指令令清除清除TITI,以便输出新的串行数据。,以便输出新的串行数据。9.3MCS-51串行口的应用串行口的应用2 2、方式、方式0 0的串行输入:运用的串行输入:运用74LS165

39、74LS165,如下图,如下图RxDRxD引引脚脚接接74LS16574LS165芯芯片片的的串串行行数数据据输输出出端端,TxDTxD引引脚脚接接74LS16574LS165芯芯片片的的移移位位脉脉冲冲CLKCLK。其其工工作作过过程见如下说明:程见如下说明:9.3MCS-51串行口的应用串行口的应用说说明明:在在接接收收中中断断标标记记RIRI为为0(0(即即无无效效,表表明明串串行行数数据据输输入入缓缓冲冲器器SBUFSBUF空空)状状况况下下,当当REN=1REN=1时时,即即可可启启动动串串行行接接收收过过程程:在在移移位位脉脉冲冲(来来自自TXDTXD引引脚脚)作作用用下下,165

40、165芯芯片片并并行行数数据据b0b0b7b7逐逐一一移移到到RDXRDX引引脚脚,并并保保存存到到CPUCPU内内的的串串行行接接收收缓缓冲冲器器内内,当当接接收收到到b7b7位位数数据据时时,串串行行接接收收中中断断标标记记RIRI为为1 1,表表明明已已接接收收了了一一帧帧数数据据,CPUCPU可可以以读读SBUFSBUF寄寄存存器器。这这样样,在在RENREN为为1 1后后,可可通通过过查查询询RIRI标标记记来来确确定定接接收收过过程程是是否否完完成成。当当然然,在在中中断断处处于于开开放放状状态态下下(串串行行中中断断允允许许ESES为为1 1,中中断断允允许许EAEA为为1)1)

41、,当当RIRI有有效效时时,将将产产生生串串行行中中断断恳恳求求。留留意意:CPUCPU响响应应串串行行中中断断后后,不不会会自自动动清清除除RIRI,须须要要用用“CLR“CLR RI”RI”指指令令清清除除RIRI,以便接收新的数据。,以便接收新的数据。参考程序如下:参考程序如下:MOVMOVSCON,#00000000BSCON,#00000000B;定义串行工作方式定义串行工作方式0 0CLRCLRP1.7P1.7;输出送数脉冲输出送数脉冲(允许允许165165芯片芯片;接接收收并并锁锁存存并并行行输输入入端端数数据据)NOPNOPSETBSETBP1.7P1.7;延迟一个机器周期后,

42、延迟一个机器周期后,;取消送数负脉冲取消送数负脉冲CLRCLRRIRI;清除接收中断标记清除接收中断标记RIRISETBSETBRENREN;允许接收允许接收LOOP:LOOP:JNBJNBRI,LOOPRI,LOOP;等待一帧数据接收结束等待一帧数据接收结束MOVMOVA,SBUFA,SBUF;读串行输入数据读串行输入数据9.3MCS-51串行口的应用串行口的应用9.3.29.3.2 串行口在其他方式下的应用串行口在其他方式下的应用在在方方式式1 1、2 2、3 3下下,串串口口用用于于异异步步通通信信,不不同同之处在帧格式和波特率的差异。之处在帧格式和波特率的差异。方方式式1 1为为8 8

43、位位数数据据位位,方方式式3 3为为9 9位位数数据据位位,两两种种方方式的波特率都是受定时器式的波特率都是受定时器T1T1的溢出率限制。的溢出率限制。在在用用方方式式1 1或或方方式式3 3实实现现串串行行异异步步通通信信时时,初初始始化化程程序序要要设设定定串串行行口口的的工工作作方方式式,并并对对定定时时器器T1T1进进行行初初始始化化,即即设设定定定定时时器器方方式式和和定定时时器器初初值值。此此外外,还要编写发送子程序和接收子程序。还要编写发送子程序和接收子程序。9.3MCS-51串行口的应用串行口的应用1 1、方式方式1 1当当SM1SM1、SM0SM0为为0101时时,选选中中串

44、串行行口口工工作作在在方方式式1 1,8 8位位的的异异步步串串行行通通信信方方式式,其其中中TXDTXD是是发发送送端端,RXDRXD是是接接收收端端。发发送送或或接接收收一一帧帧信信息息包包括括1 1位位起起始始位位(固固定定为为0)0)、8 8位位串串行行数数据据(低低位位在在前前,高高位位在在后后)和和一一位位停停止止位位(固固定定为为1)1)共共1010位位,波波特特率率与与定定时时器器T1(T1(或或T2)T2)溢出率、溢出率、SMODSMOD位有关位有关(可变可变)。9.3MCS-51串行口的应用串行口的应用方式方式1 1的发送过程如下:的发送过程如下:在在TITI为为0 0的的

45、状状况况下下(表表示示当当前前不不处处于于发发送送状状态态,串串行行口口发发送送限限制制电电路路处处于于空空闲闲状状态态),任任何何写写串串行行数数据据输输出出缓缓冲冲器器SBUFSBUF指令指令(如如MOV SBUF,A)MOV SBUF,A)均会触发串行发送过程:均会触发串行发送过程:5151串串行行口口自自动动在在8 8个个串串行行数数据据位位的的前前、后后分分别别插插入入一一个个起起始始位位(0)(0)和和一一个个停停止止位位(1)(1),构构成成1010位位信信息息帧帧,然然后后按按设设定定的的波波特特率率依依次次输输出出起起始始位位(0)(0)、8 8个个数数据据位位(依依次次为为

46、b0b0b7)b7)和和停停止止位位(1)(1)。当当8 8位位数数据据(即即b7b7位位)发发送送结结束束后后(即即起起先发送停止位先发送停止位),串行口自动将发送中断标记,串行口自动将发送中断标记TITI置置1 1。这这样样执执行行了了写写SBUFSBUF寄寄存存器器操操作作后后,可可通通过过查查询询TITI标标记记来来确确定定发发送送过过程程是是否否已已完完成成。若若中中断断处处于于开开放放状状态态下下,TITI有效时,将产生串行中断恳求。有效时,将产生串行中断恳求。9.3MCS-51串行口的应用串行口的应用方式方式1 1的接收过程如下:的接收过程如下:在在接接收收中中断断标标记记RIR

47、I为为0(0(即即串串行行数数据据输输入入缓缓冲冲器器SBUFSBUF处处于于空空闲闲状状态态)状状况况下下,当当RENREN位位为为1 1时时,串串行行口口即即处处于于接接收收状态。状态。在在接接收收状状态态下下,存存在在两两个个定定时时信信号号:一一个个是是移移位位脉脉冲冲信信号号(即即发发送送波波特特率率);另另一一个个是是RXDRXD引引脚脚电电平平状状态态检检测测信信号号(也也称称为为数数据据检检测测脉脉冲冲),它它的的频频率率是是移移位位脉脉冲冲的的1616倍倍。进进入入接接收收状状态态后后,串串行行口口便便按按数数据据检检测测脉脉冲冲速速率率不不断断检检测测RXDRXD引脚的电平

48、状态,引脚的电平状态,当当发发觉觉RXDRXD引引脚脚由由高高电电平平变变为为低低电电平平后后表表明明发发送送端端起起先先发发送送起起始始位位(0)(0),启启动动接接收收过过程程,并并复复位位接接收收波波特特率率发发生生器器,使使数数据据检检测测脉脉冲冲与与接接收收移移位位脉脉冲冲保保持持同同步步,然然后按设定波特率依次读出数据位和停止位。后按设定波特率依次读出数据位和停止位。9.3MCS-51串行口的应用串行口的应用当当接接收收完完一一帧帧信信息息(即即接接收收到到停停止止位位)后后,假假如如RIRI位位为为0 0,便便将将“接接收收移移位位寄寄存存器器”中中的的内内容容装装入入串串行行数

49、数据据输输入入缓缓冲冲寄寄存存器器SBUFSBUF中中,停停止止位位装装入入SCONSCON寄寄存存器器的的RB8RB8位位中中,并将串行接收中断标记并将串行接收中断标记RIRI置置1 1。这这样样通通过过查查询询RIRI标标记记即即可可确确定定接接收收过过程程是是否否已已完完成成。若若中中断断处处于于开开放放状状态态下下,RIRI有有效效时时,也也产产生生串串行行中中断断恳恳求求。不不过过值值得得留留意意是是CPUCPU响响应应串串行行中中断断后后,不不会会自自动动清清除除RIRI,须要用须要用“CLR RI”“CLR RI”指令清除指令清除RIRI,以便接收下一帧信息。,以便接收下一帧信息

50、。9.3MCS-51串行口的应用串行口的应用2 2、方式、方式2 2和方式和方式3 3当当SM0SM0、SM1SM1为为1010、1111时时,串串行行口口工工作作于于方方式式2 2、方方式式3 3。方方式式2 2和和方方式式3 3都都是是9 9位位异异步步串串行行通通信信口口,区区分分是是方方式式2 2的的波波特率固定为时钟频率的特率固定为时钟频率的3232或或6464分频,不行变,分频,不行变,因因此此不不常常用用(缘缘由由是是与与其其他他串串行行通通信信设设备备连连接接困困难难)。而而方方式式3 3的的波波特特率率与与T1(T1(或或T2)T2)定定时时器器的的溢溢出出率率、电电源源限限

展开阅读全文
相关资源
相关搜索

当前位置:首页 > pptx模板 > 商业计划书

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁