ATS单片机的串行口_第1页
ATS单片机的串行口_第2页
ATS单片机的串行口_第3页
ATS单片机的串行口_第4页
ATS单片机的串行口_第5页
已阅读5页,还剩67页未读 继续免费阅读

下载本文档

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

文档简介

1、1 第七章 89S51单片机的串行口 倪妍婷 工业制造学院2本讲主要内容:本讲主要内容:7-1.串行口的结构串行口的结构7-2.串行口的四种工作方式串行口的四种工作方式7-3.多机通信多机通信 7-4 波特率的制定方法波特率的制定方法7-5 串行通信的应用设计串行通信的应用设计3串行通信基础知识串行通信基础知识并行通信是指数据的各位同时进行传送(发送或接收)的通信方式。其优点是传递速度快;缺点是数据有多少位,就需要多少根传送线。并行通信在位数多、传送距离又远时就不太适宜。串行通信指数据是一位一位按顺序传送的通信方式,它的突出优点是只需一对传送线(利用电话线就可作为传送线),这样就大大降低了传送

2、成本,特别适用于远距离通信。其缺点是传送速度较低。4传输方式传输方式 单单 工工全双工全双工 半双工半双工 (l)(l)单工方式单工方式 信息只能沿一个方向传输,而不能沿相反方向传输。信息只能沿一个方向传输,而不能沿相反方向传输。 (2)(2)半双工方式半双工方式 信息可以沿着两个方向传输,但在指定时刻,信息只信息可以沿着两个方向传输,但在指定时刻,信息只能沿一个方向传输。能沿一个方向传输。 (3)(3)全双工方式全双工方式 信息可以同时沿着两个方向传输。信息可以同时沿着两个方向传输。 56(1)异步通信 异步通信用起始位0表示字符的开始,然后从低位到高位逐位传送数据,最后用停止位1表示字符结

3、束,如后图所示。一个字符又称一帧信息。图中,一帧信息包括1位起始位、8位数据位和1位停止位,图中,数据位增加到9位。在C8051F单片机系统中,第9位数据D8可以用作奇偶校验位,也可以用作地址数据帧的标识位,D81表示该帧信息传送的是地址,D80表示传送的是数据。两帧信息之间可以无间隔,也可以有间隔,且间隔时间可任意改变,间隔用空闲位“1”来填充。7异步通信异步通信 图 异步通信数据格式 8奇偶校验奇偶校验 是一种校验代码传输正确性的方法。根据被传是一种校验代码传输正确性的方法。根据被传输的一组二进制代码的数位中输的一组二进制代码的数位中“1”1”的个数是奇数或的个数是奇数或偶数来进行校验。采

4、用奇数的称为奇校验,反之,偶数来进行校验。采用奇数的称为奇校验,反之,称为偶校验。采用何种校验是事先规定好的。通常称为偶校验。采用何种校验是事先规定好的。通常专门设置一个奇偶校验位,用它使这组代码中专门设置一个奇偶校验位,用它使这组代码中“1”1”的个数为奇数或偶数。若用奇校验,则当接收端收的个数为奇数或偶数。若用奇校验,则当接收端收到这组代码时,校验到这组代码时,校验“1”1”的个数是否为奇数,从而的个数是否为奇数,从而确定传输代码的正确性。确定传输代码的正确性。9异步通信的优缺点异步通信的优缺点通常,异步通信的波特率为509600bit/s。异步通信的优点是不需要传送同步时钟,字符帧长度不

5、受限制,故设备简单。缺点是字符帧中因包含起始位和停止位而降低了有效数据的传输速率。10(2 2)同步通信)同步通信 在同步通信中,每一数据块开头时发送一个或两个同步字符,使发送与接收双方取得同步。数据块的各个字符间取消了起始位和停止位,所以通信速度得以提高,如图所示。同步通信时,如果发送的数据块之间有间隔时间,则发送同步字符填充。 同步通信的数据传输速率较高,通常可达同步通信的数据传输速率较高,通常可达56Kb/s或更高,其缺点是或更高,其缺点是要求发送时钟和接收时钟必须保持严格同步要求发送时钟和接收时钟必须保持严格同步。11同步串口与异步串口同步串口与异步串口同步串口 具有至少一根时钟线、1

6、-2根数据线的串行通讯方式,利用时钟沿对齐数据,所以此种通讯较为可靠,可以实现很高的通讯速率(1Mbps以上,可达Gbps级别)。异步串口 无专门的时钟线,只有1-2根数据线,收发双方依据实现约定好的位速率确定各个数据位的时间位置,可靠性相对较差,速率在1Mbps以下。异步串口最常见的是UART,以及衍生出来的RS232、RS485等。12 串并转换发送时的并转串(1)串并转换与设备同步13接收时的串转并14设备同步进行串行通信的两台设备必须同步工作才能有效进行串行通信的两台设备必须同步工作才能有效地检测通信线路上的信号变化,从而采样传送数地检测通信线路上的信号变化,从而采样传送数据脉冲。据脉

