第6章80C51单片机串行口_第1页
第6章80C51单片机串行口_第2页
第6章80C51单片机串行口_第3页
第6章80C51单片机串行口_第4页
第6章80C51单片机串行口_第5页
已阅读5页,还剩50页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第6章80C51单片机的串行口串行通信基础6.180C51串行口6.280C51串行口应用6.32023/4/1516.1计算机串行通信基础通信:并行通信与串行通信

并行通信特点:传送控制简单、速度快,但传输线较多,成本高。2023/4/152

串行通信特点:传送控制复杂、速度慢,传输线少,成本低2023/4/153异步通信与同步通信收、发设备时钟独立,以字符(帧)为单位传输

6.1.1串行通信的基本概念异步通信(RS-232C)

2023/4/154

异步通信帧格式起始位(1位);数据位(8位);奇偶校验位(1位,可无校验位);停止位(1位)。

特点易于实现效率不高2023/4/155SPI(SerialPeripheralInterface--串行外设接口)是一种同步串行外设接口,为全双工通信,数据传输速度可达几Mbps。SPI接口以主从方式工作,一般包括以下信号:(1)MOSI–主器件数据输出,从器件数据输入(2)MISO–主器件数据输入,从器件数据输出(3)SCLK–时钟信号,由主器件产生(4)/SS–从器件使能信号,由主器件控制SPI接口传输的数据为8位,在/SS和SCLK作用下,按位传输,高位在前,低位在后。SPI接口的一个缺点:没有应答机制。同步通信(发、收时钟直接连接,效率高。板内元件间的SPI接口)

2023/4/156接口内部硬件连接图2023/4/157通讯时序图2023/4/158串行通信的传输方向单工

半双工

全双工80C51有1个全双工串行口

2023/4/159信号的调制与解调DTE:数据终端设备DCE:数据通信设备调制解调器调制:数字→模拟解调:模拟→数字音频模拟信号二进制数据2023/4/1510串行通信的错误校验奇偶校验

发送字符时,数据位尾随1位奇偶校验位(1或0)。奇校验时,数据中“1”的个数与校验位“1”的个数之和应为奇数;偶校验时,数据中“1”的个数与校验位“1”的个数之和应为偶数。接收字符时,对“1”的个数进行校验,若发现不一致,则说明传输数据过程中出现了差错。

2023/4/1511代码和校验

发送方将所发数据块求和(或各字节异或),产生的校验和字节附加到数据块的末尾。接收方在接收数据时要对数据块(除校验字节外)求和(或各字节异或),将所得的结果与收到的“校验和”进行比较,相符则无差错,否则就认为传送过程出现了差错。2023/4/1512传输速率与传输距离传输速率比特率:每秒钟传送的信息量。单位:位/秒(bps)波特率:每秒钟传送码元数目,单位:波特(Baud)

基带传输(每个码元带有“1”或“0”这1bit信息),波特率和比特率是相同的。常用波特率为:2400、4800、9600、14.4K、19.2K等传输距离与传输速率的关系传输距离随波特率的增加而减小。不同的调制方法可以在一个码元上负载多个比特信息2023/4/15136.1.2串行通信接口标准RS-232C定义的是DTE与DCE间的接口标准。机械特性DB-25(阳头)连接器DB-9(阳头)连接器阳头通常用于计算机侧,阴头用于连接线侧2023/4/1514功能特性插针序号信号名称功能信号方向1

PGND保护接地

2(3)TXD发送数据(串行输出)DTE→DCE

3(2)RXD接收数据(串行输入)DTE←DCE

4(7)RTS请求发送DTE→DCE

5(8)CTS允许发送DTE←DCE

6(6)DSRDCE就绪(数据建立就绪)DTE←DCE

7(5)

SGND信号接地

8(1)DCD载波检测DTE←DCE

20(4)DTRDTE就绪(数据终端准备就绪)DTE→DCE

22(9)RI振铃指示DTE←DCE2023/4/1515电气特性RS-232C采用负逻辑电平,规定(-3~-25V)为逻辑“1”,(+3~+25V)为逻辑“0”。-3V~+3V是未定义的过渡区。试比较:电平转换电路(如MAX232)。2023/4/1516过程特性远程通信,需要调制解调器2023/4/1517近程通信,不需要调制解调器无联络线方式联络线短接(伪连接)方式

4RTS请求发送

5CTS允许发送

6DSRDCE就绪(数据建立就绪)20DTRDTE就绪(数据终端准备就绪)2023/4/1518

RS-232C电平与TTL电平转换驱动电路早期常用MC1488、MC1489

近期常用MAXM232:

片内带有自升压电路仅需+5V电源内含2个发送器,2个接收器

2023/4/1519采用RS-232C接口存在的问题新标准RS-485改善了传输特性,应用广泛!

差分信号负逻辑,+2V~+6V表示1,-6V~-2V表示0采用两线制接线方式,同一总线上最多可以挂接32个结点通信速率在100Kpbs及以下时,最长传输距离可达1200米传输距离短、速率低。通常不超过15米,速率20Kbps有电平偏移抗干扰能力差不宜组网2023/4/15206.2

80C51单片机的串行口6.2.180C51串行口的结构1个全双工串口:通信或接口扩展接收发送缓冲器逻辑同名、物理分开;接收双缓冲。2023/4/15216.2.280C51串行口的控制寄存器串行口控制寄存器SCONSM0和SM1:工作方式选择位76543210SCONSM0SM1SM2RENTB8RB8TIRI字节地址:98HSM0SM1方式说明波特率000移位寄存器fosc/1201110位UART(8位数据)可变10211位UART(9位数据)fosc/64或fosc/3211311位UART(9位数据)可变通用异步接收/发送装置通用异步接收/发送装置2023/4/1522电源控制寄存器PCONSMOD:波特率倍增位。在串行口方式1、方式2、方式3时,波特率与SMOD有关,当SMOD=1时,波特率提高一倍。复位时,SMOD=0。

