串行通信毕业论文3_第1页
串行通信毕业论文3_第2页
串行通信毕业论文3_第3页
串行通信毕业论文3_第4页
串行通信毕业论文3_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

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

文档简介

1、第一章 绪论1.1 数据通信基础本设计完成的是以微机为上位机,以 AT89C51 单片机为控制核 心的下位机的主从式多机通信技术, 基于分布式控制结构的多机通信 网络,并能实时的动态显示通信数据。在微机测控技术领域,要构成一个较大规模的测控系统,都不可避免地要采用多机系统。由于微机与微机间的距离可能是近程的几米之内),也可能是远程的(几百米甚至上千米) ,那么信息交换 的方式可能采取并行通信, 也可能采取串行通信。 而一般的远程通信 须采用串行通信方式,现在单片机及 PC 机在结构,性能和经济上为 实现远程串行通信特别是多机系统提供了很好的条件。在实际工作中, 计算机的 CPU 与外部设备之间

2、常常要进行信息交换,台计算机与其他计算机之间也往往要交换信息, 所有这些信息交换 均可称为数据通信。 数据通信有两种方式, 即并行数据通信和串行数 据通信,通常根据信息传送的距离决定采用哪种通信方式, 本设计完 成的是远程通信, 所以采用串行通信的数据传送方式。 串行通信有两 种基本通信方式,即异步通信和同步通信,本设计选用异步通信。在 异步通信中,数据是一帧一帧传送的。串行数据通信指数据是一位一位顺序传送的通信方式, 它的突出 优点是只需一对传送线, 这样大大降低了传送成本, 特别适用于远距 离通信,其缺点是传送速度较低。1.2 串行通信的传送方式选择串行通信的传送方式通常有三种,一种为单向

3、(或单工)配置,只允许数据向一个方向传送;另一种是半双向(或半双工)配置,允 许数据向两个方向中的任一方向传送, 但每次只有一个站发送,第三 种传送方式是全双向(全双工)配置,允许同时双向传送数据。本设计主要选择半双工配置传送数据。其图示为1-1所示。图1-1半双工方式接收器1.3通信协议的制定要想保证通讯成功,通讯双方必须有一系列的约定,即通讯协议, 通讯双方必须遵从统一的通讯协议,在编程之前就应制定通信协议, 并根据协议分别编制主、从站的通信程序。本文介绍的多机通信方法 其通信协议可规定如下:1. PC 机与单片机都可发送和接收数据;其通信波特率均为 9600b ps;通信采用偶校验;2.

4、 通信帧格式如图3所示,共11位:1位起始位,8位数据位, 1位奇偶校验位,1位停止位;3. 通信过程中,PC机为主动方(称为主站),各单片机为被动 方(称为从站),各从站地址为00H25H;各从站初始化时均将SM2 和寻址标志位清“ 0”;4.(1).主站发送的控制命令、从站发送的应答信息格式:(2).主站给从站发送的控制命令格式:XXH(开始符),XXH(站 号),XXH(控制命令),XXH(结束符); 从站对主站的控制命令的应答信息格式: XXH (开始符 ) , XXH(站号),XXH(应答信息特征符:表示当前从站有无数 据组可发送, 若有数据组要马上传送, 主站接收到本条响应 后应立

5、即准备接收数据, 在此期间不需要再向从站发送其他 命令),XXH XXH(这两字节是马上要发送的数据组的字节 数),XXH(结束符); 从站延时一定时间后,立即发送下面的上网数据组:XXH开始符),XXH(站号),数据组(数据组各字节的意义由从 站定义),XXH (结束符);(3). 主站对从站发送的数据组的响应信息格式:XXH( 开始符 ) ,XXH(站号),XXH(对接收到的数据组正确性检查的响应, 接收数据出错,则要求从站重发),XXH (结束符)。第二章分布式多机通信网络的设计2.1分布式多机通信系统的硬件结构整个通信系统的结构设计为主从式串行总线型,由于PC机给出的是标准RS-232

