双机间的串口双向通信设计说明

上传人:壹****1 文档编号:431451547 上传时间:2023-06-17 格式:DOC 页数:22 大小:126KB
返回 下载 相关 举报
双机间的串口双向通信设计说明_第1页
第1页 / 共22页
双机间的串口双向通信设计说明_第2页
第2页 / 共22页
双机间的串口双向通信设计说明_第3页
第3页 / 共22页
双机间的串口双向通信设计说明_第4页
第4页 / 共22页
双机间的串口双向通信设计说明_第5页
第5页 / 共22页
点击查看更多>>
资源描述

《双机间的串口双向通信设计说明》由会员分享,可在线阅读,更多相关《双机间的串口双向通信设计说明(22页珍藏版)》请在金锄头文库上搜索。

1、单片机应用课程设计任务书 学 院计算机与信息工程专 业网络工程课程名称单片机应用课程设计题 目双机间的串口双向通信设计完成期限自20XX12月22日至2015年1月4日容及任务一、设计容及要求: 两个单片机称为甲机和乙机之间采用方式1双向串行通信。 甲机的K1按键可通过串口控制乙机的LED1点亮,LED2灭,甲机的K2按键控制乙机LED1灭,LED2点亮,甲机的K3按键控制乙机的LED1和LED2全亮。 乙机的K2按键课控制串口向甲机发送按下的次数,按下的次数通过串口显示在甲机P0口的数码管上。二、项目设计思路1、查找资料,熟悉单片机。2、设计单片机电路图以及程序。3、编译软件,烧写软件,调试

2、,最后完成工作。三、具体成果形式和要求1.甲机的K1按键可以控制乙机的LED1点亮,LED2灭;2.甲机的K2按键可以控制乙机的LED2点亮,LED1灭;3.甲机的K3按键可以控制乙机的LED1、LED2点亮;4. 乙机的K2按键按下的次数可显示在甲机P0口数码管上。四、具体成果形式和要求完成设计说明书,提交仿真电路和可执行代码。进度安排起止日期工作容 12.22-12.24查找资料 12.25-12.27绘制仿真电路图并编写代码 12.28-12.29调试并修改代码 12.29-1.4答辩并进行文档的书写及修改主要参考资料1 毅峰,龙江.单片机原理及应用M.:理工大学,2010.2 广第.单

3、片机基础.第1版.:航空航天大学,1999 3 何立民.单片机高级教程.第1版:航空航天大学,20014堂敏.焕平主编.单片机原理与应用M.:理工大学,2007. 5美明.温动蝉编著.IBM-PC汇编语言程序设计M.:清华大学,1994.6 戴佳.51单片机C语言应用程序设计 M.:电子工业, 20087 文涛.单片机语言C51典型应用设计M.:人民邮电,20058 勇.Vision2单片机应用程序开发指南M.:科学,2005指导教师意见签字: 年 月 日系教研室主任意见签字: 年 月 日 / 单片机应用课程设计任务书 学院名称: 计算机与信息工程学院 班级名称: 学生: 学 号: 题 目:

4、双机间的串口双向通信设计 指导 起止日期:目录一、绪论41.1设计背景4二、相关知识42.1 双机通信简介42.2 单片机AT89C51介绍42.3串口通信5三、总体设计63.1 设计要求6四、硬件设计74.1.整体电路74.2复位电路74.3.控制电路8五、软件设计85.1甲机软件设计95.2乙机软件设计10六、测试及运行11心得与感受14参考文献15指导教师评语16附录:源程序17一、 绪论1.1设计背景随着电子技术的飞速发展,单片机也步如一个新的时代,越来越多的功能各异的单片机为我们的设计提供了许多新的方法与思路。对于一些场合,比如:复杂的后台运算及通信与高实时性前台控制系统、软件资源消

5、耗大的系统、功能强大的低消耗系统、加密系统等等。如果合理使用多种不同类型的单片机组合设计,可以得到极高灵活性与性能价格比,因此,多种异型单片机系统设计渐渐成为一种新的思路,单片机技术作为计算机技术的一个重要分支,由于单片机体积小,系统运行可靠, 数据采集方便灵活,成本低廉等优点,在通信中发挥着越来越重要的作用。但在一些相对复杂的单片机应用系统中,仅仅一个单片机资源是不够的,往 往需要两个或多个单片机系统协同工作。这就对单片机通信提出了更高要求。单片机之间的通信可以分为两大类:并行通信和串行通信。串行通信传输线少,长距离传输时成本低,且可以利用数据采集方便灵活,成本低廉等优点,在通信中发挥着越来

6、越重要的作用。所以本系统采用串行通信来实现单片机之间可靠的,有效的数据交换。二、 相关知识2.1 双机通信简介两台机器的通信方式可分为单工通信、半双工通信、双工通信,他们的通信原理及通信方式为:1.单工通信:是指消息只能单方向传输的工作方式。单工通信信道是单向信道,发送端和接收端的身份是固定的,发送端只能发送信息,不能接收信息;接收端 只能接收信息,不能发送信息,数据信号仅从一端传送到另一端,即信息流是单方向的。通信双方采用单工通信属于点到点的通信。根据收发频率的异同,单工 通信可分为同频通信和异频通信。2.半双工通信:这种通信方式可以实现双向的通信,但不能在两个方向 上同时进行,必须轮流交替

