LabVIEW与单片机通讯

LabVIEW与单片机通讯
LabVIEW与单片机通讯

LabVIEW单片机通讯

1.串口扩展的问题:

先说一下串口的扩展问题,一般的台式机或工控机上都至少有二个串口,一般都是够用的,但是现在市场上已经很难找到带串口的笔记本了,而有时候在外出调试时需要在笔记本中使用到串口的,这时一般是使用USB-RS232的转接线,价格从十几到一百多都有,很多朋友反应在使用价格低的转接线时会出现乱七八糟的问题,而贵一点的线就很少听说有其它问题的,所以大家在使用便宜的USB-RS232转接线时要特别注意线的质量,遇到一些奇怪的问题时先考虑换一根好一点的线。PCI-RS232扩展卡也同理,便宜的卡也容易出问题,尽量买好一点的,以免因小失大。PCI-RS232一般至少能扩展2个串口,有些BT一点的可以扩展到8-16个,一堆线和接头。转接线和扩展卡一般是要装驱动的。

2.串口功能的确认:

在使用串口之前,最好先确认一下串口是否正常,特别是使用转换接或扩展卡的。检查的方法很简单,就是将串口的2、3脚短接起来,3脚是发送数据,2脚接收数据,就是这个串口自发自收。电脑上的串口软件一般是用串口调试助手,很出名的,也好用。如下图所示:图1 串口调试助手

打开软件,选择已经短接好的串口号,点击“手动发送”,如果串口是好的,2、3脚又短接起来了,马上就可以在上面的接收框里看到接收的数据就是发送的数据。稍微要注意一下的是有些电脑的COM1和COM2的位置是反过来的,所以要确定好串口调试助手左上角的串口上择的是已经短接的那一个,如果COM1没接收到,可以再先COM2再发一次看一下。

3.串口线的检查:

检查好串口后,一般也要注意一下使用的串口线,标准的串口线是9根线都是用上的,但有一些是只使用了三根线的:2、3、5。第3个脚管是发送,第2个管脚接收,另一个5是地线,这里叫它简化的串口线,简化的串口线能用上的地方,标准的串口线也肯定能用上,因为标准线的9根线已经包括了简化串口线中的3根线,但标准串口线能用上的地方,简化串口线就不一定能用上,所以在使用串口线之间一定要确定好串口线的类型,一般买的串口线都是标准线,但自制的串口线因为应用场合不同就要先确定一下。

G串口线还有一个地方需要注意一下的,就是2、3脚的接法,标准接法中是2、3脚交叉的,即这边的2接另一边的3,这边的3接另一边的2,扭了一下,所以叫交叉线,因为正常使用时,这边第二脚是发送数据,另一边第三脚是接收数据,所以要将这二个管脚连接起来,这样才能正常使用。但是有些情况下,2、3是直连的,即这边的第2脚连接另一边的第2脚,第3脚连接第3脚,这种叫直连线,这种线一般是用于延长串口的,比如需要将工控机的串口接头引到机柜表面上时,就使用这种线,这样机柜表面的串口线的定义还是跟电脑接出来的一样,外面的那一根串口线再使用交叉线。从电脑主板上将串口引到主机后面板上的线就是这样的直连线。购买串口线的时候一般也会问你买直连的还是交叉的,要区别对待。

串口线还有一个要稍微注意一下的就是DB头,因为电脑上接出来的一般是公头(针),要跟电脑接的话要母头(孔),一般仪器的串口也是公头,所以二边都是母头的串口线比较常见。串口的接头一般是DB9的,也有DB25的,但比较少用,有些比较BT的仪器厂家居然用RJ11(水晶头那种)作为串口头,让人不爽!

总之,使用串口前一定要先确定好硬件没问题,不然很浪费时间的。

4.串口参数设置:

在LabVIEW中使用串口时,有几个参数比较重要,需要先说明一下的。一个是串口初始化这个节点的“终止符”和“禁用终止符?”这二个输入端,这二个输入端是相互作用的,“终止符”默认值为10,它的十六进制是“0x0A”,这是一个ASCII码,是一个换行符,可以从LabVIEW中的字符串的不同显示形式看出来,如下图:

图2 串口消息终止符左边是字符串的正常显示,中间是十六进制显示,右边是“\代码显示”,这三个字符串的值都是一样的。终止符是10,表示在接收数据时,遇到ASCII码为10的字符(即换行符)时就停止接收数据,后面会有例子进行说明。

而“禁用终止符?”的默认值是FALSE,即启用终止符,启用终止符会有什么效果呢?终止符的意思就是当程序接收到这个字符时,就认为已经到了所有数据的未端了,从而停止接收,不管后面还有没有数据。终止符是10,表示在接收数据时,遇到ASCII码为10的字符(即换行符)时就停止接收数据。

可以做一个很简单的试验,先短接串口2、3脚,然后将终止符设置为“0x33”,0x33是字符“3”的ASCII 码,然后发送字符串可以看到接收回来的数据中只有“12”,即“3”被认为是字符串的未端了,它后面的数据就不再接收了。很多朋友就是因为这里设置错误,导致接收数据时有时候只收到一半就没有了,特别是在连续接收数据时,但又不是每次都只能收到一半,有时候也能接收齐全的,就是因为发送的数据中可能包含了终止符而使串口认为到了最后一个字符了。一般是将这个终止符禁用掉,即将“启用终止符?(Enable terminator?)”这一端输入为False即可。

另外还有一个比较重要的设置,就是VISA READ的“读取字节数”这个输入,由于在串口通信中,如果指定读取100个串口缓冲区的字节数,如果当前缓冲区的数据量不足100个时,程序会一直停在VISA READ 这个节点上,如果在超时的时间(默认是10秒)内还没有凑足100个数据的话,程序就会报“Time out”的错误,如果超时时间设置得太长,有可能导致程序很长时间停止在VISA READ这个节点上。解决的办法是使用“Bytes at Port”这个串口的属性节点,在VISA>>Serial>>advance下,也可以在VISA资源线上右键>>创建>>属性节点>>串口设置>>Bytes at Port,如下图:

图 3 Bytes at Port

这个属性节点读取当前串口缓冲区有字节数,然后将它的输出连接到VISA READ的“读取字节数”这个输入端上即可,这样当前缓冲区中有多少个字节就读回多少个,不会有任何等待。

图 4 使用Bytes at Port

5.在LabVIEW中使用串口

目前串口的应用一般有二种类型的(以我接触到的来分类,不严格),一种是仪器控制类型的,一般是上位机发送一个指令,然后下位机作出响应,返回数据给上位机,上位机再读取出来,完成一次通信,即一问一答;另一类是被动接收形的,即下位机会一直发送数据上来。这二种类型的串口通信在处理上会不太一样。

5.1 仪器控制类型

由于在仪器控制时一般都是这种一问一答的方式,所以叫它仪器控制类型。以仪器控制为例来说一下需要注意的事项。

首先是要确认仪器选择的通信模式是串口通信模式。现在的仪器一般都至少有二种通信模式,一种是RS232,一种是GPIB,如果仪器是设置为GPIB通信的话,RS232是不可能通信上的,所以要先确认一下,方法一般是在仪器面板上选择设置>>远程控制>>GPIB/RS232,各个仪器稍微不同,可以查仪器手册看一下。

