收藏 分销(赏)

主从遥控机器人通讯系统的设计.doc

上传人:a199****6536 文档编号:2769427 上传时间:2024-06-05 格式:DOC 页数:38 大小:550.50KB
下载 相关 举报
主从遥控机器人通讯系统的设计.doc_第1页
第1页 / 共38页
主从遥控机器人通讯系统的设计.doc_第2页
第2页 / 共38页
主从遥控机器人通讯系统的设计.doc_第3页
第3页 / 共38页
主从遥控机器人通讯系统的设计.doc_第4页
第4页 / 共38页
主从遥控机器人通讯系统的设计.doc_第5页
第5页 / 共38页
点击查看更多>>
资源描述

1、提供全套毕业设计,各专业都有届毕业生毕业论文题 目: 主从遥控机器人通讯系统的设计 院系名称: 电气工程学院 专业班级: 学生姓名: 学 号: 指导教师: 教师职称: 年 06 月 10 日摘 要当今主从遥控机器人通讯正朝着快速化、精密化的方向发展。遥控机器人通讯分为有线通讯和无线通讯方式。随着处理信息日益复杂,并且考虑到工作环境的需要,有线遥控机器人广泛地运用在各个领域。本文设计的主从遥控通讯机器人系统正是由于以上原因而设计的。本文设计了一套机器人主从遥控通讯系统,该系统基于AT89S52单片机,采用RS485总线接口方式。通过主机每隔一定时间发送数据,当从机接收到主机发送过来的数据以后,通

2、过按键计数从机变成发送,主机变成接收,从机发送给主机数据。在此设计中,只有收到主机发送过来的数据以后从机才可发送数据,不可以主动发数据。本设计采用RS485串行接口标准及两级单片机主从式结构,实现了成本低、传输距离远、抗干扰能力强的通信。实践证明,该系统是一种结构简单、灵活、可靠性高的价格低廉的实用型主从遥控机器人通讯系统,非常适用于远距离传送信息,具有较高推广应用价值。关键词:单片机;RS485;主从遥控 Title Communication System Design of Master-Slave Remote Robot AbstractAt present, robot commu

3、nication 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 f

4、ocus 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

5、. 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

6、 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 communi

7、cation system, which is applicable to long-distance transmission of information and has important value.Keywords: MCU(Micor Controller Unit); RS485; Serial Communication 目 次1 绪论11.1主从机器人11.2 单片机和通信技术的国内外研究现状11.3本课题研究的意义31.4 本课题研究的背景及内容31.5 系统总体设计思想42 系统方案的选择52.1 单片机的选择52.2驱动的选择52.3串行通讯的选择63 硬件电路设计83

8、.1 系统总体设计83.2单片机最小系统电路设计83.3 驱动的设计123.4 通讯的设计134 软件设计164.1 软件语言的选择164.2 通讯的协议174.3 模拟串行发送程序194.4 模拟串行接收程序204.5 系统显示子程序设计214.6 系统的仿真与调试23结 论24致 谢25参 考 文 献26附录A 总电路图28附录B 显示子程序29附录C 主程序30III1 绪论1.1主从机器人在1947年产生了世界上第一台主从遥控的机器人,那么1947年以后大家知道,是计算机电子技术发展比较迅速的时期,因此各国已经开始利用当时的一些现代的技术,进行了机器人研究。在1962年美国研制成功PU

9、MA通用示教再现型机器人,这就标志着机器人走向成熟。那么相继不久,在英国等国家,也相继研究出一些机器人。到20世纪70年代的时候,日本已经将这种示教再现型的机器人进行了工业化,已经将机器人进行了工业化,进行了批量生产,而且成功的用于了汽车工业,使机器人正式的走向应用。随着机器人技术发展越来越成熟,主从机器人被广泛应用在各个领域里,特别是远程主从遥控机器人的出现,降低了许多工作隐患。本文就是针对主从遥控机器人所设计的通讯部分,它所实现的功能是可以通过主机向从机发出信号,等待从机应答,通过操作主机来判断从机所处位子的工作要求,并且可以把从机放在恶劣的工作环境下,它的工作原理是通过主机发送数据,当从

