毕业设计(论文)-主从遥控机器人通讯系统的设计.doc_第1页
毕业设计(论文)-主从遥控机器人通讯系统的设计.doc_第2页
毕业设计(论文)-主从遥控机器人通讯系统的设计.doc_第3页
毕业设计(论文)-主从遥控机器人通讯系统的设计.doc_第4页
毕业设计(论文)-主从遥控机器人通讯系统的设计.doc_第5页
已阅读5页,还剩33页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

提供全套毕业设计,各专业都有 届届毕业毕业生生 毕毕 业业 论论 文文 题题 目目: : 主从遥控机器人通讯系统的设计主从遥控机器人通讯系统的设计 院系名称:院系名称: 电气工程学院电气工程学院 专业班级:专业班级: 学生姓名:学生姓名: 学学 号:号: 指导教师:指导教师: 教师职称:教师职称: 年年 06 月月 10 日日 i 摘 要 当今主从遥控机器人通讯正朝着快速化、精密化的方向发展。遥控机器人通讯 分为有线通讯和无线通讯方式。随着处理信息日益复杂,并且考虑到工作环境的需 要,有线遥控机器人广泛地运用在各个领域。本文设计的主从遥控通讯机器人系统 正是由于以上原因而设计的。 本文设计了一套机器人主从遥控通讯系统,该系统基于 at89s52 单片机,采 用 rs485 总线接口方式。通过主机每隔一定时间发送数据,当从机接收到主机发 送过来的数据以后,通过按键计数从机变成发送,主机变成接收,从机发送给主机 数据。在此设计中,只有收到主机发送过来的数据以后从机才可发送数据,不可以 主动发数据。本设计采用 rs485 串行接口标准及两级单片机主从式结构,实现了 成本低、传输距离远、抗干扰能力强的通信。实践证明,该系统是一种结构简单、 灵活、可靠性高的价格低廉的实用型主从遥控机器人通讯系统,非常适用于远距离 传送信息,具有较高推广应用价值。 关键词关键词:单片机;rs485;主从遥控 ii title communication system design of master-slave remote robot abstract at present, robot communication is being faster and more precise. robot communication includes wire type and wireless type. considering that the information which needs to be deal with is being complex and the needs of working environment, more and more wireless remote control robot is used in various fields. this thesis focus on the design of master-slave remote robot system for communication, this system is a master-slave remote system, witch is based on single chip computer (at89s52) and uses rs485 bus interface. .it communicates by asking cycle from master to slave. data such as 09 is sending from master to slave. if the data received by slave meet the sending requirement of the master, there will be a data which is same to the data received by slave sent to the master. if not, another data will be sent to the master. please note that the slave can not send data unless that the master sent data to the slave with the using of the rs485 serial interface standard and two levels scm master-slave structure, the system provides low cost, transmission distance, and strong anti-jamming communications. practice has proved that the system is a simple, flexible, high reliability and low prices, practical communication system, which is applicable to long-distance transmission of information and has important value. keywords: mcu(micor controller unit); rs485; serial communication iii 目目 次次 1 1 绪论绪论1 1.1 主从机器人 .1 1.2 单片机和通信技术的国内外研究现状1 1.3 本课题研究的意义 .3 1.4 本课题研究的背景及内容.3 1.5 系统总体设计思想.4 2 2 系统方案的选择系统方案的选择5 2.1 单片机的选择5 2.2 驱动的选择 .5 2.3 串行通讯的选择 .6 3 3 硬件电路设计硬件电路设计.8 3.1 系统总体设计.8 3.2 单片机最小系统电路设计 .8 3.3 驱动的设计.12 3.4 通讯的设计13 4 4 软件设计软件设计16 4.1 软件语言的选择16 4.2 通讯的协议17 4.3 模拟串行发送程序.19 4.4 模拟串行接收程序20 4.5 系统显示子程序设计.21 4.6 系统的仿真与调试.23 结结 论论24 致致 谢谢25 参参 考考 文文 献献.26 附录附录 a a 总电路图总电路图 28 附录附录 b b 显示子程序显示子程序 29 附录附录 c c 主程序主程序 30 1 1 绪论绪论 1.11.1 主从机器人主从机器人 在1947年产生了世界上第一台主从遥控的机器人,那么1947年以后大家知 道,是计算机电子技术发展比较迅速的时期,因此各国已经开始利用当时的一 些现代的技术,进行了机器人研究。在1962年美国研制成功puma通用示教再现 型机器人,这就标志着机器人走向成熟。那么相继不久,在英国等国家,也相 继研究出一些机器人。到20世纪70年代的时候,日本已经将这种示教再现型的 机器人进行了工业化,已经将机器人进行了工业化,进行了批量生产,而且成 功的用于了汽车工业,使机器人正式的走向应用。随着机器人技术发展越来越 成熟,主从机器人被广泛应用在各个领域里,特别是远程主从遥控机器人的出 现,降低了许多工作隐患。本文就是针对主从遥控机器人所设计的通讯部分, 它所实现的功能是可以通过主机向从机发出信号,等待从机应答,通过操作主 机来判断从机所处位子的工作要求,并且可以把从机放在恶劣的工作环境下, 它的工作原理是通过主机发送数据,当从机接收到主机发送过来的数据以后, 通过按键累加计数,从机变成发送,主机变成接收,从机发送给主机数据,在 此设计中,只有收到主机发送过来的数据以后从机才可发送数据,不可以主动 发数据。由于遥控机器人通讯所要求的距离比较远,一般总线接口很难满足要 求,对于以上要求来说,rs485串行接口标准是理想的选择,基于主从遥控通 讯机器人系统设计主要是由at89s52芯片和max485芯片组成,所以下面介绍 一下单片机和通讯技术。 1.21.2 单片机和通信技术的国内外研究现状单片机和通信技术的国内外研究现状 单片机是属于微机的一种,因而它首先具有一般微机的基本组成和功能。 i/o通信接口又是微机的重要组成部分,它是与外界传输信息的通道。所以单片 机和通信技术是不可分开的,这次设计就是利用单片机的i/o口进行两个单片机 之间的串行通信。下面先简要介绍一下单片机和通信技术在国内外的研究现状。 1.2.1 单片机的国内外研究现状 单片微机简称单片机,也有的叫做微处理( micro-processor简写up)或微 2 控制器(micro-controller 简写mc) ,通常统称 微型处理部件(micro controller unit 简写mcu) 。一般的说,单片机就是在一块硅片上集成 cpu、ram、rom、定时器/计数器、和多种i/o的完整的数字处理系统。二十 一世纪,微电子、网络、ic集成电路行业发展相当迅速,其中单片机行业的发 展最引人注目。单片机功能强、价格便宜、使用灵活,在计算机应用领域中发 挥着极其重要的作用。从intel公司于1971年生产第一颗单片机intel-4004开始, 开创了电子应用的“智能化“新时代。单片机以它的高性价比和灵活性,牢固树 立了其在嵌入式微控制系统中的“霸主“地位,在pc机以 286、386、pentium、piii高速更新换代的同时,单片机却“始终如一“保持旺盛 的生命力。例如,mcs-51系列单片机已有十多年的生命期,如今仍保持着上升 的态势就充分证明了这一点。由于单片机技术在各个领域正得到越来越广泛的 应用,世界上许多集成电路生产厂家相继推出了各种类型的单片机,特别是在 科技发展迅速的见天,单片机正向低功耗、高性能的方向发展,特别是向高位 处理器的方向发展(如32位、64位的处理器) 。在单片机家族的众多成员中, mc-51系列单片机以其优越的性能、成熟的技术及高可靠性和高性能价格比, 迅速占领了工业测控和自动化工程应用的主要市场,成为国内单片机应用领域 中的主流。 1.2.2 通信技术的国内外研究现状 在单片机系统中,通信就是单片机与外设之间以及单片机与单片机之间数 据的传送。而现在的通信技术融入计算机技术和数字处理技术,它和计算机技 术、数字处理技术的结合成了当今通信技术的标志当进入二十一世纪,毫不夸 张的说人类进入了信息化时代,信息进入了人们生活的方方面面。电视、视频 点播、电子数据互换、文件传输、电子邮箱、可视图问、目录查询、智能电报 等业务日渐普及,而这些业务都离不开数据的通信。随着计算机和各种含有单 片机的智能化设备在社会的各个领域的广泛应用,数据通信的应用也日趋扩大。 可以这样说,人类生活的各个方面越来越离不开数据的通信。而数据通信有串 行通信和并行通信两种方式,所谓的串行通讯是所传送数据的各位安顺序一位 一位地发送或接收,特点是传送速度较慢、通讯传输线较少、费用较低,适用 于传输距离较远的场合。并行通信是所传送数据的各位同时发送或接收,特点 3 是速度比较快、通讯传输线较多、费用较高,适用于传输距离较短的场合。由 于全球信息化,好多场合都是长距离的信息传输,所以好多国家正在努力研究 高速度、低功耗、长距离的串行通信。而这次的课题只对串行通信做了简单的 利用。 1.31.3 本课题研究的意义本课题研究的意义 本文结合对通讯系统的研究,设计出一种主从遥控通讯机器人系统,该系 统可以能更好的应用在机器人等现代通讯中,特别是在远程遥控系统中发挥的 作用更加突出,所以被应用在许多场合,实践证明,该系统是一种结构简单、 灵活、可靠性高的价格低廉的实用通讯系统,非常适用于中小型工业场合的控 制,具有较高推广应用价值。本文提出了一种在分布式单片机控制系统中,双 机间进行高性能串行通信的方案。采用 rs485 串行接口标准及两级单片机主从 式结构,实现了成本低、传输距离远、抗干扰能力强的通信。此设计方案在主 从通讯系统中得到很好的应用。 1.41.4 本课题研究的背景及内容本课题研究的背景及内容 随着计算机技术的快速发展和广泛应用,从智能家用电器到工业上的集散 控制系统(dcs)都采用了上位机与下位机基于单片机的串行通信的主从工作 方式。在这种情况下,一个系统中就使用了两个或两个以上的单片机,而单片 机之间就要通过互连来进行数据通信。mcs-51系列的单片机(例如at89s52) 都带有串口,利用串口进行互连通信极为方便,其各种连接方式在许多书籍和 资料上都有介绍,该设计就是基于mcs-51单片机串行通信的设计。 1.3.1课题研究的内容 根据单片机的内部结构,设计出一款简单实用的主从式串行通信电路,来 达到设计技术的要求。 (1)串行通信波特率的设置 在串行通信中,收发双方对发送或接收的数据速率(即波特率)要有一定 的约定。通过软件对串行口进行编程来实现收发双方波特率的约定。 (2)汇编语言的使用 汇编语言是面向机器的程序设计语言,对与cpu不同的单片机,其汇编语 言一般不同的。这种语言比较直观、易懂、易用,而且易于记忆。 4 (3)双向通信的实现 这次设计主要是如何实现串行通信,在实现串行通信时模拟串行通信和实 际串行通信有什么区别。 1.3.2 课题需要完成的工作 (1) 完成实现串行通信电路的整体设计 熟悉单片机的内部结构、指令系统以及中断系统的应用,查出所用到的各 个芯片的功能结构及工作原理;完成硬件电路的设计并绘制出原理图。 (2) 编写串行通讯的程序 通讯程序的编写就是实现模拟串口对信息发送和接收,然后对发送和接收 的信息进行判断是否正确。要根据设计的要求进行编写程序。 (3) 仿真调试 在编写好程序后进行仿真调试,检测各行程序是否正常和串行传送数据是 否正确。如果运行正常再把程序下载到单片机里面。 1.51.5 系统总体设计思想系统总体设计思想 主从遥控机器人通讯系统的设计从总体上来说是采用了两片单片机,通过 驱动数码管,运用通讯接口技术,来实现主从遥控通讯的设计,它的总体框图 如图 1.1 所示。 5 单片机 驱动 max485 数码管 驱动 max485 数码管 单片机 图 1.1 总体框图 2 2 系统方案的选择系统方案的选择 2.12.1 单片机的选择单片机的选择 方案一:microchip 公司的 pic 系列单片机具有实用、低价、易学、省 电、高速和体积小等特点。该系列单片机不是单纯的功能堆积,而是以多型号 来满足不同层次的需要,并可提供低价的 otp 芯片。另外,该系列单片机还具 有低功耗睡眠功能、掉电复位锁定、上电复位电路、看门狗电路等功能,而且 外围器件少、占用空间小;成本低,保密技术也十分可靠,可最大限度地保护 开发者的利益。 方案二:at89s52 是一种低功耗、高性能 cmos8 位微控制器,具有 8k 在系统可编程 flash 存储器。使用 atmel 公司高密度非 易失性存储器技术制造, 与工业 80c51 产品指令和引脚完 全兼容。片上 flash 允许程序存储器在系统可 编程,亦适于 常规编程器。在单芯片上,拥有灵巧的 8 位 cpu 和在系统 可 6 编程 flash,使得 at89s52 为众多嵌入式控制应用系统提 供高灵活、超有效的 解决方案。 方案三:motorola 单片机:motorola 是世界上最大的单片机厂商。从 m6800 开始,开发了广泛的品种,4 位,8 位,16 位 32 位的单片机都能生产, 其中典型的代表有:8 位机 m6805,m68hc05 系列,8 位增强型 m68hc11,m68hc12 ,16 位机 m68hc16,32 位机 m683xx。 motorola 单片 机的特点之一是在同样的速度下所用的时钟频率较 intel 类单片机低得多,因而 使得高频噪声低,抗干扰能力强,更适合于工控领域及恶劣的环境。 由于实际程序要求并不复杂,要实现的功能对芯片要求不是很苛刻,而 at89s52 又是一种我学习接触较多的一种单片机,可以搜集到的资料较多,芯 片较便宜,发展成熟,所以在实际是选用 at89s52 单片机。 2.22.2 驱动的选择驱动的选择 方案一: 74ls07 的高压集电极开路输出特性使它能用于高电压接口电路 或者驱动大电流负载。它也被用来做驱动 ttl 的缓冲器。74ls07 额定输出电 压是 30v。它最大能输出 40ma 的灌电流。 方案二: 74hc244 起到的是隔离加驱动的作用,但对电脑的并口起不到 保护作用,如果单片机板上有什么不对很有可能把电脑上的并口烧坏掉,所以 要用 74hc244 隔开,而且该芯片价钱便宜,起到了保护作用。 在本设计中,由于 74hc244 性能好,价钱便宜,并且只需要一片就够了, 用 74ls07 需要两片,对于 74hc244 芯片比较熟悉,而且为了布线方便和画原 理图方便,所以选择用 74hc244。 2.32.3 串行通讯的选择串行通讯的选择 方案一: rs- 232-c 接口(又称 eia rs-232-c)是目前最常用的一种串行 通讯接口。它是在 1970 年由美国电子工业协会(eia)联合贝尔系统、 调制 解调器厂家及计算机终端生产厂家共同制定的用于串行通讯的标 准。它的全名 是“数据终端设备(dte)和数据通讯设备(dce)之间 串行二进制数据交换 接口技术标准”该标准规定采用一个 25 个脚的 db25 连接器,对连接器的每个 引脚的信号内容加以规定,还对各种信号的电平加以规定。 7 (1)接口的信号内容 实际上 rs-232-c 的 25 条引线中有许多是很少使用 的,在计算机中和终端通讯中一般只使用 3-9 条引线。 (2)接口的电气特性 在 rs-232-c 中任何一条信号线的电压均为负逻辑关 系。即:逻 辑“1”,-5 -15v;逻辑“0” +5 +15v 。噪声容限为 2v。即 要 求接收器能识别低至+3v 的信号作为逻辑“0”,高到-3v 的信号 作为逻辑“1”。 (3) 接口的物理结构 rs-232-c 接口连接器一般使用型号为 db-25 的 25 芯插头座,通常插头在 dce 端,插座在 dte 端. 一些设备与 pc 机连接的 rs- 232-c 接口,因为不使用对方的传送控制信号,只需三条接口线,即“发送数据” 、“接收数据”和“信号地”。所以采用 db-9 的 9 芯插头座,传输线采用屏蔽双绞 线。 (4) 传输电缆长度 由 rs-232c 标准规定在码元畸变小于 4%的情况下,传 输电缆长度应为 50 英尺,其实这个 4%的码元畸变是很保守的,在实际应用中, 约有 99%的用户是按码元畸变 10-20%的范围工作的,所以实际使用中最大距离 会远超过 50 英尺,由于 rs-232-c 接口标准出现较早,难免有不足之处,主要 有以下四点: (1) 接口的信号电平值较高,易损坏接口电路的芯片,又因为与 ttl 电 平不兼容故需使用电平转换电路方能与 ttl 电路连接。 (2) 传输速率较低,在异步传输时,波特率为 20kbps。 (3) 接口使用一根信号线和一根信号返回线而构成共地的传输形式, 这 种共地传输容易产生共模干扰,所以抗噪声干扰性弱。 (4) 传输距离有限,最大传输距离标准值为 50 英尺,实际上也只能用在 50 米左右。 方案二: rs-485 的电气特性:逻辑“1”以两线间的电压差为+(26) v 表示;逻辑“0”以两线间的电压差为-(26)v 表示。接口信号电平比 rs- 232-c 降低了,就不易损坏接口电路的芯片, 且该电平与 ttl 电平兼容,可方 便与 ttl 电路连接。 (1) rs-485 的数据最高传输速率为 10mbps。 (2) rs-485 接口是采用平衡驱动器和差分接收器的组合,抗共模干能力 增强,即抗噪声干扰性好。 8 (3) rs-485 接口的最大传输距离标准值为 1000m,另外 rs-232-c 接口 在总线上只允许连接 1 个收发器, 即单站能力。而 rs-485 接口在总线上是允 许连接多达 128 个收发器。即具有多站能力,这样用户可以利用单一的 rs-485 接口方便地建立起设备网络。 因 rs-485 接口具有良好的抗噪声干扰性,长的传输距离和多站能力等上述 优点就使其成为首选的串行接口。 因为 rs485 接口组成的半双工网络,一般 只需二根连线,所以 rs485 接口均采用屏蔽双绞线传输。 rs485 接口连接器 采用 db-9 的 9 芯插头座,与智能终端 rs485 接口采用 db- 9(孔) ,与键盘连 接的键盘接口 rs485 采用 db-9(针) 。 由于本文的设计是远程遥控通讯,rs232 传输距离一般是 30m 以内,而 rs485 传输距离最远可以传输 1000m 以上,而本设计中需要控制在 50m 以上, 所以 rs232 很难达到要求,只有 rs485 才能够实现远程遥控,所以就选择了用 rs485 通讯接口。 3 3 硬件电路设计硬件电路设计 3.13.1 系统总体设计系统总体设计 主从遥控通讯系统的设计从总体上来说是采用了两片 at89s52 单片机,通 过 74hc244 驱动,运用 rs485 通讯接口技术,来实现主从遥控通讯的设计,它 的总体框图如图 3.1 所示。 9 max485 数码管 74hc244 at89s52单片机 max485 数码管 74hc244 at89s52单片机 图 3.1 总体框图 3.23.2 单片机最小系统电路设计单片机最小系统电路设计 在单片机家族的众多成员中,mcs-51系列单片机以其优越的性能、成熟的 技术、高可靠性和高性价比,占领了工业测控和自动化工程应用的主要市场, 并成为国内单片机应用领域中的主流机型,单片机是微型机的一种,因而它具 有一般微机的基本组成和功能。具有中央处理器、数据存储器ram、程序存储 器和i/o口等。这次就是基于at89s52单片机做串行通讯电路设计。下面先对 at89s52的基本特性做一个简单的介绍: (1) 具有适于控制的8位cpu指令系统; (2) 128字节的片内ram; (3) 21个特殊功能寄存器; 10 (4) 32线并行i/o口; (5) 2个16位定时/计数器; (6) 一个全双工串行口; (7) 5个中断源、2个中断优先级的中断结构; (8) 4k字节,片内rom; (9) 一个片内时钟震荡器和时钟电路; (10) 片外可扩展4krom和64kram。 3.2.1 晶振电路 在 at89s52 芯片内部有一个高增益相反相放大器,其输入端为芯片引脚 xtal1,其输出端为引脚 xtal2 。而在芯片的外部,xtal1 和 xtal2 之间 跨接晶体振荡器和微调电容,从而构成一个稳定的自激振荡器,这就是单片机 的时钟电路,如图 3.2 所示。 123456 a b c d 654321 d c b a title numberrevisionsize b date:18-jun-2008sheet of file:f:业业业业业mydesign4.ddbdrawn by: c1 30pf c2 30pf y1 12m at89s52 x1 x2 19 18 图 3.2 晶振电路 该电路选择两个 30pf 电容,晶振为 12mhz。 3.2.2 复位电路 无论是在单片机刚开始接上电源时,还是断电后或者发生故障后都要复位。 单片机复位的条件是:必须使 rst/vpd 或 rst 引脚(9)加上持续二个机器 周期(即 24 个振荡周期)的高电平。例如:若时钟频率为 12mhz,每机器周 期为 1us,则只需 2us 以上时间的高电平。在 rst 引脚出现高电平后的第二个 机器周期执行复位。单片机常见的复位电路如图 2 所示。 11 123456 a b c d 654321 d c b a title numberrevisionsize b date:18-jun-2008sheet of file:f:业业业业业mydesign4.ddbdrawn by: at89s52 r1 8.2k r2 200 r3 8.2k c3 10 s1 sw-pb gnd +5v rst 9 c2 10 +5rst at89s52 9 (a) 上电复位电路 (b) 按键复位电路 图 3.3 单片机常见的复位电路 图 2.(a)为上电复位电路,它是利用电容充电来实现的。在接电瞬间, rst 端的电位与 vcc 相同,随着充电电流的减少,rst 的电位逐渐下降。只 要保证 rst 为高电平的时间大于 2 个机器周期,便能正常复位。 图 2(b)为按键复位电路。该电路除具有上电复位功能外,若要复位,只 需按图 2(b)中的 reset 键,此时电源 vcc 经电阻 r1、r2 分压,在 rst 端 产生一个复位高电平。 在该设计中,由于再引入电源时接有总开关,所以没有必要选择按钮复位, 上电复位就可以了。 3.2.3 显示电路 (1) 驱动管 为了保护数码管和单片机,在数码管和单片机之间通过一片 74hc244 三态 门做缓冲,途中所有串接的 330 电阻起限流的作用。它的原理图如图 3.5 所 示。 12 123456 a b c d 654321 d c b a title numberrevisionsize b date:9-jun-2008 sheet of file:f:业业业业业业业业mydesign4.ddbdrawn by: 1a1 2 1y1 18 1a2 4 1y2 16 1a3 6 1y3 14 1a4 8 1y4 12 2a1 11 2y1 9 2a3 15 2y2 7 2y3 5 1g 1 2y4 3 2a2 13 2a4 17 2g 19 u2 74hc244 图 3.4 74hc244 驱动 74hc244 芯片内部共有两个四位三态缓冲器,使用时可分别以 1c 和 2g 作 为它们的选通工作信号。当 1c 和 2g 都为低电平时,输出端 y 和输入端 a 状 态相同;当 1g 和 2g 都为高电平时,输出呈高阻态。 (2) 数码管工作原理 共阳极数码管的原理图如图 3.6 所示: a bf c g d e 1 2 3 4 5 6 7 a b c d e f g 8 dp dp com com 图 3.5 数码管原理图 它的 8 个发光二极管的阳极(二极管正端)连接在一起,通常,公共阳极 接高电平(一般接电源) ,其它管脚接段驱动电路输出端。当某段驱动电路的输 出端为低电平时,则该端所连接的字段导通并点亮,根据发光字段的不同组合 可显示出各种数字或字符。此时,要求段驱动电路能吸收额定的段导通电流, 还需根据外接电源及额定段导通电流来确定相应的限流电阻。 13 3.33.3 驱动的设计驱动的设计 3.3.13.3.1 74hc224474hc2244 芯片的功能芯片的功能 如果输入的数据可以保持比较长的时间(比如键盘),简单输入接口扩展通 常使用的典型芯片为 74hc244,由该芯片可构成三态数据缓冲器。74hc244 芯 片的引脚排列如图 3.6 所示。 123456 a b c d 654321 d c b a title numberrevisionsize b date:9-jun-2008 sheet of file:f:业业业业业业业业mydesign4.ddbdrawn by: 1a1 2 1y1 18 1a2 4 1y2 16 1a3 6 1y3 14 1a4 8 1y4 12 2a1 11 2y1 9 2a3 15 2y2 7 2y3 5 1g 1 2y4 3 2a2 13 2a4 17 2g 19 u2 74hc244 图 3.6 74hc244 的引脚图 74hc244 芯片内部共有两个四位三态缓冲器,使用时可分别以 1c 和 2g 作 为它们的选通工作信号。当 1c 和 2g 都为低电平时,输出端 y 和输入端 a 状 态相同;当 1g 和 2g 都为高电平时,输出呈高阻态。 3.3.23.3.2应用应用 74hc24474hc244 芯片扩展芯片扩展 输入接口是采用 74hc244 芯片进行输入接口扩展的原理电路,当 p2 和 rd 同为低电平时,74hc2244 才能将输入端的数据送到单片机的 p0 口。其中,p2 决定了 74hc244 的地址,0000h-7fffh(共 32k)地址都可以访问这个单元,这 就是用线选法所带来的副作用。通常可选择其中的最高地址作为这个芯片的地 址来写程序,如这个芯片的地址是 7fffh。但这仅仅是一种习惯,并不是规定, 当然也完全可以用 0000h 作为这个芯片的地址,当确定了地址之后,其接口的 输入操作程序如下: mov dptr,#7fffh movx a,dptr 其中 movx 类指令是 mcs-5l 单片机专用于对外部 ram 进行操作的指令。由于外部 io 与外部 ram 是同一接口,所以一般使用这条指令对外部 io 进行操作。一旦 14 执行到 movx 类指令,单片机就会在 rd 或 wr(根据输入还是输出指令)引脚 产生一个下降沿,这个下降沿的波形与 p2 相或,则会在或门的输出口也产生一 个下降沿,这个下降沿将使 74hc244 的输出与输入接通,这样,输入设备的数 据就可以被 mcs-51 单片机从总线上读取。 3.43.4 通讯的设计通讯的设计 根据信息的传送方向,串行通信可以进一步分为单工通信、双工通信和半 双工通信3种方式。信息只能单向传送称为单工通信;信息能双向传送但不能同 时双向传送称为半双工通信;信息能够同时双向传送则称为全双工通信。串行通 信又分为异步通信和同步通信2种方式。在单片机中,主要使用异步通信方式。 本文主要讨论异步单线串行通信在单片机中的应用。在异步通信中,数据通常 以字符为单位组成字符帧进行传送。字符帧由发送端把信息一帧一帧地发送, 通过传输线让接收设备一帧一帧地接收。发送端和接收端可以有各自的时钟来 控制数据的发送和接收,这两个时钟彼此独立,互不同步。它们是靠字符帧格 式的规定来协调数据的发送和接收。平时,发送线为高电平,每当接收端检测 到传输线上发送过来的是低电平时就知道发送端开始发送信息,每当接收端接 收到一帧字符的停止位时就知道一帧字符发送完毕。同步通信没有像异步通信 那样有开始标志和结束标志,省略了起始位和停止位占用了传送时间。这样接 就提高了数据的传送速度。但是同步通信的收和发双方必须用相同的同步字符。 主从遥控通讯系统应用在许多场合,而不同的场合提出的要求又各不相同, 故通讯系统的组成形式呈现多样化的趋势。目前的通讯系统大多采用计算机 微控制器的方式,这样的系统结构复杂,所需的软、硬件支持多,成本高。我 们针对主从通讯系统提出的要求,从可靠性和实用性出发,利用单片机 rs485 串口标准组成了一种主从式通讯系统。其中 max485 起着极其重要的 作用。max485 是一个 8 脚芯片,其硬件电路原理如图 3.7 所示 15 8 vcc 7 b 6 a 3 de 5 gnd 1 ro 4 di 2 re 图3.7 max485原理图 (1) ro为接收器输出, 若a-b200ma,则ro=1; 若a-b200ma,则ro=0; (2) re为接收器使能,re=0时,ro有效; (3) di为驱动器输入端; (4) de为驱动器使能端;de=1时,可发送信息; (5) 同相接收器输入,b反相接收器输入; (6) vcc为+4.75+5.5v; (7) 最高传递速率2.5mbps。 从图 3.7 中可以看出,max485 芯片的结构和引脚都非常简单,内部含有 一个驱动器和接收器。ro 和 di 端分别为接收器的输出和驱动器的输入端,与 单片机连接时只需分别与单片机的 rxd 和 txd 相连即可;/re 和 de 端分别 为接收和发送的使能端,当/re 为逻辑 0 时,器件处于接收状态;当 de 为逻 辑 1 时,器件处于发送状态,因为 max485 工作在半双工状态,所以只需用单 片机的一个管脚控制这两个引脚即可;a 端和 b 端分别为接收和发送的差分信 号端,当 a 引脚的电平高于 b 时,代表发送的数据为 1;当 a 的电平低于 b 端 时,代表发送的数据为 0。在与单片机连接时接线非常简单。只需要一个信号 控制 max485 的接收和发送即可。同时将 a 和 b 端之间加匹配电阻,一般可 选 100 的电阻。 对于远距离通讯来说,rs485 串行接口标准是理想的选择。rs485 的电气 标准实际上是 rs422 的变型,由于性能优异、结构简单、组网容易而得到广泛 16 的应用。他采用的是平衡发送和差分接收方式来实现通信,因此有极强的抗共 模干扰能力,接收灵敏度也相当高。同时传输速率和最大传输距离也大大提高。 如果用 100 kbs 时,传输距离可达 120 m,而 10 kbs 速率传输可达 12 km。如果降低波特率,传输距离还可以进一步提高。另外 rs485 实现了多点互 连,最多可达 32 台驱动器和 32 台接收器,非常便于多器件的连接。分布式集 中控制系 统网络拓扑采用总线方式,传送数据采用主从站的方法,各单元通讯接口均用 rs485 串口标准。由于用了单片机多机通信及总线方式,该系统有较高的可靠 性,即使某个从站出现故障也不会响其他站,整个系统中,各单片机选用 mcs- 51 系列,12mhz 晶振。利用单片机自身的半双工异步串行接口,并外配合适的 通讯接口芯片及采用通信总线形式,构成半双工异步串行通信网络。 17 4 4 软件设计软件设计 4.14.1 软件语言的选择软件语言的选择 在编写单片机程序时,可以用汇编语言编写,也可以用 c 高级语言来编写, 还可以用两者混合编程。在软件设计中,我们可以采用 c 高级语言来编写程序 的方案,也可以用汇编语言编写程序的方案。 方案一:c 语言作为高级语言,它更接近和体现人的设计思想;c 高级语 言是目前流行的一种计算机语言,它主要用于单片机和一般微型计算机。 c 高级语言程序设计快、可读性好、可靠性高、可移植性好、代码转换质 量高。单片机 c 高级语言的特点是同时兼有高级语言和汇编语言的优点,还能 像汇编语言那样直接利用 cpu 的硬件特性进行程序设计,直接操作单片机的硬 件和接口。c 高级语言目标模块还可以同汇编连接组成一个完整的程序,目前 在单片机应用领域,c 高级语言越来越受到人们的重视。使用 c 高级语言的工 作效率高,其生成的机器代码质量也是高水平的。 方案二:汇编语言由于采用了助记符号来编写程序,比用机器语言的二进 制代码编程要方便些,在一定程度上简化了编程过程。汇编语言的特点是用符 号代替了机器指令代码,而且助记符与指令代码一一对应,基本保留了机器语 言的灵活性。使用汇编语言能面向机器并较好地发挥机器的特性,得到质量较 高的程序。 汇编语言是面向具体机型的,它离不开具体计算机的指令系统,因此,对于不 同型号的计算机,有着不同的结构的汇编语言,而且,对于同一问题所编制的 汇编语言程序在不同种类的计算机间是互不相通的。但是,汇编语言用来编制 系统软件和过程控制软件,其目标程序占用内存空间少,运行速度快,有着高 级语言不可替代的用途。 综上所述,c 语言作为高级语言,它更接近和体现人的设计思想,而汇编 语言则具有占用内存空间少,运行速度快,有着高级语言不可替代的优点。经 过分析比较,本系统采用汇编语言进行程序设计,因为本系统程序设计并不是 18 太复杂,汇编语言对其足以胜任。另外,在学习单片机 at89c52 时,学习的就 是汇编语言,本人能较为熟练的使用汇编语言,因此本系统采用汇编语言进行 程序设计更为合理。 串行通讯程序采用的是汇编语言,采用查询的方式对主程序进行发送和接 收并对执行的结果送到显示部分。通过外部中断对按键进行控制 p2 口和串行口 对数据的发送和接收。在串行通讯程序中基本上由主程序和中断服务程序两步 分组成。主程序用于设定波特率、外部中断 t1、寄存器和串行中断的初值等; 中断服务程序用于发送和接收数据,并且判断接收数据是否发送正确,如果发 送正确则显示“8”的字样,否则显示“0”的字样。下面逐一进行详细介绍。 4.24.2 通讯的协议通讯的协议 通讯协议是指通讯双方的一种约定。约定包括对数据格式、异步方式、传 送速度、传送步骤、检纠错方式以及控制字符定义等问题做出同意规定,通讯 双方共同遵守。 4.2.1 通讯方式 在单片机系统中,cpu与外部的基本通讯方式有两种:并行通讯数据的 各位同时传送;串行通讯数据一位一位的传送。串行通讯是指将构成字符的 每个二进制数据位,按照一定的顺序逐位进行传送的通讯方法。串行的优点是 只需要一根传输线,缺点是传输数据比并行通讯要慢。通过软件可编程的串行 通信有方式0、方式1、方式2和方式3共4种工作方式。在这四种工作方式中它们 有各自的特点。在这个设计中用的是异步串行通讯方式1。异步串行通讯规定了 字符数据的传送格式,即每个数据以相同的帧格式。如图4.1所示,每一帧信息 由起始位、数据位、停止位组成,共十位。 低 位 起始位 高 位 停止位 图 4.1 异步通信的一帧数据格式 19 (1) 起始位:1位。在通讯线上没有数据传送时处于高电平状态(逻辑“1” 状态) 。当发送方要发送一个字符的数据时,首先发送一个逻辑“0”信号,这个 逻辑低电平就是起始位。起始位通过通讯线传向接收方,当接收方检测到这个 逻辑低电平后,就开始准备接收数据位信号。因此,起始位所起的作用就是表 示字符传送开始。 (2) 数据位:8位。当接收方收到起始位后,紧接着就会接收数据位。在字 符数据传送的过程中,数据位从最小有效位开始传送。 (3) 停止位:1位。传送八位数据位后数据线置逻辑“1”状态,表示一个数据 帧传送结束。 在异步通讯中,字符数据以图4.1所示的格式一个接一个的传送。在发送间 隙,即空闲时,通讯线路总是处于逻辑“1”状态,每个字符数据的传送均以逻辑 “0”开始。这样能保证传送数据时不容易丢失数据。 4.2.2 波特率(baud rate) 串行通信的速率用波特率来表示,所谓波特率就是指一秒钟传送数据位的 个数。每秒钟传送一个数据位就是1波特。即:1波特1bps(位/秒) 。在串 行通信中,数据位的发送和接收分别由发送时钟脉冲和接收时钟脉冲进行定时 控制。时钟频率高,则波特率高,通信速度就快;反之,时钟频率低,波特率 就低,通信速度就慢。 串行口的波特率设定如下: 在方式0中,波特率为时钟频率的1/12,固定不变。 在方式2中,波特率取决于pcon中的smod值,当smod=0时,波特率为 时钟频率的1/64。当smod=1时,波特率为时钟频率的1/32。 在方式1和方式3下,波特率由定时器1的溢出率和smod共同决定。这次设 计用的就是串行方式1进行对串行口进行设置。在该设计中用的晶体是12mhz, 用的是定时器t1工作方式2波特率发生器,波特率为9600波特,所以初值应该是: 其中smod=1 x=256-12106(1+1)(3849600)=fah (4.1) 20 4.2.3 发送和接收时钟 二进制数据序列在串行传送过程中以数字信号波形的形式出现。不论发送 还是接收,都必须有时钟信号对传送的数据进行定位。 在发送数据时,发送器在发送时钟的下降沿将数据块输出;在接收数据时, 接收器在接收时钟的上升沿对发送过来的数据位采样,如图4.2所示。 图4.2发送和接受数据位 出于实际需要,发送/接收始终的频率大于或等于波特率,两者的关系如下: 发送/接收时钟频率=n波特率 式中的n称为波特率因子,n=1、16或64。对于同步传送方式,必须取n=1;对于 异步传送方式,通常取n=16。 进行数据传送时每一位的时间td与发送/接收时钟周期tc之间的关系是: td=ntc (4.2) 在异步通信方式下,接收数据实现同步的过程如下:接收器在每一个接收 时钟的上升沿采样接收数据线,当发现接收数据出现低电平时就认为可能是起 始位开始。以后若在连续单个接收时钟周期(假设n=16,td=16tc)内检测到 接收数据线保持低电平,确定它是起始位。通过这种方法,不仅能够排除接收 线上的噪声干扰,而且能够相当准确的确定起始位的中间点,从而提供了一个 准确的时间基准。 4.34.3 模拟串行发送程序模拟串行发送程序 在设计中串行通信的实现是通过模拟串口p2.1发送一个单字节和串行口发 送一个同样的单字节,接收方通过对发送的数据进行比较然后进行显示如果两 者相等说明发送正确显示“8” ,否则就是发送失败显示器出现“0”的字样。通 过p2.1发送数据和通过串行口发送数据的基本流程是一样的。图4-3是p2.1口模 接收时钟 数据位 发送时钟 数据位 21 拟发送数据的流程图。 开始 设定串行通信方式 置接收缓冲区首地址 和接收数据模块长度 发送数据 ti=1? ti清零 修改地址指针和 块长度计数器 全部数据发送完? 结束 n y y n t1初始化,启动t1工 作 图 4.3 查询方式发送程序流程图 4.44.4 模拟模拟串行接收程序串行接收程序 串行通讯的接收其实与发送有很大的相似之处,当接收方收到模拟口和串 22 行口发送的信息时进行比较当发送的信息相同时就认为是正确的信息同时把这 正确的信息送到显示部分去显示正确的信号。就如以上所说正确的信息显示 “8”信号,错误的信息就显示“0”的信号。接收程序的流程图如图4.4所示。 开始 设定串行通信方式和 允许接收 置接收缓冲区首地址 和接收数据模块长度 接收数据 ri=1? ri清零 修改地址指针和块 长度计数器 全部数据发送完? 结束 n y y n t1初始化,启动t1工 作 图 4.4 查询方式接收程序流程图 4.54.5 系统显示子程序设计系统显示子程序设计 系统显示程序的目的是为了验证通讯是否成功,在程序中定义 30h 单元存 23 放通讯成功标志位,若 30h 单元中数值为 0,则表明通讯不成功,数码管显示 0;若 30h 单元中数值为 1,则表明通讯成功,数码管显示为 8。系统显示程序 流程图如图 4.5 所示: 30h=1? r38 显示程序 r30 y n 开始 返回 图 4.5 显示程序流程图 其程序如下: display: jb 30h.0,l1 mov r3,#00h sjmp l3 l1: mov r3,#08h l3: mov a,r3 mov dptr,#tady movc a,a+dptr mov p2,a lcall deday ret deday: ;延时程序,延时时间为 r3 乘 r4 乘指令周期,指令周期由晶振决定 mov r0,#20 dd1:mov r5,#0ffh dd:mov r4,#0ffh djnz r4,$ ;r4 减 1,若不等于 0,则循环本行 djnz r5,dd ;5 减 1,若不等于 0,则跳转到 dd djnz r0, dd1 ret ; 24 tady: db 00000001b,01001111b,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论