第七章-串行通信及应用要点课件

上传人:痛*** 文档编号:241683747 上传时间:2024-07-15 格式:PPT 页数:37 大小:870.50KB
返回 下载 相关 举报
第七章-串行通信及应用要点课件_第1页
第1页 / 共37页
第七章-串行通信及应用要点课件_第2页
第2页 / 共37页
第七章-串行通信及应用要点课件_第3页
第3页 / 共37页
点击查看更多>>
资源描述
第七章第七章 串行通信及其接口串行通信及其接口7-1 概 述7-2 MCS-51的 串 行 口7-3 双机通信本章本章要点:要点:串行口的工作方式;MCS-51单片机的串口工作原理及控制;波特率的概念;重点掌握双机通信的通信过程及相应的软硬件设计。7-4 多机通信7.1概概述述1、按数据传输方向分类 1)单工方式数据只能向一个方向传输。2)半双工方式允许数据分时两个方向传输。3)全双工方式数据可以同时往两个相反的方向传输。2)同步方式:每个数据位占用的时间都相等,发送机每一个基本的时间单位发送一位,接收机与发送机的时钟必须严格同步。其格式如图。2、按传输数据格式分类:异步和同步通信方式1)异步方式:用一个起始位表示字符的开始,停止位表示字符的结束。数据位则在起始位之后,停止位之前,这样构成一帧,其格式如图。3常用串行接口标准nRS-232 RS-232是PC机与通信工业中应用最广泛的一种串行接口。RS-232被定义为一种在低速率串行通讯中增加通讯距离的单端标准。RS-232采取不平衡传输方式,即所谓单端通讯.0:+5+15V,1:在-5-15V 传送距离最大为约15米 最高速率为20kb/s 点对点RS-422/485 RS-422、RS-485与RS-232不一样,数据信号采用差分传输方式,也称作平衡传输,它使用一对双绞线,将其中一线定义为A,另一线定义为B。1:A、B电压差在+2+6V 0:A、B电压差在-26V 在RS-485中还有一“使能”端,而在RS-422中这是可用可不用的RS-422/485RS-422的最大传输距离为4000英尺(约1219米),最大传输速率为10Mb/s。其平衡双绞线的长度与传输速率成反比,在100kb/s速率以下,才可能达到最大传输距离。一般100米长的双绞线上所能获得的最大传输速率仅为1Mb/s。RS-485比RS-422有改进,总线上可多32个设备。通用串行总线USBnUSB接口特点接口特点1.接口类型一致 2.速度快目前USB2.0速度达480MbpsM3.接口数量无限 一个设备上如果有USB接口,那其它USB设备接到此口上和接到主机的USB接口上是一样的。USB可连接127个周边设备,所以说是“无限的”。4.提供外设电源 5.具有即插即用的功能 6.具有热插拔功能 USB外设可以带电插拔功能。7.传输距离5mIEEE1394使用方便,支持热插拔,即插即用,无需设置设备ID号,从Win98 SE以上版本的操作系统开始内置IEEE1394支持核心,无需驱动程序。数据传输速度快,IEEE1394a高达400Mbps,后续的IEEE1394b标准可将速度提升到800Mbps、1.6Gbps甚至3.2Gbps。自带供电线路,能提供840V可变电压,允许通过最大电流也达到1.5A左右,因此它能为耗电量要求小的设备进行供电。真正点对点连接(peertopeer),设备间不分主从,可直接实现两台DV间的数据传输或是多台电脑共享一台DV机,而且从理论上讲我们可以直接将IEEE1394接口DV机中的图像数据保存到IEEE1394接口的硬盘中。7.2MCS-51的串行口的串行口7.2MCS-51的串行口的串行口1、数据缓冲器SBUF 发送SBUF和接收SBUF共用一个地址99H。2、串行口控制寄存器SCON 寄存器的字节地址为98H,可位寻址。SCON格式如图。SM0、SM1:控制串行口的工作方式 00 01 10 11 SM2:多机控制位,用于多机通讯。REN:允许接收控制位,REN=1,允许接收;REN=0,禁止接收。TB8:发送的第9位数据位,可用作校验位和地址/数据标识位RB8:接收的第9位数据位或停止位TI:发送中断标志,发送一帧结束,TI=1,必须软件清零RI:接收中断标志,接收一帧结束,RI=1,必须软件清零3特殊功能寄存器PCON其字节地址为87H,没有位寻址功能,其中与串行接口有关的只有D7位。SMOD(PCON.7):波特率倍增位。当SMOD=1时,波特率加倍;当SMOD=0时,波特率不加倍。3、串行口的工作方式(1)方式0:同步移位寄存器方式。用于扩展并行I/O接口。1.一帧8位,无起始位和停止位。2.RXD:数据输入/输出端。TXD:同步脉冲输出端,每个脉冲对应一个数据位。3.波特率B=fosc/12如:fosc=12MHz,B=1MHz,每位数据占1s。4.发送过程:写入SBUF,启动发送,一帧发送结束,TI=1。接收过程:REN=1且RI=0,启动接收,一帧接收完毕,RI=1。发发送送时时序序写入写入SBUFRXD输出输出TXDTID0D1D2D3D4D5D6D7写写REN=1RI=0RXD输入输入RI 接接收收时时序序(a)(b)(2)方式1:8位数据异步通讯方式。1.一帧10位:8位数据位,1个起始位(0),1个停止位(1)。2.RXD:接收数据端。TXD:发送数据端。3.波特率:用T1作为波特率发生器,B=(2SMOD/32)T1溢出率。4.发送:写入SBUF,同时启动发送,一帧发送结束,TI=1。接收:REN=1,允许接收。接收完一帧,若RI=0且停止位为1(或SM2=0),将接收数据装入SBUF,停止位装入RB8,并使RI=1;否则丢弃接收数据,不置位RI。当REN=1,CPU开始采样RXD引脚负跳变信号,若出现负跳变,才进入数据接收状态,先检测起始位,若第一位为0,继续接收其余位;否则,停止接收,重新采样负跳变。数据采样速率为波特率16倍频,在数据位中间,用第7、8、9个脉冲采样3次数据位,并3中取2保留采样值。方式1串行发送接收时序图写入写入SBUF采样采样(a)发送时序图发送时序图TXD数据输出数据输出TID0D1D2D3D4D5D6D7停止位停止位起始位起始位RXD输入数据输入数据(b)接收时序图接收时序图D0D1D2D3D4D5D6D7停止位停止位起始位起始位RI检测检测负跳变负跳变(3)方式2和方式3 9位数据异步通讯方式。1.一帧为11位:9位数据位,1个起始位(0),1个停止位(1)。第9位数据位在TB8/RB8中,常用作校验位和多机通讯标识位。2.RXD:接收数据端,TXD:发送数据端。3.波特率:方式2:BR=(2SMOD/64)fosc。方式3:BR=(2SMOD/32)T1溢出率。4.发送:先装入TB8,写入SBUF并启动发送,发送结束,TI=1。接收:REN=1,允许接收。接收完一帧,若RI=0且第9位为1(或SM2=0),将接收数据装入接收SBUF,第9位装入RB8,使RI=1;否则丢弃接收数据,不置位RI。发发送送时时序序写入写入SBUFTXD输出输出TIRXD输入输入接接收收时时序序RID0D1D2D3D4D5D6TB8停止位停止位起始位起始位D7D0D1D2D3D4D5D6RB8停止位停止位起始位起始位D7检测检测负跳变负跳变(4)计算波特率方式0为固定波特率:BR=fosc/12方式2可选两种波特率:BR=(2SMOD/64)fosc 方式1、3为可变波特率,用T1作波特率发生器。BR=(2SMOD/32)T1溢出率 T1溢出率=fosc/(12 (256-x))串行口方式1、3,根据波特率选择T1工作方式,计算时间常数。T1选方式2:TH1=X=28-(2SMOD fosc)/(1232BR)T1选方式1用于低波特率,需考虑T1重装时间常数时间。简单示例n设波特率为1200bps,求定时器初值X大小并进行初始化(设SMOD=0)1200=(1/32)*(fosc/(12*(256-x))X=E6H MOV TMOD,#20H MOV TH1,#0E6H MOV TL1,#0E6H MOV PCON,#00H MOV SCON,#50H 7.3双机通信双机通信7-3-1主从机间的通信主从机间的通信 1 双机串行异步通信(1)单片机与单片机间的串行异步通信接口设计 两台8031直接通信如图:两台8031采用RS232C总线通信如图:()单片机与PC系列微机间的异步串行通信接口设计 8031单片机与PC系列微机是两种不同类型的机种,它们的硬件结构不同,具有的电气特性也不一样,因此它们之间不能用导线直接连接,而要通过电平转换电路。8031单片机和PC机通过RS232C总线通信接口图如下:双机通信实验n项目1:nA机循环发送0、1、2给B机,B机收到0,对P1.0口线的LED取反,收到1对P1.1口线的LED取反,类推。n项目2:n利用8279的键盘、显示管理功能,A机按下8279管理的5个键,B机通过8279管理的数码管分别显示A、B、C、D、E。项目1:发送机程序;发送机程序 ORG 0000H LJMP MAIN ORG 0010H MAIN:LCALL DELAY LCALL INITSYS MOV 20H,#00H LOOP:LCALL SEND LCALL DELAY INC 20H MOV A,20H CJNE A,#03H,LOOP MOV 20H,#00H AJMP LOOP SJMP$;发送子程序 SEND:MOV A,20H CLR TI MOV SBUF,A JNB TI,$RET;串口初始化程序INITSYS:MOV SCON,#50H MOV TMOD,#20H MOV TH1,#0F3H MOV TL1,#0F3H MOV PCON,#00H ;SMOD=0 SETB TR1 CLR EA RET;延时子程序DELAY:MOV R6,#00HLOOP1:MOV R7,#00H DJNZ R7,$DJNZ R6,LOOP1 RET 项目1:接收机程序 ORG 0000H LJMP MAIN ORG 0023HRECEIVE:CLR RI MOV A,SBUF P10:CJNE A,#00H,P11 CPL P1.0 AJMP BACK P11:CJNE A,#01H,P12 CPL P1.1 AJMP BACK P12:CPL P1.2 BACK:RETI ORG 0200H MAIN:MOV R0,#0FFH DJNZ R0,$LCALL INITSYS SJMP$INITSYS:MOV SCON,#50H MOV TMOD,#20H MOV TH1,#0F3H MOV TL1,#0F3H MOV PCON,#00H ;SMOD=0 SET TR1 SETB EA SETB ES RET 7-3-2多机通信接口多机通信接口教学目标n教学要求:掌握多机通信的原理及实现过程,能设计简单的多机通信系统及程序。n本节重点:多机通信原理n本节难点:SM2、TB8、RB8在通信过程中的作用多机通信的应用领域典型应用:校园卡系统、智能楼宇、自动温控蔬菜大棚、大型粮库、工厂自动化;1打卡机 2打卡机 3打卡机 n打卡机1MCS-51多机通信原理多机通信原理 串行口控制寄存器串行口控制寄存器SCONSCON中的中的SM2SM2为多机通信接口为多机通信接口控制位。串行口工作于方式控制位。串行口工作于方式2 2或或3 3。SM2SM2多机通信位;多机通信位;TB8/RB8TB8/RB8地址地址/数据区分位数据区分位;若若SM2SM2为为1 1,则仅当接收到的第,则仅当接收到的第9 9位数据位数据RB8RB8为为1 1时,时,数据才装入数据才装入SBUFSBUF,置位置位RIRI,请求请求CPUCPU对数据进行处理;对数据进行处理;如果接收到的第如果接收到的第9 9位数据位数据RB8RB8为为0 0,则不产生中断标志,则不产生中断标志RIRI,信息丢失,信息丢失,CPUCPU不做任何处理。不做任何处理。当当SM2SM2为为0 0时,则接收到一个数据后,不管第时,则接收到一个数据后,不管第9 9位数位数据据RB8RB8是是0 0还是还是1 1,都将数据装入接收缓冲器,都将数据装入接收缓冲器SBUFSBUF并置并置位中断标志位中断标志RIRI,请求请求CPUCPU处理。处理。关键是SM2与TB8、RB8的关系!SM2、RB8与从机动作关系SM2RB8从 机 动 作10此时不能接收数据11能收到主机发的数据(地址信息)00进入串口中断,对接收的数据进行处理01进入串口中断,对接收的数据进行处理通信过程所有从机的所有从机的SM2=1SM2=1,处于只接收地址帧状态处于只接收地址帧状态所有同学坐着听讲主机发地址信息,以第主机发地址信息,以第9 9位位TB8=1TB8=1表示发送的是地址表示发送的是地址老师喊同学名字从机接收到地址帧后与本机地址比较从机接收到地址帧后与本机地址比较所有同学听到名字与自己的名字比较被寻址从机被寻址从机SM2=0SM2=0,其作从机其作从机SM2=1SM2=1不变不变名字相符的同学站起来主机发数据信息,对已被寻址的从机因主机发数据信息,对已被寻址的从机因SM2=0SM2=0,可以接收主可以接收主机发来的信息。其余从机因机发来的信息。其余从机因SM2=1SM2=1不理睬主机。不理睬主机。老师与站起的同学进行提问回答课堂交流被寻址的从机被寻址的从机SM2SM2置置1.1.主机可另发地址帧与其它从机通信时主机可另发地址帧与其它从机通信时 。回答问题的同学坐下多机通信动画演示2多机通信系统设计多机通信系统设计 设多机通信系统主、从机晶振为6MHz,波特率为2400bps,以方式3进行多机串行通信。每次通信时主机先发送对应的从机地址,然后发一个字节数据。RS-485从机0#主机 RS-485RS-485从机1#RS-485从机n#图1 多机通信系统硬件结构主机软件设计-初始化子程序INIT:MOVTMOD,#20H MOV TH1,#0F9H;波特率为2400bps MOV TL1,#0F9H MOV SCON,#0F0H;方式3,SM2=1,允许接收 SETBTR1 RET主机软件设计-通信子程序流程返回置地址信息标志发地址置数据信息标志发数据开始图2主机通信子程序流程图从机软件设计-初始化程序INIT:MOVTMOD,#20H MOV TH1,#0F9H;设置波特率为2400 MOV TL1,#0F9H MOV SCON,#0F0H;方式3,SM2=1,允许接收 SETB TR1 SETB ES;允许串行口中断 SETB EAWAIT:SJMP WAIT;听号 从机软件设计-通信子程序 数据?接收并保存数据YN 清接收数据标志 准备收地址信息接收地址 呼本机?准备接收数据Y清中断标志返回 开始图3 从机通信程序流程图N从机串行中断通信程序SIO:CLRRIPUSHPSW ;现场保护PUSHACC MOVA,SBUF;接收串行数据XRLA,#ADDR;判断是否与本机地址相符JNZBACK;不相符则返回CLRSM2;相符则SM2为0CLR ES ;关串口中断,避免中断嵌套MOVA,SBUF;接收数据WAIT:JNBRI,WAIT CLR RI MOV R0,A ;保存数据 SETB SM2 ;恢复多机通信,SETB ES ;开串口中断BACK:POPACC ;恢复现场POPPSWRETI习题nP140 第6、9题
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 管理文书 > 施工组织


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!