单片机技术与实践教案_chap8

上传人:woxinch****an2018 文档编号:56937902 上传时间:2018-10-17 格式:PPT 页数:47 大小:1.09MB
返回 下载 相关 举报
单片机技术与实践教案_chap8_第1页
第1页 / 共47页
单片机技术与实践教案_chap8_第2页
第2页 / 共47页
单片机技术与实践教案_chap8_第3页
第3页 / 共47页
单片机技术与实践教案_chap8_第4页
第4页 / 共47页
单片机技术与实践教案_chap8_第5页
第5页 / 共47页
点击查看更多>>
资源描述

《单片机技术与实践教案_chap8》由会员分享,可在线阅读,更多相关《单片机技术与实践教案_chap8(47页珍藏版)》请在金锄头文库上搜索。

1、本章分为三节,主要介绍:,6.2 80C51的串行口,6.1 计算机串行通信基础,6.3 单片机串行口应用举例,6.1 计算机串行通信基础,随着多微机系统的广泛应用和计算机网络技术的普及,计算机的通信功能愈来愈显得重要。计算机通信是指计算机与外部设备或计算机与计算机之间的信息交换。 通信有并行通信和串行通信两种方式。在多微机系统以及现代测控系统中信息的交换多采用串行通信方式。,计算机通信是将计算机技术和通信技术的相结合,完成计算机与外部设备或计算机与计算机之间的信息交换 。可以分为两大类:并行通信与串行通信。 并行通信通常是将数据字节的各位用多条数据线同时进行传送 。,并行通信控制简单、传输速

2、度快;由于传输线较多,长距离传送时成本高且接收方的各位同时接收存在困难。,串行通信是将数据字节分成一位一位的形式在一条传输线上逐个地传送。,串行通信的特点:传输线少,长距离传送时成本低,且可以利用电话网等现成的设备,但数据的传送控制比并行通信复杂。,最典型的串行式数据传输是RS232C,例如个人计算机中的Com1、Com2就属于RS232C。虽然个人计算机中的输入/输出接口,逐渐被新一代的USB网卡所取代,但USB网卡也属于串行式数据传输。串行式数据传输的媒介:铜导线、光纤、电波(无线传输)等。,二、串行通信的传输方向 1、单工 单工是指数据传输仅能沿一个方向,不能实现反向传输(一条线只能有一

3、种用途)。 2、半双工 半双工是指数据传输可以沿两个方向,但需要分时进行(一条线可输入亦可输出,分时处理)。 3、全双工 全双工是指数据可以同时进行双向传输(二条线可同时双向传输)。,单工 半双工 全双工,五、传输速率与传输距离 1、传输速率 比特率是每秒钟传输二进制代码的位数,单位是:位秒(bps)。如每秒钟传送240个字符,而每个字符格式包含10位(1个起始位、1个停止位、8个数据位),这时的比特率为:10位240个/秒 = 2400 bps 波特率表示每秒钟调制信号变化的次数,单位是:波特(Baud)。,波特率和比特率不总是相同的,对于将数字信号1或0直接用两种不同电压表示的所谓基带传输

4、,比特率和波特率是相同的。所以,我们也经常用波特率表示数据的传输速率。,2、传输距离与传输速率的关系串行接口或终端直接传送串行信息位流的最大距离与传输速率及传输线的电气特性有关。当传输线使用每0.3m(约1英尺)有50PF电容的非平衡屏蔽双绞线时,传输距离随传输速率的增加而减小。当比特率超过1000 bps 时,最大传输距离迅速下降,如9600 bps 时最大距离下降到只有76m(约250英尺)。,6.1.2 串行通信接口标准 一、RS-232C接口RS-232C是EIA(美国电子工业协会)1969年修订RS-232C标准。RS-232C定义了数据终端设备(DTE)与数据通信设备(DCE)之间

5、的物理接口标准。 1、机械特性 RS-232C接口规定使用25针连接器,连接器的尺寸及每个插针的排列位置都有明确的定义。(阳头),2、功能特性,4、过程特性过程特性规定了信号之间的时序关系,以便正确地接收和发送数据 。,远程通信连接,近程通信连接,6.2 80C51的串行口,有两个物理上独立的接收、发送缓冲器SBUF,它们占用同一地址99H ;接收器是双缓冲结构 ;发送缓冲器,因为发送时CPU是主动的,不会产生重叠错误。,6.2.1 80C51串行口的结构,SCON 是一个8位、可位寻址的特殊功能寄存器,其功能是用以设定串行口的工作方式、接收/发送控制以及设置状态标志:,6.2.2 80C51