然后就是确认串口的通信参数的配置,包括波特率、数据长度、校验方法等,有些仪器的某些参数是固定的,比如校验方法固定为奇校验,不能修改,只能在电脑上跟仪器设置为一样的。波特率一般是可以修改的。这些参数的配置一定要根据仪器手册上的来设置。如果参数设置不正确,也能收到一些数据,但一般是乱码,如果收到的数据都是乱码的话,就要先检查一下串口参数设置是否正确了。只有电脑和仪器边的串口参数完全一致时才能收到正确的数据。

接着是要注意发送指令和读回数据之间要有一定的延时,即VISA WRITE和VISA READ之间要有一定的延时,一般200毫秒即可,因为串口是底层硬件,数据从软件到串口上要一点点时间,然后仪器对指令作出响应也要一点点时间,这些时间加起来肯定比软件运行二个节点的时间要短,所以延时是一定要加的。在调试时如果发现正常运行时不能收到数据,但高亮运行就能收到数据,就很有可能是没有加延时的原因!

或者是发一个查询指令,但返回的是上一条查询指令的结果,也可能是因为没有延时或延时不够。

5.2被动接收类型

被动接收形的串口通信稍微麻烦一点,由于上位机是被动接收的,上位机不知道什么时候开始下位机就已经有数据上来了,很有可能下位机发送到一半时,上位机刚好开始接收数据,这时只能接收到后面一半的数据了,所以对于这种通信,一般是采用数据帧的方式进行通信。

这种数据帧的通信方式至少由三部分数据组成:帧头、数据、帧尾(如果数据是固定长度的话,似乎帧尾也可以省掉)。

帧头是为了告诉上位机:从这以后的数据就是有用的数据了,相当于约定好的暗号,一般帧头至少会用二个以上字节,如果只用一个字节的话,万一数据中的数据跟这个帧头一样了就会误以为这个数据是帧头从而导致解析数据出错,帧尾的作用也差不多,告诉上位机从这之前的数据才是有用的数据。但实际上一般的数据帧远不止这几个部分,还会加上一些校验字节、时间信息、帧计数器之类的东东在上面。

其中校验字节是为了检查数据在传输过程中有没有出错的,跟串口的校验位要区分清楚,校验位也是检查数据传输时有没有出错的,但由底层硬件来实现,校验方法由标准规定好,但有几种可以选择,只有一个位(Bit,只能是0或1)。

校验字节是由软件层来实现的,至少有一个字节(Byte,有8个位),而且校验方式由用户定义,非常灵活。

由于被动方式中串口的缓冲区中一直会有数据在,为了保持数据的连续性,在读取数据时跟第一种仪器控制类型不一样。而是采取将读取的所有的串口数据都保存在移位寄存器中,在软件上处理完这些数据后再将它们从移位寄存器中删除。

由于VISA READ的输出是字符串,所以一般使用“连接字符串”这个函数将它们连接起来,然后接到循环结构中的移位寄存器中进行保存,当移位寄存器中的数据量达到一定时或满足数据处理的条件时,才停止这个循环输出读取到的数据。一般如下图所示:

图 5 被动接收类型中的数据接收

在接收下位机发送的帧数据时,一定要先了解帧格式,这样才能正确解析出帧里面的数据来。

下面以例子来说明数据帧格式的通信。

设定通信数据帧每7个字节为一帧数据,其中以0xAC、0x96二个字节作为数据帧头,第三、四个帧头为帧计数器,最大值为0xFFFF,到达最大值后重新从0开始计数,第4、5、6三个字节是数据信息,分别代表数据的高中低位,第7位为状态标志字节,它的第一位为1时表示下位机出错,为0时表示功能正常。

由于LabVIEW中接收到的数据都是以字符串的形式显示出来的,所以需要将字符串转换为ASCII码,一般可以直接使用“转换为U8数组”这个函数,如下图所示:

图 5 字符串转换为U8字节

转换为U8字节后,得到的是所传输字符的ASCII码,我们就很容易进行数据帧的判断了,现收到以下的字符串数据:,

?图6 实际接收到的字符串

上图中下半部分显示的数组是使用“字符串转换为U8数组”的函数转换之后得到的数组,一个是十六进制显示,另一个为十进制显示。对照定义的数据帧格式,就很容易得到我们需要的数据了。

首先是要看从哪里开始才是完整的第一帧,从上面十六进制显示的数组中我们可以看到,并不是第一个

字节就是我们需要的帧头,因为下位机是一直处于发送数据的状态,很可能在串口发送一帧数据的过程中串口就被初始化或者被清空了一次缓冲区,那么这一帧数据的前面部分数据可能就会丢失,只留下后面一部分数据。

以上图为例子,第一二个字节为0x32、0x22,显示不是我们要的帧头,我们要的帧头是在第6、7个字节,以程序来实现的话就是先查找第一个帧头,使用“搜索字符串”,如果找到则判断它下一个字节是否是第二个帧头,如果是,表明已经找到帧头,输出帧头的位置;如果它下一个字节不是第二个帧头,说明这里不是真正的帧头,继续查找下一个帧头,直到找到帧头或搜索完整个字符串都找不到帧头。

这是一个程序的算法问题,具体实现的程序如下图所示:

图7 帧头查找程序

帧头查找到以后,再找数据就容易了,根据之前的定义,第4、5、6个字节是才是我们要的数据,所以直接使用索引号进行索引输出即可。

图8 获取实际数据

一般情况下,如果是用三个字节表示一个数据的话,那么这三个字节分别表示为一个数据的高中低字节,即高字节要乘以25536再加上中字节乘以256再加上低字节的,这样定义后可表示的数据的范围就会扩大很多,但这里为了说明问题,直接认为三个字节的数据相加就是我们要的实际数据,在实际使用过程中应该根据帧格式的字义来解析这个数据。

另外帧格式中定义了最后一个字节为状态标志位,所以提取数据前还要检查一下这个标志位是否正常,不正常时要进行相应的处理,这里不再详细描述。

至此完成一次数据帧的提取。

如果是没什么特殊的要求的话,这里应该也算到一段落了,有一些对测试时间有要求的地方,就会要求在最短的时间内得到最多的信息。图6中我们可以看到,接收到的数据帧中,除了中间一个完整的帧之外,头尾还有一些无用的数据,其实这些数据中也包含了有用的信息的!

比如我们可以从0xAC、0x96这二个帧的位置中推断中它前面的0x22、0x2A、0x38这三个字节也是我们想要的数据字节,但是由于没有接收到它的帧头,所以程序没能提取出来,但我们可以从后一帧的帧头推算出前面那一帧的数据字节是哪些,即使没收到前面那一帧的帧这里只给出一个流程,不再给出具体的程序。

另外有可能接收的数据长度比较长,可能就不止包含了一帧的数据在里面,所以在程序中也要判断一下剩下的数据还够不够一帧的数据长度,如果够则可以根据上一次查找的帧头位置+数据帧长度来确定下一个数据帧的帧头位置了,不需要使用搜索的方法。也可能存在处理完一帧数据后,剩下的数据不够一个帧的,这时可以将这些剩下的数据保留起来,将它添加到下一次接收到的数据前面,组成新的数据再进行处理。去掉已经处理的数据可以使用“删除数组元素”这个函数来实现。这里也不再给出具体的程序。