7、冲。设备同步对通信双方有两个共同要求:设备同步对通信双方有两个共同要求:一是通信双方必须采用统一的编码方法;一是通信双方必须采用统一的编码方法;二是通信双方必须能产生相同的传送速率。二是通信双方必须能产生相同的传送速率。15(2 2)串行通信协议)串行通信协议通信协议(communications protocol)是指双方实体完成通信或服务所必须遵循的规则和约定。协议定义了数据单元使用的格式,信息单元应该包含的信息与含义,连接方式,信息发送和接收的时序,从而确保网络中数据顺利地传送到确定的地方。16(2 2)串行通信协议)串行通信协议协议主要由以下三个要素组成: 语法:“如何讲”,数据的格式

8、、编码和信号等级(电平的高低)。 语义:“讲什么”,数据内容、含义以及控制信息。 定时:速率匹配和排序。17(2 2)串行通信协议)串行通信协议起始位数据位奇偶校验位停止位波特率设置握手信号约定187.1 7.1 串行口的结构串行口的结构 串行接口电路的种类和型号很多。能够完成异步通信的硬件电路称为UART(asynchronous),即通用异步接收器/发送器;能够完成同步通信的硬件电路称为USRT(synchronous);既能够完成异步又能同步通信的硬件电路称为USART。 从本质上说,所有的串行接口电路都是以并行数据形式与CPU连接,以串行数据形式与外部逻辑设备连接。它们的基本功能是从外

9、部逻辑设备接收串行数据,转换成并行数据后传送给CPU,或从CPU接收并行数据,转换成串行数据后输出到外部逻辑设备。 1989S51具有一个全双工串行通信接口。作用: 作为UART使用。 作为同步移位寄存器用。功能: 扩展IO口。 通过计算机串口实现与PC机的单机或多机通讯。 实现单片机系统之间的点对点单机通讯。207.1 7.1 串行口的结构串行口的结构内部结构如图7-1。两个物理上独立两个物理上独立的接收、发送缓冲器接收、发送缓冲器SBUFSBUF(属于特殊功能寄存器),可同时发送、接收数据。发送缓冲器发送缓冲器只写不能读。接收缓冲器接收缓冲器只读不能写。两个缓冲器共用一个特殊功能寄存器字节

10、地址共用一个特殊功能寄存器字节地址(99H)。控制寄存器两个:特殊功能寄存器SCONSCON和PCONPCON。202121图图7-1 串行口内部结构串行口内部结构22引脚RXD(P3.0)串行数据接收端。引脚TXD(P3.1)串行数据发送端。89S51用T1作为串行通信的波特率发生器。23 SCON SCON 是一个特殊功能寄存器,用以设定串行口的工是一个特殊功能寄存器,用以设定串行口的工作方式、接收作方式、接收/ /发送控制以及设置状态标志:发送控制以及设置状态标志: 7.1.1 7.1.1 串行口控制寄存器串行口控制寄存器SCONSCON SM0SM0和和SM1SM1为工作方式选择位,可

11、选择四种工作方式:为工作方式选择位,可选择四种工作方式: SCON(98H)可位寻址可位寻址24SM2SM2,多机通信控制位,多机通信控制位,主要用于方式,主要用于方式2 2和方式和方式3 3。当当SM2=1SM2=1时可以利用收到的时可以利用收到的RB8RB8来控制是否激活来控制是否激活RIRI(RB80时不激活RI,收到的信息丢弃;RB81时收到的数据进入SBUF,并激活RI,进而在中断服务中将数据从SBUF读走)。当当SM2=0SM2=0时,不论收到的时,不论收到的RB8RB8为为0 0和和1 1,均可以使收到的数据进入,均可以使收到的数据进入SBUFSBUF,并激活,并激活RIRI(即

12、此时RB8不具有控制RI激活的功能)。在方式在方式0 0时,时,SM2SM2必须是必须是0 0。在方式。在方式1 1时,若时,若SM2=1SM2=1,则只有接收,则只有接收到有效停止位时,到有效停止位时,RIRI才置才置1 1。RENREN,允许串行接收位,允许串行接收位。由软件置。由软件置REN=1REN=1,则启动串行口接收,则启动串行口接收数据;若软件置数据;若软件置REN=0REN=0,则禁止接收。,则禁止接收。25TB8TB8,在方式,在方式2 2或方式或方式3 3中,是发送数据的第九位中,是发送数据的第九位,可以用软件规定其作用。可以用作数据的奇偶校验可以用软件规定其作用。可以用作

