基于PC机Windows环境下数据通信、处理及存储程序设计与djyd.docx
专业综合合课程设设计任务务书学生姓名名:专业班班级:指导教师师:工作单单位: 题 目目: 基基于PCC机Wiindoows环环境下数数据通信信、处理理及存储储程序设设计与实实现。初始条件件:(1) 提供实验验室机房房及安装装Winndowws系统统的PCC机;(2) 数据通信信的基本本理论学学习。 要求完成成的主要要任务:(包括课课程设计计工作量量及其技技术要求求,以及及说明书书撰写等等具体要要求):(1)在在PC机机Winndowws环境境下设计计出一款款集数据据发送、接接收处理理及存储储程序;(2)通通信接口口为RSS-2332,UUSB,网网卡任意意一款;(3)通通信的数数据流自自定,处处理操作作自定;(4)接接收的数数据以文文件的形形式存在在硬盘上上;(5)对对结果进进行分析析; (6)要要求阅读读相关参参考文献献不少于于5篇;(7)根根据课程程设计有有关规范范,按时时、独立立完成课课程设计计说明书书。时间安排排: (1) 布置课课程设计计任务,查阅资资料,确确定方案案 四天天; (2) 进行编编程设计计 一周周; (3) 完成课课程设计计报告书书 三天天;指导教师师签名: 年年 月 日系主任(或责任任教师)签名: 年 月月 日目录摘要I1 Prroteeus软软件简介介12 Viisuaal BBasiic 66.0简简介23 串口口通信原原理33.1串串行通信信定义333.2串串行通信信的异步步通信443.3波波特率443.4串串行接口口的基本本特点553.4.1串行行端口工工作方式式54单片机机与PCC机通信信84.1 AT889C551单片片机上对对应端口口介绍884.3单单片机通通信代码码94.4仿仿真电路路图1115 VBB设计PCC机125.1界界面设计计125.2 VB设设计的窗窗体1225.3 VB代代码1226 串口口通信结结果及其其分析2226.1通通信结果果226.2结结果分析析247 实物物图2558心得体体会266参考文献献27摘要为了实现现本次课课设的要要求,完完成基于于PC机Winndowws环境境下数据据通信、处处理及存存储程序序设计与与实现。我我们采用用Vissuall Baasicc 6.0软件件设计和和Prooteuus单片片机串口口仿真来来完成课课程设计计的要求求。我们选取取的是通通信接口口为RSS-2332,利利用单片片机与PPC机的的之间相互互通信来来实现课课设要求求,Viisuaal BBasiic软件件主要用用于设计计代表PPC机的的窗体,实实现PCC机进行行串口通通信的基基本功能能;Prroteeus软软件仿真真的单片片机用于于模拟单单片机,完完成与PPC机的的通信。本本次课设设除了要要用到VVB和Prooteuus软件件外,还还需使用用KEIIL软件件生成适适用于551单片片机的.HEXX文件,以以及用到到Virrtuaal SSeriial Porrt DDrivver软软件来对对PC机和和单片机机之间串串口进行行连接,使使用VSSPD软软件来设设置连接接串口的的时候我我将单片片机设为为COMM3,PC机设设为COOM1。关键字:RS-2232 ,串口口通信,Proteus,Visual Basic 6.01 Prroteeus软软件简介介Protteuss是世界界上著名名的EDDA工具具(仿真真软件),从原原理图布布图、代代码调试试到单片片机与外外围电路路协同仿仿真,一一键切换换到PCCB设计计,真正正实现了了从概念念到产品品的完整整设计。是是目前世世界上唯唯一将电电路仿真真软件、PPCB设设计软件件和虚拟拟模型仿仿真软件件三合一一的设计计平台,其其处理器器模型支支持80051、HHC111、PIIC100/122/166/188/244/300/DssPICC33、AAVR、AARM、880866和MSSP4330等,220100年又增增加了CCorttex和和DSPP系列处处理器,并并持续增增加其他他系列处处理器模模型。在在编译方方面,它它也支持持IARR、Keeil和和MPLLAB等等多种编编译器。Protteuss软件具有有其它EEDA工工具软件件(例:mulltissim)的的功能。这这些功能能是:1原理理布图2PCCB自动动或人工工布线3SPPICEE电路仿仿真4互动动的电路路仿真5仿真真处理器器及其外外围电路路Protteuss拥有丰丰富的资资源,它它体现在在:1Prroteeus可可提供的的仿真元元器件资资源:仿仿真数字字和模拟拟、交流流和直流流等数千种元元器件,有有30多多个元件件库。2Prroteeus可可提供的的仿真仪仪表资源源 :示示波器、逻逻辑分析析仪、虚虚拟终端端、SPPI调试试器、II2C调调试器、信信号发生生器、模模式发生生器、交交直流电电压表、交直流电流表。理论上同一种仪器可以在一个电路中随意的调用。3除了了现实存存在的仪仪器外,PProtteuss还提供供了一个个图形显显示功能能,可以以将线路路上变化化的信号号,以图图形的方方式实时时地显示示出来,其其作用与与示波器器相似,但但功能更更多。这这些虚拟拟仪器仪仪表具有有理想的的参数指指标,例例如极高高的输入入阻抗、极极低的输输出阻抗抗。这些些都尽可可能减少少了仪器器对测量量结果的的影响。4Prroteeus可可提供的的调试手手段 PProtteuss提供了了比较丰丰富的测测试信号号用于电电路的测测试。这这些测试试信号包包括模拟拟信号和和数字信信号。Protteuss不仅可可将许多多单片机机实例功功能形象象化,也也可将许许多单片片机实例例运行过过程形象象化。前前者可在在相当程程度上得得到实物物演示实实验的效效果,后后者则是是实物演演示实验验难以达达到的效效果。课程设计计、毕业业设计是是学生走走向就业业的重要要实践环环节。由由于PRROTEEUS提提供了实实验室无无法相比比的大量量的元器器件库,提提供了修修改电路路设计的的灵活性性、提供供了实验验室在数数量、质质量上难难以相比比的虚拟拟仪器、仪仪表,因因而也提提供了培培养学生生实践精精神、创创造精神神的平台台随着科技技的发展展,“计计算机仿仿真技术术”已成成为许多多设计部部门重要要的前期期设计手手段。它它具有设设计灵活活,结果果、过程程的统一一的特点点。可使使设计时时间大为为缩短、耗耗资大为为减少,也也可降低低工程制制造的风风险。相相信在单单片机开开发应用用中PRROTEEUS也也能茯得得愈来愈愈广泛的的应用。2Vissuall Baasicc 6.0简介介Visuual Bassic(VB)是是由微软软公司开开发的包包含协助助开发环环境的事件驱驱动编程程语言。它它源自于于BASSIC编编程语言言。VBB拥有图图形用户户界面(GUII)快速应应用程序序开发(RADD)系统统,可以以轻易的的使用DDAO、RDOO、ADOO连接数据据库,或或者轻松松的创建建ActtiveeX控件件。程序序员可以以轻松的的使用VVB提供供的组件件快速创创建一个个应用程程序。VB的中中心思想想就是要要便于程程序员使使用,无无论是新新手或者者专家。VB使用了可以简单创建应用程序的GUI系统,但是又可以开发相当复杂的程序。VB的程序是一种基于窗体的可视化组件安排的联合,并且增加代码来指定组建的属性和方法。因为默认的属性和方法已经有一部分定义在了组件内,所以程序员不用写多少代码就可以完成一个简单的程序。过去的版本里面VB程序的性能问题一直被放在了桌面上,但是随着计算机速度的飞速增加,关于性能的争论已经越来越少。窗体控件件的增加加和改变变可以用用拖放技术术实现。一一个排列列满控件件的工具具箱用来来显示可可用控件件(比如如文本框框或者按按钮)。每每个控件件都有自自己的属属性和事件。默默认的属属性值会会在控件件创建的的时候提提供,但但是程序序员也可可以进行行更改。很很多的属属性值可可以在运运行时候候随着用用户的动动作和修修改进行行改动,这这样就形形成了一一个动态态的程序序。举个个例子来来说:窗窗体的大大小改变变事件中中加入了了可以改改变控件件位置的的代码,在在运行时时候每当当用户更更改窗口口大小,控控件也会会随之改改变位置置。在文文本框中中的文字字改变事事件中加加入相应应的代码码,程序序就能够够在文字字输入的的时候自自动翻译译或者阻阻止某些些字符的的输入。VB的程程序可以以包含一一个或多多个窗体体,或者者是一个个主窗体体和多个个子窗体体,类似似于操作作系统的的样子。有有很少功功能的对对话框窗窗口(比比如没有有最大化化和最小化化按钮的的窗体)可可以用来来提供弹弹出功能能。VB的组组件既可可以拥有有用户界界面,也也可以没没有。这这样一来来服务器器端程序序就可以以处理增增加的模模块。VB使用用引用计计数的方方法来进进行垃圾圾收集,这这个方法法中包含含有大量量的对象象,提供供基本的的面向对对象支持持。因为为越来越越多组建建的出现现,程序序员可以以选用自自己需要要的扩展展库。和和有些语语言不一一样,VVB对大大小写不不敏感,但但是能自自动转换换关键词词到标准准的大小小写状态态,以及及强制使使得符号号表入口口的实体体的变量量名称遵遵循书写写规则。默默认情况况下字符符串的比比较是对对大小写写敏感的的,但是是可以关关闭这个个功能。VB使得得大量的的外界控控件有了了自己的的生存空空间。大大量的第第三方控控件针对对VB提提供。VVB也提提供了创创建、使使用和重重用这些些控件的的方法,但但是由于于语言问问题,从从一个应应用程序序创建另另外一个个并不简简单。3 串口口通信原原理3.1串串行通信信定义串口是计计算机上上一种非非常通用用设备通通信的协协议。大大多数计计算机包包含两个个基于RRS-2322的串口口。串口口同时也也是仪器器仪表设设备通用用的通信信协议;很多GGPIBB兼容的的设备也也带有RRS-2232口口。同时时,串口口通信协协议也可可以用于于获取远远程采集集设备的的数据。3.2串串行通信信的异步步通信字符帧也也叫数据据帧,由由起始位位、数据据位、奇奇偶校验验位和停停止位等等四部分分组成。在在串行通通信中,发发送端一一帧一帧帧发送信信息,接接收端一一帧一帧帧接收信信息。两两相邻字字符帧之之间可以以无空闲闲位,也也可以由由若干空空闲位,自自行定义义。串行通信信的数据据或者字字符是一一帧一帧帧地传送送,在异异步通信信中,一一帧数据据先用一一个起始始位“0”表示字字符的开开始,然然后是558位位上数据据,即该该字符的的代码,规规定低位位在前,高高位在后后,接下下来是奇奇偶校验验位,最最后一个个停止位位“1”表示字字符的结结束。下下面是异异步通信信一帧数数据为110位的的帧格式式见图3-1。图3-11字符帧帧格式图图3.3波波特率波特率是是通信中中对数据据传送速速率的要要求。在在计算机机通信中中,其意意义是每每秒钟传传送多少少位二进进制数。假假如异步步传送速速率为每每秒1220个字字符,每每个字符符有1个个起始位位,8个个数据位位,1个个停止位位组成,则则其传送送波特率率为传送一位位所需要要的时间间为波特特率的倒倒数,即即在串行传传输中,二二进制数数据序列列是以数数字波形形出现的的,发送送时在发发送时钟钟下将通通信线上上传来的的数据串串行移入入移位寄寄存器,所所以,发发送时钟钟和接受受时钟也也可作移移位时钟钟。能产产生该时时钟的电电路称为为波特率率发生器器。为提高采采样的分分辨率,准准确地测测定数据据位的上上升沿或或下降沿沿,时钟钟频率总总是高于于波特率率的若干干倍,这这个倍数数称为波波特率因因子。在在单片机机中,发发送和接接收时钟钟可以由由系统时时钟foscc产生,其其波特率率因子为为12,32,64.如果波波特率由由foscc决定称称为固定定波特率率方式。也也可以由由单片机机的内部部定时器器T1产生生,它工工作于自自动重装装8位定定时方式式,由于于定时器器的计数数初值可可以人为为的改变变,T11产生的的时钟频频率就可可以改变变,称为为可变波波特率方方式。3.4串串行接口口的基本本特点3.4.1串行行端口工工作方式式MCS-51单单片机的的串行端端口有44种基本本工作方方式,通通过编程程设置,可可以使其其工作在在任一方方式,以以满足不不同场合合的需要要。其中中,方式00主要用用于外接接移位寄寄存器,以以扩展单单片机的的IOO电路;工工作方式式1多用用于双机机之间或或与外设设电路的的通信;方式22、3除除有方式式1的功功能外,还还可以作作多机通通信,以以构成分分布式多多微机系系统。 串行端口口有两个个控制寄寄存器SSCONN、PCCON,用用于设置置工作方方式、发发送或接接收的状状态、特特征位、数数据传送送波特率率每秒秒传送的的位数以及作作为中断断标志等等。串行端口口有一个个数据寄寄存器SSBUFF在特特殊功能能寄存器器中的字字节地址址为999H,该该寄存器器为发送送和接收收所共用用。串行端口口的波特特率可以以用程序序来控制制。在不不同工作作方式中中,由时时钟振荡荡频率的分频值或或由定时时器T11的定时时溢出时时间确定定,使用用十分方方便灵活活。串口口控制寄寄存器:输入:在在时,串串行口采采样RXXD引脚脚,当采采样到11至O的的跳变时时,确认认是串行行发送来来的一帧帧数据的的开始位位0,从从而开始始接收一一帧数据据。只有有当8位位数据接接收完,并并检测到到高电平平停止位位后,只只有满足足;或接收收到的第第9位数数据为11时,停停止位才才进入RRB8,88位数据据才能进进入接收收寄存器器,并由由硬件置置位中断断标志RRI;否否则信息息丢失。所所以在方方式1接接收时,应应先用软软件清零零RI和和SM22标志。1. 方方式2方式2为为固定波波特率的的11位位UARTT方式。它它比方式式1增加加了一位位可程控控为1或或0的第第9位数数据。输出:发发送的串串行数据据由TXXD端输输出一帧帧信息为为11位位,附加加的第99位来自自SCOON寄存存器的TTB8位位,用软软件置位位或复位位。它可可作为多多机通讯讯中地址址数据据信息的的标志位位,也可可以作为为数据的的奇偶校校验位。当当CPUU执行一一条数据据写入SSUBF的的指令且且时,就就启动发发送器发发送。发发送一帧帧信息后后,置位位中断标标志TII。输入:在在时,串串行口采采样RXXD引脚脚,当采采样到11至O的的跳变时时,确认认是串行行发送来来的一帧帧数据的的开始位位0,从从而开始始接收一一帧数据据。在接接收到附附加的第第9位数数据后,当当满足;或接收收到的第第9位数数据为11时,第第9位数数据才进进入RBB8,88位数据据才能进进入接收收寄存器器,并由由硬件置置位中断断标志RRI;否则则信息丢丢失。且且不置位位RI。2. 工工作方式式3方式3为为波特率率可变的的11位位UARRT方式式。除波波特率外外,其余余与方式式2相同同。波特特率的选选择 如前所所述,在在串行通通讯中,收收发双方方的数据据传送率率(波特特率)要要有一定定的约定定。在MMCS-51串串行口的的四种工工作方式式中,方方式0和和2的波波特率是是固定的的,而方方式1和和3的波波特率是是可变的的,由定定时器TT1的溢溢出率控控制。1方式式O方式0的的波特率率固定为为主振频频率 的。2方式式2 方式22的波特特率由PPCONN中的选选择位SSMODD来决定定,可表表示为:也就是是当时,波波特率为为,当时,波波特率为为。3方式式1和方方式3定时器TT1作为为波特率率发生器器,其公公式如下下:式中T11计数率率取决于于它工作作在定时时器状态态还是计计数器状状态。当当工作于于定时器器状态时时,T11计数率率为foosc门门2:当当工作于于计数器器状态时时,T11计数率率为外部部输入频频率,此此频率应应小于。产产生溢出出所需周周期与定定时器TT1的工工作方式式、T11的预置置值有关关。 定时器器T1工工作于方方式O: 定时器器T1工工作于方方式1: 定时器器T1工工作于方方式2: 因为方方式2为为自动重重装入初初值的88位定时时器计计数器模模式,所所以用它它来做波波特率发发生器最最恰当。这这种方式式下,TT1的溢溢出率次秒秒计算算式可以以表示为为:(二) 串行口口的通信信波特率率串行口的的通信波波特率恰恰好反映映串行口口传输数数据的速速率。通通信波特特率的选选用,不不仅和所所选通信信设备、传传输距离离有关,还还受传输输线状况况所制约约。波特率设设计 1、方方式0的的波特率率 工作方方式0时时,移位位脉冲由由机器周周期的第第6个状状态周期期S6给给出,每每个机器器周期产产生一个个移位脉脉冲,发发送或接接收一位位数据。因因此,波波特率是是固定的的,为振振荡频率率的,不不受PCCON寄寄存器中中SMOOD的影影响。用用公式表表示为:工作方式式0的2、方式式2的波波特率 工作方方式2时时,移位位脉冲由由振荡频频率foosc的的第二节节拍P22时钟(即即)给出出,所以以,方式式2波特特率取决决于PCCON中中的SMMOD位位的值,当当时,波波特率为为fossc的;当时,波波特率为为fossc的,用用公式表表示为;工作方式式2:3、工作作方式11和方式式3的波波特率 在这两两种方式式下,串串行口波波特率是是由定时时器的溢溢出率决决定的,因因而波特特率也是是可变的的。相应应公式为为:实际上定定时器TT1通常常采用方方式2,因因为定时时器T11在方式式2下工工作,TTH1和和TL11分别设设定为两两个8位位重装计计数器。4单片机机与PCC机通信4.1 AT889C551单片片机上对对应端口口介绍本次课设设主要用用到ATT89CC51单单片机上上的P33口,PP3口的的功能简简介如下下:P3口管管脚是88个带内内部上拉拉电阻的的双向II/O口口,可接接收输出出4个TTTL门门电流。当当P3口口写入“11”后,它它们被内内部上拉拉为高电电平,并并用作输输入。作作为输入入,由于于外部下下拉为低低电平,PP3口将将输出电电流(IILL)这这是由于于上拉的的缘故。P3口也也可作为为AT889C551的一一些特殊殊功能口口,如下下表所示示:P3.00 RXXD(串串行输入入口)P3.11 TXXD(串串行输出出口)P3.22 /IINT00(外部部中断00)P3.33 /IINT11(外部部中断11)P3.44 T00(计时时器0外外部输入入)P3.55 T11(计时时器1外外部输入入)P3.66 /WWR(外外部数据据存储器器写选通通)P3.77 /RRD(外外部数据据存储器器读选通通)P3口同同时为闪闪烁编程程和编程程校验接接收一些些控制信信号本次单片片机部分分只需用用到P33口的PP3.00口和PP3.11口,用用于和PPC连接接通信。4.2 RS-232简介通常 RRS-2232 接口以以9个引引脚 (DB-9) 或是225个引引脚 (DB-25) 的型型态出现现,RSS-2322的电器器特性、逻辑电平和各种信号线功能也有规定。 在TxDD和RxxD上:逻辑1:-3V -15VV 逻辑0:+3V+115V 发送数据据(TxxD)通过过TxDD终端将将串行数数据发送送到MOODEMM,(DDTEDCEE)。 接收数据据(RxxD)通过过RxDD线终端端接收从从MODDEM发发来的串串行数据据,(DDCEDTEE)。4.3单单片机通通信代码码#inccludde <<regg52.h>#inccludde<iintrrinss.h>>#deffinee uccharr unnsiggnedd chhar#deffinee uiint unssignned inttunsiigneed ccharr fllag,a,ii;uchaar ccodee taablee="OHH MYY GOOD"voidd deelayy1mss()uchhar i,jj;forr(i=0;ii<100;i+)foor(jj=0;j<333;jj+);voidd deelayy(uccharr n)/延延时n毫秒uchhar i;forr(i=0;ii<n;i+)deelayy1mss();voidd innit() TMOOD=00x200;/T1定时时器方式式2 TH11=0xxfd; TL11=0xxfd;/T11定时器器装初值值 TR11=1;/启启动定时时器T11 RENN=1;/数据据允许接接受 SM00=0;设定串串口方式式1 SM11=1;/ EA=1;/开总总中断 ES=1;/允许许串口中断断voidd maain() uchhar k; iniit(); wwhille(11) if(flaag=1) EES=00;/关闭串串口中断断 ffor(i=00;i<<17;i+) SBUUF=ttablleii;/接收收数据 whhilee(!TTI);/等等待是否否发送完完毕TII=0; SSBUFF=a;/发发送数据据 wwhille(!TI); TTI=00; EES=11; fflagg=0; voidd seer() innterrruppt 44/串串口中断断程序 RI=0;/软件件清零,进进入中断断服务程程序 a=SSBUFF; flaag=11;/标志位位置1,判判断是否否已收到到数据4.4仿仿真电路路图图4-11单片机机电路仿仿真图5 VBB设计PPC机5.1界界面设计计本次设计计需要添添加MSSCommm控件件,可用用Proojecct-Commponnenttsccommm coontrrol66.0进进行添加加。在设计窗窗体时要要添加以以下控件件:1个个CommboBBox 、9个个Labbel、11个 OOptiion 、7个个Commmannd BButtton、22个 TTexttBoxx。5.2VVB设计计的窗体体图5-11 VBB设计软软件5.3 VB代代码Optiion Exppliccit'Opttionn Baase 1Privvatee Deeclaare Subb Slleepp Liib ""kerrnell32"" (BByVaal ddwMiilliiseccondds AAs LLongg)Dim commporrt AAs BByteeDim ratte AAs LLonggDim datta_ccnt As InttegeerDim stoop_ccnt As InttegeerDim dissp_oon AAs IInteegerrDim mutt Ass BoooleeanDim outt() As ByttePrivvatee Suub ccom_chaangee() Dimm fllag As Boooleaan On Errror Ressumee Neext Errr.Cllearr If mutt = Fallse Theen EExitt Suub '初初始化完完成前本本过程无无效 flaag = MSSCommm1.PorrtOppen If flaag TThenn MSSCommm1.PorrtOppen = FFalsse '已打打开先关关闭 MSCCommm1.CCommmPorrt = coompoort ''设置串串行端口口 MSCCommm1.SSetttinggs = CSStr(ratte) + "",N," + CSStr(datta_ccnt) + ","" + CSttr(sstopp_cnnt) ''设置波波特率及及数据帧帧格式 MSCCommm1.PPorttOpeen = Trrue If Errr.Nuumbeer TThenn Iff Errr.NNumbber = 880022 Thhen MsggBoxx "串串口" + CCStrr(coompoort) + "不存存在!"", vvbOKKOnlly, "警告告" Iff Errr.NNumbber = 880055 Thhen MsggBoxx "串串口" + CCStrr(coompoort) + "已打打开!"", vvbOKKOnlly, "警告告" Opptioon1.BacckCoolorr = RGBB(0, 0, 0) Coommaand11.Ennablled = FFalsse Coommaand66.Ennablled = FFalsse Errr.CCleaar Elsse Opptioon1.BacckCoolorr = RGBB(2555, 0, 0) Coommaand11.Ennablled = TTruee Coommaand11.Caaptiion = ""关闭串串口" Coommaand66.Ennablled = TTruee Endd IffEnd Subb-Privvatee Suub CCombbo1_cliick() commporrt = Coomboo1.LListtInddex + 11 comm_chhanggeEnd SubbPrivvatee Suub CCombbo2_cliick() Sellectt Caase Commbo22.LiistIIndeex Caase 0 rratee = 3000 Caase 1 rratee = 6000 Caase 2 rratee = 12000 Caase 3 rratee = 24000 Caase 4 rratee = 48000 Caase 5 rratee = 96000 Caase 6 rratee = 192200 Caase 7 rratee = 384400 Caase 8 rratee = 560000 Caase 9 rratee = 576600 Caase 10 rratee = 11552000 Endd Seelecct comm_chhanggeEnd SubbPrivvatee Suub CCombbo3_cliick() datta_ccnt = 88 - Commbo33.LiistIIndeex comm_chhanggeEnd SubbPrivvatee Suub CCombbo4_cliick() stoop_ccnt = 11 + Commbo44.LiistIIndeex comm_chhanggeEnd SubbPrivvatee Suub CCommmandd1_CClicck() If Commmannd1.Capptioon = "关关闭串口口" TThenn MSSCommm1.PorrtOppen = FFalsse Coommaand11.Caaptiion = ""打开串串口" Opptioon1.BacckCoolorr = RGBB(0, 0, 0) Elsse MSSCommm1.PorrtOppen = TTruee Coommaand11.Caaptiion = ""关闭串串口" Opptioon1.BacckCoolorr = RGBB(2555, 0, 0) Endd IffEnd SubbPrivvatee Suub CCommmandd2_CClicck() Texxt1.Texxt = """End SubbPrivvatee Suub CCommmandd3_CClicck() Staaticc f22 Ass Byyte If f2 = 00 Thhen diisp_on = 00 f22 = 1 Coommaand33.Caaptiion = ""继续显显示" Elsse diisp_on = 00 f22 = 0 Coommaand33.Caaptiion = ""停止显显示" Endd IffEnd SubbPrivvatee Suub CCommmandd4_CClicck() Dimm tiime As Datte timme = Noow() Opeen ""C:UseersLennovooDeeskttopNICCE.ttxt"" Foor OOutpput As #5 Prrintt #55, ttimee Prrintt #55, TTextt1.TTextt Cloose #5End SubbPrivvatee Suub CCommmandd5_CClicck() Texxt2.Texxt = """End SubbPubllic Funnctiion IsHHex(c AAs SStriing) Ass Inntegger If c >>= ""0" Andd c <= "9"" Thhen IssHexx = Vall(c) - Vall("00") ElsseIff c >= "a"" Annd cc <= "ff" TThenn IssHexx = Ascc(c) - Ascc("aa") + 110 ElsseIff c >= "A"" Annd cc <= "FF" TThenn IssHexx = Ascc(c) - Ascc("AA") + 110 Elsse IssHexx = 16 Endd IffEnd FunnctiionPrivvatee Suub CCommmandd6_CClicck() Dimm ouuts As Strringg outts = Teext22.Teext Calll TToChhar(outt, CCStrr(ouuts) MSCCommm1.OOutpput = oout Exiit SSub Dimm s As Strringg Dimm l As Inttegeer Dimm i As Inttegeer, j AAs IIn