6、串行口的控制寄存器,51系列串行端口的控制寄存器中的各位说明,1、SM0与SM1用于设置串行端口的工作方式,2、SM2:多机通信控制使能位。 在方式0时:SM2必须是0。 在方式1时:若SM2=1,则只有接收到有效停止位时,RI才置1。 在方式2或方式3时:当接收机的SM2=1时可以利用收到的第9位数据RB8来控制是否激活RI(RB80时不激活RI;RB81时收到的数据进入SBUF,并激活RI,进而在中断服务中将数据从SBUF读走)。 当SM2=0时,不论收到的RB8为0和1,均可以使收到的数据进入SBUF,并激活RI(即此时RB8不具有控制RI激活的功能)。通过控制SM2,可以实现多机通信。

7、,REN:若软件置REN=0,则禁止接收。若软件置REN=1,则启动串行口接收数据;,51系列串行端口的控制寄存器中的各位说明,3、REN 允许串行接收位,TB8:在以方式2、3传送数据时,本位为第9位传送位,可用软件来设置或清除。在双机通信时,一般作为奇偶校验位使用;在多机通信中用来表示主机发送的是地址帧还是数据帧。 若TB8=1为地址帧,TB8=0为数据帧。,4、TB8 发送的第9位数据,RB8:在方式0时,本位无作用在方式1时,若SM2=0,则本位是停止位。在方式2或方式3中,是接收到数据的第九位。作为奇偶校验位或地址帧/数据帧的标志位。,51系列串行端口的控制寄存器中的各位说明,5、R

8、B8 接收到的第9位数据,TI: 在方式0时,当串行发送完成第8位数据的传送时,则本位自动设置为1,并产生TI中断。 在方式1、2、3时,若完成串行发送停止位的传送时,则本位由内部硬件使TI自动置1,向CPU发中断申请。 在中断服务程序中,必须用软件将其清0,取消此中断申请。,51系列串行端口的控制寄存器中的各位说明,6、TI 传送中断标志位,RI: 在方式0时,当串行接收第8位数据结束时,本位自动设置1,并产生RI中断。 在方式1、2、3时,若完成接收到串行接收停止位时,由内部硬件使RI自动置1,向CPU发中断申请。也必须在中断服务程序中,用软件将其清0,取消此中断申请。,51系列串行端口的

9、控制寄存器中的各位说明,7、RI 接收中断标志位,PCON中只有一位SMOD与串行口工作有关 :,SMOD(PCON.7) 波特率倍增位。在串行口方式1、方式2、方式3时,波特率与SMOD有关,当SMOD=1时,波特率提高一倍。复位时,SMOD=0。,电源控制寄存器PCON,没有位寻址功能,6.2.3 80C51串行口的工作方式,一、方式0方式0时,串行口为同步移位寄存器的输入输出方式。主要用于扩展并行输入或输出口。数据由RXD(P3.0)引脚输入或输出,同步移位脉冲由TXD(P3.1)引脚输出。发送和接收均为8位数据,低位在先,高位在后。波特率固定为fosc/12。 1、方式0输出,2、方式

10、0输入,方式0接收和发送电路,二、方式1方式1是10位数据的异步通信口。TXD为数据发送引脚,RXD为数据接收引脚,传送一帧数据的格式如图所示。其中1位起始位,8位数据位,1位停止位。,1、方式1输出,2、方式1输入,用软件置REN为1时,接收器以所选择波特率的16倍速率采样RXD引脚电平,检测到RXD引脚输入电平发生负跳变时,则说明起始位有效,将其移入输入移位寄存器,并开始接收这一帧信息的其余位。接收过程中,数据从输入移位寄存器右边移入,起始位移至输入移位寄存器最左边时,控制电路进行最后一次移位。当RI=0,且SM2=0(或接收到的停止位为1)时,将接收到的9位数据的前8位数据装入接收SBU