13、数据的奇偶校验位,或在多机通信中,作为地址帧位,或在多机通信中,作为地址帧/ /数据帧的标志数据帧的标志位。位。在方式在方式0 0和方式和方式1 1中,该位未用。中,该位未用。RB8RB8,在方式,在方式2 2或方式或方式3 3中,是接收到数据的第九中,是接收到数据的第九位位,作为奇偶校验位或地址帧,作为奇偶校验位或地址帧/ /数据帧的标志位。数据帧的标志位。在方式在方式1 1时,若时,若SM2=0SM2=0,则,则RB8RB8是接收到的停止位。是接收到的停止位。26TITI,发送中断标志位,发送中断标志位。在方式。在方式0 0时,当串行发送时,当串行发送第第8 8位数据结束时,或在其它方式,

14、串行发送停止位数据结束时,或在其它方式,串行发送停止位的开始时,由内部硬件使位的开始时,由内部硬件使TITI置置1 1,向,向CPUCPU发中断申发中断申请。在中断服务程序中,请。在中断服务程序中,必须用软件将其清必须用软件将其清0 0,取,取消此中断申请。消此中断申请。RIRI,接收中断标志位,接收中断标志位。在方式。在方式0 0时,当串行接收时,当串行接收第第8 8位数据结束时,或在其它方式,串行接收停止位数据结束时,或在其它方式,串行接收停止位的中间时,由内部硬件使位的中间时,由内部硬件使RIRI置置1 1,向,向CPUCPU发中断申发中断申请。也请。也必须在中断服务程序中,用软件将其清

15、必须在中断服务程序中,用软件将其清0 0,取消此中断申请。取消此中断申请。27PCONPCON中只有一位中只有一位SMODSMOD与串行口工作有关与串行口工作有关 : SMODSMOD(PCON.7PCON.7) 波特率倍增位。在串行口波特率倍增位。在串行口方式方式1 1、方式、方式2 2、方式、方式3 3时,波特率与时,波特率与SMODSMOD有关,当有关,当SMOD=1SMOD=1时,波特率提高一倍。复位时,时,波特率提高一倍。复位时,SMOD=0SMOD=0。 PCON(87H)不可位寻址不可位寻址7.1.2 7.1.2 串行口控制寄存器串行口控制寄存器PCONPCON 28SM0SM1

16、方式功 能 说 明000同步方式(扩展移位寄存器方式,用于I/O口扩展),波特率固定(fosc12)0118位UART,波特率可变(由T1或T2溢出率决定)1029位UART,波特率固定(fosc64或fosc32)1139位UART,波特率可变(由T1或T2溢出率决定)7.2 7.2 串行口的串行口的4 4种工作方式种工作方式29 7.2.1 7.2.1 方式方式0 0 方式方式0 0时,串行口为同步移位寄存器的输入输出方式。时,串行口为同步移位寄存器的输入输出方式。主要用于扩展并行输入或输出口。数据由主要用于扩展并行输入或输出口。数据由RXDRXD(P3.0P3.0)引脚)引脚输入或输出,

17、同步移位脉冲由输入或输出,同步移位脉冲由TXDTXD(P3.1P3.1)引脚输出。发送)引脚输出。发送和接收均为和接收均为8 8位数据,低位在先,高位在后。波特率固定为位数据,低位在先,高位在后。波特率固定为fosc/12fosc/12。 30 方式方式0 0输入输入 方式方式0 0接收和发送电路接收和发送电路31 串口外接74HCl64串入并出移位寄存器的接口逻辑见课本图7-6所示。TXD输出移位脉冲,RXD输出数据移入74LSl64。 CPU写发送SBUF,启动串行口从低位开始发送,经过8个发送周期,发送SBUF的内容移入74LSl64,并置位TI,完成一字节输出。 若fosc=12MHz

18、,则串行输出一位的时间是1s,传输一个字节需8s。 从低位开始串行输出,数据的低位在右高位在左,在具体应用中应加以注意。方式0输出时,可以串接多个移位寄存器。32例例7-1 7-1 串行数据转换为并行数据(串转并)串行数据转换为并行数据(串转并) 说明 本例的功能为单片机发出串行数据经串并转换芯片74HC164转换为并行数据,并将转换的数据通过8只LED显示出来。 本例串口工作于模式0,移位寄存器I/O模式,串行数据由RXD发送给74HC164,TXD用于输出移位时钟脉冲。33电路图电路图d1d2d3d4d5d6d7d8d1d2d3d4d5d6d7d8XTAL218XTAL119ALE30EA