6.串口数据类型的转换

由于LabVIEW中VISA Read/Write这二个函数都是只能读取/写入字符串类型的数据的,而有时候需要接收/写入的数据类型不一定是字符串,导致在刚开始接触的时候会有一点困惑。

在进行数据转换时,只要记住计算机中所有数据都是以二进制保存这个原则就容易解决问题了。串口线上传输的也是高低,串口接收到的也是二进制数据,只是到LabVIEW后被转换为字符串格式了。还是以例子进行解释。

6.1LabVIEW从串口接收数据

①假设LabVIEW从串口接收到的数据为“1234”(正常显示模式下),那么这个数据在串口底层的时候其实是这样的二进制数据:

00110001 00110010 00110011 00110100

只是在LabVIEW中,这些二进制数据是以字符串形式显示出来的,它们的实质还是二进制数据,这几个二进制数据转换为十进制数据分别是“49,50,51,52”,由于字符串都是以ASCII码形式保存在计算机中的,那么49,50,51,52这几个数在ASCII表中就表示是字符串“1,2,3,4”。所以这几个数据在LabVIEW中就显示为字符串的1,2,3,4了。

如果明白这里面的转换关系,那么要进行数据转换时就很容易了,比如上面的例子中,如果LabVIEW中接收到的是字符串“1234”,而原本下位机传送的是数值型数据,只需要将“1234”字符串转换为对应的ASCII 值就是实际上下位机传上来的数据了,就是“49,50,51,52”

LabVIEW中将字符串转换为对应的ASCII值的函数是“字符串至字节数组转换”这个函数:

图9 字符串转换为字节数组

上面说的是下位机发送的是数值类型的数据的,使用“字符串至字节数组转换”这个函数.

②如果是下位面发送的是字符串类型的数据,那么LabVIEW已经直接转换好了。

个人总结:无论下位机发送的是何种类型的数据,LABVIE从串口接收的时候,总是将每8位二进制数,作为字符的ASCII码解读。

6.2使用LabVIEW发送数据

还有一个问题是使用LabVIEW发送数据的问题

①如果下位机接收的是字符串数据类型的话,直接用VISA写入对应的字符串就行了,现在的仪器一般都是接收字符串的,所以可以直接使用VISA发送而不需要转换。

②如果下位机接收的是数值型数据的话,就需要转换一下,其中数值型又是十进制和十六进制二种用得比较多,这二种数据间相互转换一下就行了,其实是一样的。

由于在LabVIEW中字符串直接有十六进制的显示方式,所以发送十六进制的数据比较方便,比如要发送十六进制数值类型的“0xAF”,那么在VISA Write的写入缓冲区字符串常量上右键>>十六进制显示,如图1,直接输入“AF”即可,那么下位机接收到的就是正确的数据(十六进制数值类型)了。

但实际使用过程中,一般都是需要将某个子VI输出一个动态的字符串通过VISA Write发送到下位机的,这时候就需要对数据进行转换一下,这个转换过程描述起来就是:将字符串A转换为字符串B,使得正常显示的字符串A跟十六进制显示的字符串B是一样的。

由于转换目标(十六进制显示的字符串)的数据类型是十六进制,要想十六进制显示的字符串跟正常显示的字符串一样,这个正常显示的字符串必须都是十六进制的字符,即只能由0-9,A-F这十六个字母中的字母组合而成。否则就没办法使二种显示方式的字符串一致了。

这个转换过程首先将字符串转换为十六进制数值型,然后再通过将这个十六进制数值创建为一个数组,最后再使用“字节数组至字符串转换”这个函数转换为字符串即可,实际上就是图5字符串转换为U8字节的反向操作,只不过是这个十六进制的值初始类型是十六进制,要先转换为数值类型。具体程序如下图所示。

图10 正常显示字符串转换为相同的十六进制显示的字符串

由于十六进制数据由二个字节构成,而字符只有一个字符,所以每二个字符表示一个十六进制数据,如果字符多于二个的话要先进行截取,每二个字符转换为一个十六进制数据。也可以用空格将正常显示的字符串每二个字符用一个空格断开,然后先将这个字符串以空格为分隔符转换为一个字符串数组,再转换为十六进制数值再转换为字符串。

需要注意一下的是如果正常显示的字符串并不是2的整数倍,那么上图的转换程序就会少转换一个字符,可以用程序动态判断一下这个字符串的长度,如果是奇数的话在它最左边补一个“0”再使用上面的程序就正常了。

7.串口问题汇总:

7.1串口资源被占用:

这时候在LabVIEW会报错,提示串口号存在,但当前不能对其进行操作,同时打开MAX时也可以在对应的串口号下看到同样的错误,这表示这个串口已经被其它程序占用了,比如有时候打开了串口调试助手来调试串口,然后又想在LabVIEW里面试一下,这时就会报这个错,因为串口已经被串口调试助手调用了,它不能被二个程序同时使用。

解决的方法是关掉其它程序即可,串口调试助手里也可以关闭这个串口。

还有一种情况是调试OK后生成EXE,运行EXE也出现这个问题,这时是因为串口被原来的LabVIEW 程序打开,再用EXE打开时就会报错,解决办法是关掉原来的LabVIEW程序。最好是关掉LabVIEW.

在使用串口的过程中一定要关闭串口(使用VISA CLOSE),否则程序在退出的时候会报错说数据丢失。

基于LabVIEW的单片机脉冲发生器

基于LabVIEW的单片机脉冲发生器 类别:单片机/DSP 阅读:1583 1 引言 由于各种人群的皮肤阻抗的动态范围不一样,甚至同个人在不同的时间、不同的环境下皮肤阻抗的动态范围也不一样。因此,在皮肤阻抗检测系统中,刺激器需要根据不同的人群以及不同的环境,产生不同频率、不同脉宽的刺激信号,才能保证检测系统可以测量到人体皮肤的真实阻抗。 MCS-51单片机系统有3个定时器可以产生方波,而且方波的脉冲频率及宽度可以由软件设定,这种产生脉冲的方式具有很大的灵活性。上位机软件LabVI EW同下位机通信时,将下位机所要产生的脉冲的参数通过串口传给下位机,以便实现利用LabVIEW控制单片机产生所需脉冲的目的。 2 下位机系统的设计 2.1 硬件部分 MCS-51单片机内部有一个功能很强的全双工串行口,该串行口有4种工作方式。片内的定时器/计数器可以产生波特率,大小可用软件设置。有2个物理上独立的接收、发送缓冲器SBUF,接收、发送均可触发中断系统,使用十分方便。对外也有两条独立的收、发信号线RXD(P3.0)和TXD(P3.1)。 本文采用RS 232串行接口标准,在电气特性上,RS232采用负逻辑,要求高低两信号间有较大的幅度,标准为:逻辑“1”在-5~-15 V之间,逻辑“0”在+5~+15 V之间。 2.2 软件部分 MCS-51的定时器0进行两次计数。设P1.0为脉冲发生端,当定时器0的第一次计数结束后,将P1.0取反,赋新的初值,再进行第二次计数。当第二次计数结束后,再一次将P1.0取反,又赋原来的初值,进行新一轮的计数,如此反复即可产生方波。这样通过两次计数值的不同就可以实现产生不同脉宽及频率的方波了。 图1,图2和图3给出了单片机程序的详细流程图。其中定时器1工作在方式2,这是一种自动重装方式,禁止中断,用于产生波特率(该波特率设置为9 6 00)。串口工作在方式1,发送或接受一帧信息为10位,1位起始位(0),8位数据位和1位停止位(1),无奇偶校验位。程序还设定串口中断优先级高于定时器0的中断优先级。 在通信前,上下位机一般会约定一个协议,例如在发送的数据前加一个标识段,一般为一个字节。当该字节传输正确后,下位机才可以认为上位机准备发送数据段。这样可以避免串口偶尔产生的误发信号。 程序设定4个字节为一个数据段,是因为上位机一次性要发完包括高低电平在内的两次定时器的初始值,而每一个初始值都有两个字节。因此下位机判断一