10、机接收到主机发送过来的数据以后,通过按键累加计数,从机变成发送,主机变成接收,从机发送给主机数据,在此设计中,只有收到主机发送过来的数据以后从机才可发送数据,不可以主动发数据。由于遥控机器人通讯所要求的距离比较远,一般总线接口很难满足要求,对于以上要求来说,RS485串行接口标准是理想的选择,基于主从遥控通讯机器人系统设计主要是由AT89S52芯片和MAX485芯片组成,所以下面介绍一下单片机和通讯技术。1.2 单片机和通信技术的国内外研究现状单片机是属于微机的一种,因而它首先具有一般微机的基本组成和功能。I/O通信接口又是微机的重要组成部分,它是与外界传输信息的通道。所以单片机和通信技术是不

11、可分开的,这次设计就是利用单片机的I/O口进行两个单片机之间的串行通信。下面先简要介绍一下单片机和通信技术在国内外的研究现状。1.2.1 单片机的国内外研究现状单片微机简称单片机,也有的叫做微处理( Micro-Processor简写UP)或微控制器(Micro-Controller 简写MC),通常统称 微型处理部件(Micro Controller Unit 简写MCU)。一般的说,单片机就是在一块硅片上集成CPU、RAM、ROM、定时器/计数器、和多种I/O的完整的数字处理系统。二十一世纪,微电子、网络、IC集成电路行业发展相当迅速,其中单片机行业的发展最引人注目。单片机功能强、价格便宜

12、、使用灵活,在计算机应用领域中发挥着极其重要的作用。从INTEL公司于1971年生产第一颗单片机Intel-4004开始,开创了电子应用的智能化新时代。单片机以它的高性价比和灵活性,牢固树立了其在嵌入式微控制系统中的霸主地位,在PC机以286、386、Pentium、PIII高速更新换代的同时,单片机却始终如一保持旺盛的生命力。例如,MCS-51系列单片机已有十多年的生命期,如今仍保持着上升的态势就充分证明了这一点。由于单片机技术在各个领域正得到越来越广泛的应用,世界上许多集成电路生产厂家相继推出了各种类型的单片机,特别是在科技发展迅速的见天,单片机正向低功耗、高性能的方向发展,特别是向高位处

13、理器的方向发展(如32位、64位的处理器)。在单片机家族的众多成员中,MC-51系列单片机以其优越的性能、成熟的技术及高可靠性和高性能价格比,迅速占领了工业测控和自动化工程应用的主要市场,成为国内单片机应用领域中的主流。1.2.2 通信技术的国内外研究现状在单片机系统中,通信就是单片机与外设之间以及单片机与单片机之间数据的传送。而现在的通信技术融入计算机技术和数字处理技术,它和计算机技术、数字处理技术的结合成了当今通信技术的标志当进入二十一世纪,毫不夸张的说人类进入了信息化时代,信息进入了人们生活的方方面面。电视、视频点播、电子数据互换、文件传输、电子邮箱、可视图问、目录查询、智能电报等业务日

14、渐普及,而这些业务都离不开数据的通信。随着计算机和各种含有单片机的智能化设备在社会的各个领域的广泛应用,数据通信的应用也日趋扩大。可以这样说,人类生活的各个方面越来越离不开数据的通信。而数据通信有串行通信和并行通信两种方式,所谓的串行通讯是所传送数据的各位安顺序一位一位地发送或接收,特点是传送速度较慢、通讯传输线较少、费用较低,适用于传输距离较远的场合。并行通信是所传送数据的各位同时发送或接收,特点是速度比较快、通讯传输线较多、费用较高,适用于传输距离较短的场合。由于全球信息化,好多场合都是长距离的信息传输,所以好多国家正在努力研究高速度、低功耗、长距离的串行通信。而这次的课题只对串行通信做了

