串行口技术应用

上传人:子 文档编号:51643068 上传时间:2018-08-15 格式:PPT 页数:23 大小:417.50KB
返回 下载 相关 举报
串行口技术应用_第1页
第1页 / 共23页
串行口技术应用_第2页
第2页 / 共23页
串行口技术应用_第3页
第3页 / 共23页
串行口技术应用_第4页
第4页 / 共23页
串行口技术应用_第5页
第5页 / 共23页
点击查看更多>>
资源描述

《串行口技术应用》由会员分享,可在线阅读,更多相关《串行口技术应用(23页珍藏版)》请在金锄头文库上搜索。

1、基本概念 RS-232接口 MCS-51的串行接口 单片机与单片机之间的通信 单片机与PC机之间的通信串 行 口 技 术 应 用本章内容什么是串行通信?vv串行通信和并行通信串行通信和并行通信计算机1GND计算机2GND并行通信计算机1GND计算机2GND发送接收串行通信并行通信,即数据的各位并行通信,即数据的各位同时同时传送;传送;串行通信,即数据串行通信,即数据一位一位一位一位顺序传送。顺序传送。串行通信的分类:串行通信的分类:异步异步(Asynchronous Communication)(Asynchronous Communication)同步同步(Synchronous Commu

2、nication)(Synchronous Communication)串行通信制式:串行通信制式:单工单工( (a)a)、半双工半双工( (b)b)和和全双工全双工( (c)c)(simplex half duplex full (simplex half duplex full duplex)duplex)发送器A站接收器B站单工通信(a)发收 A站发收 B站发收 A站发收 A站(b)(c)MCS-51的串行接口vv概述概述有一个可编程全双工串行通信接口(有一个可编程全双工串行通信接口(UART) UART) (Universal (Universal AsychronousAsychro

3、nous Receiver/Transmitter Receiver/Transmitter ) )可同时发送、接收数据可同时发送、接收数据( (Transmit/Receive)Transmit/Receive)有四种工作方式,帧格式有有四种工作方式,帧格式有8 8、1010、1111位。位。波特率波特率(Baud rate)(Baud rate)可设置可设置波特率为每秒钟传送二进制数码的位数,也叫比 特数,单位为b/s,即位/秒。MCS-51串行接口的结构MCS-51串行接口寄存器SBUFSBUF串行口数据缓冲器串行口数据缓冲器vv共两个:一个发送寄存器共两个:一个发送寄存器SBUFSBU

4、F,一个接收,一个接收SBUFSBUF,二者二者 共用一个地址共用一个地址9999H H。SCONSCON串行口控制寄存器。串行口控制寄存器。PCONPCON电源及波特率选择寄存器,格式如下:电源及波特率选择寄存器,格式如下:控制寄存器SCONSM0SM1SM2RENTB8RB8TIRI工作方式选择多机通信控制位允许串行接收位接收数据的第9位发送数据的第9位接收中断标志发送中断标志9FH9EH9DH9CH9BH9AH99H98HSM0 SM1工作方式功能波特率0 0方式08位同步移位寄存器fosc/120 1方式110位UART可变1 0方式211位UARTfosc/64或 fosc/321

5、1方式311位UART可变串行方式的定义例:设串行口工作在方式例:设串行口工作在方式1 1,允许接收,则指令为:,允许接收,则指令为:MOV SCON,#01010000BMOV SCON,#01010000B只有该位有用,为只有该位有用,为1 1时,波特率时,波特率22;为;为0 0时不变。时不变。电源及波特率选择寄存器PCONSMOD GF1 GF0PDIDL87H串行口的四种工作方式vv方式的选择由方式的选择由SM1SM1、SM0SM0实现。实现。vv四种方式的比较:四种方式的比较:工作方式功能说明波特率方式08位同步移位 寄存器常用于扩展 I/O口fosc/12方式110位UART8位

6、数据、起始 位、结束位可变(取决于定 时器1溢出率) 方式211位UART8位数据、起始 位0、结束位1 和奇偶校验位fosc/64或 fosc/32方式311位UART8位数据、起始 位、结束位可变(取决于定 时器1溢出率)波特率的设定可参 见表8.2,实际无 需计算。方式0在方式在方式0 0下,串行口作同步移位寄存器用,其波特率固下,串行口作同步移位寄存器用,其波特率固 定为定为f foscosc/12/12。串行数据从串行数据从RXD(P3.0)RXD(P3.0)端输入或输出,同步移端输入或输出,同步移 位脉冲由位脉冲由TXD(P3.1)TXD(P3.1)送出。这种方式常用于扩展送出。这