LabVIEW与单片机通讯

LabVIEW单片机通讯 1.串口扩展的问题: 先说一下串口的扩展问题,一般的台式机或工控机上都至少有二个串口,一般都是够用的,但是现在市场上已经很难找到带串口的笔记本了,而有时候在外出调试时需要在笔记本中使用到串口的,这时一般是使用USB-RS232的转接线,价格从十几到一百多都有,很多朋友反应在使用价格低的转接线时会出现乱七八糟的问题,而贵一点的线就很少听说有其它问题的,所以大家在使用便宜的USB-RS232转接线时要特别注意线的质量,遇到一些奇怪的问题时先考虑换一根好一点的线。PCI-RS232扩展卡也同理,便宜的卡也容易出问题,尽量买好一点的,以免因小失大。PCI-RS232一般至少能扩展2个串口,有些BT一点的可以扩展到8-16个,一堆线和接头。转接线和扩展卡一般是要装驱动的。 2.串口功能的确认: 在使用串口之前,最好先确认一下串口是否正常,特别是使用转换接或扩展卡的。检查的方法很简单,就是将串口的2、3脚短接起来,3脚是发送数据,2脚接收数据,就是这个串口自发自收。电脑上的串口软件一般是用串口调试助手,很出名的,也好用。如下图所示:图1 串口调试助手 打开软件,选择已经短接好的串口号,点击“手动发送”,如果串口是好的,2、3脚又短接起来了,马上就可以在上面的接收框里看到接收的数据就是发送的数据。稍微要注意一下的是有些电脑的COM1和COM2的位置是反过来的,所以要确定好串口调试助手左上角的串口上择的是已经短接的那一个,如果COM1没接收到,可以再先COM2再发一次看一下。 3.串口线的检查: 检查好串口后,一般也要注意一下使用的串口线,标准的串口线是9根线都是用上的,但有一些是只使用了三根线的:2、3、5。第3个脚管是发送,第2个管脚接收,另一个5是地线,这里叫它简化的串口线,简化的串口线能用上的地方,标准的串口线也肯定能用上,因为标准线的9根线已经包括了简化串口线中的3根线,但标准串口线能用上的地方,简化串口线就不一定能用上,所以在使用串口线之间一定要确定好串口线的类型,一般买的串口线都是标准线,但自制的串口线因为应用场合不同就要先确定一下。 G串口线还有一个地方需要注意一下的,就是2、3脚的接法,标准接法中是2、3脚交叉的,即这边的2接另一边的3,这边的3接另一边的2,扭了一下,所以叫交叉线,因为正常使用时,这边第二脚是发送数据,另一边第三脚是接收数据,所以要将这二个管脚连接起来,这样才能正常使用。但是有些情况下,2、3是直连的,即这边的第2脚连接另一边的第2脚,第3脚连接第3脚,这种叫直连线,这种线一般是用于延长串口的,比如需要将工控机的串口接头引到机柜表面上时,就使用这种线,这样机柜表面的串口线的定义还是跟电脑接出来的一样,外面的那一根串口线再使用交叉线。从电脑主板上将串口引到主机后面板上的线就是这样的直连线。购买串口线的时候一般也会问你买直连的还是交叉的,要区别对待。 串口线还有一个要稍微注意一下的就是DB头,因为电脑上接出来的一般是公头(针),要跟电脑接的话要母头(孔),一般仪器的串口也是公头,所以二边都是母头的串口线比较常见。串口的接头一般是DB9的,也有DB25的,但比较少用,有些比较BT的仪器厂家居然用RJ11(水晶头那种)作为串口头,让人不爽! 总之,使用串口前一定要先确定好硬件没问题,不然很浪费时间的。 4.串口参数设置: 在LabVIEW中使用串口时,有几个参数比较重要,需要先说明一下的。一个是串口初始化这个节点的“终止符”和“禁用终止符?”这二个输入端,这二个输入端是相互作用的,“终止符”默认值为10,它的十六进制是“0x0A”,这是一个ASCII码,是一个换行符,可以从LabVIEW中的字符串的不同显示形式看出来,如下图:

基于LabVIEW和单片机的串行无线遥控系统设计_高顺凯

总第206期2011年第8期 舰船电子工程 Ship Electr onic Engineering V o l.31No.8 187 基于LabVIEW和单片机的串行无线遥控系统设计* 高顺凯1)杨国志2) (海装武汉局1)武汉430064)(海军工程大学2)武汉430033) 摘要文章基于L abV IEW与单片机的串口通讯,进而通过单片机实时控制无线电发射系统,设计了无线遥控系统。介绍了虚拟仪器技术在串口通讯中的应用,提出了具体方案并给出了串口硬件连接图和发射系统原理图,最后使用G语言LabV IEW和C语言分别开发了相应的上位机和下位机程序进行实验。实验结果表明,该系统具有良好的人机界面,而且便于进行维护和功能扩充,具有很强的实用性。 关键词无线遥控;L abVI EW;单片机 中图分类号T P274 Wire less Rem o te Contr ol System Design B ase d on Lab VI E W an d SCM G a o Shunkai1)Y ang G uozhi2) (Wuhan M ilitary Representative Bur eau of Nav y Equipment Depar tment1),W uhan430064) (N aval U niversity o f Eng ineer ing2),W uhan430033) A bstract A wireless remo te contro l system w as desig ned based o n the ser ial communicat ion of L abV IEW and Supply Chain M anagement(SCM),then t hr ough SCM contro l radio tr ansmitt er sy st em rea-l time.V ir tual inst rument technolog y ap-plication in serial communication w as intro duced,the specific pro gr am w as put forw ard and the diag ram of ser ial hardw are co nnectio n and launch system schematics w as g iv en,and finally using the G language L abVI EW and C lang uage dev elo p the co rr esponding upper and lo wer machine to make ex periment.T he results show that the sy stem has a go od inter face,and ease of maintenance and function expansion,w ith stro ng practical. Key Words w ir eless r emote contr ol,L abV IEW,SCM Class Nu mber T P274 1引言 虚拟仪器软件LabVIEW是美国NI公司(N a-tional Instruments Co.Ld.)研制的一种叫G语言的图形化程序设计语言[1]。它基于高效率图形化应用开发环境,将简单易用的图形化开发方式和灵活强大的编程语言优势结合起来。LabVIEW的程序称为VI,它包括三个部分:程序前面板、框图程序和图标/连接器[2]。 程序前面板用于设置输入数值和观察输出量,用于模拟真实仪表的前面板。每一个程序前面板都对应着一段框图程序。框图程序用LabVIEW 图形编程语言编写,可以把它理解成传统程序的源代码。框图程序由端口、节点、图框和连线构成。其中端口被用来同程序前面板的控制和显示传递数据,节点被用来实现函数和功能调用,图框被用来实现结构化程序控制命令,而连线代表程序执行过程中的数据流,定义了框图内的数据流动方向。图标/连接器是子V I被其它VI调用的接口。图标是子VI在其他程序框图中被调用的节点表现形式;而连接器则表示节点数据的输入/输出口,就像函数的参数。用户必须指定连接器端口与前面板的控制和显示相互对应。LabVIEW的VI是层次化和模块化的,可以作为其他程序的子程序,被其 *收稿日期:2011年2月21日,修回日期:2011年3月23日作者简介:高顺凯,男,工程师,研究方向:舰船总体设计研究。