15、简单的利用。1.3本课题研究的意义本文结合对通讯系统的研究,设计出一种主从遥控通讯机器人系统,该系统可以能更好的应用在机器人等现代通讯中,特别是在远程遥控系统中发挥的作用更加突出,所以被应用在许多场合,实践证明,该系统是一种结构简单、灵活、可靠性高的价格低廉的实用通讯系统,非常适用于中小型工业场合的控制,具有较高推广应用价值。本文提出了一种在分布式单片机控制系统中,双机间进行高性能串行通信的方案。采用RS485串行接口标准及两级单片机主从式结构,实现了成本低、传输距离远、抗干扰能力强的通信。此设计方案在主从通讯系统中得到很好的应用。1.4 本课题研究的背景及内容随着计算机技术的快速发展和广泛应

16、用,从智能家用电器到工业上的集散控制系统(DCS)都采用了上位机与下位机基于单片机的串行通信的主从工作方式。在这种情况下,一个系统中就使用了两个或两个以上的单片机,而单片机之间就要通过互连来进行数据通信。MCS-51系列的单片机(例如AT89S52)都带有串口,利用串口进行互连通信极为方便,其各种连接方式在许多书籍和资料上都有介绍,该设计就是基于MCS-51单片机串行通信的设计。1.3.1课题研究的内容根据单片机的内部结构,设计出一款简单实用的主从式串行通信电路,来达到设计技术的要求。(1)串行通信波特率的设置在串行通信中,收发双方对发送或接收的数据速率(即波特率)要有一定的约定。通过软件对串

17、行口进行编程来实现收发双方波特率的约定。(2)汇编语言的使用汇编语言是面向机器的程序设计语言,对与CPU不同的单片机,其汇编语言一般不同的。这种语言比较直观、易懂、易用,而且易于记忆。(3)双向通信的实现这次设计主要是如何实现串行通信,在实现串行通信时模拟串行通信和实际串行通信有什么区别。 1.3.2 课题需要完成的工作(1) 完成实现串行通信电路的整体设计熟悉单片机的内部结构、指令系统以及中断系统的应用,查出所用到的各个芯片的功能结构及工作原理;完成硬件电路的设计并绘制出原理图。(2) 编写串行通讯的程序通讯程序的编写就是实现模拟串口对信息发送和接收,然后对发送和接收的信息进行判断是否正确。

18、要根据设计的要求进行编写程序。 (3) 仿真调试在编写好程序后进行仿真调试,检测各行程序是否正常和串行传送数据是否正确。如果运行正常再把程序下载到单片机里面。1.5 系统总体设计思想主从遥控机器人通讯系统的设计从总体上来说是采用了两片单片机,通过驱动数码管,运用通讯接口技术,来实现主从遥控通讯的设计,它的总体框图如图1.1所示。图1.1 总体框图2 系统方案的选择2.1 单片机的选择方案一:MICROCHIP公司的PIC系列单片机具有实用、低价、易学、省电、高速和体积小等特点。该系列单片机不是单纯的功能堆积,而是以多型号来满足不同层次的需要,并可提供低价的OTP芯片。另外,该系列单片机还具有低

19、功耗睡眠功能、掉电复位锁定、上电复位电路、看门狗电路等功能,而且外围器件少、占用空间小;成本低,保密技术也十分可靠,可最大限度地保护开发者的利益。方案二:AT89S52是一种低功耗、高性能CMOS8位微控制器,具有 8K 在系统可编程Flash 存储器。使用Atmel公司高密度非 易失性存储器技术制造,与工业80C51产品指令和引脚完 全兼容。片上Flash允许程序存储器在系统可编程,亦适于 常规编程器。在单芯片上,拥有灵巧的8 位CPU 和在系统 可编程Flash,使得AT89S52为众多嵌入式控制应用系统提 供高灵活、超有效的解决方案。方案三:Motorola单片机:Motorola是世界