19、31PSEN29RST9P0.0/AD039P0.1/AD138P0.2/AD237P0.3/AD336P0.4/AD435P0.5/AD534P0.6/AD633P0.7/AD732P1.0/T21P1.1/T2EX2P1.23P1.34P1.45P1.56P1.67P1.78P3.0/RXD10P3.1/TXD11P3.2/INT012P3.3/INT113P3.4/T014P3.7/RD17P3.6/WR16P3.5/T115P2.7/A1528P2.0/A821P2.1/A922P2.2/A1023P2.3/A1124P2.4/A1225P2.5/A1326P2.6/A1427U1AT

20、89C52C122pFC222pFC310uFX1CRYSTALR910kR1220R2220R3220R4220R5220R6220R7220R8220D1LED-REDD2LED-REDD3LED-REDD4LED-REDD5LED-REDD6LED-REDD7LED-REDD8LED-REDABCDSRG8RC1/-&1D1324561081112913U274LS16434知识补充(知识补充(7474系列芯片简介)系列芯片简介) 数字集成电路有双极型集成电路(如数字集成电路有双极型集成电路(如TTLTTL、ECLECL)和单极)和单极型集成电路(如型集成电路(如CMOSCMOS

21、)两大类,每类中又包含有不同的系列)两大类,每类中又包含有不同的系列品种品种1 TTL1 TTL数字集成电路数字集成电路 这类集成电路内部输入级和输出级都是晶体管结构,属于双这类集成电路内部输入级和输出级都是晶体管结构,属于双极型数字集成电路。其主要系列有:极型数字集成电路。其主要系列有: 7474系列系列 74H74H系列系列 (早期产品,逐渐被淘汰)(早期产品,逐渐被淘汰) 74S74S系列系列 74AS74AS系列(速度较高,但品种较少)系列(速度较高,但品种较少) 74LS74LS系列系列 (目前最常用)(目前最常用) 74ALS74ALS系列系列 (74LS74LS后续产品,速度高、

22、功耗低、价格贵)后续产品,速度高、功耗低、价格贵)35 74LS 74LS系列是当前系列是当前TTLTTL类型中的主要产品系列。品种和生产厂家类型中的主要产品系列。品种和生产厂家都非常多。性能价格比比较高,目前在中小规模电路中应用都非常多。性能价格比比较高,目前在中小规模电路中应用非常普遍。非常普遍。362 CMOS2 CMOS集成电路集成电路 CMOSCMOS数字集成电路是利用数字集成电路是利用NMOSNMOS管和管和PMOSPMOS管巧妙组合成的电路,管巧妙组合成的电路,属于一种微功耗的数字集成电路。主要系列有:属于一种微功耗的数字集成电路。主要系列有:(1)标准型)标准型4000B/45

23、00B系列系列 该系列是以美国该系列是以美国RCA公司的公司的CD4000B系列和系列和CD4500B系列制定的,与美国系列制定的,与美国Motorola公司的公司的MC14000B系列和系列和MC14500B系列产品完全兼容。该系列产品的最大特点是工系列产品完全兼容。该系列产品的最大特点是工作电源电压范围宽(作电源电压范围宽(318V)、功耗最小、速度较低、品种)、功耗最小、速度较低、品种多、价格低廉,是目前多、价格低廉,是目前CMOS集成电路的主要应用产品集成电路的主要应用产品37(2 2)74HC 74HC 系列系列 54/74HC 54/74HC 系列是高速系列是高速CMOSCMOS标

24、准逻辑电路系列,具有与标准逻辑电路系列,具有与74LS 74LS 系列同等的工作度和系列同等的工作度和CMOSCMOS集成电路固有的低功耗及电源电集成电路固有的低功耗及电源电压范围宽等特点。压范围宽等特点。74HCxxx74HCxxx是是74LSxxx74LSxxx同序号的翻版,型号最同序号的翻版,型号最后几位数字相同,表示电路的逻辑功能、管脚排列完全兼容,后几位数字相同,表示电路的逻辑功能、管脚排列完全兼容,为用为用74HC74HC替代替代74LS74LS提供了方便。提供了方便。(3 3)74AC 74AC 系列系列 该系列又称该系列又称“先进的先进的CMOSCMOS集成电路集成电路”,54

25、/74AC 54/74AC 系列具有与系列具有与74AS74AS系列等同的工作速度和与系列等同的工作速度和与CMOSCMOS集成电路固有的低功耗及集成电路固有的低功耗及电源电压范围宽等特点。电源电压范围宽等特点。38知识补充(知识补充(7474系列芯片简介)系列芯片简介)数字集成电路使用中注意事项:数字集成电路使用中注意事项:仔细认真查阅使用器件型号的资料仔细认真查阅使用器件型号的资料 对于要使用的集成电路,首先要根据手册查出该型号器件对于要使用的集成电路,首先要根据手册查出该型号器件的资料,注意器件的管脚排列图接线,按参数表给出的参数规的资料,注意器件的管脚排列图接线,按参数表给出的参数规范