labview实现PC与单片机之间的串口通信

labview实现PC与单片机之间的串口通信 使用Proteus 进行单片机仿真,仿真硬件连接,串口通信部分使用keil 与labview 编写程序,实现:PC 通过串行口将数字(00,01,02,03...,FF,十 六进制)发送给单片机,单片机收到后回传这个数字,PC 接收到回传数据后 显示出来,若发送的数据和接收到的数据相等,则串行通信正确,否则有错误。 启始符是数字00,结束符是数字FF。 实验中注意PC 的串口名compim 与VISA 资源名称要相同,compim 中的参 数值要调对,最好不要用虚拟的串口。 keil 中的程序为: # pragma db code# include# define uchar unsigned charvoid rece(void);void init(void);uchar re[17];void main(void){uchar temp;init();do{while(RI==0);temp=SBUF;if(temp==0x00){rece();}else break;}while(1);}void init(void){TMOD=0x20;//定时器1--方式2PCON=0x80;//电 源控制SCON=0x50;//方式1TL1=0xF3;TH1=0xF3;//22.1184MHz 晶振,波特率 为4800 0xf396000xfa19200 0xfdTR1=1;}void rece(void){char i;i=0;do{while(RI==0);re[i]=SBUF;RI=0;SBUF=re[i];while(TI==0);TI=0;i++;}while (re[i-1]!=255);}labview 的前面板跟程序框图以及Proteus 图为 tips:感谢大家的阅读,本文由我司收集整编。仅供参阅!

基于LabVIEW与单片机的数据测量显示系统 (1)

计算机工程应用技术 Computer Knowledge and Technology 电脑知识 与技术本栏目责任编辑:梁书 第6卷第15期(2010年5月)基于LabVIEW 与单片机的数据测量显示系统 汤艳坤,李井泉,杨坤 (空军航空大学飞行基础训练基地基础部,吉林长春130022) 摘要:介绍了基于89S52单片机的速度位移测量系统的构成及程序框图,并且详述了LabVIEW 环境下串口通讯的方法,从而设计了一种用单片机实现数据测量,并通过串口由LabVIEW 实现采集显示的系统。 关键词:89S52单片机;LabVIEW ;串行通讯 中图分类号:TP751文献标识码:A 文章编号:1009-3044(2010)15-4164-02 Data Measure and DisplaySystem Based on LabVIEW and Singlechip TANG Yan-kun,LI Jing-quan,YANG Kun (Aviation University of Air Force,Changchun 130022,China) Abstract:This paper introduces structure and software block of velocity and displacement system based on 89S52singlechip and introduces serial port communication between computer and singlechip under the environment of LabVIEW;Therefore a system that sue singlechip acqure data and conveyed data to PC and displayed under LabVIEW. Key words:89S52singlechip;LabVIEW;serial port communication 虚拟仪器,是以通用计算机为核心,根据用户对仪器的设计定义,用软件实现虚拟控制面板设计和测试功能的一种计算机仪器系统。用户可以通过鼠标、键盘或触摸屏来操作虚拟面板,实现需要的测试测量目的。LabVIEW 是由美国国家仪器公司推出的面向计算机测控领域的虚拟仪器软件开发平台,它是一种真正意义上的图形化编程语言,采用工程技术人员所熟悉的术语和图形化的符号代替常规的文本编程语言,具有界面友好、操作方便、开发周期短的特点。 在本设计中通过单片机测量出来的速度、位移信号都转换成了数字的形式,通过串口 通讯传输给了计算机,通过LabVIEW 采集这些数据,通过处理以图形的方式显示出来。 1单片机系统的设计 系统的硬件电路主要由:数据采集、串行通讯、存储电路、显示电路、电源电压输入输出 电路、按键等几个模块组成。系统结构框图如图1所示。 通过单片机实现了对位移和速度的测量,这些数据通过串口通讯传到了计算机。在传 输的过程中,以0x00开头代表接下来所传的数据为位移,0xff 开头代表接下来多传得数据 为速度。系统软件框图如图2所示。2LabVIEW 下的串口通讯实现及数据显示 在LabVIEW 环境下使用串口与在其它开发环境中的开发过程类似,只不过在Lab - VIEW 下使用的是图形化的编程语言,基本的流程图如图3所示。 首先调用VISA Configure Serial Port 完成串口参数的设置,包括串口资源分配、波特 率、数据位、停止位、校验位等。配制完后就可以用这个串口进行数据收发。发送数据使用 VISA Write ,接收数据使用VISA Read 。在LzbVIEW 中,将采集到的位移和数据波形通过 图形的形式表示出来,这样就能更直观的观测到位移和速度的变化。图4为上位机上采集 数据后绘出的波形。收稿日期:2010-03-10 作者简介:汤艳坤(1982-),女,河北人,助教,研究方向为智能仪器。 图1硬件原理框图 图2软件流程 图3串口操作数据流图4位移和速度波形 ISSN 1009-3044Computer Knowledge and Technology 电脑知识与技术Vol.6,No.15,May 2010,pp.4164-4165E-mail:kfyj@https://www.360docs.net/doc/15664095.html, https://www.360docs.net/doc/15664095.html, Tel:+86-551-569096356909644164

基于LabVIEW与单片机串口的数据采集系统

罗光坤,杨昊,黄惟公 (四川工业学院机械工程与自动化系,四川成都 610039) 摘要:介绍一种利用单片机采集数据,LabVIEW作为开发平台,二者之间通过串口实现数据通讯的数据采集系统,详细介绍了软、硬件设计方案。 关键词:LabVIEW;虚拟仪器;单片机;串口;数据采集 1LabVIEW部分设计 1.1VISA简介 LabVIEW提供了功能强大的VISA库。VISA(Virtual Instrument Software Architecture)——虚拟仪器软件规范,是用于仪器编程的标准I/O 函数库及其相关规范的总称。VISA库驻留于计算机系统中,完成计算机与仪器之间的连接,用以实现对仪器的程序控制,其实质是用于虚拟仪器系统的标准的API。VISA本身不具备编程能力,它是一个高层API,通过调用底层驱动程序来实现对仪器的编程,其层次如图1所示。VISA是采用VPP标准的I/O接口软件,其软件结构包含三部分,如图2所示。 与其他现存的I/O接口软件相比,VISA的I/O控制功能具有如下几个特点:适用于各种仪器类型(如VXI仪器、GPIB仪器、RS-232串行仪器、消息基器件、寄存器器件、存储器器件等仪器);适用于各种硬件接口类型;适用于单、多处理器结构或分布式网络结构;适用于多种网络机制。 VISA的I/O软件库的源程序是唯一的,其与操作系统及编程语言无关,只是提供了标准形式的API文件作为系统的输出。 1.2VISA库中的串口通讯函数 本文用到的主要的串口通讯函数调用路径为:Functions Instrument I/O VISA VISA Advanced Interface Specific Serial中。 (1)VISA Configure Serial Port节点(图3所示)

