蓝桥杯 嵌入式设计与开发项目模拟测试
第二部分 程序设计部分(70分)
1 基本要求
1.1 使用国信长天嵌入式竞赛实训平台,完成本试题要求的程序设计与调试。
1.2 程序设计与调试过程中,可参考本试题配套提供的“资源数据包”。
1.3 程序编写、调试完成后,选手需通过考试系统提交以准考证号命名的.axf文
说明:
- .axf文件外严格按照要求命名,勿上传任何其它无关文件。
- .axf文件是由Keil编译后生成的,可以在工程文件相应的输出文件夹中查找。
- 不符合以上文件提交要求的作品将被评为零分或者被酌情扣分。
2 硬件框图
3 功能简述
3.1 基本功能
1) 通过竞赛板上电位器R37输出模拟电压信号,经微控制器内部AD采集处理后,通过液晶屏实时显示。
2) 通过串口接收上位机指令,执行指令,并返回数据。
3) 支持按键扫描功能,可识别当前各个按键状态。
4) LED亮灭受控。
3.2 初始化状态说明
指示灯LD1-LD8全部处于熄灭状态。
3.3 串口通信功能
1) 串口基本配置
使用竞赛板USART2完成全部串口通信功能.
通信波特率配置为9600bps。
2) LED亮灭控制指令
指令格式:“LDn:0”、“LDn:1”或“LDn:2”
指令解析:编号为n的LED指示灯点亮或熄灭,n的范围是1-8。0表示熄灭,1表示点亮,2控制指示灯状
指令举例:
“LD1:0”,控制指示灯LD1熄灭。
“LD1:1”,控制指示灯LD1点亮。
“LD2:2”,控制指示灯LD2亮灭状态翻转。
指令回复:
本条指令不需要回复任何内容。
3) 按键状态查询
指令格式:“Bn?”
指令解析:查询编号为n的按键状态。n的范围是1-4;
指令举例:“B1?”
指令回复:
“B1:P”或“B1:R”,其中P表示B1按键处于按下的状态,R表示B1按键处于释放的状态。
4) 模拟电压查询指令
指令格式:“ADC?”
指令解析:查询当前微控制器采集到的实时电压值。
指令举例:“ADC?”
指令回复:
“ADC:3.02V”,表示当前采集到的电压值为3.02V,电压值保留小数点后两位有效数字。
5) 未知指令
当设备收到收到未知的错误指令时,返回“error”。
6) 通信指令要求
请严格按照上述1-5条中要求设计串口交互过程,注意指令格式、大小写等设计细节。
3.4 液晶显示功能
1) 显示信息项
通过液晶屏幕显示按键状态、LED指示灯状态和ADC采集数据3个信息项,显示格式与位置如下图所示。
2) 显示格式要求
显示背景色(BackColor):黑色。
显示前景色(TextColor):白色。
请严格按照图示要求设计各个信息项的名称和行列位置。
LED指示灯状态以一个16进制编码的数字表示(A、B、C、D、E、F字符大写,高位为0时显示),图示
按键状态用P或R表示,P表示按键处于按下状态,R表示处于释放状态。如果
ADC采集数值需要保留小数点后2位有效数字,显示单位为伏特(V)。
3.5 按键功能
1) 按键B1短按键操作:所有LED指示灯熄灭。
2) 按键B1长按键操作(按下时长超过800ms):所有LED指示灯状态翻转。
3.6 程序性能要求
1) 各类串口配置、查询指令响应时间要求:≤300ms。
2) 各类操作执行后,液晶屏幕实时更新时间要求:≤300ms。
3) 程序设计应保证按键操作、串口通讯操作后,不出现无响应、死机等严重故障。
4) 程序设计应保证各类功能要求在执行操作期间互不影响。