26、使用,在使用中,不得超过最大额定值(如电源电压、环境范使用,在使用中,不得超过最大额定值(如电源电压、环境温度、输出电流等),否则将损坏器件。温度、输出电流等),否则将损坏器件。39注意电源电压的稳定性注意电源电压的稳定性为了保证电路的稳定性,供电电源的质量一定要好,要为了保证电路的稳定性,供电电源的质量一定要好,要稳压。在电源的引线端并联大的滤波电容,以避免由于电源稳压。在电源的引线端并联大的滤波电容,以避免由于电源通断的瞬间而产生冲击电压。更注意不要将电源的极性接反,通断的瞬间而产生冲击电压。更注意不要将电源的极性接反,否则将会损坏器件。否则将会损坏器件。40采用合适的方法焊接集成电路采用

27、合适的方法焊接集成电路 在需要弯曲管脚引线时,不要靠近根部弯曲。焊接前不在需要弯曲管脚引线时,不要靠近根部弯曲。焊接前不允许用刀刮去引线上的镀金层,焊接所用的烙铁功率不应超允许用刀刮去引线上的镀金层,焊接所用的烙铁功率不应超过过25W25W,焊接时间不应过长。焊接时最好选用中性焊剂。焊接,焊接时间不应过长。焊接时最好选用中性焊剂。焊接后严禁将器件连同印制线路板放入有机溶液中浸泡。后严禁将器件连同印制线路板放入有机溶液中浸泡。注意设计工艺,增强抗干扰措施注意设计工艺,增强抗干扰措施 在设计印刷线路板时,应避免引线过长,以防止窜扰和在设计印刷线路板时,应避免引线过长,以防止窜扰和对信号传输延迟。此

28、外要把电源线设计的宽些,地线要进行对信号传输延迟。此外要把电源线设计的宽些,地线要进行大面积接地,这样可减少接地噪声干扰。大面积接地,这样可减少接地噪声干扰。4174HC16474HC1648 8位串入、并出移位寄存器位串入、并出移位寄存器 74HC164、74HCT164 是 8 位边沿触发式移位寄存器,串行输入数据,然后并行输出。数据通过两个输入端(DSA 或 DSB)之一串行输入;任一输入端可以用作高电平使能端,控制另一输入端的数据输入。两个输入端或者连接在一起,或者把不用的输入端接高电平,一定不要悬空。 时钟 (CP) 每次由低变高时,数据右移一位,输入到 Q0, Q0 是两个数据输入

29、端(DSA 和 DSB)的逻辑与,它将上升时钟沿之前保持一个建立时间的长度。 主复位 (MR) 输入端上的一个低电平将使其它所有输入端都无效,同时非同步地清除寄存器,强制所有的输出为低电平。4274HC164 74HC164 引脚说明引脚说明符号引脚说明DSA1数据输入DSB1数据输入Q0Q73-6,10-13输出GND7地(0V)CP8时钟输入(低电平到高电平边沿触发)/M/R9中央复位输入(低电平有效)VCC14正电源43例例7-2 7-2 并行数据转换为串行数据(并转串)并行数据转换为串行数据(并转串) 说明 本例用串行口外加移位寄存器165或166扩展一个8位并行输入口,输入数据由8个

30、开关提供。 本例串口工作于模式0,移位寄存器I/O模式,并行数据由74LC165转换后发送给单片机RXD接口,然后通过单片机控制LED显示出来。44例例 7-2 7-2 电路图电路图R3220R4R5R6R7R8R9R10D1D2D3D4D5D6D7D8XTAL218XTAL119ALE30EA31PSEN29RST9P0.0/AD039P0.1/AD138P0.2/AD237P0.3/AD336P0.4/AD435P0.5/AD534P0.6/AD633P0.7/AD732P1.01P1.12P1.23P1.34P1.45P1.56P1.67P1.78P3.0/RXD10P3.1/TXD11

31、P3.2/INT012P3.3/INT113P3.4/T014P3.7/RD17P3.6/WR16P3.5/T115P2.7/A1528P2.0/A821P2.1/A922P2.2/A1023P2.3/A1124P2.4/A1225P2.5/A1326P2.6/A1427U3AT89C51TXDSHSI10D011D112D213D314D43D54D65D76SO9CLK2QH7INH15SH/LD1U274LS165OFFON123456789DIPSWC_8TXDC122pFC222pFC310uFX112MR110kSH234567891RP1RESPACK-845void main(

32、)SCON = 0 x10; /设为串口模式,并允许串口接收while(1)SH = 0; /置数,读入并行输入口的8位数据SH = 1; /移位,并口输入被封锁,串行转换开始while (RI = 0); /未接收一字节等待RI = 0;P0 = SBUF;/接收到的字节显示在P0端口,显示的值与拨码开关对应46 方式方式1 1是是1010位数据的异步通信口。位数据的异步通信口。TXDTXD为数据发送引脚,为数据发送引脚,RXDRXD为数据接收引脚,传送为数据接收引脚,传送一帧数据的格式如图所示。其中一帧数据的格式如图所示。其中1 1位起始位,位起始位,8 8位数据位,位数据位,1 1位停止

