课题七单片机双机通信

上传人:沈*** 文档编号:187287271 上传时间:2023-02-13 格式:PPT 页数:21 大小:1.73MB
返回 下载 相关 举报
课题七单片机双机通信_第1页
第1页 / 共21页
课题七单片机双机通信_第2页
第2页 / 共21页
课题七单片机双机通信_第3页
第3页 / 共21页
点击查看更多>>
资源描述
n课题七单片机双机通信课题目标课题目标 通过本任务学习什么是计算机的通信,什么是 串口通信,什么是并口通信,学习用串行通信的方式实现单片机之间的信息交换,学会应用单片机的串行端口进行数据的输入/输出传送,能用串行通信实现数据传输。本课题的任务是将两个两个独立的单片机系统用连接线进行连接,使用串行通信串行通信进行数据传送。作为演示的系统,在其中一个单片机系统中通过键盘输入数据,通过单片机的串口传输到另一个单机系统的串口,并在另一个单片机中显示所输入的数据。课题分析课题分析 为了便于对串口的工作及串口程序的编写,本课题分为与PC通信和双机双机通信两两个任务。要实现两个单片机系统之间的通信,首先要考虑的是两个系统之间的信号的是如何传递问题,然后再考虑要传递的信号的用途问题。任务一任务一 与与PC通信通信 实现单片机通过串口电缆与PC相实现通信,将PC输出的字符全改为小写,并发回PC。单片机与PC的数据交换,但二者的电平标准不同,单片机采用TTL电平,PC采用RS232标准接口电平,因而需要电平转换电路。其中MAX232芯片就是这类电路中的一种,具体电路见图7-1所示。任务目标123456ABCD654321DCBATitleNumberRevisionSizeBDate:16-Dec-2006Sheet of File:G:桌面63456178751实验板sy003.ddbDrawn By:R210KC14.7uReSet162738495J2串口插座C1+1VDD2C1-3C2+4C2-5VEE6T2OUT7R2IN8R2OUT9T2IN10T1IN11R1OUT12R1IN13T1OUT14GND15VCC16U3C510uFC210uFC310uFC410uFRXDTXDVCCVCCMAX232图7-1 串口电平转换电路程序设计分析程序设计分析 if(ch=A)&(ch=Z)ch=ch+a-A;根据本任务的目标,要求单片机每接收到一个字符时,先作字符判断并转换,然后将字符通过串口发回PC机。本任务的附加条件,要求单片机本身需要设置串行口波特率设置为9600,选择模式1(无附加的奇偶校验位),即SCON需要设置的值为0X80,对应的T1应设置为模式2且TH1的值设置为0XFD。将字符中的大写字母转换为小写,首先应判断字符是否为大写字母,然后根据ASCII码的方式,加上小写字母与大写字母的差值就能完成转换,如下所示的语句:任务二任务二 双机通信双机通信 如图7-2所示电路原理图中,要求在单片机系统中通过键盘输入数据,通过单片机的串口传输到另一个单机系统的串口,在串口接收另一个单片机发送的数据并在数码管上显示。在图7-2中,键盘电路选择行列式矩阵键盘接在P2口;显示电路选择LED数码数码管动态显示电路,显示段码接P0口和位码接P1口;串行通信接口电路选择直接连接的插座,RXD、TXD与GND直接通过导线与另一单片机系统相连。任务目标123456ABCD654321DCBATitleNumberRevisionSizeBDate:15-Dec-2006Sheet of File:G:桌面63456178751实验板sy003.ddbDrawn By:EA/VP31X119X218RESET9RD17WR16INT012INT113T014T115P10/T1P11/T2P123P134P145P156P167P178P0039P0138P0237P0336P0435P0534P0633P0732P2021P2122P2223P2324P2425P2526P2627P2728PSEN29ALE/P30TXD11RXD10VCC40GND20U1AT89S51晶振11.0592MHzC620pC720pX1X2ALEa b c d e fghcom1com2 com3 com4a b c d e fghcom1com2 com3 com4123456789R1VCCVCCR210KC14.7uVCCRXDTXDGND图7-2 单片机系统电路程序设计分析程序设计分析 由任务可知,对于一个单片机系统而言,要求程序要完成的功能一是将本机的按键通过串口用异步通信的方式发送出去,二是对接收到另一单片机传送到串口的数据,先保存下来,再送LED数码管依次显示出来。因此,程序将为分三三个部分组成,其一是随时扫描键盘其一是随时扫描键盘,如果有键按下,则调用串口发送程序;其二是串口接收程序其二是串口接收程序,只要有数据到了,就执行数据接收程序,并把数据送到显示数组里;其三是动态其三是动态显示显示程序。为了完成这三个并行任务,最简单的方法采用中断进行任务分配,将串口接收程序使用串口中断对输入的数据进行检测和接收,将动态显示程序使用定时中断完成,而键盘扫描则采用主程序实时检测,程序的流程框图如图7-3所示。下面就这三个部分的程序进行具体的分析。图7-3 单片机程序框图 (A)主程序 (B)串口中断服务程序初始化读入键盘状态开始发送数据是否按下键刚按下键否接收到数据数据处理(存放到显示数组中)清中断标志接收数据?否(A)(B)串行中断入口中断处理结束一、串口接收程序、串口接收程序 if(RI=1)display_datapoint+=SBUF;if(point=8)point=0;RI=0;作为串口中断,当串口在发送或接收完一个数据时,会使对应的标志位TI(RI)出现置位,产生中断。因而在出现中断时,需要先判断是不是RI标志(接收),如果是接收到了数据,则数据自动被硬件保存在SBUF单元中,然后从SBUF单元中读出具体的数据进行处理,在本任务中是将数据送到显示数组中。对应的程序如下所示:二、显示程序 用定时中断进行动态显示,其实质是利用定时中断产生每一个数码管显示延迟的时间。由于每次定时中断只能显示一位数字,所以需要设置全局变量来保存显示位置等信息。三、键盘处理三、键盘处理 void sendchar(unsigned char ch)SBUF=ch;while(TI=0);TI=0;作为键盘扫描程序,在前面的课题中已经有较详细的说明,在此不作过多的说明。具体处理仅需将数据发送。使用串口的发送数据,需要将发送的数据送至SBUF单元,如果发送完毕,则TI自动置位,需要将其手动清除,发送一个字符的程序如下所示。一、有关通信的基本概念一、有关通信的基本概念 数据通信的基本方法有并行通信和串行通信两种。异步串行通信异步串行通信以字符为传送单位用起始位和停止位标识每个 字符的开始和结束,字符间隔不固定,只需字符传送时同步。异步串行通信的双方需要两项约定:异步串行通信是指通信时发送设备与接收设备使用各自的时钟控制数据的发送和接收的过程。异步串行通信异步串行通信的特点是以字符为单位进行传输,传送字符与字符之间的时间间隔是任意的,但所传送每个字符中的各位是以固定的时间传送的,硬件设备简单。串行通信的基本方式分为同步串行通信同步串行通信和异步串行通信。异步串行通信。字符格式字符格式 一帧字符位数的规定:数据位,校验位数据位,校验位,起始起始位和停止位。位和停止位。波特率 波特率是数据传送的速率速率,要求发送方和接收方都要以相同的数据传送速率工作。在异步通信中,波特率为每秒钟传送二进制数码的位数,以位/秒秒作为单位。一、有关通信的基本概念一、有关通信的基本概念二、与串口控制相关的寄存器二、与串口控制相关的寄存器 SCON SCON是可编程控制的,修改SCON的值,就可改变串口工作方式和工作状态,各位定义如下:SM0 SM1 SM2 REN TB8 RB8 TIRI SM0、SM1:串口模式设定位。00:方式0;01:方式1;10:方式2;11:方式3。SM2(SCON.5):8051连接多重处理器通信的控制位。即在工作方式2、3中允许多机通信的控制位。REN(SCON.4):串行通信接收允许位。REN=1时允许接收,REN=0时禁止接收。该位可以由软件来设定。TB8(SCON.3):在串行通信模式2和和模式3操作时的第9个传送数据位。RB8(SCON.2):在串行通信模式2和模式3操作时的第9个接收数据位。TI(SCON.1):串行通信传送的中断处理标志位。在方式0中,发送完第8位数据时,由硬件自动置位,其它方式中,在发送停止位之初,由硬件自动置位。T=1时,申请中断,CPU响应中断后,发送下一帧数据。注意在任何方式中,T1都必须由软件先清零。RI(SCON.0):串行通信接收的中断处理标志位。PCON PCON是电源控制寄存器,它只有其最高位与串口相关,即PCON的D7位SMOD作为串行口的波特率控制位,SMOD=1,波特率加倍,SMOD=0,则不加倍。串口缓冲寄存器串口缓冲寄存器SBUF SBUF是由发送缓冲寄存器和接收缓冲寄存器两个单元组成,在单片机中占用同一个字节地址(99H),),可同时发送和接收数据。单片机在处理时,由读/写指令来区别两个单元,因而不会出现读写冲突和错误。二、与串口控制相关的寄存器二、与串口控制相关的寄存器三、三、MCS-51串行口的工作方式串行口的工作方式 1、方式、方式0 方式方式0时,串行口为同步移位寄存器的输入输出方式。时,串行口为同步移位寄存器的输入输出方式。主要用于扩展并行输入或输出口。数据由主要用于扩展并行输入或输出口。数据由RXD(P3.0)引)引脚输入或输出,同步移位脉冲由脚输入或输出,同步移位脉冲由TXD(P3.1)引脚输出。)引脚输出。发送和接收均为发送和接收均为8位数据,低位在先,高位在后。波特率位数据,低位在先,高位在后。波特率固定为固定为fosc/12。方式0的输出时序3、方式、方式2和方式和方式3方式方式2或方式或方式3时为时为11位数据的异步通信口。位数据的异步通信口。方式方式2和方式和方式3时起始位时起始位1位,数据位,数据9位(含位(含1位附加的第位附加的第9位,发送时为位,发送时为SCON中的中的TB8,接收时为,接收时为RB8),停止位),停止位1位,位,一帧数据为一帧数据为11位。方式位。方式2的波特率固定为晶振频率的的波特率固定为晶振频率的1/64或或1/32,方式,方式3的波特率由定时器的波特率由定时器T1的溢出率决定。的溢出率决定。三、三、MCS-51串行口的工作方式串行口的工作方式 计算机通信主要有串行通信和并行通信两种方式,远距离通信通常采用串行通信方式但需要增加电平、接口转换电路,如RS-232C、RS485接口等。MCS-51单片机内部有一个全双工的异步串行通信接口,工有四种工作方式;其数据帧格式有10位、11位两种;方式0和方式2的的通信波特率是固定的,方式1和方式3的波特率是可变的,由定时器T1的溢出率决定。MCS-51单片机之间可实现双机通信、多机通信并可与PC机通信;利用PC机与单片机可组成上位机、下位机通信网络。通信软件可采用查询与中断两种方式编制,实际应用中常采用中断工作方式进行通信。本章小结本章小结
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 工作计划


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

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


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