20、上最大的单片机厂商。从M6800开始,开发了广泛的品种,4位,8位,16位32位的单片机都能生产,其中典型的代表有:8位机M6805,M68HC05系列,8位增强型M68HC11,M68HC12,16位机M68HC16,32位机M683XX。Motorola单片机的特点之一是在同样的速度下所用的时钟频率较Intel类单片机低得多,因而使得高频噪声低,抗干扰能力强,更适合于工控领域及恶劣的环境。由于实际程序要求并不复杂,要实现的功能对芯片要求不是很苛刻,而AT89S52又是一种我学习接触较多的一种单片机,可以搜集到的资料较多,芯片较便宜,发展成熟,所以在实际是选用AT89S52单片机。2.2驱动

21、的选择 方案一: 74LS07的高压集电极开路输出特性使它能用于高电压接口电路或者驱动大电流负载。它也被用来做驱动TTL的缓冲器。74LS07额定输出电压是30V。它最大能输出40ma的灌电流。方案二: 74HC244起到的是隔离加驱动的作用,但对电脑的并口起不到保护作用,如果单片机板上有什么不对很有可能把电脑上的并口烧坏掉,所以要用74HC244隔开,而且该芯片价钱便宜,起到了保护作用。在本设计中,由于74HC244性能好,价钱便宜,并且只需要一片就够了,用74LS07需要两片,对于74HC244芯片比较熟悉,而且为了布线方便和画原理图方便,所以选择用74HC244。2.3串行通讯的选择方案

22、一: RS- 232-C接口(又称 EIA RS-232-C)是目前最常用的一种串行通讯接口。它是在1970年由美国电子工业协会(EIA)联合贝尔系统、 调制解调器厂家及计算机终端生产厂家共同制定的用于串行通讯的标 准。它的全名是“数据终端设备(DTE)和数据通讯设备(DCE)之间 串行二进制数据交换接口技术标准”该标准规定采用一个25个脚的 DB25连接器,对连接器的每个引脚的信号内容加以规定,还对各种信号的电平加以规定。(1)接口的信号内容 实际上RS-232-C的25条引线中有许多是很少使用的,在计算机中和终端通讯中一般只使用3-9条引线。(2)接口的电气特性 在RS-232-C中任何一

23、条信号线的电压均为负逻辑关系。即:逻 辑“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%的情况下,传输电缆长度应

24、为50英尺,其实这个4%的码元畸变是很保守的,在实际应用中,约有99%的用户是按码元畸变10-20%的范围工作的,所以实际使用中最大距离会远超过50英尺,由于RS-232-C接口标准出现较早,难免有不足之处,主要有以下四点:(1) 接口的信号电平值较高,易损坏接口电路的芯片,又因为与TTL 电平不兼容故需使用电平转换电路方能与TTL电路连接。(2) 传输速率较低,在异步传输时,波特率为20Kbps。(3) 接口使用一根信号线和一根信号返回线而构成共地的传输形式, 这种共地传输容易产生共模干扰,所以抗噪声干扰性弱。(4) 传输距离有限,最大传输距离标准值为50英尺,实际上也只能用在50米左右。方

25、案二: RS-485的电气特性:逻辑“1”以两线间的电压差为+(26) V表示;逻辑“0”以两线间的电压差为-(26)V表示。接口信号电平比RS-232-C降低了,就不易损坏接口电路的芯片, 且该电平与TTL电平兼容,可方便与TTL 电路连接。(1) RS-485的数据最高传输速率为10Mbps。(2) RS-485接口是采用平衡驱动器和差分接收器的组合,抗共模干能力增强,即抗噪声干扰性好。(3) RS-485接口的最大传输距离标准值为1000m,另外RS-232-C接口在总线上只允许连接1个收发器, 即单站能力。而RS-485接口在总线上是允许连接多达128个收发器。即具有多站能力,这样用户