6、C电平,而AT89C51串行口给出的是 TTL电平,为此在单片机89C51的串行口 TXD,RXD 端加RS-232转RS-485转换 模块,以实现TTL电平和RS-232电平的转换,再经 MAX485进行远程串行通信的实现。硬件设计如图 2-1所示。图2-1AT89C51与PC机通信电路由图2-1中可见,这里采用了三线制(这里地线没有画出),现在由于 高档PC机的串行口都有九针插座,因此采用RS-232标准时应注意9 针插座中引线的对应关系如表2.1所示,在实际应用中应正确连接至 接线口。表2.1RS-232标准九脚对应关系九脚的脚号信号名称缩写名3发送数据TXD2接受数据RXD7请求发送R

7、TS8允许发送CTS6数据设备就绪DSR5信号地SGND1载波检测DCD4数据终端就绪DTR9振铃指示IRIIPC机与单片机之间利用九针插座提供的信息采用了三线制连接,除 3脚,2脚和地线要接至对方的设备外,九针插座中的 7脚与8脚要短接,4与6脚也要短接,。2.2 RS-232/RS-485转换模块RS-485总线型远程测控系统已得到广泛应用,这主要因为RS-485总线具有传输距离远等特点。在传输速率为9600bit/s时传输距离可达1.2km以上,最高传输速率可达10Mbit/s,且只用普通 双绞线即可,同一对双绞线上可以挂接多至 256个以上的终端。有许多工业测控模块都是采用 RS-48

8、5总线型的,比如Adam Nudan等, 但价格较高。第三章 单片机的选型及硬件电路的设计3.1 AT89C51 的概况3.1.1 单片机的介绍单片机是指一个集成在一块芯片上的完整计算机系统。 尽管他的 大部分功能集成在一块小芯片上, 但是它具有一个完整计算机所需要 的大部分部件:CPU、内存、内部和外部总线系统,目前大部分还会 具有外存。同时集成诸如通讯接口、定时器,实时时钟等外围设备。 而现在最强大的单片机系统甚至可以将声音、图像、网络、复杂的输 入输出系统集成在一块芯片上。单片机也被称为微控制器( Microcontroller ),是因为它最早被用 在工业控制领域。 单片机由芯片内仅有

9、 CPU 的专用处理器发展而来。 最早的设计理念是通过将大量外围设备和 CPU 集成在一个芯片中, 使计算机系统更小, 更容易集成进复杂的而对提及要求严格的控制设 备当中。 INTEL 的 Z80 是最早按照这种思想设计出的处理器,从此 以后,单片机和专用处理器的发展便分道扬镳。早期的单片机都是 8 位或 4 位的。其中最成功的是 INTEL 的 8031,因为简单可靠而性能不错获得了很大的好评。此后在 8031 上 发展出了 MCS51 系列单片机系统。基于这一系统的单片机系统直到 现在还在广泛使用。随着工业控制领域要求的提高,开始出现了 16 位单片机,但因为性价比不理想并未得到很广泛的应

10、用。 90 年代后 随着消费电子产品大发展,单片机技术得到了巨大的提高。随着 INTEL i960 系列特别是后来的 ARM 系列的广泛应用, 32 位单片机迅 速取代 16 位单片机的高端地位,并且进入主流市场。而传统的 8 位 单片机的性能也得到了飞速提高,处理能力比起 80 年代提高了数百 倍。目前,高端的32位单片机主频已经超过300MHz,性能直追90 年代中期的专用处理器, 而普通的型号出厂价格跌落至 1 美元,最高 端的型号也只有 10 美元。当代单片机系统已经不再只在裸机环境下 开发和使用,大量专用的嵌入式操作系统被广泛应用在全系列的单片 机上。而在作为掌上电脑和手机核心处理的