7、种方式常用于扩展I/OI/O口。口。方式0用于扩展I/O口输出方式0用于扩展I/O口输入方式110位的帧格式串行口为波特率可调的10位通用异步接口UART。发送或 接收一帧信息,包括1位起始位0,8位数据位和1位停止位1。方式2串行口为串行口为1111位位UARTUART,传送波特率与传送波特率与SMODSMOD有关。发送或接有关。发送或接 收一帧数据包括收一帧数据包括1 1位起始位位起始位0 0,8 8位数据位,位数据位,1 1位可编程位位可编程位( (用于用于 奇偶校验奇偶校验) )和和1 1位停止位位停止位1 1。11位的帧格式方式3方式方式3 3为波特率可变的为波特率可变的1111位位

8、UARTUART通信方式,除了波通信方式,除了波 特率以外,方式特率以外,方式3 3和方式和方式2 2完全相同。完全相同。MCS-51串行口的波特率1.1.方式方式0 0和方式和方式2 2的波特率是固定的的波特率是固定的 在方式2中,波特率取决于PCON中的SMOD值:当SMOD=0时,波特率为fosc/64;当SMOD=1时,波特率为fosc/32.即波特率 = 。oscSMOD f642 在方式0中,波特率为时钟频率的1/12,即fosc/12,固定不变2. 2. 方式方式1 1和方式和方式3 3的波特率可变,由定时器的波特率可变,由定时器1 1的溢出率决定的溢出率决定波特率/(b/s)f

9、osc/MHzSMOD定时器1C/模式初始值方式0:1 方式2:375 k 方式1、3:62.5 k 19.2 k 9.6 k 4.8 k 2.4 k 1.2 k 137.5 k 110 11012 12 12 11.059 11.059 11.059 11.059 11.059 11.986 6 12 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 2 2 2 2 2 2 1 FFH FDH FDH FAH F4H E8H 1DH 72H FEEBHT单片机之间的通信双机异步通信接口电路RS-422ARS-422A双机异步通信接口电路双机异步通信接口电路双

10、机通信软件编程查询方式1) 甲机发送编程将甲机片外1000H101FH单元的数据块从串行口输出。定义方式2发送,TB8为奇偶校验位。发送波特率375 kb/s,晶振为12 MHz, 所以SMOD=1。参考发送子程序如下:参考发送子程序如下:MOV MOV SCONSCON,#80H #80H ;设置串行口为方式设置串行口为方式2 2MOV MOV PCONPCON,#80H #80H ;SMOD=1SMOD=1MOV MOV DPTRDPTR,#1000H #1000H ;设数据块指针设数据块指针MOV MOV R7R7,#20H #20H ;设数据块长度设数据块长度START START:

11、MOVX A MOVX A,DPTR DPTR ;取数据给取数据给A A MOV MOV C,P C,P MOV MOV TB8,C TB8,C ;奇偶位奇偶位P P送给送给TB8TB8MOV MOV SBUF,A SBUF,A ;数据送数据送SBUFSBUF,启动发送启动发送WAIT: JBC TI,CONT WAIT: JBC TI,CONT ;判断一帧是否发送完。若送完,清判断一帧是否发送完。若送完,清TITI,取下一个数据取下一个数据AJMP WAIT AJMP WAIT ;未完等待未完等待CONTCONT: INC DPTR INC DPTR ;更新数据单元更新数据单元DJNZ R7

12、,START DJNZ R7,START ;循环发送至结束循环发送至结束 RET RET 2) 乙机接收编程使乙机接收甲机发送过来的数据块,并存入片内50H 6FH单元。接收过程要求判断RB8,若出错置F0标志为1,正确 则置F0标志为0,然后返回。在进行双机通信时,两机应采用相同的工作方式和波特率。参考接收子程序如下:参考接收子程序如下:MOV SCONMOV SCON,#80H #80H ;设置串行口为方式设置串行口为方式2 2MOV PCONMOV PCON,#80H #80H ;SMOD=1SMOD=1 MOV R0MOV R0,#50H #50H ;设置数据块指针设置数据块指针 MO

13、V R7MOV R7,#20H #20H ;设置数据块长度设置数据块长度 SETB REN SETB REN ;启动接收启动接收 WAITWAIT:JBC RIJBC RI,READ READ ;判断是否接收完一帧。若完,清判断是否接收完一帧。若完,清RIRI,读入数据读入数据 AJMP WAIT AJMP WAIT ;未完等待未完等待 READREAD:MOV AMOV A,SBUF SBUF ;读入一帧数据读入一帧数据a a JNB PSW.0,PZ JNB PSW.0,PZ ;奇偶位为奇偶位为0 0则转则转 JNB RB8, ERR JNB RB8, ERR ;P=1P=1,RB8=0RB8=0,则出错则出

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

当前位置:首页 > 生活休闲 > 科普知识

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号