yz(三)pc机和单片机之间的通信-平顶山工业职业技术学院精品课程

上传人:小** 文档编号:89362166 上传时间:2019-05-24 格式:PPT 页数:59 大小:869.01KB
返回 下载 相关 举报
yz(三)pc机和单片机之间的通信-平顶山工业职业技术学院精品课程_第1页
第1页 / 共59页
yz(三)pc机和单片机之间的通信-平顶山工业职业技术学院精品课程_第2页
第2页 / 共59页
yz(三)pc机和单片机之间的通信-平顶山工业职业技术学院精品课程_第3页
第3页 / 共59页
yz(三)pc机和单片机之间的通信-平顶山工业职业技术学院精品课程_第4页
第4页 / 共59页
yz(三)pc机和单片机之间的通信-平顶山工业职业技术学院精品课程_第5页
第5页 / 共59页
点击查看更多>>
资源描述

《yz(三)pc机和单片机之间的通信-平顶山工业职业技术学院精品课程》由会员分享,可在线阅读,更多相关《yz(三)pc机和单片机之间的通信-平顶山工业职业技术学院精品课程(59页珍藏版)》请在金锄头文库上搜索。

1、2,数据传输功能在监控系统中占有十分重要的地位。其作用是将传感器检测所得的电信号(检测对象的反应量),由井下传送道地面中心站进行集中处理,要求传输距离远)不中断)准确性高。因此,必须了解单片机的通信。 矿用传感器输出的电信号可分为连续变化的模拟量信号和阶越变化的开关量信号两大类。从广义上讲,开关量信号是一种简单的数字信号。模拟信号可通过模拟/数字转换器(A/D转换器)转换为数字信号。数字信号也可以通过数字/模拟转换器(D/A转换器)转换程模拟信号。按照系统所传输信号的不同,矿用监控系统可分为两类:模拟传输系统和数字传输系统。,前言,3,数字传输系统与模拟传输系统相比,具有以下优点: (1)抗干

2、扰能力强; (2)传输中的差错可以设法控制,以改善传输质量; (3)可以传递各种信息,使传输系统变得通用)灵活; (4)便于用计算机对系统进行管理。 由于井下电磁干扰严重及传感器种类繁多等因素,数字传输在矿井监控信息传输系统中得到越来越广泛的应用,所以必须了解并熟练掌握单片机通信。,4,一、任务分析,二、任务演示,三、相关知识,四、任务布置,5,一、任务分析,(一)单片机单机的通信 异步串行通信通常以字符(或者字节)为单位组成字符帧传送。字符帧由发送端一帧一帧地传送,接收端通过传输线一帧一帧地接收。在方式0中波特率由晶体振荡器的频率决定,与T1无关,所以无需对T1进行设置。本设计中波特率不倍增

3、,所以无需对PCON进行设置(因单片机复位时波特率倍增位SMOD已置成0)。采用串行通信方式0,所以SCON设置为00H。 字符帧由三个部分组成,分别是起始位)数据位和停止位,如图9-1所示:,返回,6,起始位位于字符帧的开头,占一位,为0(低电平),表示发送端开始发送一帧数据。 数据位紧跟起始位后,低位在前,高位在后,根据串行通信工作方式的不同,数据位可为8位或9位。 停止位位于字符帧的末尾,占一位,为1(高电平),表示一帧数据发送完毕。,1、串行接收 在串行接收数据时,当CPU允许接收(即串行口控制寄存器SCON中的REN位为1)时,外部数据通过引脚RXD(P3.0)串行输入,数据低位在前

4、,高位在后,一帧数据接收完毕,再并行送入接收缓冲器SBUF中,同时由硬件将接收中断标志位RI置“1”。,7,2、串行发送 在串行发送数据时,将发送数据并行写入发送缓冲器SBUF中,同时启动数据由TXD(P3.1)引脚串行发送,当一帧数据发送完毕(即发送缓冲器空),由硬件自动将发送中断请求标志位TI置“1”。 3、数据传送速率 串行通信的速率用波特率来表示,所谓波特率就是指一秒钟传送数据位的个数。每秒钟传送一个数据位就是1波特,即1波特1bps(位/秒)。时钟频率高,则波特率高,通信速度就快;反之,时钟频率低,波特率就低,通信速度就慢。,8,4、串行通信控制 串行通信主要是由串行口控制寄存器SC

