毕业设计(论文)-单片机串行通信设计_第1页
毕业设计(论文)-单片机串行通信设计_第2页
毕业设计(论文)-单片机串行通信设计_第3页
毕业设计(论文)-单片机串行通信设计_第4页
毕业设计(论文)-单片机串行通信设计_第5页
已阅读5页,还剩39页未读 继续免费阅读

下载本文档

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

文档简介

西安石油大学本科毕业设计(论文)单片机串行通信设计摘要:随着计算机硬件技术的快速发展,测试系统与PC机的通信就显得越来越重要了。由于串行通信的硬件设计简单、控制方便、成本低廉、传输距离远等优点被广泛用于实现测试系统与PC机的通信。因此,本文研究单片机串行通信的设计与仿真。本文采用专用的电平转换芯片MAX232来实现PC机与MCS-51单片机的串行通信,同时在Proteus中对89C51通信的波特率进行设置和将单片机发送程序载入单片机中,并使用Keil C51和Proteus对其进行联机仿真。最终本文通过51单片机AT89C51和单片集成的电平转换芯片MAX232设计了一种简洁的单片机串行通信,并且给出了主要的电路原理图及单片机发送程序。通过对电路的软件和硬件的设计分析,显示该电路的可行性。关键词:串行通信;单片机;MAX232The Design of Serial CommunicationBetween PC and MCU-51 Single-Chip MicrocontrollerAbstract:MCU serial communication is one of the basic means of communication between testing communication system and PC. In recent years, with computer hardware technology of rapid development, communication becomes increasingly important between testing system and PC. At the same time as the serial communication hardware design simple, convenient control, low-cost, the advantages of long distance transmission is widely used to achieve testing and PC communication. Therefore, we focus on MCU serial communication design and simulation.In this article, a method to achieve serial communication using special-purpose level-conversion chip MAX232 between PC and MCS-51 single-chip microcontroller is introduced, while setting baud rate of 89C51 in the Proteus and senting procedures to MCU. To simulate synchronically with Proteus and Keil C51.Finally, a simple serial communication is to realize with AT89C51 and the single-integrated special-purpose level-conversion chip MAX232. And display circuit schematic diagram as well as this design main program. Though the analysis of the hardware and software design of the circuit, its practicability is presented.Keywords: serial communication; Single-Chip Microcontroller,;MAX232目 录411绪论1.1 测试系统与PC机通信的方式随着计算机硬件的发展,PC机的处理速度、存储容量越来越强大,同时与外部设备的通信方式也多种多样,因此,在实际应用中,常常使用PC机作为测试系统的后台设备进行后期处理和存储。实现测试系统与PC机通信的方式有很多,如测试卡、USB通信、串行通信等。1.测试卡是指由相关的器件、仪器和测试装置有机组合而成的具有获取某种信息之功能的整体,同时还得配备相应的软件,如Labview、Bridge View等软件。测试卡所配备的软件如Labview具有很多优势:性能高、扩展性强、开发时间少、完美的集成功能等;同时Labview还有如下的特点:l 具有可变性、多层性、自助性的面板。l 强大的信号处理能力。l 虚拟仪器的功能、性能、指标可由用户定义。l 具有标准的、功能强大的接口总线、板卡及相应软件。l 虚拟仪器具有开发周期短、成本低、维护方便、易于应用的特点。虽然测试卡的处理功能强大、处理效率高,但是测试卡以及所配备的软件是相当昂贵的。2.USB通信是测试系统所测得的数据通过USB接口传输到PC机的。USB通信的发展是基于计算机与电话之间的连接、易用性、端口扩充等。USB是快速、双向、同步、动态连接且价格低的串行接口,可以满足PC机现在和未来发展的需要。同时USB还有很多特点:l 终端用户的易用性。l 广泛的应用性。l 同步传输带宽。l 灵活性、健壮性。l 与PC产业的一致性。虽然USB通信有那么多的优点,但是USB的传输距离短,开发、调试较困难。3. 串行通信是指通信的发送方和接收方之间数据信息的传输是在单根数据线上,以每次一个二进制位移动的。它的优点是只需一对传输线进行传送信息,因此其成本低,适用于远距离通信;它的缺点是传送速度低。同时由于串行通信简单易行,且开发、调试较以上两种方式简单,因此本文考虑采用串行通信的方式与PC机进行通信。1.2 串行通信概述系统与外界进行信息交换就称为通信。我们知道计算机系统的信息是由二进制码构成的,比如字节与构成字节的数位bit,从这些编码传输的方式来看通信的基本方式有两种,即并行通信和串行通信。如果多bit同时传输就称为并行通信,如果通信的过程是按一定的顺序进行的单bit传输就称为串行通信。串行通信又分为同步通信和异步通信,同步通信的特征是发送和接收保持严格同步,并且事先约定好传输的协议,比如从哪一位传输,如何表示开始如何表示结束。但是由于MCS-51系统中并不存在同步通信的机制,所以我们将目标集中在异步传输上。异步传输的机制是这样的,系统间的数据传输的方式是每次传输一个固定格式的数据包,这个数据包叫帧。帧有其固定格式,一般包括起始位、数据位、校验位和停止位,如图1-1所示。图1-1 帧的格式起始位:一般为逻辑0,当传递信息的线路空闲时,线路上的电平为逻辑1,所以当出现一个“高低”跳变时通信开始。数据位:真实携带数据的位,在本设计中为8位,当然在其他系统中也可以改变,具体多少位只要事先指定就可以。校验位:用以确定本帧数据的正误,一般可用奇偶校验。停止位:用逻辑1表示,用来表示通信停止。另外对于MCS-51的异步通信还有以下规定:1) 对于异步通信而言帧的格式一定是固定的,包括数据长度和起始位、校验位和停止位的设定。2) 通信时帧与帧之间必定是高电平(逻辑1),并且间隙到底是多少可以不固定。3) 发送每一帧所用的时间是固定的,这个时间由“波特率”表示,其意义是每秒发送多少个bit。异步通信对通信的传输方向也有描述:单工方式:简单的说就是通信数据指向一个方向传递,即通信的一方作为发送方,另一方作为接收方。半双工方式:就是数据可以双向传递,但是连接通信双方的线路只有一条,所以在某一时刻只能作单向传递。全双工方式:由于有两条线路连接通信双方,所以在任何时刻通信双方的发送和接收都可以同时进行。51系列单片机就可以进行全双工通信。随着单片机和微机技术的不断发展,上位机和下位机的主从工作方式为工业控制及自动控制系统所采用。由于PC机分析能力强、处理速度更快及单片机使用灵活方便等特点,所以一般都将PC机作为上位机,单片机作为下位机,二者通过RS-232接收、发送数据和传送指令。单片机可单独处理数据和控制任务,同时也将数据传送给PC机,由PC机对这些数据进行处理或显示。由于串行通信是在一根传输线上一位一位地传送信息,所用的传输线少,因此,特别适合于远距离传输。串行通讯是单片机除外部总线之外的最重要的外部数据交换手段,由于串行占用线路少、通讯距离长,已经在许多产品设计中得到应用;同时,串行通讯口又是连接上位机和单片机的一个主要的手段,采用单片机作为数据采集的前端,上位机作为数据处理的后端,两者通过串行相连接可以充分发挥单片机数据采集快速和上位机数据处理能力强的优势,给设计带来方便。尤其在现代工业自动化控制中,单片机的应用越来越广泛。随着应用范围的不断扩大和解决问题的需要,对某些数据需要进行较复杂的处理。由于单片机的运算功能较差,借助PC机来进行数据的处理已经显得尤为重要。因此,利用MCS-51单片机的串行接口与PC机的串行接口COM1或COM2进行串行通信更具实际意义。1.3 本文主要内容本文共分为5章,第1章先简略地叙述了一下测试系统与PC机通信的各种方式,以及本次设计选用串行通信的理由。第2章介绍了MCS-51单片机系列,对单片机的基本结构及功能部件进行了整体的描述,为后续章节的设计奠定了基础。本章还介绍了Keil软件的使用方法,详尽的介绍了Keil软件的基本知识、软件开发流程,同时还介绍了Keil软件的开发工具;以及仿真软件Proteus和串口测试软件sscom的使用方法。第3章介绍了单片机串行通信的硬件设计部分,通过单片机和电平转换芯片的组合完成信号传输功能、设计单片机的外围接口电路、编写控制信号发生的单片机程序等内容。从硬件发面阐述了本文是如何实现串行通信的;第4章介绍了单片机串行的软件设计部分,其中包括编程环境的介绍和波特率的设置,并对C语言做以了解,还介绍了系统的整体调试和系统仿真,并且给出了仿真的结果图,并对第三章与第四章进行小结;第5章对本文从整体上进行阐述,并对论文在完成过程中所遇到的各种问题进行总结。2 C51单片机原理及开发软件2.1 MCS-51系列单片机2.1.1 MCS-51单片机系列MCS-51系列单片机虽已有10多种产品,但可分为两大系列:MCS-51子系列与MCS-52子系列。MCS-51子系列中主要有8031、8051、8752三种类型。而MCS-52子系列也有3种类型8032、8052、8752。各子系列配置见表2-1所示。表2-1 MCS-51系列单片机配置一览表系列片内存储(字节)定时器/计数器并行I/O串行I/O中断源制造工艺无ROM片内ROM片内EPROM片内RAMMCS-51子系列80318051 4K87514K128216位48位15HMOS80C3180C514K87C514K128216位48位15CHMOSMCS-52子系列803280528K87528K256316位48位16HMOS80C23280C2528K87C2528K256316位48位17CHMOS表2-1中列出了MCS-51系列单片机的两个子系列,在4个性能上略有差异。由此可见,在本子系列内各类芯片的主要区别在于有无ROM或EPROM;MCS-51与MCS-52子系列间所不同的是片内程序存储器ROM从4KB增至8KB;片内数据存储器由128个字节增至256个字节;定时器/计数器增加了一个;中断源增加了12个。另外,对制造工艺为CHMOS的单片机,由于采用CMOS技术制造,因此具有低功耗的特点,如8051功耗约为630mW,而80C51的功耗只有120mW。2.1.2 MCS-51系列单片机内部结构及功能部件MCS-51系列单片机的内部结构框架如图2-1所示。图2-1 MCS-51系列单片机内部结构框图分析图2-1,并按其功能部件划分可以看出,MCS-51系列单片机是由8大部分组成的。图2-2为按功能划分的MCS-51系列单片机内部结构简化框图。这8大部分是:l 一个8位中央处理机CPU。它由运算部件、控制部件构成,其中包括振荡电路和时钟电路,其主要完成单片机的运算和控制功能。它是单片机的核心部件, 决定了单片机的主要功能特性。l 128个字节(MCS-52子系列为256字节)的片内数据存储器RAM。其片外数据存储器的寻址范围为64KB,用于存放可读写的数据,如运算的中间结果或最终结果等。l 4KB(MCS-52子系列为8KB)的片内程序只读存储器ROM或EPROM(8031和8032无)。其片外可寻址范围为64KB,主要用于存放已编制的程序,也可以存放一些原始数据和表格。l 18个(MCS-52子系列为21个)特殊功能寄存器SFR。它用于控制和管理片内算术逻辑部件、并行I/O口、串行I/O口、定时器/计数器、中断系统等功能模块的工作。l 4个8位并行输入输出I/O接口:P0口、P1口、P2口、P3口(共32线),用于并行输入或输出数据。l 1个串行I/O接口。它可使数据一位一位串行的在计算机与外设之间传送,可用软件设置为4位工作方式,用于多处理机通讯、I/O扩展或全双工通用异步接收器(UART)。l 2个(MCS-52子系列为3个)16位定时器/计数器。它可以设置为计数方式对外部事件进行计数,也可以设置为定时方式进行定时。计数或定时的范围由软件来设定,一旦计数或定时到则向CPU发出中断请求,CPU根据计数或定时的结果对计算机或外设进行控制。l 1个具有5个(MCS-52子系列为6个或7个)中断源,可编程为2个优先级的中断系统。它可以接受外部中断申请、定时器/计数器中断申请和串行口中断申请。常用于实时控制、故障自动处理、计算机与外设间传送数据及人-机对话等。图2-2 MCS-51系列单片机内部结构简化框图2.1.3 MCS-51系列单片机特点l 专为控制应用所设计的八位CPUl 具有布尔代数的运算能力l 32条双向且可被独立寻址的I/O口l 芯片内有128字节可供储存数据的RAM(8052:256字节)l 内部有两组16位定时器(8052有3个)l 具有全多工传输信号UARTl 5个中断源,且具有两极(高/低)优先权顺序的中断结构l 芯片内有4KB(8052:8KB)的程序存储器(ROM)l 芯片内有时钟(CLOCK)振荡器电路l 程序存储器可扩展至64KB(ROM)l 数据存储器可扩展至64KB(RAM)MCS-51系列单片机的串行口寄存器结构如图2-3所示。图2-3 MCS-51系列单片机的串行口寄存器结构2.2 单片机的引脚 (1) 主电源引脚VCC 和VSSl VCC(40脚):接+5V电源正端。l VSS(20脚):接+5V电源地端。(2) 外接晶体引脚 XTAL0 和XTAL1XTAL0、XTAL1(18、19脚):外接晶体与片内的反相放大器构成一个振荡器,它提供单片机的时钟控制信号。时钟引脚也可以外接晶体振荡器。l XTAL0(18脚):接外部晶体的一端,在单片机内部接至反相放大器的输出端。若采用外部振荡器时,该引脚接收振荡器的信号,即把此信号直接接到内部时钟发生器的输入端。l XTAL1(19脚):接外部晶体的一个引脚。在单片机内部,它是一个反相放大器的输入端。当采用外部晶体振荡器时,此引脚接地。(3) 控制信号或其他电源复用引脚l RST/VDP(9脚):RST即为RESET,VDP为备用电源,所以该引脚为单片机的上电复位或掉电保护端。当单片机振荡器工作时,该引脚上出现两个机器周期的高电平,就可实现复位操作,使单片机恢复到初始状态。当VCC发生故障、降低到低电平规定值或掉电时,该引脚可接上备用电源VDP(+50.5V)为内部RAM供电,以保证RAM中的数据不丢失。l /VPP(31脚):为访问外部程序存储器控制信号,低电平有效。当端保持高电平时,单片机访问片内程序存储器4KB(MCS-52子系列为8KB)。若超出该范围时,自动转去执行外部程序存储器的程序。当端保持低电平时,无论片内有无程序存储器,均只访问外部程序存储器。对于片内含有EPROM的单片机,在EPROM编程期间,该引脚用于接21V的编程电源VPP。(4) 输入/输出引脚l P1口(1脚8脚):P1.0P1.7统称为P1口,可作为准双向I/O接口使用。对于MCS-52子系列单片机,P1.0与P1.1还有第2功能:P1.0可用作定时器/计数器2的计数脉冲输入端T2;P1.1用作定时器/计数器2的外部控制端T2EX。对EPROM编程和进行程序验证时,P1口接收输入的低8位地址。P1口具有三个功能:外部扩充存储器时,当作数据总线(D0D7);外部扩充存储器时,当作地址总线(A0A7);不扩充时,可做一般I/O口使用,但内部无上拉电阻,作为输入或输出时应在外部接上拉电阻。l P2口(21脚28脚):P2.0P2.7统称为P2口。高八位地址总线动态端口。P2口具有两种功能:扩充外部存储器,当作地址总线(A8A15)使用;做一般I/O使用,其内部有上拉电阻。2.3 Keil软件使用方法2.3.1 Keil C51开发系统简介随着单片机开发技术的不断发展,从普遍使用汇编语言到逐渐使用高级语言开发,单片机的开发软件也在不断发展。Keil是目前最流行的51单片机开发软件,各仿真机厂商都宣称全面支持Keil的使用,对于使用C语言进行单片机开发的用户,Keil已经成为必备的开发工具。Keil提供了一个集成开发环境(IDE:Integrated Development Environment)Vision,它包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器。这样,在开发应用软件的过程中,编辑、编译、汇编、连接、调试等各阶段都集成在一个环境中,先用编辑器编写程序,接着调用编译器进行编译,连接后即可直接运行。这样避免了过去先用编辑器进行编辑,然后退出编辑状态进行编译,调试后又要调试编辑器的重复过程,因此可以缩短开发周期。开发人员可用IDE本身或其他编辑器编辑C或汇编源文件,Keil编译器把C语言或汇编语言编写的源程序与Keil内含的库函数装配在一起,然后分别由C51及A51编译器编译生成目标文件(.OBJ)。目标文件可由LIB51创建生成库文件,也可以与库文件一起经L51连接定位生成绝对目标文件(.ABS)。ABS文件可由OH51转换成标准的HEX文件,以供调试器dScope51进行源代码级调试,也可由仿真器直接对目标板进行调试,还可以直接写入程序存储器(如EPROM)中。根据编译器的性能,其机器语言代码长度可长可短,其执行速度由指令的组合方式决定。51微处理器使用0和1组成的机器语言,凡是用高级语言编写的程序最终都要转换成机器语言。 在微处理器内部有程序计数器PC(Program Counter),它负责按顺序读取由0和1组成的指令代码。编程人员把多个指令代码进行适当的排列,让微处理器去执行。由于把机器语言全都记下来并进行排列是非常困难的事情,因此,先用容易理解的高级语言编写程序后,再通过编译和连接转换成机器语言代码。Keil C51是美国Keil Software公司出品的51系列兼容单片机C 语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。用过汇编语言后再使用C来开发,体会更加深刻。Keil C51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到Keil C51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势。Keil 8051开发工具套件可用于编译C源程序、汇编源程序,链接和定位目标文件及库,创建HEX文件以及调试目标程序。l 应用程序Vision2 for Windows:是一个集成开发环境。它把项目管理、源代码编辑和程序调试等组合在一个功能强大的环境中。l Cx51国际标准优化C交叉编译器:从C源代码产生可重定位的目标模块。l Ax51宏汇编器:从8051汇编源代码产生可重定位的目标模块。l BL51连接/定位器:组合由Cx51和Ax51产生的可重定位的目标模块,生成绝对目标模块。l LIB51库管理器:从目标模块生成链接器可以使用的库文件。l OH51目标文件至HEX格式的转换器:从绝对目标模块生成Intel HEX文件。l RTX-51实时操作系统:简化了复杂的实时应用软件项目的设计。2.3.2 软件开发流程使用Keil 的软件工具时,项目的开发流程基本上与使用其它软件开发项目一样。(1) 创建一个新工程,从器件数据库中选择目标芯片,并配置工具软件的设置。(2) 用C语言或汇编语言创建源程序。(3) 用项目管理器结构应用。(4) 纠正源程序中的错误。(5) 调试链接后的应用。一个完整的8051工具集的框图可以非常好地说明整个开发流程,见图2-4。图2-4 8051工具集的框图图2-4中每部分描述如下。(1) Vision2 IDEVision2 IDE 将项目管理器和带交互式错误纠正的功能丰富的编辑器、选项设置、制作工具以及在线帮助等结合起来。使用Vision2创建源文件,并把它们组织到一个目标应用的项目中,Vision2可以自动编译、汇编和链接嵌入式应用。(2) Cx51编译器和Ax51汇编器源代码由Vision2 IDE创建的源文件,经Cx51编译器或Ax51汇编器处理,生成可重定位的目标文件。Keil Cx51编译器完全遵照ANSI C语言标准,支持C语言的所有标准特性。另外,还增加了可以直接支持8051结构的特征。Keil Ax51宏汇编器支持8051及其派生系列的全部指令集。(3) LIB51 库管理器LIB51库管理器可以从由汇编器或编译器创建的目标文件下建立目标苦。这些库是按特定格式排列的目标模块程序的集成,以后链接器可使用它们。当链接器处理一个库时,仅仅使用了库中用于创建程序的目标模块。(4) BL51 链接器/定位器BL51 链接器使用从库中提取出来的目标模块和由编译器或汇编器生成的目标模块,创建一个绝对地址的目标模块。绝对地址目标模块或文件不包含可重定位的代码和数据。所有的代码和数据被安置在固定的存储器单元中此绝对地址目标文件可以用来:l 写入EPROM或其它存储器件。l 由Vision2调试器使用来模拟和调试。l 由仿真器用来测试程序。(5) Vision2 调试器Vision2源代码级调试器是一个理想地快速、可靠的程序。此调试器包含一个高速模拟器,使用它模拟整个8051系统,包括片内外围部件和外部硬件。当从器件数据库选择器件时,会自动配置这个器件的属性。Vision2调试器提供了几种在实际目标硬件上调试程序的方法。l 安装MON51目标监控器到目标系统,并且通过Monitor-51接口下载程序。l 利用高级的GDIAGDI接口把Vision2调试器绑定到目标系统。(6) Monitor-51Vision2调试器支持用Monitor-51进行目标板调试。此监控程序驻留在你的目标硬件的存储器中,使用8051的串口和PC的COM口,与Vision2调试器进行通信。Vision2通过Monitor-51对目标硬件实行源代码级的调试。(7) RTX51实时操作系统RTX51实时操作系统是一个针对8051系列的多任务核。RTX51实时内核从本质上简化了对实时事件反应速度要求高的复杂应用系统的设计、编程和调试。RTX51实时内核是完全集成到C51编译器中的,从而方便使用。任务描述表和操作系统的连接由BL51链接器/定位器自动控制。2.3.3 开发工具Keil 8051开发工具提供数个十分有用的特性,可以帮助快速地成功开发嵌入式应用这些工具使用简单,并保证达到设计目的。(1) Vision2 集成开发环境Vision2 IDE 是一个基于Windows的开发平台,包含一个高效的编辑器一个项目管理器和一个MAKE工具。Vision2支持所有的Keil 8051工具,包括C编译器宏汇编器连接器/定位器目标代码到HEX的转换器。Vision2通过以下特性加速嵌入式系统的开发过程:l 全功能的源代码编辑器。l 器件库用来配置开发工具设置。l 项目管理器用来创建和维护项目。l 集成的MAKE工具可以汇编编译和连接嵌入式应用。l 所有开发工具的设置都是对话框形式的。l 真正的源代码级的对CPU和外围器件的调试器。l 高级GDIAGDI接口用来在目标硬件上进行软件调试以及和Monitor-51进行通信。(2) 创建项目Vision2包括一个项目管理器,它可以使8051应用系统设计变得简单。要创建一个应用需要按下列步骤进行操作:l 启动Vision2新建一个项目文件并从器件库中选择一个器件。l 新建一个源文件并把它加入到项目中。l 增加并配置你选择的器件的启动代码。l 针对目标硬件设置工具选项。l 编译项目并生成可以编程PROM的HEX文件。(3) 项目目标和文件组通过使用不同的项目目标,Vision2允许为一个应用创建几个不同的程序。也许需要一个目标进行调试,而另一个目标是应用程序的发行版本。在同一个项目文件中,允许每个目标进行独立的工具设置。文件组是用来把项目中相关的文件放在一组。这在要求把文件按功能块分组, 或确定软件开发团体中的工程师们的职责时特别有用。在本例子中使用了文件组,去分离与CPU相联系的文件和其它文件。利用这个技术,可以轻松的管理拥有几百个文件的复杂项目。Project , Targets, Groups, Files 对话框,允许创建项目目标和文件组。现在已经用此对话框增加了系统配置文件。2.4 Proteus软件及串口测试软件sscom32的使用方法首先,安装一个虚拟串口;其次,安装串口测试软件sscom32,安装完后的界面如下:然后点击Add pair增加虚拟端口COM3和COM4;接下来启动串口调试软件sscom32,如下图所示:接下来启动Protus软件,用鼠标左键点击连接器修改参数,修改完后如下:再接下来就把用KeilC编好的程序载入单片机中,这样就可以进行仿真了。3单片机串行通信硬件设计设计单片机串行通信可以采取多种途径,综合成本和性能等多方面考虑,本章利用单片集成芯片实现串口通信,即采用单片集成芯片(MAX232)配合51单片机实现串行通信。本章从以下几点进行系统设计:l 选取何种芯片l 掌握芯片的工作原理与控制方法l 进行硬件设计本文实现的关键在于单片机和电平转换芯片的使用,因此选择合适的电平转换芯片显得至关重要。3.1 芯片选取3.1.1MAX232本设计采用MAXIM公司的电平转换芯片MAX232来实现PC机与单片机之间的通信。MAX232芯片是MAXIM公司生产的低功耗、单电源双RS-232发送/接收器,适用于各种EIA232E和V.28/V.24的通信接口。MAX232芯片内部有一个电源电压变换器,可以把输入的+5V电源变换成RS-232输出电平所需的电压,所以采用此芯片接口的串行通信系统只要单一的+5V电源就可以。MAX232外围需要4个电解电容C1、C2、C3、C4,是内部电源转换所需电容,其取值均为1F/ 25V,宜选用钽电容并且应尽量靠近芯片。C5为0.1F的去耦电容。MAX232的引脚T1IN、T2IN、R1OUT、R2OUT为接TTL/CMOS电平的引脚,引脚T1OUT、T2OUT、R1IN、R2IN为接RS-232电平的引脚。因此TTL/CMOS电平T1IN、T2IN引脚应接MCS-51的串行发送引脚TXD;R1OUT、R2OUT应接MCS-51的串行接受引脚RXD。与之对应的RS-232电平的T1OUT、T2OUT应接PC机的接受端RD;R1IN、R2IN应接PC机的发送端TD。MAX232的引脚主要分为5个部分:l 外接电容:有5个外接电容,进行电压匹配和电源去耦。l TTL的输入:两路TTL电平的输入引脚11和10引脚,连接单片机的TXD输出端口。l TTL的输出:两路TTL电平的输出引脚12和9引脚,连接单片机的RXD输出端口。l RS-232的输入:两路RS-232电平的输入引脚13和8引脚,连接RS-232的TXD输出端口。l RS-232的输出:两路RS-232电平的输出引脚14和7引脚,连接RS-232的RXD输出端口。通过MAX232的TTL和RS-232的输入/输出端口,自动地调节了单片机串口的TTL电平信号和RS-232的串行通信信号的电平匹配。当然,我们也可以选择其他类型的电平转换芯片,但是采用类似功能的芯片无疑会大大减少电路设计的时间。3.1.2 AT89C51AT89C51是美国Atmel公司生产的低电压,高性能CMOS8位单片机,片内含8K Byte的可反复擦写的只读程序存储器(EPROM)和256Byte的随机存储器(RAM),器件采用Atmel公司的高密度、非易失性存储技术生产,与标准MCS-51指令系统及8052产品引脚兼容,片内置通用8位中央处理器(CPU)和Flash存储单元,功能强大。AT89C51单片机适用于许多较为复杂控制的应用场合。l 主要性能参数:与MCS-51产品指令和引脚完全兼容8K字节可重擦写Flash闪速存储器1000次擦写周期全静态操作:0Hz-24MHz三级加密程序存储器2568字节内部RAM32个可编程I/O口线3个16位定时/计数器8个中断源可编程串行UART通道低功耗空闲和掉电模式l 功能特性概述:AT89C51提供以下标准功能:8K字节Flash闪速存储器,256字节内部RAM,32个I/O口线,3个16位定时/计数器,一个6向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。同时,AT89C51可降低至0Hz的静态逻辑操作,并支持两种软件可选的节电工作模式。空闲方式停止CPU的工作,但允许RAM、定时/计数器、串行通信口及中断系统继续工作。掉电方式保存RAM中的内容,但振荡器停止工作并禁止其他所有部件工作直到下一个硬件复位。l 编程方法:在地址线上加上要编程单元的地址信号。在数据线上加上要写入的数据字节。激活相应的控制信号。在高压编程方式下,将/VPP端加上+12V编程电压。每对Flash存储阵列写入一个字节或每写入一个程序加密位,加上一个ALE/PROG编程脉冲。每个字节写入周期是自身定时的,通常约为1.5ms。重复1-5步骤,改变编程单元的地址和写入的数据,直到全部文件编程结束。3.2 其他主要器件(1)晶振:电路中的晶振即石英晶体振荡器。由于石英晶体振荡器具有非常好的频率稳定性和抗外界干扰的能力,所以,石英晶体振荡器是用来产生基准频率的。通过基准频率来控制电路中的频率的准确性。石英晶体振荡器的应用范围是非常广的,它质量等级、频率精度也是差别很大的。通讯系统用的信号发生器的信号源(振荡源),绝大部分也用的是石英晶体振荡器。晶振电路如图3-1所示。图3-1 晶振电路(2)电阻器l 根据电路的用途选择不同种类的电阻器 对性能要求不高的电子线路(如收音机、普通电视机等)可选用碳膜电阻器;对仪器、仪表电路应选用精密电阻器或线绕电阻器,但在高频电路中不能选用线绕电阻器。l 选择电阻器的额定功率 在一般情况下所选用的电阻器的额定功率要大于在电路中电阻实际消耗功率的两倍左右,以保证电阻器使用的安全可靠性。l 电阻器的误差选择 在一般电路中选用5%10%的误差即可,在特殊电路中则根据要求选用。l 电阻器的代用原则 大功率电阻器可代换小功率电阻器,但用于保险的电阻例外;金属膜电阻器可代换碳膜电阻器;固定电阻器与半可调电阻器可相互代替使用。(3)电容器电容器(简称电容)是一种能存储电能的元件,其特点是通交流、隔直流、阻低频、通高频,在电路中常用作耦合、旁路、滤波、谐振等用途。电解电容器以附着在金属极板上的氧化膜层作介质,阳极金属极片一般为铝、钽、铌、钛等,阴极是填充的电解液(液体、半液体、胶状),且有修补氧化膜的作用。氧化膜具有单向导电性和较高的介质强度,所以电解电容为有极性电容。电解电容在使用中一旦极性接反,则通过其内部的电流过大,导致其过热击穿,温度升高产生的气体会引起电容器外壳爆裂。电解电容器的优点是其容量大,在短时间过压击穿后,能自动修补氧化膜并恢复绝缘。其缺点是误差大、体积大,有极性要求,并且其容量随信号频率的变化而变化,稳定性差,绝缘性能低,工作电压不高,寿命较短,长期不用时易变质。电解电容器适用于在整流电路中进行滤波、电源去耦、放大器中的耦合和旁路等。电容器的选用 不同电路应选用不同种类的电容器 在电源滤波和退耦电路中应选用电解电容在高频电路和高压电路中应选用瓷介和云母电容用作隔直时可选用电解等电容器用在谐振回路时可选用空气或小型密封可变电容器 耐压选择 电容器的额定电压应高于其实际工作电压的10%20%,以确保电容器不被击穿损坏。 允许误差的选择 (4)判别是否有键按下的方式有中断方式和查询方式两种:l 中断方式:当键按下时,就向CPU发出中断请求。CPU响应后,对键盘扫描,进行识别,取出键值,作相应处理。l 查询方式:每隔一定时间,CPU扫描键盘一次,查询有无键按下。若有键按下,则再查键值,作相应处理。去抖动:一个电压信号通过机械触点的开/关过程中,由于机械触点的弹性作用,在开关瞬间均有抖动过程,会出现一系列的负脉冲。抖动时间的长短与开关的机械特性有关,一般为5-10ms。按键的稳定闭合期,由操作人员的动作确定,一般为十分之几秒至几秒时间。为了保证CPU对键的一次闭合仅作一次键输入处理,必须去除抖动影响。去抖措施通常有两种:l 硬件去抖:采用R-S触发器或单稳电路构成去抖电路。l 软件去抖:在检测到有键按下时,执行一个10ms的延时程序后,再确认该键是否保持闭合状态。3.3 设计工具在众多设计工具中我选择了Protel99se,原因很简单,它操作简单易学,功能强大,用起来方便,加上我所设计的原理图并不复杂,选择Protel99se作为设计工具可以满足工作的需要。99SE是Protel家族中目前最稳定的版本,功能强大。采用了*.DDB数据库格式保存文件,所有同一工程相关的SCH、PCB等文件都可以在同一*.DDB数据库中并存,非常科学,利于集体开发和文件的有效管理。还有一个优点就是自动布线引擎很强大。在双面板的前提下,可以在很短的时间内自动布通任何的复杂线路。Protel99开始界面如图3-2所示。图3-2 Protel99开始界面每种设计工具都有自己的特点,Protel 99作为一个计算机辅助设计软件,具有以下七个特点:(1) 原理图编辑(Schematic Edit)、印制电路板设计(PCB)、可编程逻辑器件(PLD)设计、自动布线(Route)、电路模拟/仿真(Sim)等功能有机地结合在一起,是真正意义上的EDA软件;智能化、自动化程度高。(2) 持由上到下或由下到上的层次电路设计,使Protel 99能够完成大型、复杂的电路设计。(3) 供ERC(电气法则检查)和ERC(设计规则检查),最大限度地减少差错。(4) 文件的管理、编辑功能的完善,操作非常方便。通过基本的作图工具,即可完成原理图用元件电气图形以及PCB用封装图形的编辑、制作。(5) 全面兼容TANGO及Protel for DOS,即在Protel 98中可以使用、编辑TANGO或低版本Protel建立的文件,并提供了与CAD格式文件转换功能。(6) Schematic和PCB之间具有动态链接功能,保证了原理图与印制板的一致性,以便相互检查、校验。(7) 具有连续操作功能,可以快速地放置同类型元件、连接线等。Protel 99主要改造了操作界面及文件管理方式,并强化了Protel 98的原有功能,尤其是电路仿真功能。3.4 电路原理图设计流程电路原理图设计不仅是整个电路设计的第一步,也是电路设计的根本。由于后面的印刷电路板设计等工作都是以此为基础的,因此电路原理图设计的好坏直接影响到印刷电路板设计等工作,其设计流程如图3-3所示。图3-3 电路原理图设计流程图3.5 硬件电路结构硬件电路的主要电路结构如图3-4所示。图3.4 单片机实现串口通信的结构框图3.6 模块设计遵循的原则及原理图说明3.6.1 模块设计遵循的原则(1) 尽可能选择标准化、模块化的典型电路,提高设计的成功率和结构的灵活性。(2) 系统的扩展与外围设备配置的水平应充分满足应用系统的功能要求。(3) 硬件结构应结合应用软件方案一并考虑。硬件结果与软件方案会产生相互影响,考虑的原则是:软件能实现的功能尽可能由软件来实现,以简化硬件结构。但必须注意,由软件实现的硬件功能,其响应时间要比直接用硬件响应来的长,而且占用CPU时间。所以,选择软件方案时,要考虑到这些因素。(4) 整个系统中相关的器件要尽可能做到性能匹配,例如选用的晶振频率较高时,存贮器的存取时间有限,就该选择允许存取速度较高的芯片;选择CMOS芯片单片机构成低功耗系统时,系统中的所有芯片都应该选择低功耗的产品。(5) 可靠性及抗干扰性设计是硬件系统设计不可缺少的部分,它包括芯片、器件选择,去耦滤波等。(6) 单片机外接电路较多时,必须考虑其驱动能力。驱动能力不足时,系统工作不可靠,解决的办法是增加驱动能力,增设线驱动器或减少芯片功耗,降低总线负载。(7) 系统的扩展及各功能模块的设计在满足系统功能要求的基础上,应适当留有余地,以备将来修改、扩展之需。(8) 在考虑硬件总体结构的同时要注意通用性的问题。根据以上原则,进行硬件设计。系统采用较为普及的89C51单片机作为系统的核心。它不但容易实现设计指标,而且还有较好的性能/价格比。由于是教学用实验系统,各元器件的选择较固定,电路设计方面也与教科书中内容相近。从整体系统来看地址译码方法也只能采用地址译码法。但在存贮器扩展、键盘接口、总线驱动器、可靠性设计等方面还应多考虑。3.6.2 电路原理图说明由于本次设计只是用串行通信实现简单的功能,因此本文的电路较为简单,它由单片机芯片AT89C51、电平转换芯片MAX232以及它们的接口电路构成。图3-5所示的为单片机部分的电路原理图,图3-6所示的为电平转换芯片MAX232部分的电路原理图。图3-5 单片机串口通信电路单片机部分原理图图3-6 单片机串口通信电路MAX232部分电路图3-5中,U2为Atmel公司的单片机芯片AT89C51,工作在11.0592MHz频率下,其TXD和RXD引脚分别与MAX232的T1IN和R1OUT引脚相连,用于输出信息。图3-6中,U1为Maxim公司的电平转换芯片MAX232,其T1IN和R1OUT引脚分别与单片机的TXD和RXD引脚相连;还有就是MAX232的T1OUT和R1IN引脚分别与DB-9连接器的接收数据引脚(2脚)和发送数据引脚(3脚)相连。MAX232的外围电路设计可参考MAX232的芯片资料。3.7 印制线路板的设计在绝缘基材上,按预定设计形成的印制元件、印制线路或两者结合的导电图形称为印制电路(Printed Circuit)。印制线路(Printed Wiring)不包括印制元件(如印制电阻、印制电容、印制电感等),在绝缘基板上只有铜导线图形。印制电路或印制线路的产品板通常不加区别地称为印制电路板(Printed Circuit Board)。 印制板在电子产品中通常有三种作用:(1) 作为电路中元器件和器件的支撑件。(2) 提供电路元件与器件之间的电器连接。(3) 通过标记符号把安装在印制板上面的元件与器件标注出来。这样有助于元件与器件的插装和电气维修,同时大大减少接线数量的接线错误。印制板按层数分有单面印制板(绝缘基板的一面有印制电路)、双面印制板(绝缘基板的两面有印制电路)、多层印制板(在绝缘基板上制成三层以上印制电路),一般电子产品使用单面或双面印制板。在导线的密度较大,但面板容纳不下所有的导线时使用双面板。双面板布线容易,但制作较难、成本较高,所以从经济角度考虑尽可能采用单面板。1.设计印制板的条件(1) 具备完整的电路原理图。(2) 已知印制线路板版面需要容纳的电路以及该电路内各种元器件的型号、规格和尺寸。(3) 明确各元器件和导线对印制板板面安排的特殊要求。(4) 确定印制线路板在总体

温馨提示

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

评论

0/150

提交评论