数据采集---自制上位机界面接收单片机uart数据

现如今大多数的设备都是通过仪器设备而不是通过人力耗时耗力地去进行监测了,自动化的普及解放了大量的劳动力。那今天就讲一下我自己制作的一个自动采集单片机发送数据给pc机的小项目吧。其中需要大家自己准备的材料仅有hc32f005小开发板一块,烧录程序用的cp2102模块一个。
其中电脑数据采集界面使用labview开发,单片机使用的是华大的hc32f005,其内核为cortex-m0(由于疫情期间外国cpu疯狂涨价,所以尝试使用了国产芯片)。

项目内容为单片机通过uart协议连续发送字符串“123456789”,通过uart转usb连接至电脑,将数据发送至利用labview开发的visa串口界面显示,该界面可以将接收到的字符串转化为十进制数值,并存入布尔数组指示灯,判断数值大于5时为异常,此时指示灯显示为绿色,否则为红色。

话不多说,先上效果图,如果感兴趣的就继续再看下去吧,我会尽量把整个小项目的内容完善,使大家可以完全了解并自行上手操作。数据采集---自制上位机界面接收单片机uart数据
数据采集---自制上位机界面接收单片机uart数据
上位机的制作是利用labview来实现的,这个软件区别于大多数采用语言编程的软件来说,其采用图形化编程入手更加简单,开发速率快,如果有兴趣自己开发电脑软件或者开发各种数据采集界面的朋友们可以了解学习一下,当然其用途还有很多,大家自己可以去摸索。labview的下载和安装教程我会附在网盘中,大家可以下载参考。
然后这里再说一下hc32f005烧录以及跟labview通信时一些需要注意的点:
数据采集---自制上位机界面接收单片机uart数据
首先先将单片机与cp2102按上述连接方式连接好,然后选择好对应单片机型号,波特率尽量不要太高,否则容易显示连接不成功,选好对应hex文件和串口模块对应的com号,然后点击执行即可烧录程序,keil程序我也附在网盘中了。数据采集---自制上位机界面接收单片机uart数据
程序烧录结束后,需要复位或者重新上电单片机,此时注意应将单片机rst连接模块dtr的那根线断开,否则将无法正常与labview进行通信。
而labview方面应注意,打开serial.vi后先点击右上角的连续运行,此时应先单击一次读取停止,将以前的通信数据全部清除。数据采集---自制上位机界面接收单片机uart数据
数据采集---自制上位机界面接收单片机uart数据
此时会弹出如下对话框,选择“继续”:
数据采集---自制上位机界面接收单片机uart数据
至此,labview便可以正确接收到单片机发来的“123456789”数据了,通过改变“设置读取字节”以及“接受数值大于多少为异常”控件里面对应的数字,可以改变布尔数组灯何时为红何时为绿。
至于该项目的扩展功能,可以通过在单片机中开启adc模数转化功能,利用adc口读取硬件的电压,然后通过uart发送至labview,实时显示该硬件工作是否正常,通过灯的颜色可以很清晰地显示出来,若是需要远程传输数据,可以通过485硬件接口桥接于uart与usb口之间,通信距离可以达上千米,至于电路部分就由各位大家去设计发挥吧。

最后附上整个小项目的网盘链接,感兴趣的朋友可以下载试着操作一下,一起学习进步。
链接:https://pan.baidu.com/s/10IjCS7T0_WxvC3fp8WtYtA
提取码:22mv

上一篇:【RAC】rac环境下的数据库备份与还原


下一篇:操作系统实验报告五