基于labview单片机串口通信课程设计

基于labview单片机串口通信课程设 计

辽宁工业大学 开放性实验课程设计 题目:基于LabVIEW的单片机之间串口通信设计 院(系):电气工程学院 专业班级:自动班 122 学号: 学生姓名:刘权 指导教师:(签字) 起止时间:.12.17- .01.06

摘要 虚拟仪器是现代计算机技术同仪器技术深层次结合的全新概念仪器,实质是利用计算机显示器的显示功能模拟传统仪器的控制面板,以多种形式表示输出测量结果,利用计算机强大的软件功能实现信号数据的运算、分析和处理,完成各种测试功能的一种计算机仪器系统。 本文介绍了利用 LabView语言来实现上、下位机之间通信的方法,并从软、硬件两个方面阐述了设计思想。在简要介绍图形化虚拟仪器平台LabView的基础上,分析STC12C5A60S2单片机与 LabView之间的串口通信模式,并结合该设计中设计的温度检测系统给出串口通信的软、硬件设计。 应用先进的虚拟仪器软件LabView,大大降低了串口通讯复杂程度,减小了软件设计的工作量,能够大大降低投资成本。在实际应用中有巨大的使用价值。 关键词:MCS51单片机,LabView,串口通信

目录 前言 (5) 第一章绪论 (6) 1.1 研究的背景及意义 (6) 1.2 课题发展状况 (7) 1.3 设计任务 (7) 第二章系统总体设计 (8) 2.1 系统方案设计 (8) 2.2 系统硬件选择 (8) 第三章系统硬件设计 (9) 3.1 元器件的介绍 (9) 3.1.1 主控制器 (9) 3.1.2单片机 (10) 3.2 硬件电路图设计 (10) 3.2.1mcu及复位电路 (10) 3.2.2串口电路 (11) 3.2.3晶振电路 (12) 3.2.4led输出电路 (13) 3.2.5PCB版 (13) 第4章系统软件设计 (15) 4.1 单片机接口程序设计 (15) 4.2 单片机串口通讯协议 (17)

基于LabVIEW的PC机与单片机串口通信

课程设计任务书 学生姓名:李晓宁郁金华彭亚斌吴冰 专业班级 0882022 0882021 指导教师:杨谊华 工作单位:南昌航空大学 题目:基于LabVIEW的PC机与单片机串口通信 初始条件:要求对单片机课程知识有所了解,同时熟悉labview软件的运用,同时了解基本的串口通信原理。 指导教师签名:________________年月日 系主任(或责任教师)签名:______________ 年月日

摘要 介绍一种基于LabVIEW 7.0语言的A VR AT90系列单片机与PC 机的串口通信技术,在体温检测中得到应用,并取得良好效果。 关键词: LabVIEW 7.0语言;A VR AT90系列中一片机;PC机;串口通信技术 Abstract:We introduce the application of serial port communication technology based on PC machine with LabVIEW 7.0 language and A VR AT90 series SCM in body temperature examination.And it has good effect. Key words:LabVIEw 7.0 language;A VR AT90 series SCM;PC machine;Serial port communication technology

目录 第一章绪论 (1) 第二章软件实现 (2) 2.1 LabVIEW应用软件概述 (2) 2.2 LabVIEW串口通信模块 (2) 2.3 LabVIEW通信模块的属性 (3) 2.4 串口通信程序结构 (3) 第三章程序设计 (4) 3.1 单片机通信的设计 (4) 3.2 PC机通信的设计 (4) 3.3 输入显示程序设计 (4) 3.3.1 LED 显示流程图 (6) 3.4 单片机收发程序 (7) 3.5 PC机收发程序 (8) 3.6 硬件连接 (9) 第四章利用LabVIEW实现PC与单片机串口通信任务 (12) 4.1 建立新VI程序 (12) 4.2.程序前面板设计 (12) 4.3.框图程序设计——添加函数与连线 (12) 4.4.运行程序 (15) 致谢 (16) 参考文献 (17)

基于 LabVIEW 与单片机控制的 LED汉字显示屏

摘要:针对实际应用设计出一种基于 LabVIEW 与单片机控制的LED汉字显示屏,特点是通过在 LabV I EW 中进行图像信息扫描的方式,得到任意汉字的字模,然后经串口传递给单片机控制显示汉字。该方法字模由上位机生成,省去了字模库,简化了显示过程,实用性强。 .文中介绍了一种直接利用 LabV I EW 的图片处理功能自动生成字符点阵的方法,利用该程序无需使用专门的字库可自动得到各种字符的点阵,然后将显示信息通过串行传输方式发送到单片机,通过单片机驱动相应的二极管发光,显示信息。硬件由计算机、单片机、驱动电路和 LED 显示屏构成,结构如图 1所示。 图 1总体结构框图。 1. 基于 LabV I EW 的汉字字模的提取 1.1. 基于 LabV IEW 的汉字字模的提取方法 现在比较流行的方法是基于汉字字符的编码方式形成字模。 汉字机内码与区位码的关系为: 区位码=机内码- 160(1) 对于 16*16点阵字库,每个汉字占用 32 b i t 其首字节的起始位置的计算公式为: 首字节= [ (区码- 1)*94+位码- 1]*32 ( 2) 以此为基点连续读取 32 b i t就是此汉字的点阵字模。在 LabV IEW 编程中基本流程为: 以字符串形式输入一个汉字,按照上述运算规则找出汉字字模首字节在汉字库文件HZK16中的位置,从 HZ K 16中以首地址开始连续读取 32 b i t的数据,这样就得到了一个容量为 32的数组,即输入汉字的点阵字模。然后再按照下位机的构建运用数组的算术运算控件对数组修改,将最终结果通过串口发送给单片机,以进行显示。

本系统利用 LabV I EW 的图片处理功能生成字模,包括汉字、数字、英文以及各种特殊符号等等,提高工作效率和灵活性。 1.2. 利用 LabV I EW 的图片处理功能生成字模的设计 首先设置一个白色的按钮,通过属性节点,把输入的字符作为这个按钮的文本显示。在通过调用节点,获取这个布尔的图像数据。将图像数据转化为 8位像素矩阵。同样的方法获得一个同样大小但没有布尔 文本的纯白色按钮的像素矩阵。将 2个矩阵做异或比较。 得到一个二维布尔矩阵,直接输出这个矩阵就得到了该字符的点阵。生成字符矩阵框图程序如图 2 所示。 采用比较的方法获得点阵,因此可以采用这种方法在同一系统中产生数字、汉字、英文或各种特殊符号的字模点阵,简化了编程过程,使用方便灵活。 由于 LabV IEW 有很强的格式转化功能,将生成的点阵按照下位机的驱动方式运用其中数组的运算控件对点阵进行修改,得到符合要求的字符串。程序框图,如图 3所示。图中的字模 1为用于上位机显示 的字符串形式,字模 2为用于串口通信的字符串形式。