26、可以利用单一的RS-485接口方便地建立起设备网络。因RS-485接口具有良好的抗噪声干扰性,长的传输距离和多站能力等上述优点就使其成为首选的串行接口。 因为RS485接口组成的半双工网络,一般只需二根连线,所以RS485接口均采用屏蔽双绞线传输。 RS485接口连接器采用DB-9的9芯插头座,与智能终端RS485接口采用DB- 9(孔),与键盘连接的键盘接口RS485采用DB-9(针)。由于本文的设计是远程遥控通讯,RS232传输距离一般是30m以内,而RS485传输距离最远可以传输1000m以上,而本设计中需要控制在50m以上,所以RS232很难达到要求,只有RS485才能够实现远程遥控,

27、所以就选择了用RS485通讯接口。3 硬件电路设计3.1 系统总体设计主从遥控通讯系统的设计从总体上来说是采用了两片AT89S52单片机,通过74HC244驱动,运用RS485通讯接口技术,来实现主从遥控通讯的设计,它的总体框图如图3.1所示。图3.1 总体框图3.2单片机最小系统电路设计在单片机家族的众多成员中,MCS-51系列单片机以其优越的性能、成熟的技术、高可靠性和高性价比,占领了工业测控和自动化工程应用的主要市场,并成为国内单片机应用领域中的主流机型,单片机是微型机的一种,因而它具有一般微机的基本组成和功能。具有中央处理器、数据存储器RAM、程序存储器和I/O口等。这次就是基于AT8