33、位。位停止位。 1 1、方式、方式1 1输出输出7.2.2 7.2.2 方式方式1 147 方式1输出 CPU向发送SBUF写入一个数据,即启动发送,从TXD端输出一帧信息,先发送起始位0,接着从低位开始依次输出8位数据,最后输出停止位1,并置1发送中断标志TI。 CPU查询TI=1后,清TI,再向SBUF写入数据,启动下一字符发送。也可以采用中断方式,TI=1时向CPU产生中断请求。 48 方式方式1 1输入输入 用软件置REN为1时,接收器以所选择波特率的16倍速率采样RXD引脚电平,检测到RXD引脚输入电平发生负跳变时,则说明起始位有效,将其移入输入移位寄存器,并开始接收这一帧信息的其余

34、位。接收过程中,数据从输入移位寄存器右边移入,起始位移至输入移位寄存器最左边时,控制电路进行最后一次移位。当RI=0,且SM2=0(或接收到的停止位为1)时,将接收到的9位数据的前8位数据装入接收SBUF,第9位(停止位)进入RB8,并置RI=1,向CPU请求中断。49方式一输入 REN置1允许接收器接收。接收器以所选波特率的16倍的速率采样RXD端的电平。当检测到RXD端输入电平发生负跳变时,复位内部的十六分频计数器。 计数器的16个状态把传送一位数据的时间分为16等分,在每位中心,即7、8、9这三个计数状态,位检测器采样RXD的输入电平,接收的值是三次采样中至少是两次相同的值,这样处理可以

35、防止干扰。 如果在第1位时间接收到的值(起始位)不是0,则起始位无效,复位接收电路,重新搜索RXD端上的负跳变。接收到停止位为1时,将接收到的8位数据装入接收数据缓冲器SBUF,置位RI,供CPU查询或向CPU请求中断。507.2.3 7.2.3 方式方式2 2和方式和方式3 3 方式2和方式3是9位异步串行通信方式,TXD为数据发送端,RXD为数据接收端。方式2的波特率固定为振荡器频率的164或132,而方式3的波特率由定时器T1或T2的溢出率确定(UART1方式3的波特率由定时器T1或T4的溢出率确定)。 在方式2和方式3中,一帧信息为11位:1位起始位,8位数据位(先低位后高位),1位附

36、加的第9位数据(发送时为SCON中的TB8,接收时为SCON中的RB8。用于奇偶校验和多机通信),1位停止位。数据的格式如下图所示。 51 方式方式2 2或方式或方式3 3时为时为1111位数据的异步通信口。位数据的异步通信口。TXDTXD为数据发送引为数据发送引脚,脚,RXDRXD为数据接收引脚为数据接收引脚 。 方式方式2 2和方式和方式3 3时起始位时起始位1 1位,数据位,数据9 9位(含位(含1 1位附加的第位附加的第9 9位,发送时为位,发送时为SCONSCON中中的的TB8TB8,接收时为,接收时为RB8RB8),停止位),停止位1 1位,一帧数据为位,一帧数据为1111位。方式

37、位。方式2 2的波特率固定为晶的波特率固定为晶振频率的振频率的1/641/64或或1/321/32,方式,方式3 3的波特率由定时器的波特率由定时器T1T1的溢出率决定。的溢出率决定。 方式方式2 2和方式和方式3 352 1 1、方式、方式2 2和方式和方式3 3输出输出 发送开始时,先把起始位发送开始时,先把起始位0 0输出到输出到TXDTXD引脚,然后发送移位寄存器引脚,然后发送移位寄存器的输出位(的输出位(D0D0)到)到TXDTXD引脚。每一个移位脉冲都使输出移位寄存器的各引脚。每一个移位脉冲都使输出移位寄存器的各位右移一位,并由位右移一位,并由TXDTXD引脚输出。引脚输出。 第一

38、次移位时,停止位第一次移位时,停止位“1”1”移入输出移位寄存器的第移入输出移位寄存器的第9 9位上位上 ,以,以后每次移位,左边都移入后每次移位,左边都移入0 0。当停止位移至输出位时,左边其余位全为。当停止位移至输出位时,左边其余位全为0 0,检测电路检测到这一条件时,使控制电路进行最后一次移位,并置检测电路检测到这一条件时,使控制电路进行最后一次移位,并置TI=1TI=1,向向CPUCPU请求中断。请求中断。 方式方式2 2和方式和方式3 353 2 2、方式、方式2 2和方式和方式3 3输入输入 接收时,数据从右边移入输入移位寄存器,在起始位接收时,数据从右边移入输入移位寄存器,在起始

