版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
任务10远距离控制记分牌的设计10.1任务内容与分析
10.2任务实施10.3任务相关知识
10.1任务内容与分析
1.任务内容
在很多比赛场合,如篮球比赛、知识竞赛等,需要实时显示比赛成绩,一般采用数码LED做为显示牌,但往往显示牌由一套从单片机系统控制,而成绩的增减及显示方式由另一套主单片机系统来控制,以达到远距离控制的目的。这种主、从机控制是通过串行通信来实现的。
2.任务分析
远程控制涉及远程通信,一般采用串行通信方式。一个通信系统需要发射电路和接收电路两部分。发射电路发出信息给接收电路接收。发射和接收分别由两套单片机系统控制,通常分别称为甲机和乙机。本任务中,甲机的按键操作控制乙机LED数码管的显示。甲乙机状态信息如表10-1所示。记分牌电路如图10-1所示。图中,S1为增分按键,S2为减分按键,且每按一次均为1分。在此假设成绩不超过99分,故只用两位LED数码管显示。8051单片机有一个全双工的串行通信口,对应的发射引脚为TXD、接收引脚为RXD。甲机接收到按键信号后通过TXD发射端送出,乙机RXD端接收到信号后控制LED数码管的显示。图10-1远距离控制记分牌电路示意图10.2任务实施
步骤1:绘制电路图如图10-2所示。
步骤2:根据任务分析,绘出程序流程图。
程序设计的思路:双机通信的收、发双方必须按照约定好的方式和速率来传输信息,故在程序中应有最基本的通信协议。甲机发送的数据就是两个按键的状态,因此甲机在发送数据前必须检测按键的状态。如果有键按下,则将所按下键的状态标志位发送至乙机。为了避免接收信息丢失,乙机必须一直处于等待接收状态,一旦接收到标志位数据,就根据标志状态位来决定是增分还是减分,接着进行显示。
为了便于对占用资源的总体调配,现列出程序所占用单片机存储资源分配列表,如表10-2所示。图10-2远距离控制记分牌电路原理图由于串行口的发送指令只能为“MOVSBUF,A”,串行口的接收指令只能为“MOVA,SBUF”,所以甲机需要发送的位标志FLAG1和FALG2通过位累加器C分别传送到ACC.0和ACC.1位。乙机接收时,若判断ACC.0为1,则标志FLAG1为1;同理若判断ACC.1为1,则标志FLAG2为1。
甲机、乙机的程序流程如图10-3所示。图10-3甲机、乙机的程序流程图步骤3:根据程序流程图,编写源程序。
;******远距离控制体育比赛记分牌的设计*****
;甲机发送程序,程序名SEND.A
;程序功能:检测按键的状态,将按键状态标志位发送至乙机
FLAG1BIT00H ;定义单片机地址
FLAG2BIT01H
RESULTEQU30H
S1BITP2.0
S2BITP2.1
ORG0000H
LJMPMAIN
ORG0030H
MAIN: MOVSCON,#40H
;串行口为方式1,10位为一帧
MOVTMOD,#20H ;定时器T1为方式2
MOVTH1,#0FDH ;实现9600bps的波特率 MOVTL1,#0FDH
SETBTR1;开定时器T1
CLRFLAG1;清标志位
CLRFALG2
LOOP: JNBS1,S1KEY;判断S1键是否按下
JBS2,LOOP;判断S2键是否按下
JNBS2,$;等待S2键释放 SETBFALG2; S2键标志位置1
MOVC,FLAG2
MOVACC.1,C; S2键标志位传送至ACC.1
AJMPSEND
S1KEY: JNBS1,S1KEY;等待S1键释放
SETBFLAG1; S1键标志位置1
MOVC,FLAG1
MOVACC.0,C; S1键标志位传送至ACC.0
SEND:
MOVSBUF,A ;发送数据
JNBTI,$ ;等待发送数据
CLRTI ;发送完,清标志TI
MOVA,#00H
;清标志位FLAG1和FLAG2
AJMPLOOP
END
;*******远距离控制体育比赛记分牌的设计*******
;乙机接收程序,程序名RECEIVE.A
;程序功能:根据接收到的状态标志位,判断是增分还是减分并进行显示。
RESULTEQU30H ;定义单片机地址
BITSEQU31H
TENEQU32H
ORG0000H
LJMPMAIN
ORG0030H
MAIN: MOVSCON,#40H
;串行口为方式1,10位为一帧
MOVTMOD,#20H ;定时器T1为方式2
MOVTH1,#0FDH ;实现9600bps的波特率
MOVTL1,#0FDH
SETBTR1 ;开定时器T1
LOOP: JNBRI,$ ;等待接收数据
CLRRI ;接收完,清标志RI
JBACC.0,ZENFEN ;判断是否为S1键的标志
JBACC.1,JIANFEN ;判断是否为S2键的标志
AJMPLOOP
ZENFEN:INCRESULT
ACALLDISPLAY
JIANFEN:DECRESULT
ACALLDISPLAY
AJMPLOOP
;********显示子程序****************
DISPLAY:MOVA,RESULT;拆字,将记分值分成个
位和十位
MOVB,#10
DIVAB
MOVBITS,B ;保存个位
MOVTEN,A ;保存十位
MOVDPTR,#TAB
;DPTR指向字型码表首地址
CLRP2.1 ;开个位显示
MOVA,BITS
;取个位数
MOVCA,@A+DPTR ;查表取字型码
MOVP1,A
;送显示字型码
SETBP2.1
;关个位显示
CLRP2.0
;开个位显示
MOVA,TEN
;取十位数
MOVCA,@A+DPTR ;查表取字型码 MOVP1,A ;送显示字型码
SETBP2.0 ;关十位显示
RET
TAB:DB3FH,06H,5BH,4FH,66H,6DH
;“0~9”共阴极字型码
DB7DH,07H,7FH,6FH
END
10.3任务相关知识
10.3.1串行通信概述
在通信领域内,有两种数据通信方式:并行通信和串行通信。随着计算机网络化和微机分级分布式应用系统的发展,通信的功能越来越重要。通信是指计算机与外界的信息传输,既包括计算机与计算机之间的传输,也包括计算机与外部设备(如终端、打印机等设备)之间的传输。
1.并行通信和串行通信
(1)并行通信:是将数据字节的每一位用多条数据线同时进行传送,如图10-4(a)所示。
并行通信的特点是:各数据位同时传输,传输速度快、效率高,多用在实时、快速的场合。并行传输的数据宽度可以是1~128位,甚至更宽,通常多少数据位就需要多少根数据线,因此传输的成本较高。在集成电路芯片的内部、同一插件板上各部件之间、同一机箱内个插件板之间的数据传输都是并行的。并行数据传输只适用于近距离的通信,通常传输距离小于30m,如微机与并行接口打印机。
(2)串行通信:是指使用一条数据线将数据一位一位地依次传输,如图10-4(b)所示。图10-4并行通信和串行通信
【例10-1】串行通信与并行通信的比较。
传送一个字节,并行通信只需要1T的时间,而串行通信至少需要8T的时间。串行通信适合于远距离传送,可以从几米到数百万米。对于长距离、低速率的通信,串行通信往往是唯一的选择。并行通信适合于短距离、高速率的数据传送,通常传输距离小于30m。特别值得一提的是,现成的公共电话网是通用的长距离通信介质,它虽然是为传输声音信号设计的,但利用调制解调技术,可使它为串行数据通信提供方便、实用的通信线路。
2.异步通信和同步通信
(1)同步通信:其基本特征是发送与接收保持严格的同步。由于串行传送是逐位顺序进行的,为了约定数据是由哪一位开始传送,需要设定同步字符。这种方式速度快,但是硬件复杂。由于51单片机中没有同步串行通信的方式,故在此不详细介绍。
(2)异步通信:其方式规定了传送格式,每个数据均以相同的帧格式传送。一帧数据的格式如图10-5所示。图10-5帧格式每帧数据由4部分组成:起始位(占1位)、字符代码数据位(占5~8位)、奇偶校验位(占1位,也可以没有校验位)、停止位(占1或两位),一帧长度常为8位、10位、11位等。
异步通信是一帧一帧地进行传送的,帧与帧之间的间隙不固定;间隙处用空闲位(高电平)填补;每帧传送总是以逻辑0(低电平)状态的起始位开始,停止位结束。信息传送可随时或不间断地进行,不受时间的限制,因此异步通信简单、灵活。
发送端和接收端可以由各自的时钟来控制数据的发送和接收,这两个时钟源彼此独立,互不同步。接收端检测到传输线上发送过来的低电平逻辑“0”(即字符帧起始位)时,确定发送端已开始发送数据。
3.串行通信波特率
波特率是串行通信中的一个重要概念。波特率(bitpersecond)是指单位时间里传输的数据位数,即波特率=1bit/s。例如:数据传输的速率是每秒钟240字符,而每个字符如上述规定包含10位数,则传输波特率为2400 b/s。波特率的倒数就是传输每位数据所需要的时间。
相互通信的双方必须具有相同的波特率,否则无法成功地完成数据通信。异步通信速度较慢,一般适用于50~9600 b/s的波特率。
4.串行通信的传输方向
串行通信依数据传输的方向及时间关系可分为单工通信、半双工通信与全双工通信,如图10-6所示。图10-6串行通信的三种传输方向
(1)单工通信:只支持数据在一个方向上传输,又称为单向通信,如无线电广播和电视广播。
(2)半双工通信:允许数据在两个方向上传输,但在同一时刻只允许数据在一个方向上传输,实际上是一种可切换方向的单工通信,即通信双方都可以发送信息,但不能双方同时发送,当然也不能同时接收。这种方式一般用于计算机网络的非主干线路中。
(3)全双工通信:允许数据同时在两个方向上传输,又称为双向同时通信,即通信的双方可以同时发送和接收数据,如现代电话通信。这种通信方式主要用于计算机与计算机之间的通信。
5.串行通信中的错误校验
串行数据在传输过程中,由于干扰可能引起信息的出错。例如:传输字符“E”,其ASCII码为0100 0101=45H,由于干扰可能使位变为1,这种情况我们称为出现了“误码”。我们把如何发现传输中的错误叫“检错”。发现错误后,如何消除错误叫“纠错”。常用的检错方法有奇偶校验和代码校验。
(1)奇偶校验:在传送字符的各位之外,再传送1位奇/偶校验位,即在每一字节(8位)之外又增加了一位作为错误检测位。奇偶校验是最简单的检错方法。
①奇校验:所有传送的数位(含字符的各数位和校验位)中,“1”的个数为奇数,如00110,0101,00110,0001。②偶校验:所有传送的数位(含字符的各数位和校验位)中,“1”的个数为偶数,如10100,0101,00100,0001。
奇偶校验能够检测出信息传输过程中的部分误码(1位误码能检出,2位及2位以上误码不能检出),同时,它不能纠错。在发现错误后,只能要求重发。但由于其实现简单,仍得到了广泛使用。
(2)代码和校验:发送方将所发数据块求和(或各字节异或),产生一个字节的校验字符(校验和)附加到数据块末尾。接收方接收数据同时对数据块(除校验字节外)求和(或各字节异或),将所得的结果与发送方的“校验和”进行比较。若相符则无差错,否则即认为传送过程中出现了差错。
6.串行通信接口标准
串行接口标准指的是计算机或终端(数据终端设备(DTE))的串行接口电路与调制解调器MODEM(数据通信设备(DCE))之间的连接标准。
RS-323C标准是美国EIA(电子工业联合会)与Bell等公司一起开发,并于1969年公布的通信协议。
RS-232C标准(协议)的全称是EIA-RS-232C标准,其中EIA(ElectronicIndustryAssociation)代表美国电子工业协会,RS(RecommendedStandard)代表推荐标准,232是标识号,C代表RS-232的最新一次修改(1969),在这之前有RS-232B、RS-232A。本标准规定了连接电缆和机械、电气特性、信号功能及传送过程。常用物理标准还有RS-232C、RS-422A、RS-423A、RS-485,这里只介绍RS-232C。
1) RS-232C机械特性
由于RS-232C并未定义连接器的物理特性,因此出现DB-25、DB-15和DB-9各种类型的连接器,其引脚的定义也各不相同。下面介绍连接器DB-9。
(1)连接器:D型插座,采用25芯引脚。由于绝大多数设备只使用其中9个信号,所以就有了9针连接器,如图10-7所示。图10-79针连接器
(2)电缆长度:在通信速率低于20kb/s时,RS-232C所直接连接的最大物理距离为15m(相当于50ft)。
(3)最大直接传输距离:由RS-232C标准规定,若不使用MODEM,在码元畸变小于4%的情况下,DTE和DCE之间最大传输距离为15m。
2) RS-232C功能特性
9针RS-232C连接器的主要信号线的功能如表10-3所示。
3) RS-232C电气特性
RS-232C采用负逻辑电平,规定DC(-3~-15V)为逻辑1,DC(+3~+15V)为逻辑0,-3~+3V为过渡区,不作定义。RS-232C是用正负电压来表示逻辑状态的,与TTL以高低电平表示逻辑状态的规定不同。
MAX232是一个电平转换装置,它将电脑的串行口RS-232C信号电平(-12V,+12V)转换为单片机所用到的TTL信号电平(0,+5V),只要+5V电源与4~5个小电容(容值为10μF即可)就能同时提供双向的电平调整。MAX232芯片接线图及其引脚见图10-8和图10-9。图10-8MAX232芯片接线图
图10-9MAX232芯片引脚图
4) RS-232C接口的连接
通信距离较近(小于15m)时,可以用电缆线直接连接标准RS-232C端口;若距离较远,则需附加调制解调器MODEM。
(1)微机利用RS-232C接口连接调制解调器,用于实现通过电话线路的远距离通信,如图10-10所示。图10-10远程RS-232C通信连接方式
(2)微机利用RS-232C接口直接连接进行短距离通信,如图10-11所示。因这种连接不使用调制解调器,故被称为零调制解调器(NullMODEM)连接。最为简单且常用的是三线制接法,因为不使用对方的传送控制信号,只需三条接口线,即“发送数据”、“接收数据”和“信号地”,所以采用DB-9的9芯插头座,传输线采用屏蔽双绞线。图10-11近程RS-232C通信连接方式
5) RS-232C接口存在的问题
由于RS-232C接口标准出现较早,难免有不足之处,主要有以下四点:
(1)接口的信号电平值较高,易损坏接口电路的芯片,又因其与TTL电平不兼容,故需使用电平转换电路方能与TTL电路连接。
(2)传输速率较低,在异步传输时波特率为20kb/s。
(3)接口使用一根信号线和一根信号返回线而构成共地的传输形式,这种共地传输容易产生共模干扰,故抗噪声干扰性弱。
(4)传输距离有限,最大传输距离标准值为50m,实际上也只能用在15m左右。
针对RS-232的不足,一些新的接口标准不断出现。
(1) RS-485的电气特性:逻辑“1”以两线间的电压差为+(2~6) V表示;逻辑“0”以两线间的电压差为 -(2~6)V表示。其接口信号电平比RS-232C降低了,因此不易损坏接口电路的芯片,且该电平与TTL电平兼容,可方便与TTL电路连接。
(2) RS-485的数据最高传输速率为10Mb/s。
(3) RS-485接口采用平衡驱动器和差分接收器的组合,抗共模干扰能力增强,即抗噪声干扰性好。
(4) RS-485接口的最大传输距离标准值为1219m。另外,RS-232C接口在总线上只允许连接1个收发器,即只具有单站能力;而RS-485接口在总线上允许连接多达128个收发器,即具有多站能力,这样方便用户利用单一的RS-485接口建立起设备网络。
因RS-485接口具有良好的抗噪声干扰性、长距离传输和多站能力等优点,故成为首选的串行接口。10.3.2单片机的串行接口
51系列单片机上有一个可编程的全双工串行通信口,可作为通用异步接收/发送器UART,通过引脚RXD[P3.0]和TXD[P3.1]可与外部电路进行全双工的串行异步通信,发送数据时由TXD端输出,接收数据时由RXD端输入。
51单片机串行端口基本特点如下:
(1)有4种基本工作方式,通过编程设置可使其工作在任一方式,以满足不同场合的需要。
(2)有两个控制寄存器SCON和PCON,用于设置工作方式及发送、接收的状态等。
(3)有一个数据寄存器SBUF,该寄存器为发送和接收所共用。
(4)串行端口的波特率可用程序来控制。
1.串行接口的结构
51单片机串行接口的内部简化结构如图10-12所示。
图10-12中有两个物理上独立的接收、发送缓冲器SBUF,它们在特殊功能寄存器中的字节地址均为99H,可同时发送、接收数据。发送缓冲器只能写入,不能读出;接收缓冲器只能读出,不能写入。图10-12串行接口简化结构
(1)发送数据:执行MOVSBUF,A指令。一帧数据先装载到发送缓冲器SBUF,然后开始由TXD引脚向外发送,发送完后使发送中断标志TI=1。
(2)接收数据:执行MOVA,SBUF指令。在串行接口接收中断标志RI=0的条件下,置允许接收位REN(SCON.4)=1就会启动接收过程,一帧数据进入输入移位寄存器,并装载到接收缓冲器SBUF中,同时使RI=1。
2.串口控制寄存器
1)特殊功能寄存器SCON
SCON用于定义串行口的工作方式,即实施接收和发
送控制。其字节地址为98H,可进行位寻址。其格式如图10-13所示。图10-13SCON的格式
(1) SM0、SM1:串行口工作方式选择位,其定义如表10-4所示。
(2) SM2:多机通信控制位,仅用于方式2和方式3。当发送数据时,SM2必须由软件设置为1。接收数据时,如果SM2=1,只有接收到的第9位数据为1时,RI才置位;如果SM2=0只要接收第9位数据,RI就置位。另外,在方式0时,SM2一定要等于0。
(3) REN:接收允许控制位。由软件置位(REN=1)才允许接收,又由软件清0(REN=0)来禁止接收。
(4) TB8:是要发送数据的第9位。在方式2或方式3中,要发送的第9位数据,根据需要由软件置1或清0。例如:可约定作为奇偶校验位或在多机通信中作为区别地址帧或数据帧的标志位。
(5) RB8:是接收数据的第9位。在方式0中不使用RB8。在方式1中,若SM2=0,RB8为接收到的停止位。在方式2或方式3中,RB8为接收到的第9位数据。
(6) TI:发送中断标志。发送数据前必须将软件清0,发送过程中TI一直为0,当发送完一帧数据后,由硬件自动置1。如果要再发送,必须用软件再清0。在编写串行通信程序时,可以使用软件查询TI的方法获得数据是否已发送完毕。
(7) RI:接收中断标志。接收数据前必须将软件清0,接收过程中RI一直为0,当接收完一帧数据后,由硬件自动置1。如果要再接收,必须用软件再清0。在编写串行通信程序时,可以使用软件查询RI的方法获得数据是否已接收完毕。
2)特殊功能寄存器PCON
PCON的字节地址为87H,其第7位SMOD是与串口的波特率设置有关的选择位。PCON格式见图10-14。图10-14PCON格式
SMOD:波特率加倍位。在计算串行方式1、2、3的波特率时,若SMOD=0则波特率不加倍;若SMOD=1则波特率加倍。复位时,SMOD=0。
3.串行口工作方式
1)方式0
方式0时,串行口为同步移位寄存器的输入/输出方式,主要用于扩展并行I/O口。8位串行数据由RXD(P3.0)引脚输入或输出,TXD(P3.1)引脚用来输出同步脉冲。波特率固定为fosc/12,其中fosc为晶振频率。
(1)方式0输出:RXD引脚输出串行数据,TXD引脚输出移位脉冲。CPU将数据写入发送缓冲器SBUF,立即启动发送,将8位数据以fosc/12的固定波特率从RXD输出,低位在前,高位在后。发送完一帧数据后,发送中断标志TI由硬件置位。如要再发送下一字节数据,必须用软件先将TI清0。
(2)方式0输入:RXD为串行数据输入端,TXD仍为同步脉冲移位输出端。当RI=0和REN=1时,开始接收。当接收到第8位数据时,将数据移入接收缓冲器,并由硬件置位RI。如要再接收数据,必须用软件将RI清0。
(3)方式0应用:图10-15和图10-16分别是方式0的发送电路和接收电路。74LS164/74LS165是移位寄存器,其作用是将单片机输出的串行数据变为8位并行数据,将外部输入的8位并行数据变成串行数据。图10-15方式0发送电路图10-16方式0接收电路
【例10-2】请试着采用串行口控制一只数码管显示。
解(1)电路设计与制作。电路如图10-17所示。在电路中,单片机与数码管之间连接了一个串入并出移位寄存器74LS164。串行数据从单片机串行输出口P3.0(RXD)加至74LS164的串行输入端,在单片机P3.1(TXD)输出的时钟脉冲控制下,8位并行数据从并行输出端Q0~Q7输出,控制数码管显示。图10-17利用串口控制一只LED显示串口通过外接串并转换器74LS164(串行输入/并行输出移位寄存器),可扩展并行的I/O。
74LS164有两个串行数据A、B输入端,使用时一般把它们连在一起。
为清零输入端,低电平有效。当该端加入低电平时,寄存器输出Q0~Q7全为低电平。在正常工作情况下,清零输入端接高电平。当CP信号上升沿到来时,数据从A、B端输入并右移一位,Q0~Q7为并行数据输出端,同时Q7端也是串行数据输出端。对于串行输入的数据,最先输入的从Q7输出,最后进入的从Q0输出。而单片机串行口输出的数据是低位在先,高位在后。因此,74LS164的高位输出Q应与数码管的a端相连,并依次类推。
(2)编写在数码管上依次显示8个数字的程序。
//*******串行口控制一只数码管程序**********//
;程序功能:在数码管上依次显示8个数
;入口参数:在内存20H处存放8个0~9任意排列的整数
ORG0000H
AJMPMAIN ;跳转到主程序
ORG0030H
MAIN: MOVSCON,#00H ;设串行口工作在方式0
MOVR0,#20H;确定数据存放起始单元地址
MOVR2,#8
;确定数据长度
AGIN: MOVA,@R0
;取第一个数送A
MOVDPTR,#TAB ;取表头地址送DPTR
MOVCA,@A+DPTR ;查数据
MOVSBUF,A ;送段码
JNBTI,$ ;判断是否发送完毕
CLRTI ;清标志位
ACALLDELAY_1MS ;显示延时
INCR0 ;地址指针加1
DJNZR2,AGIN ;判断显示到否
SJMP$
DELAY_1MS: MOVR7,#02H;延时1ms子程序
DL1: MOVR6,#0FFH
DL2: DJNZR6,DL2
DJNZR7,DL1
RET
TAB: DB3FH,06H,5BH,4FH,66H,6DH;
“0~9”共阴极字型码
DB7DH,07H,7FH,6FH
END
2)方式1
方式1为波特率可变的10位异步通信接口方式。可以发送或接收一帧信息,一帧信息包括1位起始位0,8位数据位,1位停止位1。其中的起始位和停止位在发送时自动插入。图10-18为串行口方式1的数据格式。图10-18串行口方式1的数据格式
(1)方式1输出:当CPU执行一条指令将数据写入发送缓冲器SBUF且TI=0时,就启动发送。串行数据从TXD引脚输出,发送完一帧数据后就由硬件置位TI。
(2)方式1输入:在REN=1时,串行口采样RXD引脚。当采样到1至0的跳变时,确认是串行发送来的一帧数据的开始位0,从而开始接收一帧数据。只有当8位数据接收完,而且(RI)=0、(SM2)=0或接收到的第9位数据为1时,停止位才进入RB8,8位数据才能进入接收缓冲器,并由硬件置位中断标志RI;否则信息会丢失。因此,在方式1接收时,应先用软件清零RI和SM2标志。
3)方式2
方式2为固定波特率的11位UART方式。它比方式1增加了一位可程控为1或0的第9位数据。图10-19为串行口方式2的数据格式。图10-19串行口方式2的数据格式
(1)方式2输出:发送的串行数据由TXD端输出一帧信息,该帧信息为11位。附加的第9位来自SCON寄存器的TB8位,用软件置位或复位,它可作为多机通信中地址/数据信息的标志位,也可作为数据的奇偶校验位。
当CPU执行一条指令将数据写入发送缓冲器SBUF且TI=0时,就启动发送。串行数据从TXD引脚输出,发送完一帧数据后,就由硬件置位TI。
(2)方式2输入:在REN=1时,串行口采样RXD引脚。当采样到1至0的跳变时,确认是串行发送来的一帧数据的开始位0,从而开始接收一帧数据。在接收到附加的第9位数据,而且(RI)=0、(SM2)=0或接收到的第9位数据为1时,第9位数据才进入RB8,8位数据才能进入接收缓冲器,并由硬件置位中断标志RI。如果条件不满足,则数据丢失,且不置位RI,将继续搜索RXD引脚的负跳变。
4)方式3
方式3为波特率可变的11位UART方式。
4.波特率的选择
在串行通信中,收发双方的数据传送速率(波特率)要有一定的约定。在51单片机串行口的四种工作方式中,方式0和方式2的波特率是固定的,而方式1和方式3的波特率是可变的,由定时器T1的溢出率来决定(如表10-5所示)。
1)方式0
方式0的波特率固定为fosc/12。
2)方式2
方式2的波特率由PCON中的选择位SMOD来决定,可表示为
方式2的波特率=(2SMOD/64)×fosc
也就是当SMOD=1时,波特率为(1/32)×fosc;当SMOD=0时,波特率为(1/64)×fosc。
3)方式1和方式3
方式1的波特率=(2SMOD/32)×(T1溢出率)
方式3的波特率=(2SMOD/32)×(T1溢出率)
因为定时器方式2为自动重装入初值的8位定时器/计数器模式,所以用它来做波特率发生器最恰当。这种方式下,T1的溢出率计算式可以表示为T1溢出率=在单片机的应用中,常用的晶振频率为12MHz和11.0592MHz。因此,选用的波特率也相对固定。而当晶振频率选用11.0592MHz时,最易获得标准的波特率,故很多单片机系统选用这个看起来“怪”的晶振就是这个道理。表10-5列出了定时器T1工作于方式2常用波特率及初始值。10.3.3单片机与PC机的通信
IBMPC是国内目前应用最广泛的微机,在与单片机进行串行接口后,可以方便地构成主从分布式多微机系统。从机作数据采集或实时控制,主机作数据处理和中央管理等。这种多微机系统在过程控制、仪器仪表、生产自动化和企业管理等方面都有广泛应用。
PC机和单片机通信时,两者一般都有一定的距离。为了克服线路上的电损耗,避免信息出错,常采用RS-232C电平实现信号之间的传输。而RS-232C电平采用负逻辑,单片机TTL电平是正逻辑,因此单片机与PC机之间必须外接电路
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 吉首大学张家界学院《思想道德修养与法律基础》2021-2022学年第一学期期末试卷
- 脑病科护理安全
- 言语治疗呼吸系统
- 皮肤科护理论文
- 二零二四年度智能照明系统合同3篇
- 招商员工入职培训
- 英语探究型活动设计
- 二零二四年度婚姻登记处常用离婚协议参考样式3篇
- 2024年度建设合同:城市供水管道建设合同2篇
- 人音版音乐七年级上册《溜冰圆舞曲》课件
- 建筑法精课件
- 最新心力衰竭课件
- 超市经营服务投标方案
- 纳米生物医用材料课件
- 《我是班级小主人》课件
- 智能行为识别课件
- 校长课程教学核心领导力课件
- 沟通影响力课件
- 小学家长会二年级精品课件(数学教师)
- 买卖合同法律风险防范讲座课件
- 学法用法向未来全国法制宣传日暨国家宪法日主题班会课件
评论
0/150
提交评论