7、地进行。也就是说,通信信道的每一段都可以 是发送端,也可以是接端。但同一时刻里,信息只能有一个传输方向。如日常生活中的例子有步话机通信等。3.双工通信:双工通信是指在同一时刻信息可以进行双向传输,和打一 样,说的同时也能听,边说边听。这种发射机和接收机分别在两个不同的 频率上能同时进行工作的双工机也称为异频双工机。双工机的特点是使用 方便,但线路设计较复杂,价格也较高。2.2 单片机AT89C51介绍AT89C51 是一个低功耗,高性CMOS 8 位单片机,片含 8k Bytes ISP的可反复擦1000次的Flash只读程序存储器,器件采用 ATMEL公司的高密度、非易失性存储技术制造,兼容

8、标准 MCS-51指令系统及80C51引脚结构,芯片集成了通用8位中央处理器和 ISP Flash存储单元功能强大的微型计算机AT89C51可为许多嵌入式控制应用系统提供高性价比的解决方案。AT89C51 具有如下特点:40个引脚,8k Bytes Flash片程序存储器,256 bytes 的随机存取数据存储器RAM,32 个外部双向输入/输出I/O口,5个中断优先级2层中断嵌套中断,2个16 位可编程定时计数器,2个全双工串行通信口,看门狗WDT电路,片时钟振荡器。另外,AT89C51 可降至 0Hz 静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU 停止工作,允许 RAM、定

9、时器/计数器、串口、中断继续工作。掉电保护方式下,RAM 容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。 AT89C51 芯片DIP双列直插式封装引脚如图 2.1 所示。图 2.1 AT89C51 引脚排列2.3串口通信串口通信Serial Communications的概念非常简单,串口按位bit发送和接收字节。尽管比按字节byte的并行通信慢,但是串口可以在使用一根线发送数据的同时用另一根线接收数据。它很简单并且能够实现远距离通信。比如IEEE488定义并行通行状态时,规定设备线总长不得超过20米,并且任意两个设备间的长度不得超过2米;而对于串口而言,长度可达1

10、200米。典型地,串口用于ASCII码字符的传输。通信使用3根线完成,分别是地线、发送、接收。由于串口通信是异步的,端口能够在一根线上发送数据同时在另一根线上接收数据。其他线用于握手,但不是必须的。串口通信最重要的参数是波特率、数据位、停止位和奇偶校验。串口通信的程序设计也是相对比较简单的,容易上手,串口通信的基本程序框图如下图2.3所示:串口初始化发送或接收读取数据命令等待接收数据Ifbuffer=23?数据处理及显示关闭串口N图2.2 串口通信的程序框图三、 总体设计3.1 设计要求本次设计是用两个单片机称为甲机和乙机之间采用方式1双向串行通信。甲机的K1按键可通过串口控制乙机的LED1点

11、亮,LED2灭,甲机的K2按键控制乙机LED1灭,LED2点亮,甲机的K3按键控制乙机的LED1和LED2全亮。乙机的K2按键课控制串口向甲机发送按下的次数,按下的次数通过串口显示在甲机P0口的数码管上。根据以上要求,我所设计的系统框架如图3.1所示:图3.1 系统框架图四、 硬件设计4.1.整体电路根据设计要求,我们在Proteus仿真软件平台下,选取元件at89c51两个、开关四个、LED两个、8位数码管一个以及其它元件若干,画出系统整体电路如图3.2.1所示:图4.1 系统整体电路在电路中,我们将数码管与单片机 U1 的 P0 口连接构成系统的开关记数显式电路的部分; 将 开关与单片机

12、P3 接口连接组成系统的按键电路,用来对显示器的控制;LED 的 段选端与单片机 U2 的 P2 口连接构成系统的 LED 显示系统;单片机左边部分电路与单片机构成系统的复位电路。4.2、复位电路将元器件如电路设计图如图3.2所示连接并 与单片机相连, 构成复位电路。 如果实现了灯的亮灭控制,点击图 3.2中的开关,使电路恢复到未开始状态.图4.2 复位电路4.3.控制电路将开关 K2,K3 分别连接两个反相器,并分别把两个开关连接 P1.0 和 P1.1;将K1连接 P3.2,三个开关接地,此电路为开关分别控制两个LED灯亮。开关控制电路设计图如图3.2.3所示。图4.3控制电路五、 软件设

13、计本系统是通过利用AT89c51芯片进行的模拟电路实现的,利用八位晶体显示器来计数乙机的按键按下次数,利用两个LED来给出甲机按键按下的相应动作。具体过程如下:先初始化显示器和LED,然后甲机或者乙机选择发送或者接收,发送方发送的数据通过缓冲池将数据传递给接收方,接收方接收到数据后,随即给出相应的动作。双机间的串口双向通信设计的流程图如图5.1所示:开始初始化发送方发送数据接收方接收数据并显示是否重置结束YN图5.1 串口双向通信设计的流程图5.1 甲机软件设计本模块主要是甲机的发送和接收程序,发送和接收数据都会在是sbuf缓冲池中,其主要代码如下:switch / 甲机发送给乙机的数据cas

14、e 1: TRANSPORT;break;case 2: TRANSPORT;break;case 3: TRANSPORT;break;void S interrupt 4 / 甲机接收乙机发送的数据ifRI=0;if=0&SBUF P0=CSBUF;else P0=0x00;甲机的函数流程图如5.2所示:发送接收开始接收或者发送初始化K1K2K3重置键k4乙机是否发送开始计数数码管显示结束选择开关发送给乙机图5.2 甲机流程图5.2 乙机软件设计本模块主要是乙机发送并接收甲机的数据,其数据也是在sbuf缓冲池中,主要代码如下:if /乙机发送给甲机的数据while;NumX=+NumX%11;SBUF=NumX;while;TI=0;void S interrupt 4 /

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 建筑/环境 > 施工组织

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