39、位0 0移移到最左边时,控制电路进行最后一次移位。当到最左边时,控制电路进行最后一次移位。当RI=0RI=0,且,且SM2=0SM2=0(或接收到的第(或接收到的第9 9位数据为位数据为1 1)时,接收到的数据装入接收缓)时,接收到的数据装入接收缓冲器冲器SBUFSBUF和和RB8RB8(接收数据的第(接收数据的第9 9位),置位),置RI=1RI=1,向,向CPUCPU请求中请求中断。如果条件不满足,则数据丢失,且不置位断。如果条件不满足,则数据丢失,且不置位RIRI,继续搜索,继续搜索RXDRXD引脚的负跳变。引脚的负跳变。方式方式2 2和方式和方式3 354方式方式2 2和方式和方式3

40、3多一附加位TB8、RB8,可用于多机通信和奇偶校验区别是波特率不同输出:写发送SBUF即启动发送发完置位TI输入:置位REN 接收完后,若RI=0、SM2=0或收到的第9位为1,则置位RI 读接收SBUF557.3 7.3 多机通信多机通信 多个AT89S51单片机可利用串行口进行多机通信,经常采用主从式结构,该多机系统中有一个主机(AT89S51单片机或PC机)和多个从机(AT89S51单片机)。56主机与从机,每个从机有一个唯一的地址码。主机与从机,每个从机有一个唯一的地址码。主机可与每个从机通信,从机之间不能通信。主机可与每个从机通信,从机之间不能通信。主机每一时段只能与一个从机通信。

41、主机每一时段只能与一个从机通信。先叫地址,然后再通信。先叫地址,然后再通信。主机的主机的RXD与从机的与从机的TXD相连,主机相连,主机TXD与从机与从机的的RXD端相连。从机地址分别为端相连。从机地址分别为00H、01H、02H。57 波特率(Baud rate)即调制速率,指的是信号被调制以后在单位时间内的变化,即单位时间内载波参数变化的次数。它是对符号传输速率的一种度量,1波特即指每秒传输1个符号。 比特率:比特率:每秒钟传送的二进制位数,用每秒钟传送的二进制位数,用 b / s b / s 表示表示(b b表示表示bitbit) 波特率是指数据信号对载波的调制速率,它用单位时间内波特率

42、是指数据信号对载波的调制速率,它用单位时间内载波调制状态改变的次数来表示,其单位是波特(载波调制状态改变的次数来表示,其单位是波特(BaudBaud)。)。波特率与比特率的关系是比特率波特率与比特率的关系是比特率= =波特率波特率X X单个调制状态对单个调制状态对应的二进制位数。应的二进制位数。 7.4 7.4 波特率的制定方法波特率的制定方法 在无信号调制的串行传输中,波特率在无信号调制的串行传输中,波特率= =比特率比特率 ,因此课,因此课本定义为:串口每秒发送(或接收)的位数。本定义为:串口每秒发送(或接收)的位数。58在串行通信中,收发双方对发送或接收数据的速率要在串行通信中,收发双方

43、对发送或接收数据的速率要有约定。通过软件可对单片机串行口编程为四种工作有约定。通过软件可对单片机串行口编程为四种工作方式,其中方式方式,其中方式0 0和方式和方式2 2的波特率是固定的,而方式的波特率是固定的,而方式1 1和方式和方式3 3的波特率是可变的,由定时器的波特率是可变的,由定时器T1T1的溢出率来的溢出率来决定。决定。 串行口的四种工作方式对应串行口的四种工作方式对应三种波特率三种波特率。由于输。由于输入的移位时钟的来源不同,所以,各种方式的波特率入的移位时钟的来源不同,所以,各种方式的波特率计算公式也不相同。计算公式也不相同。方式方式0 0的波特率的波特率 = fosc/12=

44、fosc/12方式方式2 2的波特率的波特率 = =(2 2SMOD/64/64) fosc fosc 方式方式1 1的波特率的波特率 = =(2 2SMOD/32/32)(T1T1溢出率)溢出率)方式方式3 3的波特率的波特率 = =(2 2SMOD/32/32)(T1T1溢出率)溢出率)波特率设计波特率设计59 当当T1T1作为波特率发生器时,最典型的用法是使作为波特率发生器时,最典型的用法是使T1T1工作在自工作在自动再装入的动再装入的8 8位定时器方式(即方式位定时器方式(即方式2 2,且,且TCONTCON的的TR1=1TR1=1,以启,以启动定时器)。这时溢出率取决于动定时器)。这