5、ON控制,其主要用于串行通信的工作方式)控制,多机通信时传送数据或地址的控制,是否允许接收数据控制,串行数据接收或发送完毕控制等。,(二)单片机的多机通信 使甲)乙双方能够进行通信。要求:将甲机内部RAM20H27H单元的数据发送给乙机。,返回,9,返回,二、任务演示,10,(一)单片机的单机通信 1、串行通信控制 (1) 串行口控制寄存器SCON SCON是51系列单片机的一个可位寻址的专用寄存器,用于串行通信方式选择,接收和发送控制,串行口状态指示等。单元地址为98H,位地址为98H9FH。寄存器的内容及位地址见表9-2。,表9-2 SCON寄存器,返回,三)相关知识,11,(2)SM0

6、、SM1串行口工作方式选择位。 这两位用于选择串行口的4种工作方式,其状态组合和对应工作方式见表9-3。 表9-3 串行口工作方式选择,(3)SM2、TB8、RB8多机通信控制位 在方式2和方式3时,TB8是发送数据的第9位,RB8是接收数据的第9位,由用户用指令进行置“1”或清“0”,TB8和RB8是对应的,在发送端发的TB8位就是接收端接收的RB8位。,12,方式2和方式3用于多机通信时,在发送端若TB8=1,则表示发送的为地址帧;若TB8=0则表示发送的为数据帧。 接收端若SM21,表示地址接收状态,若接收到的RB8=1,即接收的为地址帧时,将接收到的地址送入接收SBUF中,并置位RI产

7、生中断请求;若RB8=0,即接收到的为数据帧,RI不置“1”,同时将接收到的数据帧丢弃。若SM20,表示数据接收状态,则不论RB8=1或RB8=0,都将接收到的数据送入接收SBUF中,并产生中断请求。 在方式2和方式3用于双机通信时,TB8)RB8可作奇偶校验位用。 在方式1中,当SM2=0时,RB8为接收到的停止位;当SM2=1,则只有接收到有效停止位时,RI才置“1”。而串行口工作在方式0中,SM2必须置“0”,不用TB8和RB8位。,13,(4)REN允许接收位 由指令置“1”或清“0”,REN1时,允许接收数据;REN0时,禁止接收数据。 (5)TI发送中断标志位 在方式0时,发送完第

8、8位数据后,该位由硬件置“1”。在其他方式下,在发送停止位之初,由硬件置“1”。 因此,TI1表示帧发送结束,其状态既可供软件查询使用,也可用于请求中断。TI在查询方式或中断方式下都必须由指令清“0”。 (6)RI接收中断标志位 在方式0时,接收完第8位数据后,该位由硬件置“1”。在其他方式下,在接收停止位的中间,该位由硬件置“1”。因此,RI1表示帧接收结束,其状态既可供软件查询使用,也可用于请求中断。同样,RI在查询方式或中断方式下都必须由指令清“0”。,14,(7)电源控制寄存器PCON PCON不可位寻址,字节地址为87H。PCON主要是为CHMOS型51系列单片机的电源控制而设置的专

9、用寄存器,其各控制位的符号见表9-4。,与串行通信有关的只有D7位(SMOD),该位为波特率倍增位。当SMOD=1时,串行口波特率增加一倍;当SMOD=0时,串行口波特率为设定值。当系统复位时,SMOD=0。 GF1、GF0、PD和IDL位为电源控制位,其中GF1和GF0为通用标志位,由指令置“1”或清“0”。PD和IDL位为低功耗方式控制位,其中PD位为掉电方式控制位,PD=1时,进入掉电工作方式;IDL位为待机方式控制位,IDL=1时,进入待机工作方式,表9-4 PCON寄存器,15,2、工作方式 51系列单片机串行通信有4种工作方式,由SCON中的SM0和SM1位确定。 方式0 串行口工

10、作在方式0时,作同步移位寄存器使用,以8位数据为一帧,无起始位和停止位。串行数据由RXD(P3.0)端输入或输出端,同步移位脉冲由TXD(P3.1)端输出。这种工作方式常用于扩展I/O口中,外接移位寄存器(并入串出移位寄存器74LS165或串入并出移位寄存器74LS164),实现数据并行输入或输出。工作在方式0时,波特率固定为fosc/12,即每个机器周期输入或输出一位数据。,16,(1)数据发送 当数据写入SBUF后,从RXD端输出,在移位脉冲的控制下,逐位移入74LS164,74LS164完成数据的串并转换。当8位数据全部输出后,由硬件将TI置“1”,发出中断请求。数据由74LS164并行

11、输出,其接口电路如图9-5所示,RXD端接74LS164的串行输入端A)B,TXD接74LS164的时钟脉冲输入端CLK,P1.0接74LS164的清零端。由该图可知通过外接74LS164,串行口能够实现数据的并行输出。,图9-5 方式0 外接移位寄存器输出,17,(2)数据接收 要实现接收数据,必须首先把SCON中的允许接收位REN置“1”。当REN为1时,数据在移位脉冲的控制下,从RXD端输入。当接收完8位数据时,将接收中断标志位RI置“1”,发出中断请求。数据由74LS165并行输入,其接口电路如图9-6所示。RXD接74LS165的数据输出端Q,TXD接74LS165的时钟脉冲输入端C