11、高端单片机甚至可以直接 使用专用的 Windows 和 Linux 操作系统。单片机内部也用和电脑功能类似的模块,比如 CPU,内存,并 行总线,还有和硬盘作用相同的存储器件, 不同的是它的这些部件性 能都相对我们的家用电脑弱很多,不过价钱也是低的,一般不超过 10 元即可用它来做一些控制电器一类不是很复杂的工作足矣了。我 们现在用的全自动滚筒洗衣机、排烟罩、 VCD 等等的家电里面都可 以看到它的身影!它主要是作为控制部分的核心部件。它是一种在线式实时控制计算机, 在线式就是现场控制, 需要的 是有较强的抗干扰能力,较低的成本,这也是和离线式计算机的(比 如家用PC)的主要区别。单片机是靠程

12、序的, 并且可以修改。 通过不同的程序实现不同的 功能,尤其是特殊的独特的一些功能, 这是别的器件需要费很大力气 才能做到的, 有些则是花大力气也很难做到的。 一个不是很复杂的功 能要是用美国50年代开发的74系列,或者60年代的CD4000系列 这些纯硬件来搞定的话,电路一定是一块大 PCB 板!但是如果要是 用美国 70年代成功投放市场的系列单片机,结果就会有天壤之别! 只因为单片机的通过你编写的程序可以实现高智能, 高效率,以及高 可靠性!由于单片机对成本是敏感的, 所以目前占统治地位的软件还是最 低级汇编语言, 它是除了二进制机器码以上最低级的语言了, 既然这 么低级为什么还要用呢?很

13、多高级的语言已经达到了可视化编程的 水平为什么不用呢?原因很简单, 就是单片机没有家用计算机那样的 CPU,也没有像硬盘那样的海量存储设备。 一个可视化高级语言编写 的小程序里面即使只有一个按钮,也会达到几十 K 的尺寸!对于家 用PC的硬盘来讲没什么,可是对于单片机来讲是不能接受的。单片机在硬件资源方面的利用率必须很高才行, 所以汇编虽然原始却还 是在大量使用。 一样的道理, 如果把巨型计算机上的操作系统和应用 软件拿到家用PC上来运行,家用PC的也是承受不了的。3.2 AT89C51单片机的特殊管脚及功能3.2.1 单片机的管脚如图 3-1 所示.?1.CVcc?1.1PC.ClADO)?

14、1.:PO.IlADI)?1.3?C.+(.W4)?1.6?C.5AD3)?1.7PC.6LAD6)KSTPO.7IAD-?)?3.CtKXDIAVffF3JCTXD-ALEFKOG?3.:frNTC)?5ENP3.3CINTI)?3.4fro)6(A14)?3.5T1)?24(A12)?3用丽XT AL;CA10)XT AUGND?2 0AS)1 3 4 5 6 ? S 9 O 1 T * 3 4 6 S 9 CXI4 12 *1 12 T2 厶39335/363534333231通2923272524232221AT89C51的管脚图单片机最常用的是40引脚双列直插式集成电路芯片,如图3-

15、1所示, 由于单片机是一个芯片,本身体积小,为增加其功能,许多管脚有两 个功能。本设计主要用了单片机的P3.0和P3.1的第二功能,P3.0的第 二功能RX串行口输入端和P3.1TXD串行口输出端,以及其他的八位 I/O 口数据输入端。4k字节FLASH闪速存储器,128字节内部 RAM,32个I/O 口线,2个16位定时/计数器,一个5向量两级中 断结构,一个全双工串行通信口,片内振荡器及时钟电路。如图3-2所示,同时,AT89C51降至0HZ的静态逻辑操作,并支持两种可选 的节电工作模式。空闲方式体制 CPU的工作,但允许RAM,定时/ 计数器,串行通信口及中断系统继续工作。掉电方式保存R