28、9S52单片机做串行通讯电路设计。下面先对AT89S52的基本特性做一个简单的介绍:(1) 具有适于控制的8位CPU指令系统;(2) 128字节的片内RAM;(3) 21个特殊功能寄存器;(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和XTAL

29、2之间跨接晶体振荡器和微调电容,从而构成一个稳定的自激振荡器,这就是单片机的时钟电路,如图3.2所示。图3.2 晶振电路该电路选择两个30PF电容,晶振为12MHZ。3.2.2 复位电路无论是在单片机刚开始接上电源时,还是断电后或者发生故障后都要复位。单片机复位的条件是:必须使RST/VPD 或RST引脚(9)加上持续二个机器周期(即24个振荡周期)的高电平。例如:若时钟频率为12MHZ,每机器周期为1us,则只需2us以上时间的高电平。在RST引脚出现高电平后的第二个机器周期执行复位。单片机常见的复位电路如图2所示。(a) 上电复位电路 (b) 按键复位电路图 3.3 单片机常见的复位电路图

30、2.(a)为上电复位电路,它是利用电容充电来实现的。在接电瞬间,RST端的电位与VCC相同,随着充电电流的减少,RST的电位逐渐下降。只要保证RST为高电平的时间大于2个机器周期,便能正常复位。图2(b)为按键复位电路。该电路除具有上电复位功能外,若要复位,只需按图2(b)中的RESET键,此时电源VCC经电阻R1、R2分压,在RST端产生一个复位高电平。在该设计中,由于再引入电源时接有总开关,所以没有必要选择按钮复位,上电复位就可以了。3.2.3 显示电路(1) 驱动管为了保护数码管和单片机,在数码管和单片机之间通过一片74HC244三态门做缓冲,途中所有串接的330电阻起限流的作用。它的原

31、理图如图3.5所示。图3.4 74HC244驱动74HC244芯片内部共有两个四位三态缓冲器,使用时可分别以1C和2G作为它们的选通工作信号。当1C和2G都为低电平时,输出端Y和输入端A状态相同;当1G和2G都为高电平时,输出呈高阻态。(2) 数码管工作原理共阳极数码管的原理图如图3.6所示:图3.5 数码管原理图它的8个发光二极管的阳极(二极管正端)连接在一起,通常,公共阳极接高电平(一般接电源),其它管脚接段驱动电路输出端。当某段驱动电路的输出端为低电平时,则该端所连接的字段导通并点亮,根据发光字段的不同组合可显示出各种数字或字符。此时,要求段驱动电路能吸收额定的段导通电流,还需根据外接电

32、源及额定段导通电流来确定相应的限流电阻。3.3 驱动的设计 3.3.1 74HC2244芯片的功能 如果输入的数据可以保持比较长的时间(比如键盘),简单输入接口扩展通常使用的典型芯片为74HC244,由该芯片可构成三态数据缓冲器。74HC244芯片的引脚排列如图3.6所示。图3.6 74HC244的引脚图74HC244芯片内部共有两个四位三态缓冲器,使用时可分别以1C和2G作为它们的选通工作信号。当1C和2G都为低电平时,输出端Y和输入端A状态相同;当1G和2G都为高电平时,输出呈高阻态。3.3.2 应用74HC244芯片扩展输入接口是采用74HC244芯片进行输入接口扩展的原理电路,当P2和

33、RD同为低电平时,74HC2244才能将输入端的数据送到单片机的P0口。其中,P2决定了74HC244的地址,0000H-7FFFH(共32K)地址都可以访问这个单元,这就是用线选法所带来的副作用。通常可选择其中的最高地址作为这个芯片的地址来写程序,如这个芯片的地址是7FFFH。但这仅仅是一种习惯,并不是规定,当然也完全可以用0000H作为这个芯片的地址,当确定了地址之后,其接口的输入操作程序如下: MOV DPTR,#7FFFH MOVX A,DPTR 其中MOVX类指令是MCS-5l单片机专用于对外部RAM进行操作的指令。由于外部IO与外部RAM是同一接口,所以一般使用这条指令对外部IO进

34、行操作。一旦执行到MOVX类指令,单片机就会在RD或WR(根据输入还是输出指令)引脚产生一个下降沿,这个下降沿的波形与P2相或,则会在或门的输出口也产生一个下降沿,这个下降沿将使74HC244的输出与输入接通,这样,输入设备的数据就可以被MCS-51单片机从总线上读取。 3.4 通讯的设计 根据信息的传送方向,串行通信可以进一步分为单工通信、双工通信和半双工通信3种方式。信息只能单向传送称为单工通信;信息能双向传送但不能同时双向传送称为半双工通信;信息能够同时双向传送则称为全双工通信。串行通信又分为异步通信和同步通信2种方式。在单片机中,主要使用异步通信方式。本文主要讨论异步单线串行通信在单片

35、机中的应用。在异步通信中,数据通常以字符为单位组成字符帧进行传送。字符帧由发送端把信息一帧一帧地发送,通过传输线让接收设备一帧一帧地接收。发送端和接收端可以有各自的时钟来控制数据的发送和接收,这两个时钟彼此独立,互不同步。它们是靠字符帧格式的规定来协调数据的发送和接收。平时,发送线为高电平,每当接收端检测到传输线上发送过来的是低电平时就知道发送端开始发送信息,每当接收端接收到一帧字符的停止位时就知道一帧字符发送完毕。同步通信没有像异步通信那样有开始标志和结束标志,省略了起始位和停止位占用了传送时间。这样接就提高了数据的传送速度。但是同步通信的收和发双方必须用相同的同步字符。主从遥控通讯系统应用

36、在许多场合,而不同的场合提出的要求又各不相同,故通讯系统的组成形式呈现多样化的趋势。目前的通讯系统大多采用计算机微控制器的方式,这样的系统结构复杂,所需的软、硬件支持多,成本高。我们针对主从通讯系统提出的要求,从可靠性和实用性出发,利用单片机RS485串口标准组成了一种主从式通讯系统。其中MAX485起着极其重要的作用。Max485是一个8脚芯片,其硬件电路原理如图3.7所示图3.7 MAX485原理图(1) RO为接收器输出,若A-B200mA,则RO=1;若A-B200mA,则RO=0;(2) RE为接收器使能,RE=0时,RO有效;(3) DI为驱动器输入端;(4) DE为驱动器使能端;

37、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时,代表发送

38、的数据为1;当A的电平低于B端时,代表发送的数据为0。在与单片机连接时接线非常简单。只需要一个信号控制MAX485的接收和发送即可。同时将A和B端之间加匹配电阻,一般可选100的电阻。对于远距离通讯来说,RS485串行接口标准是理想的选择。RS485的电气标准实际上是RS422的变型,由于性能优异、结构简单、组网容易而得到广泛的应用。他采用的是平衡发送和差分接收方式来实现通信,因此有极强的抗共模干扰能力,接收灵敏度也相当高。同时传输速率和最大传输距离也大大提高。如果用100 kbs时,传输距离可达120 m,而10 kbs速率传输可达12 km。如果降低波特率,传输距离还可以进一步提高。另外R

39、S485实现了多点互连,最多可达32台驱动器和32台接收器,非常便于多器件的连接。分布式集中控制系统网络拓扑采用总线方式,传送数据采用主从站的方法,各单元通讯接口均用RS485串口标准。由于用了单片机多机通信及总线方式,该系统有较高的可靠性,即使某个从站出现故障也不会响其他站,整个系统中,各单片机选用MCS-51系列,12MHz晶振。利用单片机自身的半双工异步串行接口,并外配合适的通讯接口芯片及采用通信总线形式,构成半双工异步串行通信网络。4 软件设计 4.1 软件语言的选择在编写单片机程序时,可以用汇编语言编写,也可以用C高级语言来编写,还可以用两者混合编程。在软件设计中,我们可以采用C高级

40、语言来编写程序的方案,也可以用汇编语言编写程序的方案。方案一:C语言作为高级语言,它更接近和体现人的设计思想;C高级语言是目前流行的一种计算机语言,它主要用于单片机和一般微型计算机。C高级语言程序设计快、可读性好、可靠性高、可移植性好、代码转换质量高。单片机C高级语言的特点是同时兼有高级语言和汇编语言的优点,还能像汇编语言那样直接利用CPU的硬件特性进行程序设计,直接操作单片机的硬件和接口。C高级语言目标模块还可以同汇编连接组成一个完整的程序,目前在单片机应用领域,C高级语言越来越受到人们的重视。使用C高级语言的工作效率高,其生成的机器代码质量也是高水平的。方案二:汇编语言由于采用了助记符号来

41、编写程序,比用机器语言的二进制代码编程要方便些,在一定程度上简化了编程过程。汇编语言的特点是用符号代替了机器指令代码,而且助记符与指令代码一一对应,基本保留了机器语言的灵活性。使用汇编语言能面向机器并较好地发挥机器的特性,得到质量较高的程序。汇编语言是面向具体机型的,它离不开具体计算机的指令系统,因此,对于不同型号的计算机,有着不同的结构的汇编语言,而且,对于同一问题所编制的汇编语言程序在不同种类的计算机间是互不相通的。但是,汇编语言用来编制系统软件和过程控制软件,其目标程序占用内存空间少,运行速度快,有着高级语言不可替代的用途。综上所述,C语言作为高级语言,它更接近和体现人的设计思想,而汇编

42、语言则具有占用内存空间少,运行速度快,有着高级语言不可替代的优点。经过分析比较,本系统采用汇编语言进行程序设计,因为本系统程序设计并不是太复杂,汇编语言对其足以胜任。另外,在学习单片机AT89C52时,学习的就是汇编语言,本人能较为熟练的使用汇编语言,因此本系统采用汇编语言进行程序设计更为合理。串行通讯程序采用的是汇编语言,采用查询的方式对主程序进行发送和接收并对执行的结果送到显示部分。通过外部中断对按键进行控制P2口和串行口对数据的发送和接收。在串行通讯程序中基本上由主程序和中断服务程序两步分组成。主程序用于设定波特率、外部中断T1、寄存器和串行中断的初值等;中断服务程序用于发送和接收数据,

43、并且判断接收数据是否发送正确,如果发送正确则显示“8”的字样,否则显示“0”的字样。下面逐一进行详细介绍。4.2 通讯的协议 通讯协议是指通讯双方的一种约定。约定包括对数据格式、异步方式、传送速度、传送步骤、检纠错方式以及控制字符定义等问题做出同意规定,通讯双方共同遵守。4.2.1 通讯方式在单片机系统中,CPU与外部的基本通讯方式有两种:并行通讯数据的各位同时传送;串行通讯数据一位一位的传送。串行通讯是指将构成字符的每个二进制数据位,按照一定的顺序逐位进行传送的通讯方法。串行的优点是只需要一根传输线,缺点是传输数据比并行通讯要慢。通过软件可编程的串行通信有方式0、方式1、方式2和方式3共4种

44、工作方式。在这四种工作方式中它们有各自的特点。在这个设计中用的是异步串行通讯方式1。异步串行通讯规定了字符数据的传送格式,即每个数据以相同的帧格式。如图4.1所示,每一帧信息由起始位、数据位、停止位组成,共十位。 低 位起始位高 位停止位图4.1 异步通信的一帧数据格式(1) 起始位:1位。在通讯线上没有数据传送时处于高电平状态(逻辑“1”状态)。当发送方要发送一个字符的数据时,首先发送一个逻辑“0”信号,这个逻辑低电平就是起始位。起始位通过通讯线传向接收方,当接收方检测到这个逻辑低电平后,就开始准备接收数据位信号。因此,起始位所起的作用就是表示字符传送开始。(2) 数据位:8位。当接收方收到

45、起始位后,紧接着就会接收数据位。在字符数据传送的过程中,数据位从最小有效位开始传送。(3) 停止位:1位。传送八位数据位后数据线置逻辑“1”状态,表示一个数据帧传送结束。在异步通讯中,字符数据以图4.1所示的格式一个接一个的传送。在发送间隙,即空闲时,通讯线路总是处于逻辑“1”状态,每个字符数据的传送均以逻辑“0”开始。这样能保证传送数据时不容易丢失数据。4.2.2 波特率(Baud Rate)串行通信的速率用波特率来表示,所谓波特率就是指一秒钟传送数据位的个数。每秒钟传送一个数据位就是1波特。即:1波特1bps(位/秒) 。在串行通信中,数据位的发送和接收分别由发送时钟脉冲和接收时钟脉冲进行

46、定时控制。时钟频率高,则波特率高,通信速度就快;反之,时钟频率低,波特率就低,通信速度就慢。串行口的波特率设定如下:在方式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)=

47、FAH (4.1)4.2.3 发送和接收时钟二进制数据序列在串行传送过程中以数字信号波形的形式出现。不论发送还是接收,都必须有时钟信号对传送的数据进行定位。在发送数据时,发送器在发送时钟的下降沿将数据块输出;在接收数据时,接收器在接收时钟的上升沿对发送过来的数据位采样,如图4.2所示。接收时钟数据位发送时钟数据位图4.2发送和接受数据位出于实际需要,发送/接收始终的频率大于或等于波特率,两者的关系如下:发送/接收时钟频率=n波特率式中的n称为波特率因子,n=1、16或64。对于同步传送方式,必须取n=1;对于异步传送方式,通常取n=16。进行数据传送时每一位的时间Td与发送/接收时钟周期Tc之间的关系是:Td=nTc (4.2)在异步通信方式下,接收数据实现同步的过程如下:接收器在每一个接收时钟的上升沿采样接收数据线,当发现接收数据出现低电平时就认为可能是起

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服