第十届省赛-嵌入式设计与开发1
需积分: 0 190 浏览量
更新于2022-08-03
收藏 195KB PDF 举报
【嵌入式设计与开发项目概述】
嵌入式设计与开发是计算机科学和技术的一个重要分支,主要涉及到在微控制器或微处理器为核心的系统中设计和实现软件及硬件解决方案。在这个项目中,参赛者需要利用给定的硬件平台——国信长天嵌入式竞赛实训平台,基于STM32F103RBT6微控制器,完成一系列功能的设计和实现。
【基本要求】
1. 使用大赛指定的开发平台进行程序设计和调试。
2. 参赛者可以参考组委会提供的"资源数据包"来辅助编程。
3. 完成程序设计后,必须提交源代码文件(.c和.h)以及.axf文件,axf文件需要以准考证号命名,这是评分的重要依据。提交的源文件仅包括选手自编或修改过的.c和.h文件,原有的未修改文件无需提交。
【硬件框图】
系统硬件主要包括STM32F103RBT6微控制器,LED指示灯,按键输入,以及模拟电压输入。模拟电压输入来自于竞赛板上的电位器R37,其输出的模拟电压VR37将被测量和显示。LCD用于显示测量数据和用户交互界面。
【功能描述】
1. **基本功能**
- 实时测量电位器R37的输出电压,并在LCD上显示。
- LED指示灯根据电压值超限情况闪烁,提示用户。
- 通过按键设定电压上下限和对应的LED提醒指示灯。
2. **显示功能**
- 数据显示界面:包含界面名称、实时电压值和状态信息(正常、超出上限或低于下限)。
- 参数配置界面:允许设置电压上限、下限,以及选择超出限值时亮起的LED指示灯。电压范围0-3.3V,LED指示灯范围从LD1到LD8,不允许上下限设置为同一LED。
3. **按键功能**
- B1键:在数据显示和参数设置界面之间切换。
- B2键:在参数设置界面中选择不同的参数项。
- B3键:增加数值(电压或LED编号)。
- B4键:减少数值(电压或LED编号)。
4. **LED指示灯功能**
- 当电压超过上限,上限LED闪烁;低于下限,下限LED闪烁;两者之间则均不闪烁。
- 其他LED保持熄灭状态,仅用于指定的提醒功能。
5. **初始状态**
- 默认的LED提醒指示灯已设置好,可能需要通过按键进行调整。
【技术要点】
- STM32F103RBT6是一款基于ARM Cortex-M3内核的微控制器,具有丰富的GPIO端口,适用于控制LED和读取按键输入。
- ADC(模拟数字转换器)用于将模拟电压信号VR37转化为数字值进行处理。
- LCD显示驱动需要了解字符和图形的显示原理,以及如何通过STM32的SPI或I2C接口与LCD模块通信。
- 键盘扫描和中断处理是实现按键功能的关键,需要编程实现按键检测和响应逻辑。
- 电压阈值和LED设置涉及到数据存储和边界检查,确保参数设置在允许范围内。
这个项目不仅测试了参赛者的编程能力,还考察了他们对嵌入式系统硬件接口的掌握程度,以及在实际应用中解决问题的能力。通过这个项目,学生可以加深对嵌入式系统设计、微控制器应用以及人机交互的理解。