45、时溢出率取决于TH1TH1中的计数值。中的计数值。 T1 T1 溢出率溢出率 = = foscfosc /12 /12256 256 (TH1TH1) 在单片机的应用中,常用的晶振频率为:在单片机的应用中,常用的晶振频率为:12MHz12MHz和和11.0592MHz11.0592MHz。所以,选用的波特率也相对固定。常用的串行。所以,选用的波特率也相对固定。常用的串行口波特率以及各参数的关系如表所示。口波特率以及各参数的关系如表所示。6061例例 89C51单片机时钟振荡频率为11.0592MHz,选用定时器T1工作模式2为波特率发生器,波特率为2400b/s,求初值。解:解:设波特率控制位

46、设波特率控制位SMOD0=0,定时器,定时器T1计数计数脉冲控制位脉冲控制位T1M=0,则有:,则有:62UARTUART使用步骤使用步骤1.设置串口工作模式,SCON的SM0,SM1使其工作于模式1,REN=1使能接收。2.根据波特率计算公式设置波特率,通常选用定时器模式2(自动重装初值定时器)比较适用。3.波特率是否需要倍速,PCON寄存器中的SMOD=1,波特率倍速。4.串口中断,一般来讲串口发送均会采用查询模式,串口接收较多采用中断模式,EA=1开全总中断,ES=1开串口中断,注意,要写好中断服务程序,且AT89C51的串口收发中断共用,因此中断服务函数中需要判断TI与RI的值。5.向

47、SBUF写入数据启动串口发送,读SBUF可取出接收到的数据。63 串行口工作之前,应对其进行初始化,主要是设置产串行口工作之前,应对其进行初始化,主要是设置产生波特率的定时器生波特率的定时器1 1、串行口控制和中断控制。具体步骤如、串行口控制和中断控制。具体步骤如下:下:确定确定T1T1的工作方式的工作方式(编程(编程TMODTMOD寄存器);寄存器);计算计算T1T1的初值的初值,装载,装载TH1TH1、TL1TL1;启动启动T1T1(编程(编程TCONTCON中的中的TR1TR1位);位);确定确定串行口控制串行口控制(编程(编程SCONSCON寄存器);寄存器);串行口在中断方式工作时,

48、要进行中断设置(编程串行口在中断方式工作时,要进行中断设置(编程IEIE、IPIP寄存器)。寄存器)。647.5 89S517.5 89S51与与89S5189S51点对点异步通信点对点异步通信通信协议要保证通信成功,通信双方必须有一系列的约定,这种约定称为通信规程或协议,只有双方遵守协议,才能顺利的进行通信。波特率 在异步通信中,收发双方必须约定好两件事:一是字符格式,二是采用的波特率及时钟频率和波特率的比例关系。65例题:双机串口通讯例题:双机串口通讯 甲乙两单片机通过串口进行通讯,甲机用一按键控制负责向乙机发送控制命令字符“A”、“B”、“C”和 “D” ,乙机根据收到的控制命令字符完成

49、以下功能: ALED1亮 BLED2亮 CLED1和LED2同时亮DLED1和LED2同时灭 传输波特率为9600 ,单片机晶振频率为11.0592MHz66电路图电路图XTAL218XTAL119ALE30EA31PSEN29RST9P0.0/AD039P0.1/AD138P0.2/AD237P0.3/AD336P0.4/AD435P0.5/AD534P0.6/AD633P0.7/AD732P1.0/T21P1.1/T2EX2P1.23P1.34P1.45P1.56P1.67P1.78P3.0/RXD10P3.1/TXD11P3.2/INT012P3.3/INT113P3.4/T014P3.

50、7/RD17P3.6/WR16P3.5/T115P2.7/A1528P2.0/A821P2.1/A922P2.2/A1023P2.3/A1124P2.4/A1225P2.5/A1326P2.6/A1427U1AT89C52C122pFC222pFC310uFX1CRYSTALR110kXTAL218XTAL119ALE30EA31PSEN29RST9P0.0/AD039P0.1/AD138P0.2/AD237P0.3/AD336P0.4/AD435P0.5/AD534P0.6/AD633P0.7/AD732P1.0/T21P1.1/T2EX2P1.23P1.34P1.45P1.56P1.67P1.78P3.0/RXD10P3.1/TXD11P3.2/INT012P3.3/INT113P3.4/T014P3.7/RD17P3.6/WR16P3.5/T115P2.7/A1528P2.0/A821P2.1/A922P2.2/A1023P2.3/A1124P2.4/A1225P2.5/A1326P2.6/A1427U2AT89C52C422pFC522pFC610uFX2CRYSTAL

温馨提示

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

评论

0/150

提交评论