欢迎来到天天文库
浏览记录
ID:36996262
大小:324.60 KB
页数:22页
时间:2019-05-11
《《课题七单片机双机通信》PPT课件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、课题七单片机双机通信任务一与PC通信任务二双机通信课题目标通过本任务学习什么是计算机的通信,什么是串口通信,什么是并口通信,学习用串行通信的方式实现单片机之间的信息交换,学会应用单片机的串行端口进行数据的输入/输出传送,能用串行通信实现数据传输。本课题的任务是将两个独立的单片机系统用连接线进行连接,使用串行通信进行数据传送。作为演示的系统,在其中一个单片机系统中通过键盘输入数据,通过单片机的串口传输到另一个单机系统的串口,并在另一个单片机中显示所输入的数据。课题分析为了便于对串口的工作及串口程序的编写,本课题分为与PC通信和双机通信
2、两个任务。要实现两个单片机系统之间的通信,首先要考虑的是两个系统之间的信号的是如何传递问题,然后再考虑要传递的信号的用途问题。任务一与PC通信实现单片机通过串口电缆与PC相实现通信,将PC输出的字符全改为小写,并发回PC。单片机与PC的数据交换,但二者的电平标准不同,单片机采用TTL电平,PC采用RS232标准接口电平,因而需要电平转换电路。其中MAX232芯片就是这类电路中的一种,具体电路见图7-1所示。任务目标图7-1串口电平转换电路程序设计分析if((ch>='A')&(ch<='Z'))ch=ch+'a'-'A';根据本任务
3、的目标,要求单片机每接收到一个字符时,先作字符判断并转换,然后将字符通过串口发回PC机。本任务的附加条件,要求单片机本身需要设置串行口波特率设置为9600,选择模式1(无附加的奇偶校验位),即SCON需要设置的值为0X80,对应的T1应设置为模式2且TH1的值设置为0XFD。将字符中的大写字母转换为小写,首先应判断字符是否为大写字母,然后根据ASCII码的方式,加上小写字母与大写字母的差值就能完成转换,如下所示的语句:任务二双机通信如图7-2所示电路原理图中,要求在单片机系统中通过键盘输入数据,通过单片机的串口传输到另一个单机系统的
4、串口,在串口接收另一个单片机发送的数据并在数码管上显示。在图7-2中,键盘电路选择行列式矩阵键盘接在P2口;显示电路选择LED数码管动态显示电路,显示段码接P0口和位码接P1口;串行通信接口电路选择直接连接的插座,RXD、TXD与GND直接通过导线与另一单片机系统相连。任务目标图7-2单片机系统电路程序设计分析由任务可知,对于一个单片机系统而言,要求程序要完成的功能一是将本机的按键通过串口用异步通信的方式发送出去,二是对接收到另一单片机传送到串口的数据,先保存下来,再送LED数码管依次显示出来。因此,程序将为分三个部分组成,其一是随
5、时扫描键盘,如果有键按下,则调用串口发送程序;其二是串口接收程序,只要有数据到了,就执行数据接收程序,并把数据送到显示数组里;其三是动态显示程序。为了完成这三个并行任务,最简单的方法采用中断进行任务分配,将串口接收程序使用串口中断对输入的数据进行检测和接收,将动态显示程序使用定时中断完成,而键盘扫描则采用主程序实时检测,程序的流程框图如图7-3所示。下面就这三个部分的程序进行具体的分析。图7-3单片机程序框图(A)主程序(B)串口中断服务程序初始化读入键盘状态开始发送数据是否按下键刚按下键否接收到数据数据处理(存放到显示数组中)清中
6、断标志接收数据?否(A)(B)串行中断入口中断处理结束一、串口接收程序if(RI==1){display_data[point++]=SBUF;if(point==8)point=0;RI=0;}作为串口中断,当串口在发送或接收完一个数据时,会使对应的标志位TI(RI)出现置位,产生中断。因而在出现中断时,需要先判断是不是RI标志(接收),如果是接收到了数据,则数据自动被硬件保存在SBUF单元中,然后从SBUF单元中读出具体的数据进行处理,在本任务中是将数据送到显示数组中。对应的程序如下所示:二、显示程序用定时中断进行动态显示,其实
7、质是利用定时中断产生每一个数码管显示延迟的时间。由于每次定时中断只能显示一位数字,所以需要设置全局变量来保存显示位置等信息。三、键盘处理voidsendchar(unsignedcharch){SBUF=ch;while(TI==0);TI=0;}作为键盘扫描程序,在前面的课题中已经有较详细的说明,在此不作过多的说明。具体处理仅需将数据发送。使用串口的发送数据,需要将发送的数据送至SBUF单元,如果发送完毕,则TI自动置位,需要将其手动清除,发送一个字符的程序如下所示。一、有关通信的基本概念数据通信的基本方法有并行通信和串行通信两种
8、。异步串行通信以字符为传送单位用起始位和停止位标识每个字符的开始和结束,字符间隔不固定,只需字符传送时同步。异步串行通信的双方需要两项约定:异步串行通信是指通信时发送设备与接收设备使用各自的时钟控制数据的发送和接收的过程。异步串行通信
此文档下载收益归作者所有