欢迎来到三一文库! | 帮助中心 三一文库31doc.com 一个上传文档投稿赚钱的网站
三一文库
全部分类
  • 研究报告>
  • 工作总结>
  • 合同范本>
  • 心得体会>
  • 工作报告>
  • 党团相关>
  • 幼儿/小学教育>
  • 高等教育>
  • 经济/贸易/财会>
  • 建筑/环境>
  • 金融/证券>
  • 医学/心理学>
  • ImageVerifierCode 换一换
    首页 三一文库 > 资源分类 > DOC文档下载  

    单机片毕业论文---基于AT89C51单片机间的多机通信的设计与仿真.doc

    • 资源ID:3915716       资源大小:996.53KB        全文页数:37页
    • 资源格式: DOC        下载积分:6
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录   微博登录  
    二维码
    微信扫一扫登录
    下载资源需要6
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    单机片毕业论文---基于AT89C51单片机间的多机通信的设计与仿真.doc

    本科毕业论文(设计) 论文题目论文题目:基于 AT89C51 单片机间的多机通信 的设计与仿真 学生姓名: 学 号: 专 业: 计算机科学与技术 班 级: 指导教师: 完成日期: 20122012 年年 5 5 月月 2020 日日 I 基于 AT89C51 单片机间的多机通信的设计与仿真 内 容 摘 要 单片机作为微型计算机的一个分支,具有体积小,应用广泛等优点,在工业控制,通信和家 用电器等各个领域都有十分广泛的应用。单片机的多机通信就是在单片机的发展与行业标准的提 高上发展起来的一个非常重要研究方向。单片机的单机控制已经不能满足需要,而多机的协调工 作是一个非常重要的发展趋势。多机通信是指有两台以上的单片机组成的网络结构可以通过串行 通信方式共同实现对某一过程的最终控制。 本文主要介绍了一种基于 AT89C51 单片机简的多机通信方式,采用自定义串行通信协议,实 现单片机 AT89C51 多机通信的方法和技巧。系统设计和解决了 8 位单片机在多机通信方面的一些 问题,在实现方面,系统实现了主机与从机间的通信,以及从机与从机间的通信。 关键词:单片机 多机通信 串口通信 II Design And Simulation of Microcomputer Multi-machine Communication Based on AT89C51 Abstract Microcomputer as a branch of microcomputer, has the advantages of small volume, application widespread and so on merits, in the industry control, the correspondence and the domestic electric appliances and so on each domain all has the extremely widespread application Microcomputer multi- machine communication in microcomputer development and industry standards developed as a very important research direction. Microcomputer computer control can no longer meet the needs, and multiple machine coordination is an important development trend. Multi machine communication means has more than two microcomputer network structure can be obtained by serial communication to achieve common in a process control. This paper introduced one kind based on the AT89C51 microcomputer Jane multi-machine communication manner, using a custom serial communication protocols, MCU AT89C51machine communication method and skill. The system design and to solve the8 microcontroller in multi machine communication problems, in implementation, system realizes the communication between host and slave, as well as from the machine and slave machine communication. Keywords: Microcomputer Multi Computer Communication Serial Communication 1 目 录 序 言 .1 一、绪 论 .2 (一)课题背景的和意义 .2 (二)国内外研究现状 .2 (三)单片机间的多机通信技术 .3 二、系统设计相关原理 4 (一)系统设计原理 .4 1.系统框图 .4 2.系统原件说明 .4 (二)单片机 AT89C51 芯片简介 .7 1.主要特性 .7 2.管脚说明 .8 3.振荡器特性 .9 4.芯片擦除 .9 三、系统硬件设计 .10 (一)总硬件电路图 10 1.晶振和复位电路: 10 (二)单元电路的设计 10 1.主机电路 11 2.从机电路 11 四、系统软件设计 .12 (一)软件总程序设计 12 (二)主机通信子程序 13 (三)从机通信子程序 15 五、系统仿真设计 .16 (一)软件介绍 16 1.PROTEUS 系统概述 .16 2.PROTEUS 的主界面介绍 .16 (二)仿真系统的设计与调试 17 (三)结果分析 21 六、总 结 23 2 致 谢 24 参 考 文 献 25 附 录 26 1 序 言 随着单片机和计算机技术的不断发展,单片机应用也从独立的单机向网络发展,由计 算机和单片机构成的多级网络系统已成为单片机技术发展的一个方向,二者的结合,充分 发挥了单片机在实时数据采集和数据管理上的优点,单片机在计算机网络通讯与数据传输, 工业自动化过程的实时控制和处理等都有广泛的应用,已渗透到我们生活的各个领域,许 多应用都涉及到单片机多机通信,然而,单片机对网络数据的处理方式不同于通用计算机 系统,尤其有的单片机只提供 8 位数据收发接口,在一定程度上阻碍了单片机在网络方面 的应用。 这里使用的 AT89C51 单片机有一个全双工串口,TXD 是它的发送端,RXD 是它的接 收端。本论文主要研究以单片机为控制系统,设计一个可以进行多机之间的通信的仿真系 统。本设计首先要求学生具有较好的电子电路的设计能力和分析解决问题的能力,同时还 应掌握具体的电子电路的设计方法,然后根据分析结果得出合理的实现方案;充分利用网 络资源,丰富完善个人在理论研究、电子电路的设计方面的技能。 2 一、绪 论 (一)课题背景的和意义 目前单片机渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。 导弹的导航装置,飞机上各种仪表的控制,计算机的网络通讯与数据传输,工业自动化过 程的实时控制和数据处理,广泛使用的各种智能 IC 卡,民用豪华轿车的安全保障系统,录 象机、摄象机、全自动洗衣机的控制,以及程控玩具、电子宠物等等,这些都离不开单片 机。更不用说自动控制领域的机器人、智能仪表、医疗器械了。 单片机广泛应用于仪器仪表、家用电器、医用设备、航空航天、专用设备的智能化管 理及过程控制等领域随着计算机技术的发展及工业自动化水平的提高, 在许多场合采用单 机控制已不能满足现场要求,因而必须采用多机控制的形式,而多机控制主要通过多个单片机 之间的串行通信实现。串行通信作为单片机之间常用的通信方法之一, 由于其通信编程灵 活、硬件简洁并遵循统一的标准, 因此其在工业控制领域得到了广泛的应用1。 随着单片机和计算机技术的不断发展,单片机应用也从独立的单机向网络发展,由计 算机和单片机构成的多级网络系统已成为单片机技术发展的一个方向,二者的结合,充分 发挥了单片机在实时数据采集和数据管理上的优点,单片机在计算机网络通讯与数据传输, 工业自动化过程的实时控制和处理等都有广泛的应用,已渗透到我们生活的各个领域,许 多应用都涉及到单片机多机通信,然而,单片机对网络数据的处理方式不同于通用计算机 系统,尤其有的单片机只提供 8 位数据收发接口,在一定程度上阻碍了单片机在网络方面 的应用。 (二)国内外研究现状 单片微型计算机(Single Chip Microcomputer)简称单片机,又称 MCU(Micro Controller Unit),是将计算机的基本部分微型化,使之集成在一块芯片上的微机.片内含有 CPU、ROM、RAM、并行 I/O、串行 I/O、定时器/计数器、中断控制、系统时钟及系统总 线等。 随着科技的发展,单片机已不是一个陌生的名词,它的出现是近代计算机技术发展史 上的一个重要里程碑,因为单片机的诞生标志着计算机正式形成了通用计算机系统和嵌入 式计算机系统两大分支。单片机单芯片的微小体积和低的成本,可广泛地嵌入到如玩具、 家用电器、机器人、仪器仪表、汽车电子系统、工业控制单元、办公自动化设备、金融电 子系统、舰船、个人信息终端及通讯产品中,成为现代电子系统中最重要的智能化工具2。 3 所涉及的市场占有率最高的是 MCS51 系列,因为世界上很多知名的 IC 生产厂家都 生产 51 兼容的芯片。生产 MCS51 系列单片机的厂家如美国 AMD 公司、ATMEL 公司、 INTEL 公司、WINBOND 公司、PHILIPS 公司、ISSI 公司、TEMIC 公司及南韩的 LG 公司、 日本 NEC、西门子公司等。到目前为止,MCS51 单片机已有数百个品种,还在不断推 出功能更强的新产品。 现代的单片机普遍具备通信接口,可以很方便地与计算机进行数据通信,为在计算机 网络和通信设备间的应用提供了极好的物质条件,现在的通信设备基本上都实现了单片机 智能控制,从手机,电话机、小型程控交换机、楼宇自动通信呼叫系统、列车无线通信、 再到日常工作中随处可见的移动电话,集群移动通信,无线电对讲机等。 单片机的通信领域应用首先从两片单片机之间的通信发展起来,后来有了主从式多机 通信并得到了广泛的应用,又出现了以单片机作为下位机与以 PC 机作为上位机的通信应 用,上位机用 VB 或 VC+等面向对象的程序设计语言编写通信收发程序,也得到广泛的 应用3。 (三)单片机间的多机通信技术 多机通信机制在单片机内部的实现如下: 串行口控制寄存器 SCON 中的 SM2 为多机通信接口控制位。串行口以方式2 或 3 接 收时,若SM2 为 1,则仅当接收到的第9 位数据 RB8 为 1 时,数据才装入SBUF,置位 RI,请求 CPU 对数据进行处理;如果接收到的第9 位数据 RB8 为 0,则不产生中断标志 RI,信息丢失,CPU 不做任何处理。当SM2 为 0 时,则接收到一个数据后,不管第9 位 数据 RB8 是 0 还是 1,都将数据装入接收缓冲器SBUF 并置位中断标志RI,请求 CPU 处 理4。 多机通信过程如下: (1)所有从机的SM2=1,处于只接收地址帧状态,“听号”; (2)主机发地址信息,并以第9 位表示发送的是地址; (3)从机接收到地址帧后与本机地址比较; (4)被寻址从机 (机号相符) SM2=0,其余从机SM2=1 不变; (5)主机发数据信息,对已被寻址的从机因SM2=0,可以接收主机发来的信息,其余从 机因SM2=1 不理睬主机; (6)当主机与另外从机通信时,可另发地址帧。并且先前寻址的从机这次未被寻址时, SM2 置15。 本文主要介绍了一种基于 AT89C51 单片机简的多机通信方式,采用自定义串行通信协 议,实现单片机 AT89C51 多机通信的方法和技巧。系统设计和解决了 8 位单片机在多机通 信方面的一些问题,在实现方面,系统实现了主机与从机间的通信,以及从机与从机间的 通信。单片机的多机通信在未来工业控制,通信,家用电器等领域都将有很大的发展空间, 4 单片机依靠其体积小,性价比高,经济性上的优势一定会在未来的各个控制领域大展其优 势。 5 二、系统设计相关原理 (一)系统设计原理 1.系统框图 对题目进行深入的分析和思考,可将整个系统分为以下几个部分:主机电路、从机电 路、数字显示电路等模块组成。具体的系统框图 2-1 如下图所示。 主机单片机 晶振电路 复位电路 控制按钮 控制显示 数据显示 从 机 单 片 机 晶振电路 复位电路 控制按钮 数 据 显 示 从 机 单 片 机 晶振电路 复位电路 控制按钮 数 据 显 示 主机电路 从机电路从机电路 图2-1 系统框图 2.系统原件说明 这里简单的说明系统中所使用的主要元器件,并对部分元器件进行了简单的介绍。表 2-1 中列举了主要使用元器件的名称,并进行了简单的说明。在后边又介绍了部分元器件 的简单原理和框图说明。 6 表2-1 系统元件表 元件名称元件名称 说明说明 AT89C51 主机和从机使用的的单片机 CAP 电容 CAP-ELEC 电解电容 CRYSTAL 晶体振荡器 7SEG-BCD-GRN 绿色数码管 BUTTON 控制按钮 RES 电阻 (1)共阳极的 LED 数码管 LED 数码管(LED Segment Displays)是由多个发光二极管封装在一起组成“8”字型 的器件,引线已在内部连接完成,只需引出它们的各个笔划,公共电极。LED 数码管常用 段数一般为 7 段有的另加一个小数点,还有一种是类似于 3 位“+1”型。位数有半位, 1,2,3,4,5,6,8,10 位等等,LED 数码管根据 LED 的接法不同分为共阴和共阳两类, 了解 LED 的这些特性,对编程是很重要的,因为不同类型的数码管,除了它们的硬件电路 有差异外,编程方法也是不同的6。 数码管分为共阳极的 LED 数码管、共阴极的 LED 数码管两种。下图例举的是共阳极的 LED 数码管,共阳就是 7 段的显示字码共用一个电源的正。在本系统中选用的数据显示电 路的共阳极的 LED 数码管。下面图 3-7 为共阳极数码管内部原理图。 图 2-2 共阳极数码管原理图 (2)数码管的驱动方式 数码管要正常显示,就要用驱动电路来驱动数码管的各个段码,从而显示出我们要的 数字,因此根据数码管的驱动方式的不同,可以分为静态式和动态式两类7。 静态显示驱动:静态驱动也称直流驱动。静态驱动是指每个数码管的每一个段码都由 一个单片机的 I/O 端口进行驱动,或者使用如 BCD 码二-十进制译码器译码进行驱动。静态 7 驱动的优点是编程简单,显示亮度高,缺点是占用 I/O 端口多,实际应用时必须增加译码 驱动器进行驱动,增加了硬件电路的复杂性。 动态显示驱动:数码管动态显示接口是单片机中应用最为广泛的一种显示方式之一, 动态驱动是将所有数码管的 8 个显示笔划“a、b、c、d、e、f、g、dp”的同名端连在一起, 另外为每个数码管的公共极 COM 增加位选通控制电路,位选通由各自独立的 I/O 线控制, 当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是那个数码管会显示 出字形,取决于单片机对位选通 COM 端电路的控制,所以我们只要将需要显示的数码管的 选通控制打开,该位就显示出字形,没有选通的数码管就不会亮。通过分时轮流控制各个 数码管的的 COM 端,就使各个数码管轮流受控显示,这就是动态驱动。 (3)AT89C51 方框图 图2-3 AT89C51方框图 8 (二)单片机 AT89C51 芯片简介 AT89C51 是一种带 4K 字节 FLASH 存储器(FPEROMFlash Programmable and Erasable Read Only Memory)的低电压、高性能 CMOS 8 位微处理器,俗称单片机。 AT89C2051 是一种带 2K 字节闪存可编程可擦除只读存储器的单片机。单片机的可擦除只 读存储器可以反复擦除 1000 次。该器件采用 ATMEL 高密度非易失存储器制造技术制造, 与工业标准的 MCS-51 指令集和输出管脚相兼容。由于将多功能 8 位 CPU 和闪烁存储器组 合在单个芯片中,ATMEL 的 AT89C51 是一种高效微控制器,AT89C2051 是它的一种精简 版本。AT89C 单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案8。 其引脚结构如下图 图 2-4 AT89C51 引脚图 1.主要特性 (1)与 MCS-51 兼容 (2)4K 字节可编程 FLASH 存储器 (3)寿命:1000 写/擦循环 (4)数据保留时间:10 年 (5)全静态工作:0Hz-24MHz (6)三级程序存储器锁定 (7)128×8 位内部 RAM (8)32 可编程 I/O 线 9 (9)两个 16 位定时器/计数器 (10)5 个中断源 (11)可编程串行通道 (12)低功耗的闲置和掉电模式 (13)片内振荡器和时钟电路 2.管脚说明 VCC:供电电压。 GND:接地。 P0 口:P0 口为一个 8 位漏级开路双向 I/O 口,每脚可吸收 8TTL 门电流。当 P1 口的 管脚第一次写 1 时,被定义为高阻输入。P0 能够用于外部程序数据存储器,它可以被定义 为数据/地址的第八位。在 FIASH 编程时,P0 口作为原码输入口,当 FIASH 进行校验时, P0 输出原码,此时 P0 外部必须被拉高。 P1 口:P1 口是一个内部提供上拉电阻的 8 位双向 I/O 口,P1 口缓冲器能接收输出 4TTL 门电流。P1 口管脚写入 1 后,被内部上拉为高,可用作输入,P1 口被外部下拉为低 电平时,将输出电流,这是由于内部上拉的缘故。在 FLASH 编程和校验时,P1 口作为第 八位地址接收。 P2 口:P2 口为一个内部上拉电阻的 8 位双向 I/O 口,P2 口缓冲器可接收,输出 4 个 TTL 门电流,当 P2 口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作 为输入时,P2 口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2 口当用 于外部程序存储器或 16 位地址外部数据存储器进行存取时,P2 口输出地址的高八位。在 给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2 口输出其特殊功能寄存器的内容。P2 口在 FLASH 编程和校验时接收高八位地址信号和控 制信号。 P3 口:P3 口管脚是 8 个带内部上拉电阻的双向 I/O 口,可接收输出 4 个 TTL 门电流。 当 P3 口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉 为低电平,P3 口将输出电流(ILL)这是由于上拉的缘故。 P3 口也可作为 AT89C51 的一些特殊功能口,如 下所示: P3 口管脚 备选功能 P3.0 RXD(串行输入口) P3.1 TXD(串行输出口) P3.2 /INT0(外部中断 0) P3.3 /INT1(外部中断 1) P3.4 T0(记时器 0 外部输入) P3.5 T1(记时器 1 外部输入) 10 P3.6 /WR(外部数据存储器写选通) P3.7 /RD(外部数据存储器读选通) RST:复位输入。当振荡器工作时,RST 引脚出现两个机器周期以上高电平将使单片 机复位。 ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字 节。在 FLASH 编程期间,此引脚用于输入编程脉冲。在平时,ALE 端以不变的频率周期 输出正脉冲信号,此频率为振荡器频率的 1/6。因此它可用作对外部输出的脉冲或用于定时 目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个 ALE 脉冲。如想禁止 ALE 的输出可在 SFR8EH 地址上置 0。此时, ALE 只有在执行 MOVX,MOVC 指令是 ALE 才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态 ALE 禁止,置 位无效。 /PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两 次/PSEN 有效。但在访问外部数据存储器时,这两次有效的/PSEN 信号将不出现。 /EA/VPP:当/EA 保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是 否有内部程序存储器。注意加密方式 1 时,/EA 将内部锁定为 RESET;当/EA 端保持高电平 时,此间内部程序存储器。在 FLASH 编程期间,此引脚也用于施加 12V 编程电源(VPP)9。 XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。 XTAL2:来自反向振荡器的输出。 3振荡器特性 XTAL1 和 XTAL2 分别为反向放大器的输入和输出。该反向放大器可以配置为片内 振荡器。石晶振荡和陶瓷振荡均可采用10。如采用外部时钟源驱动器件,XTAL2 应不接。 有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要 求,但必须保证脉冲的高低电平要求的宽度。 4芯片擦除 整个 PEROM 阵列和三个锁定位的电擦除可通过正确的控制信号组合,并保持 ALE 管脚处于低电平 10ms 来完成。在芯片擦操作中,代码阵列全被写“1”且在任何非空存储 字节被重复编程以前,该操作必须被执行。此外,AT89C51 设有稳态逻辑,可以在低到零 频率的条件下静态逻辑,支持两种软件可选的掉电模式。在闲置模式下,CPU 停止工作。 但 RAM,定时器,计数器,串口和中断系统仍在工作。在掉电模式下,保存 RAM 的内容 并且冻结振荡器,禁止所用其他芯片功能,直到下一个硬件复位为止11。 11 三、系统硬件设计 (一)总硬件电路图 采用 atmel 公司的 AT89C51 单片机,一个主机两个从机共三片。每片单片机的外围电 路都有按钮输入电路和 7 段数码管显示电路。其中主机的按钮实现发送数据、汇总数据和 加 1 数据修改命令的输入,数码管用来显示发送的数据、接收的数据和寄存器当前数据的 显示。从机的单个按键只用于寄存器的数值修改,用数码管显示接收的数据和当前寄存器 值。 图 3-1 多机通信系统电路图 1.晶振和复位电路 单片机要能工作,必须给单片机加上晶振和复位电路,晶振电路如图 3-2(a)所示, 复 位电路如图 3-2(b)所示。 (a) 晶振电路图 12 (b)复位电路图 图 3-2 时钟和复位电路图 (二)单元电路的设计 下面我们将系统设计作以详细的介绍。本多机通信仿真设计包括主机控制电路 (AT89C51) 、从机控制电路、数字显示电路等几部分。 1.主机电路 主机 AT89C51 编程可实现循环访问个从机,共含有 3 个操作扭,分别为发送数据扭 (将主机数据发给从机) ,汇总数据钮(汇总两从机数据之和)和加 1 按钮(增加数据) , 3 个数码管,左边的单独显示主机操作模式,右边两个共同显示主机数据。主机电路如图 3-3 所示。 图 3-3 主机电路图 2.从机电路 从机可以接受主机发送的数据,有加1 操作扭,可以输入数据。从机电路图如图3-4 所示。 13 图 图 3-4 从机电路图 14 四、系统软件设计 三个单片机之间“一主二从”多机通信,主机将其数码管显示的内容发送给从机,并 可将从机回发的数据求和并显示,每个单片机的现实数字通过各自的按键修改,主机控制 信号发送和从机数据的汇总。 具体实现:主、从机的串口通信方式都采用查询方式,波特率为 9600Hz,从机地址有 其 p1 口的输入状态确定。 (一)软件总程序设计 程序设计流程图如图 4-1 所示 设定 T1 和 scon 设定发送数据地址指针和块长 度计数器 开中断开关 EA 允许串行口中断 发送 等待中断 清 T1 修改数据地址指针 和块长度计数器 全部数据发送完 发送 中断返回 清 EA 或 ES Y N 主程序中断服务程序 (a)中断方式发送程序 15 主程序 设定 T1 和 SCON 置位 REN 允许接收 开中断开关 EA 允许串行口中断 等待中断 中断服务程序 清 R1 接收数据 数据送接收缓冲器 数据块接收完 清 EA 或 ES 中断返回 N Y 设定接收缓冲区首址 置接收数据个数计数器 (b)中断方式接收程序 图 4-1 串行通信中断方式流程图 (二)主机通信主机通信子程序 本系统选用 12MHZ 晶振,采用 9600HZ 波特率。程序流程如图 4.2 所示,其定时器串 行口通信的初始化步骤如下: (1)确定串口工作于方式 3,并允许接收对 SCON 寄存器送控制字 C0H(SM0=1,SM1=1,REN=1) ; (2)确定定时器 T1 工作于方式 2对 TMOD 寄存器送控制字 20H(M1=1,M0=0) (3)装入定时器 T1 的初值TH1=F3H,TL1=F3H; (4)启动定时器 1TCON 中的 TR1 位置 1; (5)串行口用中断方式收发数据,开 CPU 和源中断对 IE 寄存器 90H(EA=1,ES=1)。 16 主机通信程序流程图如图 4-2 所示 N Y Y N Y N N Y 开始 主机初始化 置 M 为计数标志 M = 0? 发送地址帧,M = M-1 收到从机应答帧 解析应答帧 帧校验正确? 重设 M 的值 M = 0 ? 发送数据帧 M = M-1 A 是是 是是 显显 示示 通 信 失 败 通 信 失 败 N Y Y N 解析应答帧 解析应答帧 帧校验正确? 收到应答帧 等待从机应答帧 返回 通信结束 图 4-2 主机程序图 17 (三)从机通信子程序 从机通信程序流程图如图 4-2 所示 N Y N Y Y N Y N Y N Y N Y N 从机初始化 等待主机广播 收到地址帧 解析地址帧 校验正确? 地址匹配? 回复应答帧 值 SM2 = 0 置 M 为计数器 M = 0 ? 接受一帧数据 收到一帧数据 解析帧数据 校验正确? 处理接受的一帧 数据 是数据帧? 重置 M 的值 通信失败 结 束 帧 准备接受下一帧 图 4-3 从机程序图 18 五、系统仿真设计 根据多机通信系统的原理,运用 Proteus 软件对其进行仿真设计,由于 Proteus 含有 AT89C51,因此在仿真设计中直接选用 AT89C51 来 进行相关设计与仿真。 (一)软件介绍 1Proteus 系统概述 Proteus 软件包括 ISIS.EXE(电路原理图设计、原理仿真) 、ARES.EXE(印刷电路版设 计)两个主要程序,三大基本功能。其电路原理仿真功能,不仅有分离元件。小规模集成 器件的仿真功能,能用箭头与颜色表示电流的方向与大小,而且有多种带 CPU 的可编程序 器件的仿真功能,不仅可作电路原理12,模拟电路。数字电路实验,而且可作单片机与接口 实验。特别是可为课程设计与毕业设计提供综合系统仿真。 2Proteus 的主界面介绍 Proteus 的主界面三大窗口:编辑窗口、器件工具窗口、浏览窗口。两大菜单:主菜单 与辅助菜单(通用工具与专用工具菜单),其中主菜单有: (1)文件菜单:新建、加载、保存、打印; (2)浏览菜单:图纸网络设置,快捷工具选项; (3)编辑菜单: 取消、剪切、考贝、粘贴; (4)库操作菜单:器件封装库编辑、库管理; (5)工具菜单: 实时标注自动放线,网络表生成,电气规则检查; (6)设计菜单: 设计属性编辑、添加删除图纸、电源配置; (7)图形分析菜单: 传输特性/频率特性分析,编辑图形,增加曲线,运行分析; (8)源文件菜单:选择可编程器件的源文件,编辑工具,外部编辑器等; (9)调试菜单:起动调试,复位调试; (10)模板菜单:设置模板格式加载模板; (11)系统菜单:设置运行环境、系统信息、文件路径; (12)帮助菜单:帮助文件、设计实例。 Proteus 软件具体主界面如图 5-1 所示。 19 图 5-1 proteus 软件主界面 (二)仿真系统的设计与调试 这里我们用 Proteus 进行调试,具体步骤如下: (1)运行 Proteus 的 ISIS,进入仿真软件的主界面。主界面分为菜单栏,工具栏, 模型显示窗口,模型选择区,元件列表区等。在 Pick devices 窗口中选择系统所需元器件, 进行元件的选取,如图 5-2 所示13。 图 5-2 proteus ISIS 启动界面 (2)通过左侧的工具栏区的 P(从库中选择元件)命令,在 Pick devices 窗口中选择 系统所需元器件,还可以选择元件的类别,生产厂家等。本系统所需主要元器件有: AT89C51 芯片,AT89C51、CAP、CAP-ELEC、CRYSTAL、7SEG-BCD- GRN、BUTTON、RES详见下表 5-1。 20 表 5-1 元件清单 元件名称元件名称所属类所属类所属子类所属子类 AT89C51Microprocessor ICS8051 Family CAPCapacitorsGeneric CAP-ELECCapacitorsGeneric CRYSTALMiscellaneous 7SEG-BCD-GRNOptoelectronics7-Segment Displays BUTTONSwitches 接收命令送 R3 MOVR2,#07H;从机 1 的地址送 R2 CALLMSIO1 NOP 29 NOP NOP MOVR2,#0FH;从机 2 的地址送 R2 CALLMSIO1 AJMPLOOP PRESRX:JNB P3.5,$ MOVP1,#5H MOVR3,#01H;发送命令送 R3 MOVR2,#7H;从机 1 的地址送 R2 CALLMSIO1 NOP NOP NOP MOVA,R5 MOVR4,A MOVR2,#0FH;从机 2 的地址送 R2 CALLMSIO1 MOVA,R4 ADDA,R5 DA A MOVR5,A AJMPLOOP JIAYI:JNB P3.7,$ MOVP1,#7H INC R5 CLR A ADDA,R5 DA A MOVR5,A AJMPLOOP MSIO1:SETBTB8 MOVA,R2 MOVSBUF,A JNB TI,$ CLR TI CLR TB8 MOVA,R3 MOVSBUF,A JNB TI,$ CLR TI 30 CJNEA,#00H,SRX STX:CLR TB8 MOVA,R5 MOVSBUF,A JNB TI,$ CLR TI RET SRX:JNB RI,$ CLR RI MOVA,SBUF MOVR5,A RET END 多机通信从机: SLAVEEQU30H ORG00H AJMPMAIN ORG30H MAIN:MOVSP,#60H MOVTMOD,#20H MOVTH1,#0FDH MOVTL1,#0FDH MOVSCON,#0D8H MOVPCON,#0 SETBTR1 SETBSM2 MOVA,#0FFH MOVP1,A MOVA,P1 MOVSLAVE,A MOVR5,#00H DISPLAY:MOVP2,R5 CHACKRI: JB RI,SSIO JB P3.7,CHACKRI JNB P3.7,$ INC R5 MOV A,#0 ADD A,R5 DA A MOV R5,A AJMPDISPLAY SSIO:CLR RI 31 SETB RS1 CLR RS0 MOVA,SBUF XRLA,SLAVE JZ SSIO1 RETURN:SETBSM2 AJMP DISPLAY SSIO1:CLR SM2 JNB RI,$ CLR RI SSIO2:MOVA,SBUF CJNEA,#00H,STX SRX:JNB RI,$ ;接收数据 CLR RI MOVA,SBUF MOVR5,A AJMPRETURN STX:MOVA,R5 MOVSBUF,A JNB TI,$ CLR TI AJMPRETURN END 32 附录 3电路原理图

    注意事项

    本文(单机片毕业论文---基于AT89C51单片机间的多机通信的设计与仿真.doc)为本站会员(小小飞)主动上传,三一文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    经营许可证编号:宁ICP备18001539号-1

    三一文库
    收起
    展开