(完整word版)双机间的串口双向通信设计

上传人:e****s 文档编号:56632962 上传时间:2022-02-22 格式:DOC 页数:27 大小:636KB
返回 下载 相关 举报
(完整word版)双机间的串口双向通信设计_第1页
第1页 / 共27页
(完整word版)双机间的串口双向通信设计_第2页
第2页 / 共27页
(完整word版)双机间的串口双向通信设计_第3页
第3页 / 共27页
点击查看更多>>
资源描述
学院课程名称完成期限内容及任务单片机应用课程设计任务书计算机与信息工程专业网络工程单片机应用课程设计题目双机间的串口双向通信设计自 2014年 12月 22日至 2015年 1月 4日一、设计内容及要求:两个单片机(称为甲机和乙机)之间采用方式 1 双向串行通信。(1) 甲机的 K1 按键可通过串口控制乙机的 LED1 点亮,LED2灭,甲机的 K2 按键控制乙机 LED1灭, LED2 点亮,甲机的 K3 按键控制乙机的 LED1 和 LED2 全亮。(2) 乙机的 K2 按键课控制串口向甲机发送按下的次数,按下的次数通过串口显示在甲机 P0 口的数码管上。二、项目设计思路1、查找资料,熟悉单片机。2、设计单片机电路图以及程序。3、编译软件,烧写软件,调试,最后完成工作。三、具体成果形式和要求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 李广第 .单片机基础 .第 1 版 .北京:北京航空航天大学出版社,19993 何立民 .单片机高级教程 .第 1 版北京:北京航空航天大学出版社 ,20014 陈堂敏 .刘焕平主编 .单片机原理与应用 M. 北京 :北京理工大学出版社 ,2007.5 沈美明 .温动蝉编著 .IBM-PC 汇编语言程序设计 M. 北京 :清华大学出版社 ,1994.6 戴佳 .51 单片机 C 语言应用程序设计 M. 北京 :电子工业出版社 , 20087 刘文涛 .单片机语言 C51 典型应用设计 M. 北京 :人民邮电出版社 , 20058尹勇 . Vision2 单片机应用程序开发指南M. 北京 :科学出版社 ,2005(签字):年月日(签字):年月日单片机应用课程设计任务书学院名称:计算机与信息工程学院班级名称:学生姓名:学号:题目:双机间的串口双向通信设计指导教师:起止日期:3目录一、绪论51.1 设计背景5二、相关知识52.1 双机通信简介52.2 单片机 AT89C51 介绍52.3 串口通信6三、总体设计73.1 设计要求7四、硬件设计84.1.整体电路84.2 复位电路84.3.控制电路9五、软件设计95.1 甲机软件设计105.2 乙机软件设计11六、测试及运行13心得与感受15参考文献16指导教师评语17附录:源程序184一、绪论1.1 设计背景随着电子技术的飞速发展,单片机也步如一个新的时代,越来越多的功能各异的单片机为我们的设计提供了许多新的方法与思路。对于一些场合,比如:复杂的后台运算及通信与高实时性前台控制系统、软件资源消耗大的系统、功能强大的低消耗系统、 加密系统等等。 如果合理使用多种不同类型的单片机组合设计,可以得到极高灵活性与性能价格比,因此,多种异型单片机系统设计渐渐成为一种新的思路,单片机技术作为计算机技术的一个重要分支 ,由于单片机体积小 ,系统运行可靠 , 数据采集方便灵活 ,成本低廉等优点 ,在通信中发挥着越来越重要的作用。但在一些相对复杂的单片机应用系统中 ,仅仅一个单片机资源是不够的 ,往 往需要两个或多个单片机系统协同工作。这就对单片机通信提出了更高要求。单片机之间的通信可以分为两大类:并行通信和串行通信。串行通信传输线少,长距离传输时成本低,且可以利用数据采集方便灵活,成本低廉等优点,在通信中发挥着越来越重要的作用。所以本系统采用串行通信来实现单片机之间可靠的,有效的数据交换。二、相关知识2.1 双机通信简介两台机器的通信方式可分为单工通信、半双工通信、双工通信,他们的通信原理及通信方式为:1.单工通信:是指消息只能单方向传输的工作方式。单工通信信道是单向信道, 发送端和接收端的身份是固定的,发送端只能发送信息,不能接收信息;接收端只能接收信息,不能发送信息,数据信号仅从一端传送到另一端,即信息流是单方向的。通信双方采用单工通信属于点到点的通信。根据收发频率的异同,单工通信可分为同频通信和异频通信。2.半双工通信:这种通信方式可以实现双向的通信,但不能在两个方向上同时进行,必须轮流交替地进行。也就是说,通信信道的每一段都可以是发送端,也可以是接端。但同一时刻里,信息只能有一个传输方向。如日常生活中的例子有步话机通信等。3.双工通信:双工通信是指在同一时刻信息可以进行双向传输,和打电话一 样,说的同时也能听, 边说边听。这种发射机和接收机分别在两个不同的 频率上能同时进行工作的双工机也称为异频双工机。双工机的特点是使用方便,但线路设计较复杂,价格也较高。2.2 单片机 AT89C51 介绍AT89C51 是一 个低 功耗, 高性CMOS 8 位单 片机 ,片 内含8k Bytes5ISP(In-system programmable)的可反复擦 1000 次的 Flash 只读程序存储器,器件采用 ATMEL 公司的高密度、非易失性存储技术制造,兼容标准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 、定时器 /计数器、串口、中断继续工作。掉电保护方式下, RAM 内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。AT89C51芯片 DIP 双列直插式封装引脚如图2. 1 所示。图 2.1 AT89C51 引脚排列2.3 串口通信串口通信( Serial Communications)的概念非常简单,串口按位( bit)发送和接收字节。尽管比按字节 ( byte)的并行通信慢,但是串口可以在使用一根线发送数据的同时用另一根线接收数据。它很简单并且能够实现远距离通信。比如 IEEE488 定义并行通行状态时,规定设备线总长不得超过 20 米,并且任意两个设备间的长度不得超过 2 米;而对于串口而言,长度可达 1200 米。典型地,串口用于 ASCII 码字符的传输。通信使用 3 根线完成,分别是地线、发送、接收。由于串口通信是异步的,端口能够在一根线上发送数据同时在另一根线上接收数据。其他线用于握手,但不是必须的。串口通信最重要的参数是波特率、数据位、停止位和奇偶校验。串口通信的程序设计也是相对比较简单的, 容易上手,串口通信的基本程序框图如下图 2.3 所示:6串口初始化发送或接收读取数据命令等待接收数据NIfbuffer=23 ?数据处理及显示关闭串口图 2.2 串口通信的程序框图三、总体设计3.1 设计要求本次设计是用两个单片机 (称为甲机和乙机)之间采用方式 1 双向串行通信。甲机的 K1 按键可通过串口控制乙机的 LED1 点亮, LED2 灭,甲机的 K2 按键控制乙机 LED1 灭, LED2 点亮,甲机的 K3 按键控制乙机的 LED1 和 LED2 全亮。乙机的 K2 按键课控制串口向甲机发送按下的次数, 按下的次数通过串口显示在甲机 P0 口的数码管上。根据以上要求,我所设计的系统框架如图 3.1 所示:图 3.1 系统框架图7四、硬件设计4.1.整体电路根据设计要求,我们在 Proteus仿真软件平台下,选取元件 at89c51 两个、开关四个、LED 两个、8 位数码管一个以及其它元件若干, 画出系统整体电路如图所示:图 4.1 系统整体电路在电路中,我们将数码管与单片机 U1 的 P0 口连接构成系统的开关记数显式电路的部分; 将 开关与单片机 P3 接口连接组成系统的按键电路,用来对显示器的控制; LED 的 段选端与单片机 U2 的 P2 口连接构成系统的 LED 显示系统;单片机左边部分电路与单片机构成系统的复位电路。4.2、复位电路将元器件如电路设计图如图3.2 所示连接并与单片机相连, 构成复位电路。如果实现了灯的亮灭控制,点击图3.2 中的开关,使电路恢复到未开始状态.8图 4.2复位电路4.3.控制电路将开关K2,K3 分别连接两个反相器, 并分别把两个开关连接P1.0 和 P1.1;将 K1 连接 P3.2,三个开关接地,此电路为开关分别控制两个LED 灯亮。开关控制电路设计图如图所示。图 4.3 控制电路五、软件设计本系统是通过利用 AT89c51 芯片进行的模拟电路实现的,利用八位晶体显示器来计数乙机的按键按下次数,利用两个 LED 来给出甲机按键按下的相应动作。具体过程如下: 先初始化显示器和 LED,然后甲机或者乙机选择发送或者接收, 发送方发送的数据通过缓冲池将数据传递给接收方,接收方接收到数据后,随即给出相应的动作。双机间的串口双向通信设计的流程图如图5.1 所示:9开始初始化发送方发送数据接收方接收数据并显Y是否重置N结束图 5.1 串口双向通信设计的流程图5.1 甲机软件设计本模块主要是甲机的发送和接收程序,发送和接收数据都会在是sbuf 缓冲池中,其主要代码如下:switch(NUM)/ 甲机发送给乙机的数据case 1: TRANSPORT(1);break;case 2: TRANSPORT(2);break;case 3: TRANSPORT(3);break;void S() interrupt 4/甲机接收乙机发送的数据if(RI)RI=0;if(SBUF=0&SBUF=9) P0=CSBUF;else P0=0x00;甲机的函数流程图如5.2 所示:10开始初始化接收接收或者发送乙机是否发发送选择开关KKK123发送给乙开始计数数码管显示重置键 k4结束图 5.2 甲机流程图5.2 乙机软件设计本模块主要是乙机发送并接收甲机的数据,其数据也是在sbuf 缓冲池中,主要代码如下:if(K2=0)/乙机发送给甲机的数据while(K2=0);NumX=+NumX%11;SBUF=NumX;while(TI=0);TI=0;void S() interrupt 4/中断11if(RI)RI=0;switch(SBUF)/ 乙机接收甲机的数据, 并给出相应的 LED 动作,其中 LED 低电平有效case1:LED1=0;LED2=1;break;case2:LED1=1;LED2=0;break;case3:LED1=0;LED2=0;break;乙机程序流程图如下4.2 所示:开始初始化接收接收或者发送甲机是否发发送按下按键判断接收数据发送给甲LED 显示结束图 5.3乙机流程图12六、测试及运行打开 Proteus 软件,将在 keil 中建立好的工程打开。然后将程序编译所生成的 .Hex 文件烧写到单片机芯片中。点击甲机的 K1 按键可发送字符 “1”,通过缓冲池, 乙机接收到甲机发送的字符“ 1”,乙机会使 LED1 点亮, LED2 灭,如图 6.1 所示:图 6.1 乙机结果图点击甲机的 K1 按键可发送字符 “2”,通过缓冲池, 乙机接收到甲机发送的字符“ 2”,乙机会使 LED2 点亮, LED1 灭,如图 6.2 所示:图 6.2 乙机结果图点击甲机的 K1 按键可发送字符 “3”,通过缓冲池, 乙机接收到甲机发送的字符“ 3”,乙机会使 LED2 、 LED1 均点亮,如图 6.3 所示:图 6.3 乙机结果图13点击乙机的 K2 键,通过 sbuf,甲机会记下乙机 K2 的点击次数,甲机的数码管上就会出现乙机的 K2 键按下次数的相应的数字,如图 6.4 所示:图 6.4 甲机的数码管显示结果14心得与感受两周的课程设计结束了,通过此次课程设计,使我更加扎实的掌握了有关单片机设计方面的知识,在设计过程中虽然遇到了一些问题,但经过一次又一次的思考,一遍又一遍的检查终于找出了原因所在, 也暴露出了前期我在这方面的知识欠缺和经验不足。实践出真知,通过亲自动手制作,使我们掌握的知识不再是纸上谈兵。过而能改,善莫大焉。在课程设计过程中,我们不断发现错误,不断改正,不断领悟,不断获取。最终的检验修改环节,本身就是在践行“过而能改,善莫大焉”的知行观。 这次课程设计终于顺利完成了,在设计中遇到了很多问题,最后在不懈的努力下,终于迎刃而解。在今后社会的发展和学习实践过程中,一定要不懈努力,不能遇到问题就想到要退缩,一定要不厌其烦的发现问题所在,然后一一进行解决,只有这样,才能成功的做成想做的事,才能在今后的道路上劈荆斩棘,而不是知难而退,那样永远不可能收获成功,收喜悦,也永远不可能得到社会及他人对你的认可!15参考文献1 尹毅峰 ,刘龙江 .单片机原理及应用 M. 北京:北京理工大学出版社 ,2010.2 李广第 .单片机基础 M. 北京:北京航空航天大学出版社, 19993 何立民 .单片机高级教程 M 北京:北京航空航天大学出版社 ,20014 陈堂敏 .刘焕平主编 .单片机原理与应用 M. 北京 :北京理工大学出版社 ,2007.5 沈美明 .温动蝉编著 .IBM-PC 汇编语言程序设计 M. 北京 : 清华大学出版社 ,1994.6 戴佳 .51 单片机 C 语言应用程序设计M. 北京 :电子工业出版社 , 20087 刘文涛 .单片机语言 C51 典型应用设计 M. 北京 :人民邮电出版社 , 20058 尹勇 . Vision2 单片机应用程序开发指南 M. 北京 :科学出版社 ,2005学生签名:填表日期:年月日16指导教师评语成绩评定指导教师签名:填表日期:年月日17附录:源程序1.甲机源程序#include#define uchar unsigned char#define uint unsigned intsbit K1=P32;sbit K2=P33;sbit K3=P11;uchar NUM=0;uchar code C=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90;void Delay(uint ms)uchar i;while(ms-)for(i=0;i=0&SBUF=9) P0=CSBUF;else P0=0x00;2.乙机源程序#include#define uchar unsigned char#define uint unsigned intsbit LED1=P20;sbit K2=P33;sbit LED2=P21;uchar NumX=-1;void Delay(uint ms)uchar i;while(ms-)for(i=0;i120;i+);void main()LED1=1;LED2=1;SCON=0x50;19TMOD=0x20;TH1=0xfd;TL1=0xfd;PCON=0x00;RI=0;TI=0;TR1=1;IE=0x90;while(1)Delay(100);if(K2=0)while(K2=0);NumX=+NumX%11;SBUF=NumX;while(TI=0);TI=0;void S() interrupt 4if(RI)RI=0;switch(SBUF)case1:LED1=0;LED2=1;break;case2:LED1=1;LED2=0;break;case3:LED1=0;LED2=0;break;2021
展开阅读全文
相关资源
相关搜索

最新文档


当前位置:首页 > 办公文档 > 演讲稿件


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

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


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