第六章-串行口(专)资料课件

上传人:痛*** 文档编号:241701340 上传时间:2024-07-17 格式:PPT 页数:48 大小:824.50KB
返回 下载 相关 举报
第六章-串行口(专)资料课件_第1页
第1页 / 共48页
第六章-串行口(专)资料课件_第2页
第2页 / 共48页
第六章-串行口(专)资料课件_第3页
第3页 / 共48页
点击查看更多>>
资源描述
第六章第六章 串行接口及串行通信技术串行接口及串行通信技术6.1 6.1 通信的基本概念通信的基本概念 80C5180C51单片机内部有一个功能很强单片机内部有一个功能很强的全双工串行口,可同时接收和发送的全双工串行口,可同时接收和发送数据。此串行口能方便地与其他计算数据。此串行口能方便地与其他计算机或外部设备实现数据通信,也可用机或外部设备实现数据通信,也可用于输入输出口的扩展。于输入输出口的扩展。一、一、通信的基本方式通信的基本方式 并并行行通通信信:8位位或或16位位数数据据同同时时传传送送,速速度度快快、传传输线多、传输距离近。输线多、传输距离近。串串行行通通信信:数数据据按按位位传传输输,速速度度慢慢、传传输输线线少少、传输距离远。传输距离远。一、一、通信的基本方式通信的基本方式 二二、串行通信的方向串行通信的方向 单工:只能单方向传送数据单工:只能单方向传送数据 半双工:同一时间只能作一个方向的传送半双工:同一时间只能作一个方向的传送全双工:双向同时收发数据全双工:双向同时收发数据 7/17/20246异异步步传传送送方方式式:收收、发发设设备备时时钟钟独独立立,以以字字符符(帧帧)为单位传输为单位传输 三三、异步通信与同步通信异步通信与同步通信三三、异步通信与同步通信异步通信与同步通信异异步步通通信信帧帧格格式式:数数据据按按字字符符为为单单位位传传送送,每每帧帧数数据据含含起起始始位位(0)、数数据据位位、校校验验位位和和停停止止位位(1)等等4部分组成。部分组成。三三、异步通信与同步通信异步通信与同步通信同同步步传传送送方方式式:数数据据按按块块传传送送,数数据据块块起起始始处处 发同步字符(发同步字符(SYN)。)。同步同步字符字符数据数据字符字符1数据数据字符字符2数据字数据字符符n-1数据数据字符字符n校验校验字符字符校验校验字符字符7/17/20249奇偶校验奇偶校验 发送字符:数据位尾随发送字符:数据位尾随1 1位奇偶校验位(位奇偶校验位(1 1或或0 0)。)。奇校验时,数据中奇校验时,数据中“1 1”的个数与校验位的个数与校验位“1 1”的的个数之和应为奇数;偶校验时,数据中个数之和应为奇数;偶校验时,数据中“1 1”的的个数与校验位个数与校验位“1 1”的个数之和应为偶数。的个数之和应为偶数。接收字符:对接收字符:对“1 1”的个数进行校验,若发现的个数进行校验,若发现不一致,则说明传输数据过程中出现了差错。不一致,则说明传输数据过程中出现了差错。四四、串行通信的错误校验串行通信的错误校验7/17/202410代码和校验代码和校验 发送方将所发数据块求和(或各字节异或),发送方将所发数据块求和(或各字节异或),产生的校验和字节附加到数据块的末尾。产生的校验和字节附加到数据块的末尾。接收方在接收数据时要对数据块(除校验字节接收方在接收数据时要对数据块(除校验字节外)求和(或各字节异或),将所得的结果与外)求和(或各字节异或),将所得的结果与收到的收到的“校验和校验和”进行比较,相符则无差错,进行比较,相符则无差错,否则就认为传送过程出现了差错。否则就认为传送过程出现了差错。四四、串行通信的错误校验串行通信的错误校验7/17/202411常用波特率为:常用波特率为:24002400、48004800、96009600、14.4K14.4K、19.2K19.2K等等 传输距离随波特率的增加而减小。传输距离随波特率的增加而减小。五五、传输速率与传输距离传输速率与传输距离 在在串串行行通通信信中中,发发送送设设备备和和接接收收设设备备之之间间除除了了采采用用相相同同的的字字符符帧帧格格式式(异异步步通通信信)或或相相同同的的同同步步字字符符(同同步步通通信信)来来协协调调同同步步工工作作外外,两两者者之之间间发发送送数数据据的的速速度度和和接接收收数数据据的的速速度度也也必必须须相相同同,这这样样才才能能保保证证被被传传送送数数据据的的成成功功传送。传送。波特率:每秒钟传送码元数目,单位:波特(波特率:每秒钟传送码元数目,单位:波特(Baud)波特率是串行通信的重要指标,对数据的成功传送至波特率是串行通信的重要指标,对数据的成功传送至关重要。关重要。6.2 80C51的串行口的串行口 1、功能与结构、功能与结构:MCS51系系列列单单片片机机内内部部有有一一个个全全双双工工 的的 串串 行行 端端 口口:P3.0(RXD)、P3.1(TXD),有),有4种工作方式种工作方式。接收、发送缓冲器接收、发送缓冲器SBUF SBUF:串行口有两个独立的接收、发送缓冲器:串行口有两个独立的接收、发送缓冲器:SBUFSBUF,占用同一地址(占用同一地址(99H99H)。)。发送时,只写不读;接收发送时,只写不读;接收时,只读不写;中断标志是时,只读不写;中断标志是RI/TIRI/TI。80C51 80C51串行口的结构串行口的结构 串行口控制寄存器串行口控制寄存器SCONSCON:字节地址字节地址98H,可位寻址。可位寻址。SCON格式如下:格式如下:SM0SM0SM1SM1方方 式式说 明明波特率波特率0 00 00 0移位寄存器移位寄存器f fosc/12osc/120 01 11 11010位位UARTUART(8 8位数位数据)据)可可变1 10 02 21111位位UARTUART(9 9位数位数据)据)f fosc/64osc/64或或f fosc/32osc/321 11 13 31111位位UARTUART(9 9位数位数据)据)可可变串行口控制寄存器串行口控制寄存器SCON:SM0、SM1:串行口工作方式设置位串行口工作方式设置位 SM2:方式方式2和方式和方式3的多机通讯控制位的多机通讯控制位 (方式(方式0不用)不用)REN:串行接收允许位,串行接收允许位,0禁止接收,禁止接收,1允许接收允许接收 TB8:在方式在方式2、3中,是要发送的第中,是要发送的第9位数据。位数据。RB8:在方式在方式2、3中,是要接收的第中,是要接收的第9位数据。位数据。(TB8和和RB8在方式在方式0中均不用)中均不用)TI:发送中断标志,须由软件清零。发送中断标志,须由软件清零。RI:接收中断标志,须由软件清零。接收中断标志,须由软件清零。PCON 格式如下:格式如下:(字节地址(字节地址87H)SMOD:波特率倍增位,在串行通信时使用波特率倍增位,在串行通信时使用GF1:通用标志通用标志1GF0:通用标志通用标志0PD:掉电方式位,掉电方式位,PD1,则进入掉电方式则进入掉电方式IDL:待机方式位,待机方式位,IDL1,则进入待机方式则进入待机方式GF0IDLPDSMODGF1字节地址字节地址87H,无位地址。无位地址。其中与串行接口有关的只有其中与串行接口有关的只有D7位位电源控制寄存器电源控制寄存器PCON a、待机方式、待机方式 待机方式的进入:待机方式的进入:用指令使用指令使IDL1。待机方式的状态特点:待机方式的状态特点:CPU停停止止工工作作,与与CPU有有关关的的各各种种寄寄存存器器状状态态保保留留;时时钟钟仍仍提提供供给给中中断断逻逻辑辑、串串行行口口和和定定时时器器计计数数器器;单单片片机机消消耗耗的的电电流流从从24mA降降为为5mA;待机方式的退出:待机方式的退出:中断或复位。中断或复位。b、掉电保护方式、掉电保护方式掉电方式的进入:掉电方式的进入:用指令使用指令使PD1。掉电方式的状态特点:掉电方式的状态特点:片片内内振振荡荡器器停停止止工工作作,单单片片机机所所有有功功能能全全部部停停止止;片片内内RAM及及SFR中中的的内内容容被被保保留留;电电源源电压可由电压可由5V降至降至2V,耗电仅耗电仅2A;掉电方式的退出:掉电方式的退出:硬件复位。硬件复位。2、串行口的四种工作方式、串行口的四种工作方式 SM0SMl工作方工作方式式方式简单描述方式简单描述波特率波特率000移位寄存器移位寄存器I/O振荡频率振荡频率1201110位位UART可变可变10211位位UART振荡频率振荡频率32或或振荡频率振荡频率6411311位位UART可变可变方式方式0 8位移位寄存器输入输出方式位移位寄存器输入输出方式串行数据通过串行数据通过RXD端入、出,低位在前端入、出,低位在前TXD端端输输出出同同步步移移位位脉脉冲冲,波波特特率率为为fosc/12方式方式0主要用于主要用于I/O口的扩展口的扩展方式方式1 10位位异异步步通通信信方方式式:1个个起起始始位位(0)、8个个数据位(低位在前)、数据位(低位在前)、1个停止位(个停止位(1)TXD端发送数据端发送数据,RXD端接收数据端接收数据方式方式1波特率可变波特率可变:波特率波特率2SMOD/32(T1的溢出率)的溢出率)溢溢出出率率:每每秒秒钟钟溢溢出出的的次次数数,定定时时时时间间的的倒数。倒数。方式方式2、3 11位位异异步步通通信信方方式式:1个个起起始始位位(0)、8个个数数据据位位(低低位位在在前前)、1个个附附加加的的第第9位位和和1个停止位(个停止位(1)TXD端发送数据端发送数据,RXD端接收数据端接收数据方式方式2只有两种波特率:只有两种波特率:fosc/32或或fosc/64。(。(2SMOD/64fosc)。方式方式3波特率可变:波特率可变:波特率波特率2SMOD/32(T1的溢出率)的溢出率)7/17/202423 波特率的选择波特率的选择 波特率要选择标称值,为了减小波特率计算误差,晶波特率要选择标称值,为了减小波特率计算误差,晶振频率要选为振频率要选为11.0592MHz11.0592MHz。方式方式1 1和方式和方式3 3波特率与波特率与TH1TH1初值的对应关系:初值的对应关系:(T1T1为定时方式为定时方式2 2,晶振频率为,晶振频率为11.0592MHz11.0592MHz)波特率/(b/s)19.2 k9600480024001200TH1初值FDHFDHFAHF4HE8HSMOD100003、多机通信、多机通信 主从式多机通信系统如下图。利用主从式多机通信系统如下图。利用SM2控制位实现控制位实现 主机TXDRXDTXDRXDRXDRXDTXDTXD从机2从机1从机n3、多机通信、多机通信 RB81 引起中断(地址)引起中断(地址)SM21 RB80 不引起中断(数据)不引起中断(数据)接收接收 RB81 SM20 均引起中断均引起中断 RB80主从多机建立通信的过程如下主从多机建立通信的过程如下:事先所有的从机事先所有的从机SM2位置位置1,等待接收主机发来的地址。,等待接收主机发来的地址。主主机机发发出出一一帧帧地地址址信信息息,其其中中8位位是是需需要要与与之之通通信信的的从从机机地址,第地址,第9附加位为附加位为1。所所有有从从机机收收到到此此信信息息后后,均均引引起起中中断断,各各从从机机在在中中断断程程序序中中将将收收到到的的地地址址与与本本机机地地址址对对比比,地地址址相相符符的的从从机机置置SM2位位为为0,地址不符的从机保持,地址不符的从机保持SM2=1的状态不变。的状态不变。主主机机给给选选中中的的从从机机发发送送控控制制命命令令或或数数据据(数数据据帧帧的的第第九九位位为为0),此此时时只只有有被被选选中中的的从从机机能能通通过过中中断断与与主主机机建建立立联联系系,未选中的从机不引起中断。未选中的从机不引起中断。主主机机若若需需和和另另外外从从机机建建立立联联系系时时,再再次次发发地地址址帧帧信信息息(第第9附附加加位位为为1),所所有有从从机机均均引引起起中中断断,按按上上述述过过程程将将选选中中新新的从机建立联系。的从机建立联系。6.3 串行口应用举例串行口应用举例6.3.1 工作方式工作方式0的应用的应用 串串行行口口工工作作方方式式0主主要要用用于于扩扩展展并并行行I/O口口,扩扩展展成成并并行行输输出出口口时时,需需要要外外接接一一片片8位位串串行行输输入入并并行行输输出出的的同同步步移移位位寄寄存存器器74HC164或或CD4094。扩扩展展成成并并行行输输入入口口时时,需需要要外外接接一一片片或或几几片片并并行行输输入入串串行行输输出出的的同同步步移移位位寄寄存存器器74HC165或或CD4014。数数据据的的串串行行输输出出或或输输入入可可采采用用中中断断方方式式,也也可可采采用用查查询询标标志志位位TI、RI的的方方法法,在在移移位初始化时,要进行相应的设置。位初始化时,要进行相应的设置。7/17/2024296.3.2 工作方式工作方式1的应用的应用 串串行行方方式式1主主要要用用于于异异步步双双机机通通信信,波波特率由定时器特率由定时器T1产生。产生。串行口信号发送流程串行口信号发送流程:设置波特率设置波特率置串口方式(置串口方式(SCON)清中断标志清中断标志TI发送数据送发送数据送SBUF等待等待TI为为1(查询方式或中断方式)(查询方式或中断方式)清清TI,重复发送数据重复发送数据常用波特率及误差晶振频率晶振频率/MHz波特率波特率/HzSMODTH1初值初值实际波特率实际波特率误差误差12.0096001F9H8923712.0048000F9H4460712.0024000F3H24040.1612.0012000E6H12020.1611.059219 2001FDH19 200011.059296000FDH9600011.059248000EAH4800011.059224000F4H2400011.059212000E8H12000 例例:利利用用串串行行口口方方式式1实实现现一一个个数数据据块块的的传传送送,数数据据块块存存在在内内部部RAM的的60H6FH中中,波波特特率率选选为为2400,并并形形成成和和校校验数据一起发送。验数据一起发送。串串行行口口工工作作为为方方式式1,且且处处于于发发送送的的单单工工模模式式,则则SCON控控制制字字为为40H。方方式式1的的波波特特率率由由T1产产生生,设设T1工工作作于于方方式式2自自动动重重装装初初值值模模式式,晶晶振振频频率率为为11.0592 MHz时时,计计数数初初值值为为F4H。用用于于和和校校验验的的算算术术和和存存放放在在70H中,并在数据块的末尾传送出去。中,并在数据块的末尾传送出去。通通过过上上面面的的分分析析,采采用用查查询询法法传传送送数数据据块块的子程序如下:的子程序如下:MOV TMOD,#20H ;设设置置T1为为工工作作方式方式2 MOV TL1,#0F4H ;给;给T1送初值送初值 MOV TH1,#0F4H SETB TR1 MOV SCON,#40H;设设置置串串行行口口为为工工作方式作方式1 MOV R0,#60H;数据块首址送数据块首址送R0 MOV R1,#10H;数据块长度送数据块长度送R1 MOV 70H,#00H DWFP:MOV A,R0 MOV SBUF,A;发送数据发送数据 ADD A,70H;对和校验求和对和校验求和 MOV 70H,A JNB TI,$;未发送完等待未发送完等待 CLR TI INC R0 DJNZ R1,DWFP MOV A,70H MOVSBUF,A;发送和校验发送和校验 JNB TI,$CLRTI RET6.3.3 工作方式工作方式2与工作方式与工作方式3的应用的应用 方方式式2和和方方式式3都都是是11位位异异步步通通信信方方式式,所所不不同同处处仅仅在在于于波波特特率率。方方式式2的的波波特特率率只只有有固固定定的的两种,而方式两种,而方式3的波特率则可由用户设定。的波特率则可由用户设定。例例 利利用用串串行行口口方方式式2编编制制一一发发送送程程序序,将将片片内内RAM中中60H6FH单单元元的的数数据据串串行行发发送送出出去去,第九数据位第九数据位TB8作奇偶校验位。作奇偶校验位。根根据据要要求求,将将串串行行口口设设置置为为方方式式2、单单工工发发送送,则则SCON控控制制字字为为80H。波波特特率率选选为为fosc/64。采用中断方式发送的主程序和中断程序如下:采用中断方式发送的主程序和中断程序如下:ORG 0000H AJMP ZCX1 ;转主程序转主程序 NOP 0RG 0023H ;串行中断程序串行中断程序 INC R0 ;被发送数据地址增被发送数据地址增1 MOV A,R0 ;取出待发数据取出待发数据 MOV C,PSW.0 ;将奇偶位送将奇偶位送TB8 MOV TB8,C MOV SBUF,A ;发送数据发送数据 DJNZ R1,CSJS ;判断是否发送完判断是否发送完 CLR ES ;发送完关中断发送完关中断CSJS:CLR TI ;清中断标志清中断标志 RETI NOPORG 0100H ;主程序主程序ZCX1:MOV SP,#20H ;置堆栈指针置堆栈指针 MOV SCON,#80H ;串串行行口口设设置置为方式为方式2 MOV PCON,#00H ;波波特特率率选选为为fosc/64 MOV R0,#60H ;数据块首址送;数据块首址送R0 MOV R1,#0FH ;数数据据块块长长度度送送R1 SETB EA ;开总中断开总中断 SETB ES ;开串行口中断开串行口中断 MOV A,R0 ;取取出出待待发发数数据据 MOV C,P ;将奇偶位送将奇偶位送TB8 MOV TB8,C MOV SBUF,A ;发送数据发送数据 SJMP$;等待中断等待中断 串行口信号接收流程串行口信号接收流程:设置波特率设置波特率置串口方式(置串口方式(SCON)置置REN1,清中断标志清中断标志RI等待等待RI为为1(查询方式或中断方式)(查询方式或中断方式)从从SBUF取数据取数据清清RI,重复接收数据重复接收数据 例例:试试编编制制串串行行口口在在方方式式3下下接接收收数数据据块块的的程程序序。设设单单片片机机晶晶振振为为11.0592 MHZ,波波特特率率为为2400 b/s,接接收收数数据据存存在在片片内内RAM的的40H起起始始单单元元的的一一段段区区间间内内,数数据据块块长长度度由由发发送送方方先先发发送送过过来来(不不超超过过允允许许值值),每每接接收收一一个个数数据据都都核核对对其其奇奇偶偶校校验验位位,正确存储数据,否则给出出错标志。正确存储数据,否则给出出错标志。根根 据据 要要 求求,设设 T1工工 作作 于于 方方 式式 2,当当SMOD=0时时,T1计计数数初初值值为为F4H。采采用用查查询法编制的程序如下:询法编制的程序如下:START:MOV TMOD,#20H ;置置T1工作于方式工作于方式2 MOV TH1,#0F4H ;置;置T1计数初值计数初值 MOV TL1,#0F4H SETB TR1 ;启动启动T1 MOV SCON,#0D0H ;置置串串行行口工作于方式口工作于方式3允许接收允许接收 MOV PCON,#00H ;设设SMOD=0 MOV R0,#40H ;接收数据区首址送接收数据区首址送R0 JNB RI,$;等待接收数据块长度字节;等待接收数据块长度字节 CLR RI ;接收后清接收后清RI MOV A,SBUF;将将数数据据块块长长度度读读入入后后存入存入R1中中 MOV R1,A OR0:JNB RI,$;等待接收数据等待接收数据 CLR RI ;接收一个字符后清接收一个字符后清RI MOV A,SBUF ;将接收字符读入;将接收字符读入A JB P,OR1 ;进行奇偶位校验;进行奇偶位校验 JB RB8,OR3 SJMP OR2 OR1:JNB RB8,OR3 OR2:MOV R0,A;校校验验正正确确存存接收数据接收数据 INC R0 ;存储单元地址增存储单元地址增1 CLR F0 ;设置正确的标志设置正确的标志 DJNZ R1,OR0 ;没接收完继续接收没接收完继续接收 SJMP$;接收完停机接收完停机OR3:SETB F0 ;置校验出错标志置校验出错标志 SJMP$;停机停机本章到此结束
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 管理文书 > 施工组织


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


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