76543210PCONSMOD字节地址:97H2023/4/1523SM2:多机通信控制位SM2=1时,接收机处于地址帧筛选状态。若RB8=1,该地址帧信息可进入SBUF,并使RI为1,进而在中断服务中再进行地址号比较;若RB8=0,该帧不是地址帧,应丢掉,且保持RI=0。SM2=0时,接收机处于地址帧筛选被禁止状态。不论收到的RB8为0或1,均可以使收到的信息进入SBUF,并使RI=1。此时的RB8通常为校验位。REN:串行接收使能位,软件置1时,启动接收过程2023/4/1524TB8:多机方式发送的第9位多机方式的地址/数据帧标志。也可作为奇偶校验位。

RB8:多机方式接收的第9位多机方式的地址/数据帧标志。也可作为奇偶校验位。

TI:发送中断标志位,要由软件清0RI:接收中断标志位,要由软件清02023/4/15256.2.380C51串行口的工作方式方式0:同步移位寄存器,用于扩展并行口RXD:输入或输出引脚TXD:移位脉冲输出接收和发送方式都是8位波特率固定为:fosc/122023/4/1526数据输出:CLR用于对74LS164清02023/4/152774LS1642023/4/1528数据输入:S/L负脉冲将并行数据装入,高电平时启动单片机进行数据输入。2023/4/152974LS1652023/4/1530*方式0应用举例1设计要求:数码块循环显示00~99显示缓冲区:31H,30H单元2023/4/1531MAIN:MOV30H,#00HMOV31H,#00HL0:SETBP1.0INC30HMOVA,30HCJNEA,#0AH,AAMOV30H,#00HINC31HMOVA,31HCJNEA,#0AH,AAMOV30H,#00HMOV31H,#00HAA:MOVSCON,#00HMOVR7,#02HMOVR0,#30HMOVDPTR,#TABLOOP:MOVA,@R0MOVCA,@A+DPTRMOVSBUF,AWAIT:JNBTI,WAITCLRTIINCR0DJNZR7,LOOPMOVR2,#30HLCALLDELYACLRP1.0SJMPL0TAB:DB3FH,06H,5BH,04FH,66HDB6DH,7DH,07H,7FH,6FH可省显示的位数2023/4/1532方式0应用举例2读入10个数据,存放到(50H)开始的10个存储单元MAIN:MOVR7,#10MOVR0,#50HMOV40H,#00HSTART:INC40HMOVP1,40HCLRP3.2SETBP3.2RXDATA:MOVSCON,#10HWAIT:JNBRI,WAITCLRRIMOVA,SBUFMOV@R0,AINCR0

DJNZR7,STARTSJMP$REN=1传送字节数据个数传送数据2023/4/1533方式0应用举例2(扩展)数码块JLEDJS240dp…aP0P2.0要求:读入10个数据,存放到(50H)开始的10个存储单元,同时用数码块显示串行接收的数据2023/4/1534MAIN:MOVR7,#10

MOVR0,#50H

MOV40H,#00HSTART:INC40HMOVP1,40H

CLRP3.2SETBP3.2RXDATA:MOVSCON,#10HWAIT:JNBRI,WAIT

CLRRI

MOVA,SBUF

MOV@R0,A

INCR0LCALLDISPLAY

DJNZR7,START

SJMPMAINDISPLAY:MOVP2,#0FEHLOOP:MOVDPTR,#1000HMOVCA,@A+DPTRMOVP0,ALCALLDELAYRETDELAY:MOVR4,#0FHD1:MOVR6,#00HD2:MOVR5,#00HDJNZR5,$DJNZR6,D2DJNZR4,D1RETORG1000HDB0C0H,0F9H,0A4H,0B0H,99HDB92H,82H,0F8H,80H,90H显示数据2023/4/1535方式1:10位帧,用于双机通信起始位:1位数据位:8位停止位:1位2023/4/1536串行发送:(写SBUF启动发送过程)串行接收:(置REN=1启动接收过程)

采样频率是接收时钟的16倍。连续8次采样到RXD为L→起始位;之后对第7、8、9脉冲采样到的数据以三中取二的原则,确定采样数据。2023/4/1537方式1应用举例方式1波特率=(2SMOD/32)*(T1溢出率)

T1溢出率=fosc/{12×[256-(TH1)]}晶振11MHz4800波特2023/4/15382023/4/1539方式2和方式3:11位帧,用于多机通信起始位:1位数据位:9位停止位:1位2023/4/1540串行发送:(写SBUF启动发送过程)串行接收:(置REN=1启动接收过程)

2023/4/1541方式2应用举例方式2波特率=(2SMOD/64)*

fosc2023/4/15422023/4/1543方式3应用举例累加和2023/4/15442023/4/15456.2.480C51波特率确定与初始化步骤波特率的确定波特率的计算固定波特率:

方式0波特率=fosc/12

方式2波特率=(2SMOD/64)*

fosc可变波特率:方式1波特率=(2SMOD/32)*(T1溢出率)

方式3波特率=(2SMOD/32)*(T1溢出率)

T1溢出率=fosc/{12×[256-(TH1)]}2023/4/1546波特率的选择波特率要选择标称值,由于TH1的初值是整数,为了减小波特率计算误差,晶振频率要选为11.0592MHz。方式1和方式3波特率与TH1初值的对应关系:波特率/(b/s)19.2k9600480024001200TH1初值FDHFDHFAHF4HE8HSMOD100002023/4/1547串行口初

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论