外文翻译专业:班级:姓名:基于RS-232的串行通信摘要这篇文章论述了串行通信的主要原则,提出了在RS232的基础上,设计串行通讯硬电路的方法。实现了分别在PC微机和单片机中使用汇编语言和C++Builder编程。关键词:串行通信;单片机;程序设一.绪论在控制系统的工作中,PC微机发送指令到步进电机中来收集图像信息。因此,PC微机和驱动系统之间的通信是系统通信所必需的。一般来说,一个完整的通信系统由发射器、接收器、转换数据接口和传输数据通道所构成。该步进电机是通过单芯片来实现微机控制脉冲分配的。在电机的控制系统中,PC微机被称为上位机,而由单片机所控制的步进电机被称为下位机。上位机与下位机之间的通信有两个方法,他们分别是串行通信和并行通信。并行通信可以同时传输大量的数据,具有传送速度快的优点。但是当传输距离远,并且传输数据的数量很多时,它需要的传输线的数目也更多。此外,电压等级会因为输电线路的因素和电压干扰而改变。串行通信是一个数据按一个个序位单向传输的通道,其中两个过渡线是需要实现双向通信传输。正是考虑到在控制系统中需传递的数据多,而单次传输的数量少,因此在控制系统中选择串口通信的方法,从而简化了硬件结构并节约了所需的成本。二.串口通讯的简述每次一个二进制位移动的。它的优点是只需一对传输线进行传送信息,因此其成本低,适用于远距离通信;它的缺点是传送速度低。串行通信有异步通信和同步通信两种基本通信方式。同步通信适用于传送速度高的情况,它的硬件复杂。而异步通信应用于传送速度在50到19200波特之间。是比较常用的传送方式。在异步通信中,数据是一帧一帧传送的,每一串行帧的数据格式由一位起始位,5-8位的数据位,一位奇偶校验位(可省略)和一位停止位四部分组成。在串行通信前,发送方和接收方要约定具体的数据格式和波特率(通信协议),PC机采用可编程串行异步通信控制器8250来实现异步串行通信。通过对8250的初始化编程,可以控制串行数据传送格式和速度。在PC机中一般有两个标准RS-232C串行接口COM1和COM21MCS51系列单片机内含有一个全双工的串行接口,通过编程也可实现串行通信功能。智能传感器的CMOS芯片应为其低成本,小型化,智能化和标准化的特点已得到广泛应用。在智能传感器IC设计中,在传感器和信号处理电路以外,通信接口电路也可发挥重要角色。串行通信拥有很多的标准接口,如RS-232,RS_485,USB接口和IEEE-1394。它们各自都有着自身的特点,同时也分别适用于不同的应用领域。RS-485具有抗噪声数据传输的特点,因此它通常用于工业生产。USB接口和IEEE-1394具有传输速度快的优点,但是有一些电脑和操作系统并不支持这种接口。RS-232是在PC机中和通信行业中应用最广泛的串行接口。RS-232C标准是异步串行协议沟通,并已广泛应用于个人电脑和通信产业。许多短距离打印机等电脑外设交际,所以磁盘和终端与PC机通过RS232通信串行接口。RS-232标准RS-232是美国电子工业协会(EIA)正式公布的,在异步串行通信中应用最广泛的标准总线。该标准适用于DCE和DTE间的串行二进制通信,最高数据传输速率可达19.2kbps,最长传送电缆可达15米IRS-232C标准定义了25根引线。对于一般的双向通信,只需使用串行输入RXD,串行输出TXD和地线GND1RS-232C标准的电平采用负逻辑,规定+3V-+15V之间的任意电平为逻辑“0”电平,-3V--15V之间的任意电平为逻辑“1”电平,与TTL和CMOS电平是不同的。在接口电路和计算机接口芯片中大多为TTL或CMOS电平,所以在通信时,必须进行电平转换,以便与RS-232C标准的电平匹配1MAX232芯片可以完成电平转换这一工作。RS-232C被定义为单端标准,它具有许多的优点,如更低速的串行通信,通信距离远,适中的价格和良好的系统适用性,所以它是最试用的一个通信端口。RS-232是一个基本现代化的计算机接口,它包括COM1和COM2端口,该端口COM1有9针连接器。新一代的计算机有一个9针连接器(DB9),这样就可以通过这个9针连接器来连接RS-232串行端口。为了实现可靠的,实时的传输,该系统采用三线连接方式,即RS-232端口的GND引脚,RXD引脚和TXD引脚与外部端口连接,如图1所示。图1.RS-232端口电脑端口连接端口三.串口通信的软件设计该单片机与PC机之间通过中断与PC机通信程序通信被称为主控制器。当单片机接收通过PC电脑发送的数据信号时,它就会调用中断服务程序。为了充分利用单片机,以减少CPU的占用时间,提高沟通效率,控制程序将是我们会及时响应和控制的对象。通讯程序将得到优化。子程序的串口接收数据,逐个发送脉冲,为判断指令子程序和中断子程序发送数据。A串口中断子程序用于接收数据对用于接收数据的串行端口的中断子程序主要是由PC接收和发送的数据存储到分配的内存中的数据(不与数据处理,以减少由中断注册的时间)负责。由单片机接收到的数据包括一些信息,如速度,步骤和开/关指示,由于缓冲区的大小足够把这些数据发送到电脑中,所以省略了软件握手协议,以提高CPU利用率。当串口中断程序接收到指定的数据时,便退出串行口中断。B发送步进脉冲子程序使用反单晶片微控制器定时器0定时器,作为固定的时间完成,能使P1.5端口被否定,从而产生周期性的驱动脉冲。定时器从0开始计数初始值65535,然后中断分项计划的定时器0被调用,在其中P1.5端口被否定产生驱动脉冲。同时,单片机重新载入PC机通过串行通信微机发送的初始值。C判断指令的子程序教学计划的判断上设置被称为串行口中断的程序。PC微机发送数据到单片机。经过单片机接收数据,并调用串口中断子程序,其中第一次发送的数据被处理。如果第一个数据是一个数字symble“48”,串行口中断分程序设置P1.4脚高,那么接下来的五个字节的数据用于确保步进电机的速度和步骤。如果第一个数据是一个数字symble“49”,这意味着步进电机反转,则单片机接收到发送来的速度和步骤信息。否则,单片机判定接收到的数据是不是“STOP”指令,如果是这样,它发出“停止”指令驱动系统,如果没有,他便推出中断。D发送中断处理子程序在发送中断处理子程序负责将数据发送到计算机,发送中断状态一般是关闭的。当通信方案完全由PC微机发送的数据交易,代码为“1”可写入发送缓冲区,随着计算机接收符号“1”,这是说,单片机上执行完全由PC微机发送的介绍。因此,串口中断设置为“关闭”状态的单片机,他设定为“开”状态的数据后再发送。因此,单片机返回到主程序和等待接收指令。四.PC和单片机通信程序的设计为了方便地实现系统软件移植和统一,上位机程序的设计使用作为控制系统编程工具博兰的C++Builder的5.0是一个PC编程的编程工具。串行口通信可以利用两种方式:一是注册组件,生成的C++本身并不提供单独的串行通讯组件,但是它可通过已注册的MicrosoftMSComm32成分,其中相对简单的VB,VC的这种方式。第二种方法是调用WindowAPI(应用程序接口)函数,此函数是由操作系统提供,以提供大量的行政职能。该计划的步骤是如下:(1)设置的通信协议,打开串行端口,这是所谓的初始化,然后阻止其他的程序使用串行端口。(2)配置串口。(3)传递串口转来的数据,验证数据的传输过程。(4)关闭串口,使其他程序试用。子接口很简单,其中的子接口的设置,如波特率通信模块的单芯片已被设置为2400Bps和波特率设置为在计算机上的端口的默认设置2400Bps。微机具有两个串口,一般称为COM1和COM2,以便程序可以自动识别串行端口,利于端口可以成功的发送和接收数据和指令。串行通信程序包括两个方面,一方面是MCS-51单片机的通信程序,另一方面为PC机的通信程序。在编写程序之前,制定其双方通信协议是十分重要的,否则将无法保证通信数据的可靠性,从而失去通信的意义。现约定其通信协议如下:(1)串行通信波特率为1200bps。(2)帧格式为:一位起始位,八位数据位,一位可编程的第九位(此位为发送和接收的地址/数据的标志位),一位停止位。(3)设定单片机的地址码为F1H。在传送数据前先联络地址码,如地址码正确则传送数据,否则继续联络地址码。(4)无奇偶校验位。数据的通信采用累加和校验的方法,即每传送一组数据(个数自定,设为100个),校验一次累加和是否正确,正确则回送00H,否则回送FFH。(5)通信可以有中断传送方式和查询方式。在这里介绍查询方式通信。(6)联络方式为PC机主动联络MCS-51单片机。(7)PC机采用COM2通信。四.结论串口通信的硬件设计基于RS-232,PC机和单片机之间进行通信的软件模块使用C++编译和汇编语言编程。该控制系统在产业领域运行良好,并通过控制单个步进电机启动/停止和正转/反转旋转。PC危机通过友好的用户界面向单片机发送控制指令。参考文献【1】樊一支,姜文祥,陈梨园。串行通信控制的C++生成和RS232.北京:清华大学出版社,2002年,第2-18【2】苟苏艾。C++Builder5.0的程序员指南。北京:北京希望电子出版社,2001年,第1-6【3】刘艳玲。使用MAX232进行的MCS-51单片机与PC机之间的通信。天津科技,1999年,第56-58【4】杨国霞。采用消息方式处理串口与主程序间的通讯。杂志:促进科技,2001年,河北省科学院卷。18(4):220-223页【5】黎步银,江盛林,卢重,周东祥。基于C语言的串行通信程序设计。作者:Transcluction技术,2002,卷。(2)第65-66【6】王志忠。单片机和PC机之间的串行通信。现代电子技术,2000,119,第68-7TheDesigningofSerialCommunicationBaseonRS232Abstract-ThisPaperdiscussedtheprincipleofserialcommunicationmainly,proposedthedesignmethodbasedonRS232,designedthehardcircuitofserialcommunication,andrealizedtheprogrammingtoPCMicrocomputerandsinglechipmicrocomputerbyusingassemblylanguageandC++Builderseparately,Keywords-serialcommunication;singlechipmicrocomputer;programdesignI.INTRODUCTIONDuringworkinginthecontrolsystem,thePCmicrocomputersendsinstructionsforstep-by-stepmotortocollecttheimageinformation.ThereforethecommunicationbetweenthePCmicrocomputerandthedrivingsystemisneededforthecommunicationsystem.Ingeneral,acompletecommunicationsystemconsistsoftransmitter,receiver,convertingthedatainterfaceandtransmittingdatachannel.Thecontroloftnestep-bystepmotorisrealizedthroughthepulsedistributionbysinglechipmicrocomputer.Onthemotorcontrolsystem,thePCmicrocomputeriscalledasuppercomputer,andthesinglechipmicrocomputerfordrivingstep_by_stepmotoriscall