




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
单片机应用技术(第2版)项目5项目4项目3项目2项目1C语言基础知识单片机开发软件及硬件系统的认识中断系统与定时/计数器的应用显示器与键盘接口技术的应用串行接口技术的应用目录项目7项目6A/D与D/A转换技术的应用单片机综合实践项目5串行接口技术的应用项目导读在项目2中介绍51系列单片机的内部结构时,我们已经知道在单片机内有一个可编程、全双工的串行接口,它是单片机与外界进行信息交换的工具,能够轻松完成单片机与其他设备之间的远距离通信。本项目将介绍串行通信的相关知识,串行接口的结构、原理及其应用,使学生能够掌握串行接口的工作原理并能根据功能需求编写程序。知识目标 了解串行通信的基本知识 掌握串行接口的结构及工作过程 掌握串行接口的工作方式 熟悉RS-232C串行通信协议 掌握串行通信的发送与接收方式 掌握串行接口的扩展方法达成目标达成目标技能目标能根据需要,编写程序,完成单片机与计算机之间的通信能根据需要,对串行接口进行扩展素质目标养成精益求精、科学严谨、追求卓越的工匠精神养成脚踏实地、求真务实、团结协作的工作作风加强实践练习,注重学思结合、知行统一,增强勇于探索的创新精神项目导航设计动态口令获取系统——串行接口技术的应用任务5.1设计远程报警器——串行通信标准的应用任务5.2C设计动态口令获取系统
——串行接口技术的应用
011211101101011011010010011001101010100100110110100101100101110110101001101110101010101011010100110100105.15.1任务工单扫一扫查看任务工单任务描述动态口令是根据专门的算法生成一个不可预测的随机数字组合,每个口令只能使用一次。随着移动互联网的发展,动态口令技术已成为身份认证技术的主流,被广泛应用于金融、网游、电信运营、电子商务等领域。请设计一个动态口令获取系统,以提高身份认证的安全性。任务实施1.整体设计思想
2.硬件设计3.软件设计4.仿真调试详细内容扫码观看5.1.1串行通信的基本知识数据的各位在多根数据线上同时传送,如图所示。1)串行通信并行通信2)通信是指不同系统之间的信息交换。通信有两种不同的方式,即串行通信和并行通信。bit变量名=变量值;数据的各位在一根数据线上按顺序一位一位地传送,如图所示。5.1.1串行通信的基本知识串行通信与并行通信的比较如表所示。下面主要介绍串行通信的相关知识。项目串行通信并行通信数据传送特点一位一位按顺序传送各位同时传送传输速度慢快传输线少多成本低高适用场合
支持远距离传送,如计算机与远程终端之间或终端与终端之间通常采用串行通信
不支持远距离传送,主要用于近距离传送,如CPU与内部寄存器及接口之间常采用并行通信5.1.1串行通信的基本知识异步通信方式是一种不连续传送数据的方式。数据通常是以字符为单位组成字符帧进行传送的,字符帧由发送端一帧一帧地发送,通过传输线由接收端一帧一帧地接收。发送端和接收端由各自的时钟来控制数据的发送和接收,这两个时钟彼此独立,可以不同步。1.串行通信方式串行通信方式有异步通信方式和同步通信方式两种。1)异步通信方式5.1.1串行通信的基本知识在异步通信方式中,接收端是靠字符帧的格式来判断发送端是何时开始及何时结束发送数据的。字符帧也称数据帧,由起始位、数据位、奇偶校验位和停止位等组成,其格式如图所示。5.1.1串行通信的基本知识起始位:位于字符帧首位,只占1位,为低电平,用于向接收端表示发送端开始发送一帧字符。数据位:位于起始位后面,一般为5~8位。数据位在传送时,低位在前,高位在后。奇偶校验位:位于数据位后面,只占1位,用于表示串行通信采用的是奇校验还是偶校验。停止位:位于字符帧末位,一般为1~2位,为高电平,用于向接收端表示一帧字符已发送完毕。5.1.1串行通信的基本知识经验传承在串行通信中,停止位之后紧接着可以是下一帧字符的起始位,也可以是若干个空闲位(高电平),可由用户根据需要决定。5.1.1串行通信的基本知识异步通信中额外的附加位(如起始位、停止位等)较多,因此,数据传输速度较慢,但是对硬件的要求较低,实现起来比较容易,是单片机中常用的数据传送方式。5.1.1串行通信的基本知识2)同步通信方式同步通信方式是一种连续传送数据的方式。数据通常是以多个字符组成的数据块为单位进行传送的。同步通信时,接收端和发送端必须先建立同步(即双方的时钟要调整到同一个频率),然后才能进行数据的传输。在同步通信方式中,接收端是靠数据的格式来接收数据的。数据由同步字符、数据字符和校验字符等组成,其格式如图所示。5.1.1串行通信的基本知识同步字符:位于数据块之前,为1~2个字符,用于确认数据字符的开始。接收端接收到同步字符后,便确认有效数据字符的传送开始。数据字符:位于同步字符之后,个数不受限制,由需要传输的数据块的长度决定。校验字符:位于数据块之后,为1~2个字符,用于校验接收端接收到的数据字符的正确性。5.1.1串行通信的基本知识同步通信数据传输速度较快,但是要求发送时钟和接收时钟保持严格同步,对硬件的要求较高,适合于需要传送大量数据的场合。5.1.1串行通信的基本知识2.串行通信制式串行通信按照数据传送的方向可分为单工、半双工和全双工三种制式,如图所示。单工通信半双工通信全双工通信5.1.1串行通信的基本知识单工制式:数据只能单向传送。通信双方只具有发送数据或接收数据一种功能,若一方为发送端,则另一方只能是接收端,它们形成单向连接,只允许数据按照一个固定的方向传送。半双工制式:数据可以双向传送。通信双方均具有发送数据和接收数据两种功能,但发送和接收不能同时进行。通信时,数据只能在一个方向上传送。全双工制式:数据可以双向传送。通信双方均具有发送数据和接收数据两种功能,而且通信时,数据能够同时在两个方向上传送。5.1.1串行通信的基本知识3.波特率波特率定义为每秒传送二进制数的位数,单位为bit/s(或bps),即位/秒。波特率用于表示数据传输的速度,波特率越高,数据传输的速度越快。假设数据传输速度为100字符/秒,而每个字符包括10个代码位(1个起始位、1个奇偶校验位、1个停止位、7个数据位),则波特率为100字符/秒×10位/字符=1000位/秒5.1.251系列单片机的串行接口1.串行接口的结构及工作过程1)串行接口的结构51系列单片机串行接口是一个可编程的全双工串行接口,能同时进行数据的发送和接收,也能作为同步移位寄存器使用。51系列单片机串行接口主要由输入移位寄存器、串行接口数据缓冲器(SBUF)、串行接口控制寄存器(SCON)和波特率发生器构成,并通过外部引脚串行通信数据发送端TXD(P3.1)、串行通信数据接收端RXD(P3.0)与外界通信。串行接口的结构如图所示。5.1.251系列单片机的串行接口串行接口的结构5.1.1串行通信的基本知识输入移位寄存器:用于将外部设备输入的串行数据转换为并行数据。串行接口数据缓冲器(SBUF):是一个8位寄存器,字节地址为99H,用于存放将要发送和接收到的数据。SBUF包括发送SBUF和接收SBUF,它们共用逻辑地址99H,但实际上它们有相互独立的物理空间。CPU对发送SBUF只能写入不能读出,对接收SBUF只能读出不能写入。串行接口控制寄存器(SCON):是一个8位寄存器,字节地址为98H,用于控制和检测串行接口的工作状态。波特率发生器:由定时器T1构成,用于产生发送和接收数据所需要的移位脉冲。5.1.251系列单片机的串行接口CPU不停地检测引脚RXD上的信号,当信号中出现低电平时,在接收控制电路的控制下,按设定好的波特率,每来一次移位脉冲,读取外部设备发送的一位数据到输入移位寄存器。一帧数据传输结束后,数据被存入接收SBUF,同时向CPU发出中断请求,RI位置“1”;CPU响应中断后,开始接收下一帧数据。1) 串行接口发送数据的工作过程 串行接口接收数据的工作过程2)CPU通过内部总线将并行数据写入发送SBUF,在发送控制电路的控制下,按设定好的波特率,每来一次移位脉冲,通过引脚TXD向外输出一位数据。一帧数据发送结束后,向CPU发出中断请求,TI位置“1”;CPU响应中断后,开始准备发送下一帧数据。2)串行接口的工作过程串行接口的工作过程可分为发送数据和接收数据两个过程。5.1.251系列单片机的串行接口在串行通信中,加在数据字符开始和结束部分的起始位、停止位等是由硬件电路直接完成的。5.1.251系列单片机的串行接口2.串行接口的相关寄存器串行接口的相关寄存器有串行接口控制寄存器(SCON)、电源控制寄存器(PCON)等。5.1.251系列单片机的串行接口1)SCONSCON既可进行位寻址,也可进行字节寻址。SCON的位名称及位地址如表所示。SCOND7D6D5D4D3D2D1D0位名称SM0SM1SM2RENTB8RB8TIRI位地址9FH9EH9DH9CH9BH9AH99H98H
5.1.251系列单片机的串行接口SM0和SM1:串行接口的工作方式选择位。其控制的4种工作方式如表所示。SM0SM1工作方式功能波特率0008位同步移位寄存器fosc/1201110位UART可变10211位UARTfosc/64或fosc/3211311位UART可变注:UART是通用异步接收/发送器的英文缩写,fosc是晶体振荡器的频率。
5.1.251系列单片机的串行接口SM2:多机通信控制位。在工作方式0中,SM2=0。在工作方式1中,若SM2=1,则只有收到有效停止位时,RI才置“1”。在工作方式2和工作方式3中,处于接收状态时,若SM2=1且接收数据的第9位RB8=1,则RI置“1”;处于发送状态时,若SM2=0,则不论接收数据的第9位RB8为“0”还是“1”,TI、RI都以正常方式被激活。REN:串行接收允许控制位。当REN=1时,允许串行接口接收数据;当REN=0时,禁止串行接口接收数据。REN由软件进行置位或清“0”。
5.1.251系列单片机的串行接口TB8:发送数据的第9位。在工作方式2和工作方式3中,TB8是发送数据的第9位,可根据需要由软件置“1”或清“0”。TB8一般可作为奇偶校验位(单机通信)。在多机通信中,TB8可作为区别地址帧和数据帧的标志位,TB8=0时为数据帧,TB8=1时为地址帧。在工作方式0和工作方式1中,该位未使用。
5.1.251系列单片机的串行接口RB8:接收数据的第9位。在工作方式2和工作方式3中,RB8是接收数据的第9位,可作为奇偶校验位(单机通信)。在多机通信中,RB8可作为区别地址帧和数据帧的标志位,RB8=0时为数据帧,RB8=1时为地址帧。在工作方式1中,若SM2=1,则RB8用于存放接收到的停止位。在工作方式0中,该位未使用。TI和RI:发送中断请求标志位和接收中断请求标志位,这两位在项目3中已经介绍过,此处不再赘述。5.1.251系列单片机的串行接口2)PCONPCON是一个8位专用寄存器,主要是为CHMOS型单片机的电源控制而设置的,字节地址为87H,不可进行位寻址。PCON的位名称如表所示。PCOND7D6D5D4D3D2D1D0位名称SMOD———GF1GF0PDIDL
5.1.251系列单片机的串行接口其中,只有SMOD与串行通信有关,其他各位用于电源管理,此处不详细介绍。SMOD:串行接口波特率倍增位。在工作方式1、工作方式2和工作方式3中,若SMOD=1,则串行接口波特率增加一倍;若SMOD=0,则串行接口波特率不加倍。系统复位时,SMOD=0。5.1.251系列单片机的串行接口在HMOS型单片机中,PCON除了最高位SMOD外,其他位都是虚设的。5.1.251系列单片机的串行接口3.串行接口的工作方式DIGITALVIRTUAL51系列单片机串行接口有4种工作方式,分别是工作方式0、工作方式1、工作方式2和工作方式3。1)工作方式0在工作方式0下,串行接口为波特率固定的(波特率固定为fosc/12)8位同步移位寄存器。发送或接收的一帧数据由8位数据位组成,不设起始位和停止位,其一帧数据格式如图所示。5.1.251系列单片机的串行接口DIGITALVIRTUAL在工作方式0下,无论是发送数据还是接收数据,RXD引脚都连接串行数据线,TXD引脚都连接移位脉冲线。发送数据时,由TXD引脚送出移位脉冲,而由RXD引脚送出串行数据。接收数据时,由TXD引脚送出移位脉冲,而由RXD引脚接收串行数据。工作方式0主要用于外接移位寄存器来扩展I/O端口,或外接同步输入输出设备。5.1.251系列单片机的串行接口2)工作方式1发送数据时,CPU执行一条数据写入SBUF的指令,启动发送器发送数据,数据从TXD引脚输出。当发送完一帧数据后,TI置“1”。工作方式1所传送的波特率取决于定时器T1的溢出率和PCON中SMOD位的值。在工作方式1下,串行接口为波特率可调的10位异步通信串行接口。发送或接收的一帧数据包括1位起始位、8位数据位和1位停止位,其一帧数据格式如图所示。发送数据5.1.251系列单片机的串行接口当RI=0、REN=1时,允许串行接口接收数据,串行接口采样RXD引脚的状态。当采样到由1到0的跳变时,启动接收器接收数据。当检测到起始位有效时(起始位为0),开始接收一帧数据。当满足RI=0且停止位为1或SM2=0的条件时,接收数据进入SBUF,停止位进入RB8位,同时RI置“1”;否则接收数据丢失。接受数据5.1.251系列单片机的串行接口在工作方式1下接收数据时,应先用软件清除RI或SM2的值。5.1.251系列单片机的串行接口3)工作方式2发送数据时,先将TB8位由软件置“1”,然后将要发送的数据写入SBUF,启动发送器发送数据。写SBUF的指令,除了将8位数据送入SBUF外,同时还将TB8装入输出移位寄存器的第9位,并通知发送控制电路进行一次发送,一帧数据即从TXD引脚输出。一帧数据发送完毕后,CPU自动将TI置“1”,在发送下一帧数据之前,TI必须清“0”。在工作方式2下,串行接口为11位异步通信串行接口,波特率与SMOD位的值有关。发送或接收的一帧数据包括1位起始位、8位数据位、1位奇偶校验位和1位停止位,其一帧数据格式如图所示。发送数据5.1.251系列单片机的串行接口当REN=1时,允许串行接口接收数据。当串行接口采样到RXD引脚由1到0的跳变且检测到起始位有效时,启动接收器开始接收一帧数据。当接收器接收到第9位数据后,若同时满足以下两个条件:RI=0且SM2=0,或接收到的第9位数据为1,则接收数据有效,将8位数据送入SBUF,第9位送入RB8,并将RI置“1”。若不满足上述两个条件,则数据丢失。接受数据5.1.251系列单片机的串行接口DIGITALVIRTUAL4)工作方式3在工作方式3下,串行接口为波特率可变的11位异步通信串行接口。除了波特率不同以外,工作方式3和工作方式2完全相同。5.1.251系列单片机的串行接口在串行通信中,收发双方对发送或接收数据的波特率有一定的约定。51系列单片机的串行接口有4种工作方式,其中,工作方式0和工作方式2的波特率是固定的,工作方式1和工作方式3的波特率是可变的。下面进行具体介绍。4.串行接口的波特率设定5.1.251系列单片机的串行接口1)工作方式0的波特率设定在工作方式0下,波特率固定为fosc的1/12,与PCON中SMOD位的值无关。其计算公式为2)工作方式2的波特率设定在工作方式2下,波特率与PCON中SMOD位的值有关。当SMOD=0时,波特率为fosc的1/64;当SMOD=1时,波特率为fosc的1/32。其计算公式为5.1.251系列单片机的串行接口3)工作方式1或工作方式3的波特率设定在工作方式1或工作方式3下,波特率由定时器T1的溢出率与SMOD位的值共同决定。其计算公式为式中:T1溢出率——一次定时时间的倒数,即式中:M——定时器T1的工作方式所决定的计数器的位数;X——计数器初始值。于是5.1.251系列单片机的串行接口定时器T1用作波特率发生器时应禁止T1中断。5.1.251系列单片机的串行接口约定是行业制定的标准,是实际应用中要严格遵守的条约,更是科技创新路上不可忽视的重要存在。“科技是国之利器,国家赖之以强,企业赖之以赢,人民生活赖之以好。”今天,中国把科技创新摆在更加重要的位置,吹响建设世界科技强国的号角,是为梦想寻找引擎、为蓝图谋划线路。使命在肩,前程璀璨,中国科技创新的春天,路正宽,风正暖!5.1.251系列单片机的串行接口【例5-1】
设两机通信的波特率为2400bit/s,若fosc=6MHz,串行接口处于工作方式1,试计算定时器T1的初值X。【问题分析】
定时器T1作为波特率发生器使用时,通常将其工作方式设置为工作方式2,但要禁止T1中断,以免产生不必要的中断带来频率误差。5.1.251系列单片机的串行接口【解】
由串行接口工作方式1的波特率计算公式可得初值X为 X=-fosc
X=-当SMOD=0时,X≈250=FAH;当SMOD=1时,X≈243=F3H。表列出了一些常用波特率及其产生条件。串行接口的
工作方式波特率
(bit/s)fosc
(MHz)SMOD定时器T1工作方式初始值工作方式0100000012××××工作方式2375000121×××工作方式1
或工作方式3120011.0592002E8H240011.0592002F4H480011.0592002FAH960011.0592002FDH1920011.0592102FDH5.1.251系列单片机的串行接口知识链接设置串行接口波特率的步骤如下。(1)写TMOD,设置定时器T1的工作方式。(2)给TH1和TL1赋值,设置定时器T1的初值X。(3)置位TR1,启动定时器T1工作,即启动波特率发生器。例5-1中波特率的设置参考代码如下。TMOD=0x20; /*定时器T1工作在工作方式2下*/TL1=0xF3; /*设置初值,波特率为2400bit/s*/TH1=0xF3;TR1=1;5.1.3串行接口扩展技术当单片机本身的并行端口不能满足需要时,可以通过串行接口进行扩展。此时采用工作方式0,外接一个串行输入并行输出的移位寄存器,可以实现由串行到并行的转换。常用的移转换芯片有4094、74LS164等。另外,串行接口也可以外接并行输入串行输出的移位寄存器,来实现由并行到串行的转换,常用的转换芯片有4014、74LS165等。
笔段LCD液晶显示器
字符LCD液晶显示器5.1.3串行接口扩展技术1.串行接口扩展并行输出端口利用51系列单片机的串行接口扩展并行输出端口的接线图如图所示,图中的74LS164芯片为串行输入并行输出移位寄存器。当一帧数据写入SBUF时,串行接口将8位数据以fosc/12的波特率从RXD引脚输出(低位在前),同时由TXD引脚输出同步移位脉冲。一帧数据发送完毕后,硬件将TI置“1”,请求中断。在再次发送数据之前,必须用软件将TI清“0”。5.1.3串行接口扩展技术视野拓展74LS164芯片的引脚排列如图所示。各引脚功能如下。A、B:串行数据输入端。Q0~Q7:并行数据输出端。
:清“0”端,低电平有效。CLK:时钟脉冲输入端,上升沿有效。GND:接地端。VCC:接电源端。74LS164芯片5.1.3串行接口扩展技术【例5-2】利用74LS164芯片扩展串行接口,实现对8位信号灯的流水控制。串行接口控制8位信号灯的原理图如图所示。【问题分析】
单片机在工作方式0下,通过RXD引脚发送串行数据,串行数据的传送是否完成可通过TI的状态来判断。5.1.3串行接口扩展技术#include<reg51.h>unsignedchardat=0x01; /*定义发送数据*/voiddelay1(unsignedinti); /*延时函数声明*/main(){ unsignedchari; SCON=0x00; /*串行接口工作在工作方式0*/ while(1){ for(i=0;i<8;i++){ SBUF=~dat; /*传送8位数据*/ while(!TI); /*查询TI是否由0变为1*/【参考代码】5.1.3串行接口扩展技术
TI=0; /*软件使TI清“0”*/ dat<<=1; /*输出数据左移1位*/ delay1(12000); } }}voiddelay1(unsignedintt){ inti; for(i=0;i<t;i++);}5.1.3串行接口扩展技术利用51系列单片机的串行接口扩展并行输入端口的接线图如图所示,图中的74LS165芯片为并行输入串行输出移位寄存器。在满足REN=1和RI=0的条件下,串行接口从RXD引脚以fosc/12的波特率输入数据(低位在前),当接收完8位数据后,硬件将RI置“1”,请求中断。在再次接收数据之前,必须由软件将RI清“0”。2.串行接口扩展并行输入端口5.1.3串行接口扩展技术视野拓展74LS165芯片74LS165芯片的引脚排列如图所示。各引脚功能如下。SH/:移位/置数端,低电平有效。D0~D7:并行数据输入端。QH、
:串行数据输出端。CP、
:时钟脉冲输入端。GND:接地端。VCC:接电源端。5.1.3串行接口扩展技术【例5-2】并行转串行电路图如图所示,74LS165将指拨开关S1~S8的状态转换成串行数据,通过RXD引脚传输给单片机。编写程序实现如下功能:单片机将指拨开关的状态反映到P0所连接的LED上。5.1.3串行接口扩展技术【问题分析】
74LS165加载了S1~S8上的并行数据后,依照TXD引脚传来的移位脉冲,将数据一位一位地从RXD引脚传入单片机中。当SBUF数据填满后产生RI中断,然后将缓冲器SBUF中的数据通过P0输出。并行转串行程序设计流程如图所示。5.1.3串行接口扩展技术/**************************
并行转串行***************************/#include<reg52.h>sbitload=P3^1; /*声明P3^1位置*/main(){ SCON=0x11; /*串行接口工作在工作方式0,REN=1,RI=1*/ while(1) {【参考代码】5.1.3串行接口扩展技术 load=0; /*输出负脉冲,让74LS165加载数据*/ if(load==0); /*延长负脉冲宽度*/ if(load==0); /*延迟负脉冲宽度*/ load=1; /*恢复高电平*/ RI=0; /*清除RI*/ while(RI==0); /*等待RI输入中断*/ P0=SBUF; /*RI=1时(接收完成),输出至P0*/ }}课堂小结1串行通信的基本知识251系列单片机的串行接口3串行接口扩展技术C设计远程报警器
——串行通信标准的应用
011211101101011011010010011001101010100100110110100101100101110110101001101110101010101011010100110100105.25.2任务工单扫一扫查看任务工单任务描述近年来,入室盗窃现象屡有发生,传统的防盗装置通常是在传感器接收到异样的信息后发出警报声来通知户主。由于这种防盗装置当用户不在家时便听不到报警声,形同虚设,因此,人们希望有一套防盗系统能够远程将家中的情况准确快速地传递给自己。远程防盗系统隐蔽性强、安全性高,具有很强的使用价值。请设计一个远程报警器,并实现远程报警功能。任务实施详细内容扫码观看1.整体设计思想
2.硬件设计3.软件设计4.仿真调试5.2.1RS-232C串行通信协议RS-232C是由美国电子工业协会(EIA)制定的,是目前使用最多的一种异步串行通信总线标准。其中“RS”是recommendedstandard(推荐标准)的缩写,“232”是该标准的标识,“C”表示此标准已修改了三次。RS-232C定义了数据终端设备(DTE)和数据通信设备(DCE)之间的物理接口标准,采用标准接口后,能够方便地把单片机、外部设备以及测量仪器等有机地连接起来构成一个测控系统。例如,使用一根电话线进行通信,计算机和调制解调器(MODEM)之间的连线是根据RS-232C标准连接的,其连接方式及通信原理如图所示。5.2.1RS-232C串行通信协议1.RS-232C的电气标准RS-232C的电气标准采用负逻辑,电平值为−5~−15V的低电平表示逻辑“1”;电平值为+5~+15V的高电平表示逻辑“0”。由于TTL电路采用的是正逻辑,因此RS-232C不能直接与TTL电路连接,使用时必须加上适当的电平转换电路进行电平转换,否则将使TTL电路烧毁。目前较为常用的电平转换芯片有MAX232、MC1488和MC1489等。5.2.1RS-232C串行通信协议知识链接MAX232芯片是MAXIM公司推出的一款兼容RS-232C标准的芯片,其内部有一个电源电压变换器,可以将输入的+5V电压转换成RS-232C输出电平所需要的±12V电压。采用这种芯片的接口电路,只需要单一的+5V电源即可。MAX232芯片的引脚结构如图5-31所示。其中,引脚1~6用于电源电压转换;引脚7~10和引脚11~14构成两组TTL信号电平和RS-232C信号电平的转换电路,对应引脚可直接与单片机串行接口的TTL电平引脚和RS-232C电平引脚相连。MAX232芯片5.2.1RS-232C串行通信协议2.RS-232C引脚功能RS-232C标准接口采用的是25位引脚(针)串行接口,如图所示。大部分通信系统只用到其中的9个引脚,因此,实际工作中常采用9针串行接口,其原理图和实物图如图所示。另外,在一些简单的通信系统中,只使用发送数据、接收数据和地线3个引脚就可以完成数据通信。25针串行接口原理图9针串行接口原理图9针串行接口实物图5.2.1RS-232C串行通信协议RS-232C各位引脚的定义如表所示。RS-232C引脚信号可分为数据发送与接收和联络两部分,其中,RXD和TXD是数据发送与接收信号,用于DTE与DCE之间交换信息;其他信号属于联络信号,用于保证信息正确地传输。5.2.1RS-232C串行通信协议引脚定义(助记符)引脚定义(助记符)1保护地(PG)14辅助通道发送数据(STXD)2发送数据(TXD)15发送时钟(TXC)3接收数据(RXD)16辅助通道接收数据(SRXD)4请求发送(RTS)17接收时钟(RXC)5清除发送(CTS)18未定义6数据准备就绪(DSR)19辅助通道请求发送(SRTS)7地线(GND)20数据终端准备就绪(DTR)8接收线路信号检测(DCD)21信号质量检测9未定义22振铃指示(RI)10未定义23数据信号速率选择11未定义24发送时钟12辅助通道接收线路信号检测(SDCD)25未定义13辅助通道允许发送(SCTS)
5.2.1RS-232C串行通信协议3.RS-232C的通信距离和速率RS-232C规定最大的负载电容为2500pF,这个电容限制了传输距离和传输速率,在不使用调制解调器的情况下,RS-232C能够可靠进行数据传输的最大通信距离为15m。对于RS-232C远程通信,必须通过调制解调器进行连接。RS-232C接口最大传输速率为20000bit/s,能够提供的传输速率主要有:1200bit/s、2400bit/s、4800bit/s、9600bit/s、19200bit/s等。另外,由于传输距离与传输速率成反比关系,因此适当地降低传输速率,可以延长RS-232C的传输距离,提高通信的稳定性。在仪器仪表或工业控制场合,最常见的传输速率为9600bit/s。5.2.2串行通信的发送与接收方式串行通信包含发送与接收两部分,发送与接收双方须采用同一方式进行通信,常采用的方式有查询方式和中断方式。查询方式中断方式5.2.2串行通信的发送与接收方式1.查询方式查询方式是根据TI或RI的状态来判断一次数据发送或接收是否完成的方式。查询方式程序设计流程如图所示。发送程序接受程序5.2.2串行通信的发送与接收方式发送数据时,先将数据发送出去,然后查询是否发送完毕,再决定是否发送下一帧数据,即“先发后查”。接收数据时,先判断是否接收到一帧数据,然后保存这一帧数据,再查询是否接收到下一帧数据,即“先查后收”。5.2.2串行通信的发送与接收方式【例5-4】用查询方式实现:将A机起始地址为50H的数据块传送到B机以50H为起始地址的数据缓冲区中。假设数据块的长度为5,串行接口工作在工作方式1,TI工作在工作方式2,fosc=6MHz,SMOD=1,波特率为2400bit/s。【问题分析】由TI工作在工作方式2,fosc=6MHz,SMOD=1,波特率为2400bit/s,可求得TH1=TL1=F3H。5.2.2串行通信的发送与接收方式【参考代码】发送程序参考代码如下#include<reg51.h>#include<absacc.h>unsignedinti;/**********串行接口初始化函数**********/voidinitial(void){ TMOD=0x20; /*T1工作在工作方式2*/ TH1=0xF3; /*定时器赋初值*/ TL1=0xF3; SCON=0x40; /*串行接口工作在工作方式1*/ PCON=0x80; /*SMOD=1*/ TR1=1; } /*T1启动计数*/5.2.2串行通信的发送与接收方式/**********主函数**********/main(){ initial(); for(i=0;i<=5;i++) { SBUF=DBYTE[0x50+i]; /*发送数据*/ while(TI==0); /*是否发送完毕*/ TI=0; /*发送完毕,TI由软件清“0”*/ }}5.2.2串行通信的发送与接收方式接收程序参考代码如下#include<reg51.h>#include<absacc.h>unsignedinti;/**********串行接口初始化函数**********/voidinitial(void){ TMOD=0x20; /*T1工作在工作方式2*/ TH1=0xF3;
TL1=0xF3; SCON=0x50; /*串行接口工作在工作方式1,允许接收*/ PCON=0x80; /*SMOD=1*/ TR1=1; /*T1启动计数*/}5.2.2串行通信的发送与接收方式/**********主函数**********/main(){ initial(); for(i=0;i<=5;i++) { while(RI==0); /*查询是否接收完毕*/ DBYTE[0x50+i]=SBUF; /*接收数据*/ RI=0; /*接收完毕,RI由软件清“0”*/ }}5.2.2串行通信的发送与接收方式2.中断方式中断方式是指CPU响应中断申请,执行中断服务程序,在中断服务程序中完成数据发送与
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年智变-AI赋能政府与央国企智能化转型白皮书
- 华为认证HCIA云计算H13-511练习卷附答案(三)
- 2025年文化自信的增强途径试题及答案
- 卫生资格考试重难点专题研究试题及答案
- 无人机与物联网结合试题及答案
- 高级会计考试知识点归纳试题及答案
- 网络游戏知识产权授权与保护服务合同
- 医疗机构抗菌陶瓷涂层施工与节能合同
- 企业知识产权保护与员工保密协议补充
- 行业领军人才引进猎头服务成功付费协议
- 大班科学《神奇的洞洞》课件
- 单层钢结构厂房施工组织设计方案
- 公司工作交接清单表格
- 季节性防雷防汛防台风安全检查表
- 归档文件目录
- 2022年四川省绵阳市中考英语试题及参考答案
- 防疫小组人员名单
- 眼部健康检测与分析课件
- 偏心块振动式土壤夯实机的结构设计说明
- 苏州市建设工程造价计价解释
- 主题班会《坚定信念--放飞理想》
评论
0/150
提交评论