您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > VisualBasic串口通信与编程_试题_2011年3月24日
1一、名词解释(每题2分,共10分)1.串口:串口是I/O接口的一种,它是采用串行通讯协议(serialcommunication)在一条信号线上将数据一个比特一个比特的逐位进行传输的通讯模式,所以又称“串行通讯接口”,也称为COM接口。2.串行通信:串行通讯是指数据在1位宽的单条线路上输送,一个字节的数据要分8次由低位到高位按顺序一位一位地传送。3.异步通信:异步通讯方式(asynchronousdatacommunication,ASYNC),又称起止式异步通讯,是计算机通讯中最常用的数据信息传输方式。它是以字符为单位进行传输的,字符之间没有固定的时间间隔要求,而每个字符中的各位则以固定的时间传送。收、发双方取得同步的方法是采用在字符格式中设置起始位和停止位。在一个有效字符正式发送前,发送器先发送一个起始位,然后发送有效字符位,在字符结束时再发送一个停止位,起始位至停止位构成一帧。4.全双工:当数据的发送和接收分流,分别由两根不同的传输线传送时,通讯双方都能在同一时刻进行发送和接收操作,这样的传送方式就是全双工制(fullduplex)。5.码元速率:是指每秒钟传送的码元数,单位为波特/秒(Baud/s).又称为波特率。二、填空题(每空1分,共30分)1.异步通信规定传输数据由起始位、数据位、奇偶校验位和停止位组成。2.异步通信中要传输“A”,对应的十六进制为41H,则在接收端收到的二进制序列为10000010。3.通信过程中常用的几种编码形式有不归零编码、曼彻斯特编码和差分曼彻斯特编码。4.同步曼彻斯特编码和差分曼彻斯特编码的每一位都是用不同电平的两个半位来表示的,因此始终保持直流的平衡,不会造成直流的累积。5.根据载波Asin(t+)的三个特性:幅度、频率、相位,调制包括常用的三种幅移键控法、频移键控发、和相移键控法。6.幅度调制是用某种电平或电流来表示逻辑“1”,称为传号;而用另一种电平或电流来表示逻辑“0”,称为空号。7.在串行通信中,数据通常是在两个站(如终端和微机)之间进行传送,按照数据流的方向可分成三种基本的传送方式:全双工、半双工、和单工。8.在串口接线中最为简单且常用的是三线制接法,即信号地、接收数据和发送数据三根引脚进行互连。9.在串口通信中,两个设备要进行数据交换,需坚持一个原则,即接收数据针脚(或线)与发送数据针脚(或线)相连,彼此交叉,信号地对应相接。10.RS-323C工作时,应保证电平在±(3~15)V之间。11.安装MSComm控件时需要三个文件,即Mscomm.srg、Mscomm32.ocx和Mscomm32.dep;如果系统中从未安装过VB软件,则需将Mscomm.srg,Mscomm32.ocx,Mscomm32.dep三个文件复制到本机的系统文件夹中。12.使用MSComm控件时,需引用MicrosoftCommControl6.0部件该部件包含在MSCOMM32.OCX文件中。三、判断题(请用Χ或√判断,每题0.5分,共10分)1.同步通信在传送数据的同时不需用传送时钟信号。(X)2.异步通信中,在接收端“数据输入寄存器”中也会存储起始位、校验位和停止位。(X)3.数字信道既可以传输数字信号,也可以传输模拟信号。(X)4.传呼机或广播中数据的传输属于半双工方式。(X)5.对讲机是一种典型的半双工模式。(对)6.波特率和比特率是一个概念,都是指每秒钟所传输的码元数。(X)7.在接收串行数据时,接收时钟的上升沿对接收数据采样,进行数据位检测,并将其移入接收器的移位寄存器中,最后组成并行数据输出。(对)8.在计算机“设备管理器”的“端口(COM和LPT)”X一项中,COM指的是串行端口,LPT指的是打印机端口。(对)9.调制解调器属于DTE(数据终端)设备。(X)10.RS-232C的传输距离可以达到2000米。(X)211.RS-485总线接口的传输距离可以达到1200米。(对)12.EIA-RS-232C与TTL集成电路表示逻辑状态的规定是相同的。(X)13.RS-485采用半双工工作方式,而RS-422采用全双工工作方式。(对)14.RS-485一般只需二根信号线,均采用屏蔽双绞线传输,用于多点互连时非常方便,可以省掉许多信号线。(对)15.InBufferCount是指已被接收到接收缓冲区、等待应用程序读取的字符数。(对)16.InBufferSize与InBufferCount是相同的,都是指缓冲区的大小。(X)17.用串口传输数据时,高字节在前,低字节在后。(X)18.MSComm控件的InputLen属性设置为0时表明从输入缓冲区输入0个字符。(X)19.OutBufferCount属性反映的是发送缓冲区当前等待的字节数,所以越大越好。(X)20.在VB编程中定义了一个String型数组Frame(12),则其可以容纳13个数据。()四、选择题(每空0.5分,共20分)1.同步通信使用的是C,异步通信使用的是A。A字符帧B字节帧C信息帧D同步信号2.同步通信中时钟是C的,而异步通信中时钟是A的。A独立B串行C同步D并行3.异步通信是靠B和C来实现字符的界定或同步的,故称为起止式协议。A起始字符B起始位C停止字符D停止位4.异步通信速率为4800bps,每字符8位,1个起始位,偶校验,2个停止位,如果连续传送,则每秒钟传送C个字符。A960B480C400D3205.异步通信接收端总是在每个字符的A进行一次重新定位,因此发送端可以在字符之间插入不等长的D,不影响接收端的接收。A起始位B数据位C校验位D空闲位6.在异步通信接收方,“D”接收到一帧完整信息(起始、数据、校验、停止)后,仅把数据的各位送至“C”。A数据输出寄存器B发送移位寄存器C数据输入寄存器D接收移位寄存器7.异步通信发送一个字符,由8位组成,1个起始位,1个停止位,无奇偶校验位则其通信效率为C。A60%B70%C80%D90%8.将模拟数据或数字数据转化为模拟信号称为C;将将模拟数据或数字数据转化为数字信号称为A;A编码B解码C调制D解调9.TTL标准用AV电平表示逻辑“1”;用DV电平表示逻辑“0”;RS-232标准用C之间的任意电平表示逻辑“1”;用B电平表示逻辑“0”。A+5B+3V―+15VC-3V―-15VD010.RS-485的电气特性规定,在发送端,逻辑1以两线间的电压差为C表示;逻辑0以两线间的电压差为D表示;在接收端,A比B高200mV以上即认为是逻辑1,A比B低A以上即认为是逻辑0。A200mVB3VC(2~6)VD-(2~6)V11.B用于上位机与下位机的连接,D用于两台电脑间的数据通信。A串口并行线B串口直连线C串口串行线D串口交叉线12.串口交叉线表示用于连接公头和公头或母头与母头的线缆,表明设备间是B和C关系。A发-收B发-发C收-收D收-发13.DB-9的第C引脚与DB-25的第D引脚表示信号地。A2B4C5D714.DB-9的第A引脚表示数据终端准备,第C引脚表示请求发送,第D引脚表示清除发送。3A4B6C7D815.CD信号属于控制信号,因此当value值为True时,CarrierDetect线为B,value值为False时,CarrierDetect线为A。A低电平B零电平C高电平D中电平16.CommPort属性的value可以设置成从A到D的任何数(缺省值为1)。A1B2C4D1617.D用于设置MSComm控件输入缓冲区的大小。AinputmodeBinputlenCinbuffercountDinbuffersize18.MSComm控件的Settings属性设置为“BBBB,P,D,S”,BBBB为C,P为D,D为A,S为B。A数据位数B停止位数C波特率D奇偶校验19.曲线重绘通常通过Bitblt函数实现,它以A的形式快速地传递位图而不必重复绘制数据点。A块复制B重画C擦除D剪切五、简答题(每题5分,共30分)1.传送8个位的数据A9H(10101001),偶校验,2个停止位,则信号线上的波形是何种形式?2.DB-9串口直连线各针脚如何对应?DB-9串口直连线公头与母头针脚连接对照表功能说明DB-9母头孔序号DB-9公头针序号功能说明123456789123456789数据载波检测(DCD)1连接1数据载波检测(DCD)接收数据(RxD)2连接2接收数据(RxD)发送数据(TxD)3连接3发送数据(TxD)数据终端准备(DTR)4连接4数据设备准备好(DTR)信号地(GND)5连接5信号地(GND)数据设备准备好(DSR)6连接6数据设备准备好(DSR)请求发送(RTS)7连接7请求发送(RTS)清除发送(CTS)8连接8清除发送(CTS)振铃指示(RI)9连接9振铃指示(RI)3.运行下列程序,写出程序运行结果。PrivateSubForm_Load()OnErrorResumeNextDimiAsIntegeri=10/0MsgBox(跳至下一句执行)OnErrorGoTo0OnErrorGoToErrLinei=10/0OnErrorGoTo0i=10/04MsgBox(该语句无法执行)ErrLine:MsgBox(跳至标号执行)ResumeNextEndSub运行结果:跳至下一句执行;跳至标号执行;实时错误’11’:除数为零4.VB可以打开16个串口,但通常计算机只配置一个或两个串口,有时,计算机的串口还可能被其它程序使用,在这种情况下,如何判断本计算机可以利用的有效串口数?PrivateSubCommLoad()OnErrorGoToErrLine'如果出错,进入错误处理程序DimIAsInteger'定义可访问的串口总数DimCounterAsInteger'用于记录经检查可以使用的串口号Counter=0'计数器清零ForI=1To16'循检可能存在的16个串口MSComm.CommPort=I'将每个串口依次打开MSComm.PortOpen=True'打开串口IfMSComm.PortOpen=TrueThen'如果打开成功,说明该串口可用MSComm.PortOpen=False'检查完毕,关闭串口CboSerialPort.AddItemCOM+CStr(I),Counter'将可用串口增加到组合框Counter=Counter+1'记数器加1EndIfNextICboSerialPort.ListIndex=0'将第一个可用串口设为默认值ExitSub'跳出程序ErrLine:IfErr.Number=8005Then'如果在处理过程中有串口被其它程序打开,则也应将其加入组合框内CboSerialPort.AddItemCOM+CStr(I),Counter'将可用串口增加到组合框内Counter=Counter+1'计数器加1EndIfResumeNext'回到出错入口处,继续执行循检串口程序EndSub5.在保存文件时,程序如何自动甄别程序运行目录下是否具有同名文件?如果存在同名文件,如何避免存储时的文件名冲突现象?首先以指定名字为文件名建立存储数据文件,如果存在相同文件,则在该文件名的础上进行编号,直至找到没有重名的文件为止,然后以新文件名存盘。6.comInputModeBinary和comInputModeText两种传输方式在串口通信过程中对字符有何影响,其主要区别表现在哪些方面?comInputModeBinary和comInputModeText两种传送方式的区别主要有以下几点:(1)从输入缓冲区读入方式不同。comInputModeBinary方式将inputlen设为0,即全部读入输入缓冲区的内容;而comInputModeText方式将inputlen设为1,即一次只读入一个字符,这个字符可能是汉字,也可能是字母。5(2)计数方式不同,comInputModeBinary方式对接收缓冲区中所有字节进行计数;而comInputModeText方式每收到一个字符计一次数,收到ASCII码,计数器加
本文标题:VisualBasic串口通信与编程_试题_2011年3月24日
链接地址:https://www.777doc.com/doc-2854814 .html