基于LabVIEW和单片机的电压监测设计(毕设)

基于LabVIEW与单片机的电压监测系统设计 专业班级: 11电子(1)班学生姓名:任辉 指导老师:朱慧博职称:副教授 摘要在电子产业日益发达的当今社会,及时准确的监测出当前的电压值并且予以反馈在确保人身安全与系统正常运行反面显得尤为重要。在这种背景下,基于LabVIEW和单片机的电压监测的设计受到了极大关注。在此次设计的系统中,主要分为两个部分即上位机与下位机。上位机主要是通过前面板来显示测量结果,LabVIEW作为开发平台,利用VISA 调用串口程序读取数据,对采集到的电压数据进行实时处理、显示、存储与报警。当采集电压超过设定值时,前面板会出现蜂鸣器警戒响声,反之则会正常显示。当然这一切的实现都是建立在后面板设计和下位机硬件设计的基础上完成的。下位机部分主要是相关元器件的连接,选用STC89C51作为核心器件,同时利用ADC0809来完成对电压的采集工作,将采集到的结果送至单片机,然后通过串口通信送至计算机的LabVIEW系统中进行显示。为了增加传输距离和实现电路复位功能,在硬件电路设计部分增加了MAX232。由于虚拟仪器的使用,使得设计成本大大降低,再加之虚拟仪器与单片机所具有的诸多优点,相信在不久的将来,电压监测与虚拟仪器这两个方面必将得到更多的应用与更好的完善。 关键词LabVIEW 单片机电压监测串口通信

Based on the LabVIEW and Voltage Monitoring System Design of Single Chip Microcomputer Abstract In the electronics industry is increasingly developed in today's society, timely and accurate monitoring of the current voltage value and give feedback to ensure personal safety and normal operation of the reverse side is particularly important. In this context, based on the LabVIEW and MCU voltage monitoring design received a lot of attention. In the design of the system, the main is divided into two parts the upper machine and lower machine. Upper machine mainly through the front panel to display the measurement results, the LabVIEW as the development platform, USES VISA call a serial port to read data, real-time voltage of collected data processing, display, storage, and report to the police. When collecting voltage more than the set value, the front panel will appear the buzzer alarm sound, the opposite will display properly. , of course, the implementation of all this is built in the panel on the basis of the design and the hardware design of singlechip processor system. Under a machine part was mainly related to components of the connection, STC89C51 chosen as the core device, at the same time using ADC0809 to complete the acquisition work of voltage, the collected results sent to the single-chip microcomputer, and then sent to the computer through a serial port communication of the LabVIEW for display in the system. In order to increase the transmission distance and reset function, implement circuit in the hardware circuit design part increased MAX232. Due to the use of virtual instrument, greatly reduce the design cost, coupled with virtual instrument with single chip microcomputer has many advantages, believe in the near future, the voltage monitoring and virtual instrument is the application of these two aspects will get more and better. Key words LabVIEW SCM Voltage Monitoring Serial Communication

基于labview单片机串口通信课程设计

辽宁工业大学开放性实验课程设计 题目:基于LabVIEW的单片机之间串口通信设计 院(系):电气工程学院 专业班级:自动班 122 学号: 120302042 学生姓名:刘权 指导教师:(签字) 起止时间:2014.12.17-2015.01.06

摘要 虚拟仪器是现代计算机技术同仪器技术深层次结合的全新概念仪器,实质是利用计算机显示器的显示功能模拟传统仪器的控制面板,以多种形式表达输出测量结果,利用计算机强大的软件功能实现信号数据的运算、分析和处理,完成各种测试功能的一种计算机仪器系统。 本文介绍了利用 LabView语言来实现上、下位机之间通信的方法,并从软、硬件两个方面阐述了设计思想。在简要介绍图形化虚拟仪器平台LabView 的基础上,分析STC12C5A60S2单片机与 LabView之间的串口通信模式,并结合该设计中设计的温度检测系统给出串口通信的软、硬件设计。 应用先进的虚拟仪器软件LabView,大大降低了串口通讯复杂程度,减小了软件设计的工作量,能够大大降低投资成本。在实际应用中有巨大的使用价值。 关键词:MCS51单片机,LabView,串口通信

目录 前言 (5) 第一章绪论 (6) 1.1 研究的背景及意义 (6) 1.2 课题发展状况 (7) 1.3 设计任务 (7) 第二章系统总体设计 (8) 2.1 系统方案设计 (8) 2.2 系统硬件选择 (8) 第三章系统硬件设计 (9) 3.1 元器件的介绍 (9) 3.1.1 主控制器 (9) 3.1.2单片机 (10) 3.2 硬件电路图设计 (10) 3.2.1mcu及复位电路 (10) 3.2.2串口电路 (11) 3.2.3晶振电路 (12) 3.2.4led输出电路 (13) 3.2.5PCB版 (13) 第4章系统软件设计 (15) 4.1 单片机接口程序设计 (15) 4.2 单片机串口通讯协议 (17) 参考文献 (19) 附录 (20)

单片机和labview应用、区别、选择

LabVIEW 就是一个工具而已了,就像word、qq一样,而且最新版的LabVIEW 好像已经是很傻瓜化的图形界面了,学他最多几天天吧 单片机是嵌入式的基础,更往深里走,值得你学习的东西还是很多很多的,而且也比LabVIEW实用的多啊 labview好入手,简单形象。软件初学者试用。 单片机与硬件有关联,是基于硬件上的编程。可用c语言等实现。二者可以构成一套上下位机系统。实现相关控制和数据处理和显示。二者可以都学一学。 单片机: 单片机渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。导弹的导航装置,飞机上各种仪表的控制,计算机的网络通讯与数据传输,工业自动化过程的实时控制和数据处理,广泛使用的各种智能IC卡,民用豪华轿车的安全保障系统,录像机、摄像机、全自动洗衣机的控制,以及程控玩具、电子宠物等等,这些都离不开单片机。更不用说自动控制领域的机器人、智能仪表、医疗器械以及各种智能机械了。因此,单片机的学习、开发与应用将造就一批计算机应用与智能化控制的科学家、工程师。单片机广泛应用于仪器仪表、家用电器、医用设备、航空航天、专用设备的智能化管理及过程控制等领域,大致可分如下几个范畴。 Labview: LABVIEW有很多优点,尤其是在某些特殊领域其特点尤其突出。 测试测量:LABVIEW 最初就是为测试测量而设计的,因而测试测量也就是现在LABVIEW最广泛的应用领域。经过多年的发展,LABVIEW在测试测量领域获得了广泛的承认。至今,大多数主流的测试仪器、数据采集设备都拥有专门的LabVIEW驱动程序,使用LabVIEW可以非常便捷的控制这些硬件设备。同时,用户也可以十分方便地找到各种适用于测试测量领域的LabVIEW工具包。这些工具包几乎覆盖了用户所需的所有功能,用户在这些工具包的基础上再开发程序就容易多了。有时甚至于只需简单地调用几个工具包中的函数,就可以组成

基于labview单片机串口通信课程设计