11、F,第9位(停止位)进入RB8,并置RI=1,向CPU请求中断。,三、方式2和方式3方式2或方式3时为11位数据的异步通信口。TXD为数据发送引脚,RXD为数据接收引脚 。,方式2和方式3时起始位1位,数据9位(含1位附加的第9位,发送时为SCON中的TB8,接收时为RB8),停止位1位,一帧数据为11位。方式2的波特率固定为晶振频率的1/64或1/32,方式3的波特率由定时器T1的溢出率决定。,1、方式2和方式3输出,发送开始时,先把起始位0输出到TXD引脚,然后发送移位寄存器的输出位(D0)到TXD引脚。每一个移位脉冲都使输出移位寄存器的各位右移一位,并由TXD引脚输出。第一次移位时,停止

12、位“1”移入输出移位寄存器的第9位上 ,以后每次移位,左边都移入0。当停止位移至输出位时,左边其余位全为0,检测电路检测到这一条件时,使控制电路进行最后一次移位,并置TI=1,向CPU请求中断。,2、方式2和方式3输入,接收时,数据从右边移入输入移位寄存器,在起始位0移到最左边时,控制电路进行最后一次移位。当RI=0,且SM2=0(或接收到的第9位数据为1)时,接收到的数据装入接收缓冲器SBUF和RB8(接收数据的第9位),置RI=1,向CPU请求中断。如果条件不满足,则数据丢失,且不置位RI,继续搜索RXD引脚的负跳变。,四、波特率的计算在串行通信中,收发双方对发送或接收数据的速率要有约定。

13、通过软件可对单片机串行口编程为四种工作方式,其中方式0和方式2的波特率是固定的,而方式1和方式3的波特率是可变的,由定时器T1的溢出率来决定。串行口的四种工作方式对应三种波特率。由于输入的移位时钟的来源不同,所以,各种方式的波特率计算公式也不相同。 方式0的波特率 = fosc/12 方式2的波特率 =(2SMOD/64) fosc 方式1的波特率 =(2SMOD/32)(T1溢出率) 方式3的波特率 =(2SMOD/32)(T1溢出率),当T1作为波特率发生器时,最典型的用法是使T1工作在自动再装入的8位定时器方式(即方式2,且TCON的TR1=1,以启动定时器)。这时溢出率取决于TH1中的

14、计数值。T1 溢出率 = fosc /12256 (TH1)在单片机的应用中,常用的晶振频率为:12MHz和11.0592MHz。所以,选用的波特率也相对固定。常用的串行口波特率以及各参数的关系如表所示。,串行口工作之前,应对其进行初始化,主要是设置产生波特率的定时器1、串行口控制和中断控制。具体步骤如下: 1、确定T1的工作方式(编程TMOD寄存器); 2、计算T1的初值,装载TH1、TL1; 3、启动T1(编程TCON中的TR1位); 4、确定串行口控制(编程SCON寄存器); 5、串行口在中断方式工作时,要进行中断设置(编程IE、IP寄存器)。,6.3 单片机串行口应用举例,在计算机分布

15、式测控系统中,经常要利用串行通信方式进行数据传输。80C51单片机的串行口为计算机间的通信提供了极为便利的条件。利用单片机的串行口还可以方便地扩展键盘和显示器,对于简单的应用非常便利。这里仅介绍单片机串并转换、串行口在通信方面的应用,关于键盘和显示器的扩展将在另一章介绍。,6.3.1 串并转换,1、74164是种串行转并行的IC,时钟脉冲引脚,数据输入引脚,数据输出引脚,6.3.1 串并转换,2、74165是种并行转串行的IC,时钟脉冲引脚,数据输出引脚,数据输入引脚,数据加载与移位控制引脚,1号引脚为数据加载与移位控制引脚,当此引脚为低态时,并行输入引脚的状态将全部被加载。当此引脚为高态时,可随时钟脉冲进行移位式串行输出。15号引脚为时钟脉冲禁止引脚,当此引脚为高态时,输出引脚不随时钟脉冲而变化。当此引脚为低态时,输出引脚随时钟脉冲进行变化移位式串行输出,实验1:移位式数据串行输入,串行数据的源是利用74165将指拔开关DIPSW的状态转换成串行数据而由P3.2输入,状态将由此反应到P0口所接的LED上。,6.3.1 单片机与单片机的通信,一、点对点的通信 1、硬件连接,二、应用程序,

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

当前位置:首页 > 中学教育 > 高中教育

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