已阅读5页,还剩18页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第1章 绪论1.1 课题研究的意义21世纪是经济竞争的时代。串口通信的应用使得计算机对工程实现实时监控,能够在相关工业实践中帮助企业提高效率,带来更多的效益。以串口通信应用为重点的企业要想在当前国内竞争日益激烈的环境中生存和发展,关键之一就在与注重串口调试系统的开发和管理维护,因而充分利用和发挥生产管理的优势和潜力,取得更大的社会和经济效益。科技的发展及计算机的广泛运用,串口通信的设计与实现将管理信息化和高效化,为提高企业的核心竞争力提供了广阔的平台。1.2 本课题的发展现状与存在的问题串口通信的设计与实现,常用的开发环境有visual basic和Delphi;工具有MSComm控件、Windows API编程、SPComm控件、APRO组件等。但是无论在开发环境还是工具的选择上,其实现数据的发送、接收功能部分都是大同小异的,也就是先对开发环境和工具组合,然后进行编程。所进行的串口通信设计都是在开发环境和工具的组合下完成的,未来的开发如果能设计出一套系统的、简单易用的串口通信设计工具,能很好的用与后期深层次开发以及其他资源和串口外设进行交互使用,带来的经济效益和社会效益会更大。1.3 课题来源与主要研究内容随着当今串口通信技术的发展,串口开发环境和工具功能的改善,以往的串口通信设计已经不能满足当今的需求,所以急需串口通信的设计能突破以前的常规思想,做到新颖、简单、可操作性强等特点。本次串口通信的设计与实现,主要研究在什么环境下利用什么工具开发,利用什么原理才能比较简单的进行串口通信设计,详细设计其中的每一模块,因而达到设计简单,构思独特,用户界面友好,操作方便,可移植性好等特点。第2章 相关技术介绍2.1 常见接口及通信标准 在通常情况下,人们是通过外部设备使用计算机的,由于外设往往不能与CPU直接相连,所以他们之间的信息交换一般需要通过接口完成。接口包括主机提供的一组线路和接口电路以及外部设备内部的接口,它们实现规定的接口协议,使得不同外设能够与主机和CPU实现互连。CPU与外部设备、存储器的连接和数据交换都需要通过接口设备来实现,前者被称为I/O接口,而后者则被称为存储器接口。存储器通常在CPU的同步控制下工作,接口电路比较简单;而I/O设备品种繁多,其相应的接口电路也各不相同,因此,习惯上说到接口只是指I/O接口,称为外部设备接口技术或者输入/输出接口技术。I/O接口根据接口数据传输形式的不同,可分为并行总线接口和串行总线接口两大类。并行口速度快,实时性好,但是占用的线多,比较复杂,如IEEE-488。串行口速度一般比较慢,但是简单、灵活、方便,如RS-232、USB等。102.1.1 并行接口实现并行通信的接口就是并行接口。主机与接口、接口与外设之间都是以并行方式传送数据。也就是每次传送一个字或者字节的全部代码。并行通信是把一个字符的各数位用几条线同时进行传输,传输速度快,信息率高。但它比串行通信所用的电缆多,故常用在传输距离较短(几米至几十米)、数据传输率较高的场合。 并行接口可设计为只作为输入/输出接口,也可设计为既作为输入又作为输出的接口。它可以用两种方法实现,一种是利用同一个接口中的两个通路,一个作输入通路,一个作输出通路;另一种使用同一个双向通路,既作为输入又作为输出。 连接设备接口有PS/2,PATA,LPT等。其特点有:1) 接口中具有与系统总线直接相连的输入/输出数据缓冲器和一组数据线;2) 接口中具有与外部设备进行联络的应答信号;3) 接口中具有地址译码电路,产生片选择信号和内部寄存器地址选择;4) 接口可使用程序传送方式或程序中断传送方式实现外设与主机之间的信息交换;5) 简单并行接口只有一个I/O通路驱动外设,对于复杂的、可编程并行接口可有几个I/O通路驱动不同外设的输入/输出。142.1.2 串行RS-232接口计算机与计算机或计算机与终端之间的数据传送可以采用串行通讯和并行通讯二种方式。由于串行通讯方式具有使用线路少、成本低,特别是在远程传输时,避免了多条线路特性的不一致而被广泛采用。在串行通讯时,要求通讯双方都采用一个标准接口,使不同的设备可以方便地连接起来进行通讯。RS-232-C接口(又称 EIA RS-232-C)是目前最常用的一种串行通信接口。串行通信接口标准经过使用和发展,目前已经有多种,但都是在RS-232标准的基础上经过改进而形成的。RS-232-C是在1970年由美国电子工业协会(EIA)联合贝尔系统、调制解调器厂家及计算机终端生产厂家共同制定的用于串行通信的标准。它的全名是“数据终端设备(DTE)和数据通讯设备(DCE)之间串行二进制数据交换接口技术标准” 。在PC机上一般至少有两个串行口COM1和COM2,老式的DB25针连接器引线中有许多是很少使用的,而在计算机与终端通讯中一般只使用3-9条引线,9针D形连接器比较常见。常用的串行外设有电传打字机、CRT终端设备、传真机以及远程数据采集设备、通信设备等。9在RS-232-C中任何一条信号线的电压均为负逻辑关系。即:逻 辑“1”,-5 -15V;逻辑“0” +5 +15V 。噪声容限为2V。即要求接收器能识别低至+3V的信号作为逻辑“0”,高到-3V的信号作为逻辑“1”。一些设备与PC机连接的RS-232-C接口,因为不使用对方的传送控制信号,只需三条接口线,即“发送数据”、“接收数据”和“信号地”。首先,串口传输数据只要有接收数据针脚和发送针脚就能实现:同一个串口的接收脚和发送脚直接用线相连,两个串口相连或一个串口和多个串口相连。同一个串口的接收脚和发送脚直接用线相连,9针串口和25针串口,均是2与3直接相连。1011DB9和DB25的常用信号脚说明如表2-1所示:表2-1 DB9和DB25的常用信号脚说明9针串口(DB9)25针串口(DB25)针号功能说明缩写针号功能说明缩写1数据载波检测DCD8数据载波检测DCD2接收数据RXD3接收数据RXD3发送数据TXD2发送数据TXD4数据终端准备DTR20数据终端准备DTR5信号地GND7信号地GND6数据设备准备好DSR6数据设备准备好DSR7请求发送RTS4请求发送RTS8清除发送CTS5清除发送CTS9振铃指示DELL22振铃指示DELLRS-232-C串口通信接线原理(三线制)如表2-2所示:表2-2 RS-232-C串口通信接线原理9针9针25针25针9针25针233222322333557757 应该注意的是:1)RS-232-C串口通信接线的原则简单的说就是:数据针脚或线相连,彼此交叉,信号地对应相接。2)不同编码机制不能混接,如RS-232-C不能直接与RS-422接口相连,必须通过转换器才能连接; 3)线路焊接要牢固,不然程序没问题,却因为接线问题而出现错误; 4)不要带电插拨串口,插拨时至少有一端是断电的,否则串口容易损坏。122.1.3 其他相关串行端口RS-422、RS-485与RS-232不一样,数据信号采用差分传输方式,也称平衡传输,使用的是一对双绞线。RS-422标准全称是“平衡电压数字接口电路的电气特性”,它定义了接口电路的特性。由于接收器采用高输入阻抗和发送驱动器比RS-232更强的驱动能力,故允许在相同传输线上连接多个接收节点,最多可接10个节点。即一个主设备(Master),其余为从设备(Salve),从设备之间不能通信,所以RS-422支持点对多的双向通信。RS-422四线接口由于采用单独的发送和接收通道,因此不必控制数据方向,各装置之间任何必须的信号交换均可以按软件方(XON/XOFF握手)或硬件方式(一对单独的双绞线)实现。 由于RS-485是从RS-422基础上发展而来的,所以RS-485许多电气规定与RS-422相仿。如都采用平衡传输方式、都需要在传输线上接终接电阻等。RS-485可以采用二线与四线方式,二线制可实现真正的多点双向通信。而采用四线连接时,与RS-422一样只能实现点对多的通信,即只能有一个主(Master)设备,其余为从设备,但它比RS-422有改进, 无论四线还是二线连接方式总线上可多接到32个设备。1316172.2 通信方式 2.2.1 异步通信和同步通信在网络通信过程中,通信双方要交换数据,需要高度的协同工作。为了正确的解释信号,接收方必须确切地知道信号应当何时接收和处理,因此定时是至关重要的。在计算机网络中,定时的因素称为位同步。同步是要接收方按照发送方发送的每个位的起止时刻和速率来接收数据,否则会产生误差。在串行通信中有两种基本的通信方式:异步通信ASYNC和同步通信SYNC。 异步通信CPU与外设之间有两项约定:1)字符格式-字符的编码形式及规定,每个串行字符由以下四个部分组成:1 1个起始位,低电平;2 5-8个数据位;3 1个奇偶校验位;4 1-2个终止位(停止位)高电平。 2)波特率 波特率是指单位时间内传送二进制数据的位数,以位/秒位单位,它是衡量串行数据传送速度快慢的重要标志和参数。波特率是一个衡量通信速度的参数,它表示每秒钟传送的bit的个数。假如数据出送速率是120位/秒,则传送的波特率为:120波特。异步通信的传送速度一般在50波特-19200波特之间。异步传输将比特分成小组进行传送,小组可以是8位的1个字符或更长。发送方可以在任何时刻发送这些比特组,而接收方从不知道它们会在什么时候到达。一个常见的例子是计算机键盘与主机的通信。按下一个字母键、数字键或特殊字符键,就发送一个8比特位的ASCII代码。键盘可以在任何时刻发送代码,这取决于用户的输入速度,内部的硬件必须能够在任何时刻接收一个键入的字符。异步传输的实现比较容易,由于每个信息都加上了“同步”信息,因此计时的漂移不会产生大的积累,但却产生了较多的开销。在上面的例子,每8个比特要多传送两个比特,总的传输负载就增加25%。对于数据传输量很小的低速设备来说问题不大,但对于那些数据传输量很大的高速设备来说,25%的负载增值就相当严重了。因此,异步传输常用于低速设备。 同步通信在异步通信中,每个字符要用起始位和终止位作为字符开始和结束的标志,占用了一些时间,为了提高数据块的传送速度,就要设法去掉这些标志,就采用同步通信。同步通信的速度可达500千波特。但是它的硬件电路比较复杂。同步传输的比特分组要大得多。它不是独立地发送每个字符,每个字符都有自己的开始位和停止位,而是把它们组合起来一起发送。我们将这些组合称为数据帧,或简称为帧。 数据帧的第一部分包含一组同步字符,它是一个独特的比特组合,类似于前面提到的起始位,用于通知接收方一个帧已经到达,但它同时还能确保接收方的采样速度和比特的到达速度保持一致,使收发双方进入同步。帧的最后一部分是一个帧结束标记。与同步字符一样,它也是一个独特的比特串,类似于前面提到的停止位,用于表示在下一帧开始之前没有别的即将到达的数据了。同步传输通常要比异步传输快速得多。接收方不必对每个字符进行开始和停止的操作。一旦检测到帧同步字符,它就在接下来的数据到达时接收它们。另外,同步传输的开销也比较少。1582.2.2 单工、半双工和全双工通信根据信息的传送方向,串行通信可以进一步分为单工、半双工和全双工三种。如果在通信过程的任意时刻,信息只能由一方A传到另一方B,则称为单工。单工通信有明确的传输方向。如果在任意时刻,信息既可由A传到B,又能由B传A,但只能由一个方向上的传输存在,称为半双工传输。半双工通信是双向的,但是必须轮流发送。如果在任意时刻,线路上存在A到B和B到A的双向信号传输,则称为全双工。全双工通信能同时双向传输数据。14单工、半双工和全双工通信原理如表2-3所示:表2-3 单工 半双工和全双工通信ABABABBABA单工半双工全双工有明确的传输方向双向的,但是必须轮流发送同时双向传输数据2.3 串口属性介绍2.3.1 奇偶校验传输中的差错都是由于噪声引起的。串行数据在传输过程中,由于干扰可能引起信息的出错,由于干扰,可能使位改变,这种情况,我们称为出现了“误码”。我们把如何发现传输中的错误,叫“检错”。发现错误后,如何消除错误,叫“纠错”。最简单的检错方法是“奇偶校验”,即在传送字符的各位之外,再传送1位奇/偶校验位,用一个值确保传输的数据有偶个或者奇个逻辑高位。这样使得接收设备能够知道一个位的状态,有机会判断是否有噪声干扰了通信或者是否传输和接收数据是否不同步。奇偶校验能够检测出信息传输过程中的部分误码(1位误码能检出,2位及2位以上误码不能检出),但是,它不能纠错。有些检错方法,具有纠错能力。如定比码、正反码、海明码和循环冗余码检错等。112.3.2 数据位数据位是衡量通信中实际数据位的参数。当计算机发送一个信息包,实际的数据不会是8位的,标准的值是5、7和8位。如何设置取决于传送的信息。比如,标准的ASCII码是0127(7位)。扩展的ASCII码是0255(8位)。如果数据使用简单的文本(标准 ASCII码),那么每个数据包使用7位数据。每个包是指一个字节,包括开始/停止位,数据位和奇偶校验位。由于实际数据位取决于通信协议的选取,术语“包”指任何通信的情况。2.3.3 停止位停止位是用于表示单个包的最后一位。典型的值为1,1.5和2位。但是在MSComm控件中不能指定为1.5,否则会出现错误。在由于数据是在传输线上定时的,并且每一个设备有其自己的时钟,很可能在通信中两台设备间出现了小小的不同步。因此停止位不仅仅是表示传输的结束,并且提供计算机校正时钟同步的机会。适用于停止位的位数越多,不同时钟同步的容忍程度越大,但是数据传输率同时也越慢。102.4 MSComm控件介绍 MSComm控件提供下列两种处理通讯的方式:事件驱动方式和查询方式。 1)事件驱动方式: 事件驱动通讯是处理串行端口交互作用的一种非常有效的方法。在许多情况下,在事件发生时需要得到通知。2)查询方式:查询方式实质上还是事件驱动,但在有些情况下,这种方式显得更为便捷。在程序的每个关键功能之后,可以通过检查 CommEvent 属性的值来查询事件和错误。 MSComm控件常用属性MSComm 控件有很多重要的属性,最重要的有以下几个:CommPort 设置并返回通讯端口号; Settings 以字符串的形式设置并返回波特率、奇偶校验、数据位、停止位,在MSComm控件中,停止位不能设置为1.5,否则会出现错误; PortOpen 设置并返回通讯端口的状态,也可以打开和关闭端口;Input 从接收缓冲区返回和删除字符;Output 向传输缓冲区写一个字符串。 MSComm控件的事件MSComm控件只有一个事件,即 OnComm事件。利用MSComm控件编写的应用程序在通信时候如果发生错误或者OnComm事件,会引起OnComm事件并且改变其属性值,通过GetCommEvent()可获得OnComm产生事件或者错误的代码。在通信程序的设计中可以根据GetCommEvent属性值来执行不同的操作。10第3章系统分析和开发方案3.1 可行性分析在设计串口通信前我对现行情况做了初步调查,调查内容如下:(1) 现行主流开发技术:如何在Windows平台下实现串口通信,越来越多地被得到研究。现行主要用visual basic和Delphi环境加控件模式开发,适用范围广泛。重要的有利用MSComm控件和直接用Windows API 编程。利用MSComm控件编程相对来说更简单一些,而直接使用Windows API 编程更灵活一些。(2) 技术可行性情况:能了解串口通信的原理,在开发环境下熟练编程。 (3) 现行设计的概况:串口程序界面美观,程序设计清晰,可移植性好,方便进行二次开发。串口通信的设计与实现,在硬件方面,要求计算机性能良好,硬盘可用空间在10G以上,内存为256M或更高的;操作系统是Windows98/2000/XP,能运行绝大多数应用软件,运行串口通信程序完全没问题。软件方面看,选用开发系统的主流开发环境和开发工具,技术相当成熟;经济方面,基本上无任何经济问题和风险;社会方面,给串口通信相关应用领域所带来的方便性和实用性大大提高。综合可行性分析的结果,本次串口通信的设计与实现是完全可行的。453.2 需求分析需求是用户对目标软件系统在功能、行为、性能、设计约束等方面的期望。通过对应用问题及其环境的理解与分析,为问题涉及的信息、功能及系统行为建立模型,将用户需求精确化、完全化,最终形成需求规格说明。 需求分析是介于系统分析和软件设计阶段之间的重要桥梁。是管理信息系统开发工作中重要的、必不可少的环节,是建立管理信息系统的关键,确定的内容是后面系统设计、系统实现的基础。需求分析可分为问题分析、需求描述及需求评审三个阶段。12串行端口的本质功能是作为CPU和串行设备间的编码转换器。当数据从CPU经过串行端口发送出去时,字节数据转换成串行的位。在接收数据时,串行的位被转换为字节数据。串口设计原理的核心主要是对串口属性进行相关的设置,完成数据的发送和接收及其实现方式。一方面要考虑数据发送和接收的完整性与时效性,另一方面有要考虑用户界面的简单易用,程序设计清晰,以及代码的可移植性好,方便进行二次开发。3.3 功能分析3.3.1 系统功能介绍在打开串口的设置上,比较直观和人性化,红灯亮表示串口打开,绿灯亮表示串口关闭,能直观的反映串口的实时情况;串口的相关设置上,简单的实现波特率、数据位和停止位的修改和转换;对发送窗口和接收窗口的现行数据进行清空处理;实现对串口数据的发送和接收功能,并且可以进行定时发送;未打开串口就进行数据发送会有相关的提示;本次串口设计未使用到奇偶校验。3.3.2 系统数据流图首先运行串口通信的程序,进行串口属性的设置,包括设置端口号、波特率、校验位、数据位、停止位、自动发送间隔的时间,然后打开串口和输入要发送的数据,设置发送和接收的数据类型,就可以发送和接受数据了。系统的数据流图如图3-1所示:图3-1 串口通信数据流图3.4 开发方案3.4.1 RS-232连线方案本次串口通信设计与实现中,RS-232的连线方案选择了三线制,也就是数据针脚或线相连,彼此交叉,信号地对应相接,其中用了两个9针D形连接器,接线方案如图3-2所示:图3-2 RS232连线图 3.4.2 环境和控件选择方案本设计是在Delphi7环境的基础上,运用微软MSComm控件和RS-232串口通信原理,采用异步通信和全双工模式,遵循严格认真的设计开发原则,根据相关的资料,合理开发,实现在Windows操作系统下实现串口通讯发送、接收功能。本次设计中没有使用到奇偶校验。 本设计有以下的特点:1) 开发环境和工具简单,降低开发成本;2) 严格按照系统工程的方法进行开发,提高开发效率;3) 用户界面简单清晰,方便用户使用;4) 方便的实现串口通讯发送、接收功能;5) 代码的可移植性好。 在Delphi环境下利用MSComm控件开发模式的选择Microsoft Communications Control(简称MSComm控件)是微软的Visual Basic 中提供的一个串口控件,在Visual C+、Delphi等开发环境中均可使用,使用简单、性能良好。它通过串行端口传送和接收数据,为应用程序提供基本的串行通信功能,使程序员不必花时间去了解较为复杂的API函数,所以得到广泛的使用。8Borland公司推出的Delphi是一种功能强大的高级编程语言,其具有的可视化面向对象的特性,特别适于在Windows环境下图形界面和用户程序的编制。Delphi是一种具有功能强大、简便易用和代码执行速度快等优点的可视化快速应用开发工具,利用封装性、继承性、多态性等面向对象的编程技术,开发人员可以有效地利用所创建的对象,使应用程序具有可重用性、可扩展性和其它强有力的功能。它在构架企业信息系统方面发挥着越来越重要的作用,用Delphi作为开发工具编制各种应用程序是很多编程人员的选择。但是,美中不足之处是 Delphi没有自带的串口通信控件,在它的帮助文档里也没有提及串口通信,这就给编制通信程序的开发人员带来许多不便。目前,利用 Delphi实现串口通信的常用的方法有 3种:一是利用控件,如 MSCOMM控件和 SPCOMM控件;二是使用 API函数;三是调用其他串口通信程序。其中利用 API编写串口通信程序较为复杂,需要掌握大量的通信知识;调用其他串口通信程序也未能掌握;而使用控件则简单容易操作,所以选择在Delphi环境下利用MSComm控件开发的模式。这种模式设计清晰,由于是使用Delphi作为开发环境,代码的可移植性强,后期开发前景一片光明。38 第4章 系统设计4.1 总体功能设计 本次串口通信的设计,主要的有三大功能模块:串口设置,串口控制和数据显示。其中串口设置中包括串口属性设置模块和打开串口模块;串口控制中包括数据输入模块、数据发送模块和数据接收模块;数据显示中包括十六进制显示模块和文本方式显示模块。 系统的功能模块图如图4-1所示:串口通信设计串口属性设置打开串口数据输入数据发送数据接收十六进制显示文本方式显示串口设置串口控制数据显示图4-1 系统功能模块图4.2 详细设计4.2.1 系统执行流程 详细设计中应该遵循流程进行,系统的规范进行设计,避免开发中组件使用的不规范,代码的混乱,造成系统功能的不全面,代码的可移植性差等缺点。 系统的执行流程图如图4-2所示:设置端口号、波特率、校验位、数据位、停止位开始选择发送数据和接收数据的类型定时发送手动发送开始接收由设置进行数据发送处理由设置进行数据接收处理结束打开串口输入要发送的数据图4-2 系统执行流程图4.2.2 串口属性设置 设置串口属性包括设置串口的串口号、波特率、数据位、停止位,由于本次串口通信的设计没有使用到奇偶校验,所以校验位默认为无。4.2.3 打开串口 打开串口,串口属性为串口属性设置后的值,如果没有设置,默认值为波特率9600bit/s,N无校验,8位数据位,1位停止位,指示灯变红,按钮上的“打开串口”变成“关闭串口”,相关设置变成False,就是打开串口后就不能进行这些设置了。 关闭串口后,各组件的状态改变,指示灯变绿,按钮上的“关闭串口”变成“打开串口”,相关设置变成True,现在可以进行这些设置了。4.2.4 数据发送首先设置串口的属性,包括设置端口号、波特率、数据位、停止位等。然后选择发送和接收的数据类型,是否用十六进制发送,默认的设置是以文本方式发送的。在发送数据的输入窗口输入将要发送的数据,打开串口后,就可以进行数据发送了。 手动发送没有打开串口就进行手动发送,系统会提示出串口未打开的对话框,当串口打开,才能进行发送处理。 定时发送 定时发送的时间默认为1秒,可以设置定时发送的时间,选中定时发送,设置的时间间隔每进行一次循环,数据就发送一次,不但可以免去重复的发送操作,而且可以控制数据的发送时间,简单方便。设置端口号、波特率、数据位、停止位等开始选择发送数据和接收数据的类型输入要发送的数据打开串口手动发送结束定时发送图4-3 数据发送流程图4.2.5 数据清空 虽然对接收的串口数据进行了新接收的数据另起一行的处理,但是由于接收串口数据的增多,会给接收窗口带来混乱,不利于对数据的观察处理。接收窗口的清空处理让接收到的数据更加的清晰化,容易辨别;发送窗口的清空处理清空上一次或上几发送的数据,避免数据的重复和冗余。4.2.6 串口指示灯 当串口打开的时候,串口指示灯变红;串口关闭的时候,串口指示灯变绿。用直观的方式表示出串口的打开和关闭情况,反映串口的实时状态,更好的进行串口数据的发送和接收。第5章 系统实现5.1 运行环境的配置5.1.1 Delphi7环境选择开始程序Borland Delphi7Delphi7命令,运行Delphi7。Delphi7的界面就是它的集成开发环境,主要由以下五个部分组成:1)主窗体:主窗体中包含菜单栏、工具栏和组件栏。菜单栏。菜单栏及所属的各级菜单包含了Delphi的全部命令和功能。菜单栏中共有11个菜单项,分别为File(文件)、Edit(编辑)、Search(查找)、View(视图)、Project(项目)、Run(运行)、Component(组件)、Database(数据库)、Tools(工具)、Windows(窗口)、Help(帮助)。而且Delphi可以根据当前的使用状态,增加或者删除一些菜单项。工具栏。工具栏中放置了菜单栏中某些主要功能的快捷按钮。工具栏的显示与否可通过ViewToolbars菜单项下的相应命令进行切换,若要进行工具栏按钮的增加和删除,可选择ViewToolbarsCustomize命令,在弹出的“Customize(自定义)”对话框中进行设置。组件栏。其中包含了Delphi的可视化组件,如按钮、列表框和编辑框等。用户还可以按组件的名称查找组件,选择ViewComponent List在弹出的Components对话框中输入要查找组件的名称,然后单击Add to form按钮将组件添加到窗体。2)对象浏览器:它是组成应用程序的外观与代码的通道。对象浏览器可以设置窗体上的组件以及窗体本身的属性,还可以通过事件处理程序框架来帮助用户建立代码。 对象浏览器包括属性页和事件页,属性页可以用来观察、设置窗体以及其上组件设计时候的属性;事件页列出组件能响应的各种事件。3)对象树状列表:其中可以显示放置在窗体、数据模块或框架上的组件关系结构图。4)窗体设计器:在可视化编程中,人机交互界面主要是通过窗口和对话框来实现。窗体设计器就是一个接受组件的窗口,在窗体中放置 适当的组件,设置属性,就完成了程序的界面设计。默认的窗体是标题为“Form1”的窗体。5)代码编辑器:默认情况下,代码编辑器隐藏在窗体设计器下,当组件放到窗体上时,代码编辑器中就会自动生成大部分的用户界面代码。它是一个功能强大的编辑器,可在里面书写Delphi应用程序的源代码。35.1.2 安装MSComm控件 首先找到下列三个文件:MSComm.reg,MSComm32.ocx,MSComm32.dep,把这三个文件拷贝到Windows的system目录下。然后用Windows下的注册工具regsvr32注册该OCX控件。注册成功后用记事本打开Mscomm.reg,可以看到类似下面的内容:HKEY_CLASSES_ROOTLicenses4250E830-6AC2-11cf-8ADB-00AA00C00905 = kjljvjjjoquqmjjjvpqqkqmqykypoqjquoun。为了能正确使用该控件,需要修改注册表的信息,在注册表的在HKEY_CLASSES_ROOTLicenses下建一主键: 4250E830-6AC2-11cf-8ADB-00AA00C00905,主键的内容为:kjljvjjjoquqmjjjvpqqkqmqykypoqjquoun。至此已经完成了控件的系统注册工作,剩下的工作是在Delphi中导入这个ActiveX控件,进入Delphi环境在Component菜单下选Import ActiveX Control,这时在列表中可以看到Microsoft Comm Control 6.0选项, 选中这个选项点击Install按钮,完成安装。在ActiveX控件页上可以看到一个电话为图标的控件,这就是MSComm控件。8MSComm控件安装后如图5-1所示:图5-1 MSComm控件安装5.2 系统实现5.2.1 主要控件的属性设置主要的控件属性设置如表5-1所示:表5-1 主要控件属性设置表组件组件类型属性设置说明MSCommTMSCommRThreshod=1用于串口操作tmrSendTTimerEnabled=False用于串口定时发送mmReceiveTMemoLine属性为空 显示接收的串口数据mmSendTMemoLine属性为空输入发送的串口数据btnSerialTButtonCaption=打开串口打开或者关闭串口btnClearTButtonCaption=清空清空串口数据cmbbxStopBitTComboBoxItem.Strings=(12)Text=1设置停止位,默认为1cmbbxComNumTComboBoxItem.Strings=(COM1COM2)Text=COM1设置端口号,默认为COM1cmbbxBaudTComboBoxItem.Strings=(1200240048009600)Text=9600设置波特率,默认为9600cmbbxCheckBitTComboBoxItem.Strings=(NEMOS)Text=N设置校验位,默认为N,无校验位cmbbxDataNumTComboBoxItem.Strings=(5678)Text=8设置数据位,默认为8chckbxTimerTCheckBoxCaption=定时发送选择是否定时发送edtTimeTEditText=1000设置定时发送的时间,默认为1秒shpSerialTShapeBrush.Color=clskyblue Shape=stCircle显示串口状态,红色为串口打开;绿色为串口关闭由于组件栏中没有TShape组件,选择ViewComponent List在弹出的Components对话框中输入TShape,然后单击Add to form按钮将组件添加到窗体。5.2.2 系统界面实现系统界面简单直观,所有功能一目了然,可操作性强,方便用户使用。系统界面运行后如图5-2所示:图5-2 系统界面5.2.3 打开和关闭串口 打开和关闭串口,串口指示灯变色,直观的反映串口的实时状态,方便对串口进行控制。主要代码如下: /打开串口 MSComm.CommPort:=cmbbxComNum1.ItemIndex+1; /默认值为 波特率9600bit/s,N无校验,8位数据位,1位停止位 ComSetting:=cmbbxBaud.Text; ComSetting:=ComSetting+,+cmbbxCheckBit.Text; ComSetting:=ComSetting+,+cmbbxDataNum.Text; ComSetting:=ComSetting+,+cmbbxStopBit.Text; MSComm.Settings:=ComSetting; MSComm.InputMode := comInputModeText; /变换各个组件的状态 shpSerial1.Brush.Color:=clRed; /指示灯变红,串口打开 btnSerial1.Caption :=关闭串口; chckbxHexShow.Enabled:=False; Memo1.Text:=COM1打开 /关闭串口MSComm.PortOpen:=False; /变换各个组件的状态 MSComm.PortOpen:=False; shpSerial1.Brush.Color:=clAqua;/指示灯变绿,串口关闭 btnSerial1.Caption :=打开串口; Memo1.Text:=COM1关闭打开串口如图5-3所示:图5-3 打开串口5.2.4 串口初试化 hexShow:=False; cmbbxComNum1.ItemIndex:=0; cmbbxComNum2.ItemIndex:=0; shpSerial1.Brush.Color:=clAqua; sh
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 人力资源专员岗前招聘技巧培训试题及答案
- 中级母婴护理师考试题及答案型
- 密云护理事业编考试题及答案型
- 小区公共设施智能化管理方案
- 2025年人工智能导论测试试题及答案
- 保安消防证考试题及答案
- 税务局笔试考试题及答案
- 2025年西藏播音统考真题及答案
- 2025年护理笔试开放性题目及答案解析
- 2025年自考西方文论试题及答案
- 2025年新版护理三基知识考试必考重点题库及答案
- 小学生自制凉茶课件
- 软式内镜清洗消毒技术规范2025
- 英文检测合同协议
- 城市低空安全监管平台解决方案
- 建筑消防设施维护保养方案
- 《胸痛中心质控指标及考核标准》(第三版修订版)
- 仓库安全风险辨识清单
- 污染和泄漏应急处理
- 陕煤集团榆林化学有限责任公司招聘笔试
- 前列腺癌放疗护理
评论
0/150
提交评论