辽宁工业大学 开放性实验课程设计 题目:基于LabVIEW的单片机之间串口通信设计 院(系):电气工程学院 专业班级:自动班 122 学号: 120302042 学生姓名:刘权 指导教师:(签字) 起止时间:2014.12.17-2015.01.06 摘要 虚拟仪器是现代计算机技术同仪器技术深层次结合的全新概念仪器,实质是利用计算机显示器的显示功能模拟传统仪器的控制面板,以多种形式表达输出测量结果,利用计算机强大的软件功能实现信号数据的运算、分析和处理,完成各种测试功能的一种计算机仪器系统。 本文介绍了利用 LabView语言来实现上、下位机之间通信的方法,并从软、硬件两个方面阐述了设计思想。在简要介绍图形化虚拟仪器平台LabView的基础上,分析STC12C5A60S2单片机与 LabView之间的串口通信模式,并结合该设计中设计的温度检测系统给出串口通信的软、硬件设计。 应用先进的虚拟仪器软件LabView,大大降低了串口通讯复杂程度,减小了软件设计的工作量,能够大大降低投资成本。在实际应用中有巨大的使用价值。 关键词:MCS51单片机,LabView,串口通信 目录 前言 第一章绪论 1.1 研究的背景及意义 1.2 课题发展状况 1.3 设计任务 第二章系统总体设计 2.1 系统方案设计

2.2 系统硬件选择 第三章系统硬件设计 3.1 元器件的介绍 3.1.1 主控制器 3.1.2单片机 3.2 硬件电路图设计 3.2.1mcu及复位电路 3.2.2串口电路 3.2.3晶振电路 3.2.4led输出电路 3.2.5PCB版 第4章系统软件设计 4.1 单片机接口程序设计 4.2 单片机串口通讯协议 参考文献 附录 前言 本设计的主要研究内容以单片机为核心,用以串行通信接口电路,并编写相关控制程序。设计基于串行通信的协议,实现和LabView的通信功能。 LabView是一种用图标代替文本行创建应用程序的图形化编程语言。LabView 没有常规仪器的控制面板,而是利用计算机强大的图形环境,采用可视化的图形编程语言和平台,以在计算机屏幕上建立图形化的软面板来替代常规的传统仪器面板。软面板上具有与实际仪器相似的旋钮、开关、指示灯及其他控制部件。在操作时,用户通过鼠标或键盘操作软面板,来检验仪器的通信和操作。 而利用LabView设计的数据采集系统,可模拟采集各种实际信号,并对其疾行分析得出有用信息。通过开放的LabView环境和与之无缝集成的硬件,能够方便地将设计从理论阶段、完成系统辨识、控制设计、动态系统仿真以及实时系统实现。

基于LabVIEW的单片机温度监控系统设计.pdf

武汉工程大学邮电与信息工程学院 毕业设计(论文) 基于LabVIEW的单片机温度监控系统设计 Design of MCU Temperature Measurement and Control System Based on LabVIEW 学生姓名熊庆芬 学号6130030330 专业班级电子信息工程1103 指导教师王亮 2015 年 5 月

作者声明 本人声明所呈交的论文是我个人在导师指导下进行的研究工作及取得的研究成果,除了文中特别加以标注的地方外,没有任何剽窃、抄袭、造假等违反学术道德、学术规范的行为,也没有侵犯任何其他人或组织的科研成果及专利。与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明确的说明并表示了谢意。如本毕业设计(论文)引起的法律结果完全由本人承担。 毕业设计(论文)成果归武汉工程大学邮电与信息工程学院所有。 特此声明。 作者专业: 作者学号: 作者签名: ____年___月___日

摘要 随着电子测试技术的不断发展,测试技术正向自动化,智能化,数字化和网络化的方向发展。其中数字滤波器作为测试技术的重要工具而被广泛的使用与各个领域。本课题是用LabVIEW来实现温度检测系统的设计以及应用首先,本论文 介绍LabVIEW相关知识,利用虚拟仪器的开发平台——LabVIEW开发的软件系统,主要包括五个模块:数据采集,显示记录,数据回放,数据处理和数据分析。 本系统是一个基于LabVIEW的温度检测系统,采用多点温度检测,能检测较 大区域内的温度变化,主要包括上位机和下位机两个部分。下位机使用的DS18B20 传感器和AT89C51单片机。上位机和下位机的通讯方式是串口通讯。上位机使用 的是虚拟仪器LabVIEW,主要功能是实时温度的显示,温度曲线时间轴的显示,历史温度曲线的显示以及超限温度报警。 本文设计是从测温电路、主控电路、报警电路等几个方面来分析说明的。该器件可直接向单片机传输数字信号,便于单片机处理及控制。另外,该温度计还能直接采用测温器件测量温度。从而简化数据传输与处理过程。此设计的优点主要体现在可操作性强,结构基础简单,拥有很大的扩展空间等。该系统具有结构简单、成本低、构建方便、工作可靠等特点.具有较高应用价值,是虚拟仪器技术应用于温度测量领域的一个典型范例。 关键词:LabVIEW;温度测量;数据采集

基于LabVIEW 的单片机数据采集系统设计与实现

基于LabVIEW 的单片机数据采集系统设计与实现摘要:本文设计了一种基于LabVIEW与STC89C54RD+单片机的数据采集系统。单片机采集到的数据通过PL2303HX芯片的RS232转USB接口的双向功能,实现了只用一条USB线就可以把采集上的数据传输到LabVIEW中进行显示和存储。从下位机和上位机两个部分阐述了系统的设计。 1. 引言 LabVIEW是美国国家仪器公司(National Instru-ment)开发的一种虚拟仪器平台,它功能强大,提供了丰富的数据采集、分析和存储库函数以及包括DAQ,GPIB,PXI,VXI,RS 232/485在内的各种仪器通信总线标准的所有功能函数。利用LabVIEW设计的数据采集系统,可模拟采集各种信号,但是配备NI公司的数据采集板卡比较贵,在实际开发中可选用单片机小系统对数据进行采集。本系统的数据采集模块由DS18B20温度传感器和STC89C52RD+单片机以及MAX232、PL2303HX组成。由单片机组成的小系统对温度信号进行采集和转换,然后通过MAX232将单片机的TTL电平转换成RS 232电平,再经过PL2303HX芯片将RS232转换成USB接口信号,实现将数据传送给上位机,在LabVIEW开发平台下,对数据进行各种处理、分析,并对信号进行存储和显示,从而实现了一种在LabVIEW 环境下的单片机温度测试系统。 2.单片机系统的设计 根据实际情况,本次设计选用STC89C54RD+单片机。下位机整体模块如下 图1. 整体系统组成框图

2.1. 温度传感器模块 本次设计采用的是美国DALLAS 的DS18B20半导体温度传感器,它支持“一线总线”接口,具有微型化、低功耗、高性能、抗干扰能力强、易配微处理器等优点,可直接将温度转化成串行数字信号供处理器处理。单片机开发板上的DS18B20 电路接法如图2.1所示。 2.2. 单片机处理模块 STC89C54RD+是一种低功耗、高性能CMOS8位微控制器,具有 16K 在系统可编程Flash 存储器。在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash ,使得STC89C54RD+为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。本次设计单片机的处理程序流程图如图2.2所示。 图 2.2 单片机处理程序流程图 图2.1 DS18B20典型电路接法

相关文档
最新文档