一、实操题
1、主题:抢答器(3级)
器件:Atmega328P主控板1块,按键模块2个(A键和B键)、LED模块2个(LED_A和LED_B),舵机1个及相应辅件。以上模块也可使用分立器件结合面包板搭建。
任务要求:抢答器由A、B双方组成,分别位于左右两侧,A方包含1个按键模块(A键)和1个LED模块(LED_A),B方包含1个按键模块(B键)和1个LED模块(LED_B),舵机位于双方的中间位置,用于指向抢答获胜选手。具体任务说明及要求如下:
(1) 初始状态:当A键和B键没有按下时,LED_A和LED_B均处于熄灭状态,舵机舵盘指向90度位置;
(2) 抢答开始后,率先按下按键一方的LED灯点亮,另一方LED灯保持熄灭状态。舵机舵盘指向抢答获胜一方;
(3) 当A键和B键再次释放时,LED灯和舵机回到初始状态;
(4) 根据要求绘制流程图;
(5) 未作规定处可自行处理,无明显与事实违背即可。
说明:请考生在考试结束前,按照如下要求提交相关文件。
(1) 将程序放在一个文件夹中,压缩为1个“rar或zip”格式文件,并命名为:DJKS3_身份证号,大小5M以下;
(2) 将程序文件通过“上传附件”按钮进行上传;
(3) 程序编写过程中不得打开其它示例程序,如发现,实操成绩按照0分处理。
解析:【喵呜刷题小喵解析】以上伪代码实现了一个基本的抢答器功能。首先,定义了几个全局变量来跟踪按键的状态和获胜者。然后,定义了初始化函数,按键按下和释放的处理函数,以及主函数。在初始化函数中,LED_A和LED_B被设置为熄灭状态,舵机被设置为指向90度位置。在按键A被按下时,如果按键B没有被按下,那么将A方设为获胜者,点亮LED_A,熄灭LED_B,并让舵机指向A方。在按键B被按下时,如果按键A没有被按下,那么将B方设为获胜者,点亮LED_B,熄灭LED_A,并让舵机指向B方。在按键A或B被释放时,如果另一方没有被按下,那么将LED_A和LED_B都熄灭,并让舵机回到初始位置。在主函数中,首先调用初始化函数,然后进入一个无限循环,循环中处理按键按下和释放的事件。请注意,这只是一个基本的伪代码实现,实际编程时需要根据具体的硬件环境和编程语言进行适当的修改和优化。另外,对于舵机的控制,需要根据具体的舵机型号和驱动方式来实现。
喵呜刷题:让学习像火箭一样快速,快来微信扫码,体验免费刷题服务,开启你的学习加速器!




