2025年西电A测:气压测控仿真系统
所需软件
- Proteus 8.9 SP2 及以上仿真软件(需要自己去网上寻找破解版资源)
- Arduino IDE(下载链接在此)
- 虚拟串口驱动软件 Virtual Serial Port Driver(VSPD)(下载链接见此博客)
- Proteus仿真软件所需要的
pdsprj工程文件 - 一个带GUI窗口的软件,可以实现串口通信(注意!这个软件需要你自己写,不能直接用现成的XCOM等现成的串口助手软件)
实现功能:使用 Arduino UNO 微控制器,搭建一个 PC 上位机远程气压检测控制系统。上位机程序可以向 Arduino 程序发送学号以调整气压阈值,同时可以接收来自 Arduino 发送的当前气压值,显示于上位机程序的GUI界面。
思路梳理
我们可以简单梳理一下完成这个测试需要准备的东西: - VSPD:用于建立虚拟串口对,实现串口间的相互通信 - Arduino代码,需要我们自己编写,代码逻辑决定了工程文件中的仿真电路将会怎样工作 - Arduino工程文件,需要将Arduino代码编译生成的十六进制文件导入芯片 - 上位机软件,需要我们自己编写,占用COM2串口,可以实现与COM1串口之间的相互通信
Arduino代码与编译
Arduino代码有两个必须要有的函数:setup函数用于仿真软件开始运行时的初始化,loop函数在仿真软件运行时循环调用。一般会在loop函数末尾添加delay(1000);用于使每相邻两次loop函数的调用之间间隔1000毫秒(间隔可以短一些,但最好要有)。
在Arduino IDE中书写以下代码:
1 |
|
写完代码后点击界面左上角的对勾(验证)按钮,此时界面下方会出现输出窗口显示程序的编译情况。编译完成后在下图所示的红框位置可以得到程序编译的输出路径。将该路径对应的文件后缀elf改为hex就是我们想要的十六进制文件路径。

仿真电路介绍

仿真电路工程文件是题目直接提供的,我们几乎无需对各组件的配置进行修改,只需要双击芯片组件,将其中的Program File修改为我们刚刚找到的十六进制文件路径即可。

点击界面左下方的绿色三角形按钮运行仿真,这时候应该就可以看到程序开始运行了,右上方的LCD程序会在第二行显示PRESS: 860hPa,同时左下方的电机开始旋转。之所以LCD屏幕第一行不显示信息,是因为在代码中我们设置只有当串口接收到来自外部(即串口COM2)的信息(学号)时才会在LCD的第一行打印信息。
此时设定的气压阈值为默认值,即860hPa。右下方的气压计可以看到当前的实测气压(默认为860hPa)。点击左边的两个按钮可以对实测气压手动调节,当气压小于860hPa时电机会逐渐停止。
PC上位机GUI程序
题目要求我们编写的上位机程序需要满足以下需求:
- 窗口标题处显示我们自己的学号和姓名
- 可选择该程序当前使用的串口并允许打开或关闭操作
- 向仿真程序发送学号,仿真程序会自动调整气压阈值
- 接收当前仿真程序的气压值并在GUI界面上显示
这里就不将程序开源了,因为如果界面长得一模一样的话肯定会被判定为抄袭……可以根据以上需求拷打一下AI,一般是没啥问题的。这里我提供一个GUI窗口的范例,权当一个设计思路。
题目并没有要求我们的GUI程序有手动调节气压的功能,我一开始没发现气压计就可以直接调节气压,所以在写上位机程序的时候加上了这个需求。读者写的时候不需要加上这个。

不出意外的话,以上步骤走完,你的A测应该就可以完成了。如果出了意外,可能大概率是在程序编译这一步会报库缺失的错。我好像没有遇到这种情况,如果读者遇到了就上网查一下有关资料吧。
写在最后
这A测真的好讨厌啊!!!!
- Title: 2025年西电A测:气压测控仿真系统
- Author: Jachin Zhang
- Created at : 2025-10-01 17:57:49
- Updated at : 2025-10-01 17:57:49
- Link: https://jachinzhang1.github.io/2025/10/01/xidian-A-test/
- License: This work is licensed under CC BY-NC-SA 4.0.