项目八单片机双机通信设计

上传人:wuxin****2020 文档编号:253009043 上传时间:2024-11-27 格式:PPT 页数:40 大小:2.15MB
返回 下载 相关 举报
项目八单片机双机通信设计_第1页
第1页 / 共40页
项目八单片机双机通信设计_第2页
第2页 / 共40页
项目八单片机双机通信设计_第3页
第3页 / 共40页
点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,YangZhou Vocational college of environment and resources,主讲人:计算机科学与技术系 陈爱文,单片机,C,语言应用技术与实践,讲课稿,项目,8,单片机双机通信系统设计,知识目标:,1,单片机串行通信基础知识;,2,单片机与上位机通信基础知识,3,VB,基础知识。,能力目标:,1.,能根据设计任务要求编制程序流程图;,2.,会绘制单片机双机通信电路原理图;,3.,会用,keil C51,软件对源程序进行编译调试及与,protues,软件联调,实现电路仿真。,并行通信与串行通信,并行通信,:,所传送数据的各个位同时发送或接收。,相同时钟速率下,并行通信速度较快,适合高速本地通信。,串行通信,:,所传送的数据的各个位按顺序一位一位的发送或接收。,串行通信连线少、连接可靠,适合远距离通信。,同步串口与异步串口,同步串口,具有至少,1,根时钟线、,12,根数据线的串行通讯方式,利用时钟沿对齐数据,所以此种通讯较为可靠,可以实现很高的通讯速率,(,1Mbps,以上,可达,Gbps,级别,),。,SPI,、,IIC,、,IIS,都属于同步串口。,异步串口,无专门的时钟线,只有,12,根数据线,收发双发依据事先约定好的位速率确定各个数据位的时间位置,所以此种通讯方式可靠性相对差一些,速率在,1Mbps,以下。双线的异步串口最常见的是,UART,,以及衍生出的,RS232,、,RS485,等。美信公司的,1-WIRE,总线属于,1,根线的异步串口,温度传感器,DS18B20,就使用了此种总线接口。,同步通信与异步通信,(,1,)同步通讯异步通信的概念,同步和异步都属于串行数据传送方式,但二者的传送格式有所不同。同步方式的一帧内含有很多数据位,而异步方式一帧内只含有几个数据位。如果要传送一大堆数据,同步方式只给这串数据进行一次外包装(即添加“头帧”、“尾帧”、“校验”帧),而异步方式在传送这串数据时则要对数据的每一个字节分别加以包装(即添加“头”位、“尾”位和校验)。,显然在相同的数据传输波特率下,同步方式比异步方式的传送速度快,但同步方式要求收发双方在整个事件传送过程中始终保持严格同步,这将增加硬件上的难度,而异步通信只要求每帧(字节)的传送中短时间保持同步即可,实现起来要容易得多,。,同步、异步数据通信格式,同步传送的数据格式,异步通信数据帧格式,通信方向,单工传送,如果某种通信接口只能发送或者接收,这种单向传送的方法称为单工传送。,通信方向,半双工传送,数据在两机之间双向传送,此种方式称为双工传送。,收发不能同时进行,只能分时接收或发送,称为半双工传送。,通信方向,全双工传送,两机之间的发送和接收可以同时进行,称为全双工传送。,MCS51,的,UART,数据格式,每字节,10,位,,1,位起始位、,8,位数据、,1,位停止位。,按照约定好的速率,一位一位的发送与接收。,举例:串口发送二进制数,0b11101010,波特率,每秒传送的位数,单位,bps,。,9600bps,:每个码元时间宽度为,(1/9600)S,MCS51,的,UART,管脚定义与硬件连接,TXD,:发送脚,与,P3.1,复用,RXD,:接收脚,与,P3.0,复用,当,UART,正常工作时,,P3.0,和,P3.1,不能作为普通,IO,口使用,2,个,UART,互联通信时,需要交叉连接,任务,1,单片机双机通信设计,串行接口的结构,(,1,)数据缓冲寄存器,SBUF,两个,SBUF,,一个用于发送(只写);一个用于接收(只读)。映象地址均为,99H,(,2,)数据发送与接收控制,发送控制器在波特率作用下,将发送,SBUF,中的数据由并到串,一位位地传输到发送端口;接收控制器在波特率作用下,将接收接收端口的数据由串到并,存入接收,SBUF,中。,串行接口的结构,MCS51,的,UART,电平转换电路,PC,机的串口是,RS232,电平标准,(+15V0,-15V1),,而显然,MCS51,的,UART,是,5V-TTL,电平标准,因此需要加上电平转换电路,方可实现与,PC,机串口的通讯。,知识链接,二、,MAX232,基础知识,1.MAX232,简介,该产品是由德州仪器公司(,TI,)推出的一款兼容,RS232,标准的芯片。由于电脑串口,rs232,电平是,-10v+10v,,而一般的单片机应用系统的信号电压是,ttl,电平,0+5v,,,max232,就是用来进行电平转换的,该器件包含两个驱动器、两个接收器和一个电压发生器电路提供,TIA/EIA-232-F,电平。该器件符合,TIA/EIA-232-F,标准,每一个接收器将,TIA/EIA-232-F,电平转换成,5-V TTL/CMOS,电平。每一个发送器将,TTL/CMOS,电平转换成,TIA/EIA-232-F,电平。,2.,主要特点,(,1),单,+5V,电源工作,(,2),两个驱动器及两个接收器,(,3)30V,输入电平,(,4),低电源电流:典型值是,8mA,任务,2,单片机与,PC,通信,2.1,提出任务,功能为利用键盘在,PC,机中输入一个,6,字节(,12,位的,09,AF,)的二进制数,然后用鼠标点击通信命令按钮,PC,机就将此二进制数发给单片机,单片机收到此数后再原样发回,PC,机收到后显示在窗体上。试验者可通过肉眼比较发送和接收的两个数据,检验通信是否成功。,2.2,分析任务,1.,硬件电路设计,PC,机的某个串行口通过电缆线与,RS232,收发器,MAX232,的,232,电平端口三线交叉连接,如图,8-8,所示。,MAX232,的逻辑电平端口与单片机的串行口相连。,PC,机,RS232,的,9,针连接器的,4,脚和,6,脚、,7,脚和,8,脚不用连接。,图,8-8 PC,机与单片机的通信接口电路框图,PC,机与单片机的通信接口电路框图,任务,1,单片机双机通信设计,(,3,)接收数据部分,在程序中,接收一个字节的过程如下:,检测,RI,位,如果接收到数据,则,RI,位被硬件置,1,,如果,TI,为,0,,则继续等待;,RI=1,,表示已接收到一个字节,此时,可以将,SBUF,中的内容读入缓冲区;,将,RI,软件清,0,,准备接收下一字节;,程序中,使用,get_string(),发送数据,当检测到“,0”,字符时,表示已接收到完整的字符串,函数返回。,MCS51,的,UART,USB,转串口电路,对于新款的台式机以及笔记本电脑等没有串口的电脑,也可以用,USB,转串口的芯片,给电脑扩展出一个串口用于与单片机通信。,UART,相关的寄存器,UART,的控制寄存器,SCON,SM0,,,SM1,:串行口操作方式选择位。,SM2,:允许方式,2,和,3,的多机通信使能位。,REN,:允许串行接收位。,TB8,:方式,2,和,3,中要发送的第,9,位数据。,RB8,:方式,2,和,3,中已接收到的第,9,位数据。,TI,,,RI,:发送,/,接收中断标志。,UART,相关的寄存器,UART,的四种工作模式,SCON,的,SM0,,,SM1,:串行口操作方式选择位,两个选择位对应于四种状态,所以串行口能以四种方式工作。,UART,相关的寄存器,UART,的中断标志位,TI,与,RI,SCON,的,TI,:发送中断标志。在方式,0,中当串行发送完第,8,位数据时由硬件置位;在其他方式中,在发送停止位的开始时由硬件置位。当,TI=1,时,申请中断,,CPU,响应中断后,可以发送下一帧数据。在任何方式中,该位都必须由,软件清,0,。,SCON,的,RI,:接收中断标志。在方式,0,中串行接收到第,8,位结束时由硬件置位。在其他方式中,在接收到停止位的中间时刻由硬件置位。,RI=1,时申请中断,要求,CPU,取走数据。在任何工作方式中,该位必须由,软件清,0,。在系统复位时,,SCON,中的所有位都被清,0,。,UART,相关的寄存器,PCON,与波特率控制,PCON,:,PCON,是一个特殊功能寄存器(如下图所示),没有位寻址功能,字节地址为,87H,。,SMOD,:其中,D7,位(,SMOD,)为波特率选择位。其他均无意义。复位时的,SMOD,值为,0,。可用,MOV PCON,,,#80H,或,MOV 87H,,,#80H,指令使该位置,1,。当,SMOD=1,时,在串行口方式,1,,,2,或,3,情况下,波特率提高一倍。,UART,的波特率设置,定时器,1,、定时器,2,与波特率控制,方式,1,和,3,的波特率由定时器,1,或定时器,2,的溢出率所决定,通常设定相应定时器工作于自动重装模式。,当定时器,1,作波特率发生器时,波特率由下式确定:,波特率,=,(定时器,1,溢出率),/n,定时器,1,初值,=256-Fosc/(n*12*,波特率,),式中:,n,为,32,或,16,,取决于特殊功能寄存器,PCON,中的,SMOD,位的状态。若,SMOD=0,,则,n=32,。若,SMOD=1,,则,n=16,。,Fosc,为单片机晶振频率。,当定时器,2,作波特率发生器时,波特率由下式确定:,波特率,=,(定时器,2,溢出率),*12/32,定时器,2,初值,=65536-Fosc/(32*,波特率,),UART,方式,1,UART,的工作模式,1,串行口工作于方式,1,时,被控制为波特率可变的,8,位异步通信接口。传送一帧信息为,10,位,即,1,位起始位(,0,),,8,位数据位(低位在先)和,1,位停止位(,1,)。数据位由,TXD,发送,由,RXD,接收。波特率是可变的,取决于定时器,1,或,2,的溢出速率。,UART,使用步骤,设置串口工作模式。,SCON,的,SM0=0,,,SM1=1,使其工作于模式,1,,,REN=1,使能接收。,根据波特率计算公式设置波特率。注意,需要使定时器工作于自动重装模式。使用定时器,2,可以达到较高的波特率。,波特率是否需要倍速。如果使用定时器,1,做波特率发生器且倍速后方能满足波特率要求,则需要,PCON=0 x80,。,PCON,不影响定时器,2,产生的波特率。,串口中断。一般来讲串口发送均会采用查询模式,串口接收较多采用中断模式。,ES=1,可以打开串口中断,随后要,EA=1,打开全局中断。注意,要写好中断服务函数,而且,MCS51,的串口收发中断共用,因此中断服务函数中需要判断,TI,与,RI,的值。中断向量标号是,4,。,向,SBUF,写入数据启动串口发送,读,SBUF,可以取出接收到的数据,概念讲解,波特率:每秒钟传输二进制代码的位数,,1,波特,=1,位,/,秒,单位:,bps,,如每秒钟传送,240,个字符,每个字符格式含,10,位,则波特率为,10,位*,240,个,/,秒,=2400bps,。,波特率(方式,1,、方式,3,),=,(,2,SMOD,/32,),(,T1,溢出率),说明:单片机与单片机、单片机与计算机、计算机与计算机之间串口通讯都是用串口方式,1,,定时器工作方式为方式,2,T1,溢出率就是,T1,定时器溢出的频率,只要计算出,T1,定时器每溢出一次所需的时间,T,,那么,T,的倒数就是它的溢出率。,T1,溢出率,=fosc/12 256-(TH1)=,串口通讯在串
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


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

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


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