16、AM中的内容,但振荡器体制工作并禁止其他所有不见工作直到下一个硬件复 位。 Vcc :电源电压-GND 地 P0 口: P0 口是一组8位漏极开路型双向I/O 口,也即地址/数据总线复用。作为输出口用时,每位能吸收电流的方式驱动TTL逻辑门电路,对端口写“1”可作为高阻抗输入端用。在访问外部数据存储器或程序存储器时, 这组口线分时转换地址 (低 8 位)P0数据总线复用,在访问期间激活内部上拉电阻。在Flash编程时, 口接受指令字节,而在程序校验时,输出指令字节,校验时,要求外 接上拉电阻。 P1 口: P1是一个带内部上拉电阻的8位双向I/O 口,P1输出缓冲级可驱动(吸收或输出电流)4个

17、TTL逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入 口。作为输入口使用时,因为内部存在上拉电阻,某个引脚被外部信 号拉低时会输出一个电流 (IIL)。 Flash 编程和程序校验期间, P1 接 受低8 位地址。P2 口: P2是一个带有内部上拉电阻的8位双向I/O 口,P2的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入 口。作为输入口使用时,因为内部存在上拉电阻,某个引脚被外部信 号拉低时会输出一个电流(IIL)。在访问外部程序存储器或16位四 肢的外部数据存储器(例如执行 MOVX

18、DPTR 指令)时, P2 口送 出高8 位地址数据,在访问 8 位地址的外部数据存储器(例如执行MOVX RI 指令)时, P2 口线上的内容(也即特殊功能寄存器(SFR)区中R2寄存器的内容),在整个访问期间不改变。Flash编程和程序校验时, P2 也接收高位地址和其他控制信号。P3 口: P3是一个带有内部上拉电阻的8位双向I/O 口,P3的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对端口写“ 1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。作为输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流( IIL)。 P3 口还接收一些用于 Fl

19、ash 闪速存储器编程和程序校验的控制信号。-RST复位输入。当振荡器工作时,RST引脚出现两个机器周期以上高电平将使单片机复位。ALE/PROG 当访问外部程序存储器或数据存储器时, ALE (地址锁存允许) 输出脉冲用于锁存地址的低 8 位字节。即使不访问外部存储器, ALE 仍以时钟振荡频率的1/6 输出固定的正脉冲信号,因此它可对外输出时钟或用于定时目的要注意的是, 每当访问外部数据存储器时将跳过一个 ALE 脉冲。对 Flash 存储器编程期间,该引脚还用于输入编程脉冲( PROG )如有必要,可通过对特殊功能寄存器( SFR )区中的 8EH 单元 D0位置位,可禁止 ALE 操作

20、。该位置位后,只有一条MOVX和MOVC指令ALE才会被激活。此外, 该引脚会被微弱拉高,单片机执行外部程序时,应设置 ALE 无效。-PSEN程序存储允许输出是外部程序存储器的读选通型号,当89C51 由外部存储器取指令 (或数据)时,每个机器周期两次 PSEN有效,即输出两个脉冲。在此期间,当访问外部数据存储器,这两次 有效的 PSEN 信号不出现。EANPP外部访问允许。欲使CPU仅访问外部程序存储器(地址为0000H FFFFH ), EA 端必须保持低电平(接地)。需注意的是:如果加密位LB1被编程,复位时内部会锁存EA端状态。如EA端 为高电平(接Vcc 端) ,CPU则执行内部程序存储器中的指令。Flash存储器编程时,该引脚加上+12v的编程允许电源Vpp,当然这必须 是该器件使用 12v 编程电压 Vpp。XTAL1 :振荡器反相放大器及内部时钟发生器的输入端。XTAL2 :振荡器反相放大器的输出端。89C51 中有一个用于构成内部振荡器的高增益反相放大器,引脚 XTAL1和XTAL2分别是该放大器的输入端和输出端。 这个放大器与作为反馈元件的片外石英5。外接石晶体或陶瓷谐振器一起构成自激振荡器,振荡电路参见图 英晶体或陶瓷谐振器及电容 C1、C2 接在放大器的反馈回路中构成并 联振荡电路。对电容C1、C2

温馨提示

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

评论

0/150

提交评论