12、LK,P1.0接移位/置数端。由该电路可知,通过外接74LS165,串行口能够实现数据的并行输入。,方式0 外接移位寄存器输入,18,方式1 方式1为10位异步串行通信方式。其帧格式为1个起始位)8个数据位和1个停止位,其波特率可调。 (1)数据发送 数据写入SBUF后,就启动发送器开始发送,此时由硬件加入起始位和停止位,构成一帧数据,由TXD串行输出。发送完一帧数据后,将TI置“1”,通知CPU可以进行下一个数据的发送。 (2)数据接收 REN=1且接收到起始位后,就开始接收一帧数据。当停止位到来后,把停止位送入RB8中,并置位RI,通知CPU接收到一个数据,将其从SBUF中取走。,19,(

13、3)波特率确定,工作在方式1时,其波特率是可变的,波特率的计算公式为:,其中,SMOD为PCON寄存器的最高位,其值为1或0。 当定时器1作波特率发生器使用时,选用工作方式2(即自动重装初值方式),可以避免因程序反复装入定时初值所引起的定时误差,使波特率更加稳定。设T1初值为X,则溢出周期为:,20,溢出率为溢出周期的倒数,则波特率的计算公式为:,T1的初值为:,21,方式2 方式2为11位异步串行通信方式。其帧格式为1个起始位)9个数据位和1个停止位。与方式1相比增加了一个第9位数据位(D8),其功能由用户确定,是一个可编程位。,22,(1)数据发送 发送前先根据通信协议用指令设置好SCON

14、中的TB8(发送端发送的第9位数据,双机通信时作奇偶校验位;多机通信时作地址/数据标识位, TB8为1时发送的为地址, TB8为0时发送的为数据)。 然后将要发送的数据(D0D7)写入SBUF中,而D8位的内容则由硬件电路从TB8中直接送到发送移位寄存器的第9位,并以此来启动串行发送。一帧发送完毕,将TI位置“1”,其他过程与方式1相同。,23,(2)数据接收 方式2的接收过程也与方式1基本类似,所不同的只在第9位数据上,串行口把接收到的前8位数据送入SBUF,而把第9位数据送入RB8。在接收前先将REN位置“1”,将RI位清“0”。然后根据SM2的状态和接收到的RB8的状态决定串行口在数据到

15、来后是否使RI置“1”,如RI置“1”则接收数据,否则不接收数据。 当SM2=0时,单片机处于数据接收状态,不管RB8为0还是为1,RI均置“1”,此时串行口将接收发送来的数据。 当SM2=1时,单片机处于地址接收状态。如接收到的RB8为1时,表示接收到的为地址,此时RI置“1”,串行口接收发来的地址;如接收到的RB8为0时,表示接收到的为数据,因本机当前处于地址接收状态,所以该数据不能被接收,RI不置“1”,此数据为发送给其他单片机的数据。,24,(3)波特率确定,方式2的波特率是固定的,由晶振频率及SMOD的值确定。当SMOD为0时,波特率为晶振频率1/32,即fosc/32;当SMOD为

16、1时,波特率为晶振频率的1/64,即fosc/64。用公式表示为:,方式3 方式3同方式2相似,只不过方式3的波特率是可变的,由用户来确定。其波特率的确定同方式1。,25,(二)多机通信 MCS-51串行口的方式2和方式3有一个专门的应用领域,即多机通信。这一功能通常采用主从式多机通信方式,在这种方式中,用一台主机和多台从机。主机发送的信息可以传送到各个从机或指定的从机,各从机发送的信息只能被主机接收,从机与从机之间不能进行通信。图9-7是多机通信的一种连接示意图。,图9-7 多机通信连接示意图,26,多机通信的实现,主要依靠主)从机之间正确地设置与判断SM2和发送或接收的第9位数据来(TB8或RB8)完成的。我们首先将上述二者的作用总结如下: 在单片机串行口以方式2或方式3接收时,一方面,若SM2=1,表示置多机通信功能位,这时有两种情况:(1)接收到第9位数据为1。此时数据装入SBUF,并置RI=1,向CPU发中断请求;(2)接收到第9位数据为0。此时不产生中断,信息将被丢失,不能接收。 另一方面,若SM2=0,则接收到的第9位信息无

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

当前位置:首页 > 商业/管理/HR > 管理学资料

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