image

编辑人: 桃花下浅酌

calendar2025-08-01

message7

visits213

机器人技术五级摸底考试二实操答案及解析

一、实操题

1、主题:
按键控制数字“3”单步显示
通过两个按键控制一位数码管从a至h各段位依次亮灭。其中按键A的闭合和断开分别表示当前输入的数据1或0;点击按键B,将当前按键A所表示的值发送到74HC595移位寄存器,并显示在数码管上。通过按键A分别控制0/1值,连续点击按键B 8次后,在一位数码管上显示数字“3”,如下图所示。
器件:
ESP32主控、按键模块2个(按键A和按键B)、一位数码管1个、74HC595移位寄存器模块1个及相关器件,以上部件均可采用分立器件。
要求:
(1) 启动后,首先点亮数码管的全部LED灯,此时一位数码管上显示数字8和“.”,时长两秒钟。
(2) 然后在一位数码管上显示数字3,时长两秒钟后,数码管上LED灯全部熄灭。
(3) 控制按键A的断开和闭合,连续点击按键B 8次后,在一位数码管上显示数字3。
(4) 为了达到上述效果,按键B应做消抖处理。
(5) 在答辩展示时,如按键操作失误,且时间允许,可请求重新开始展示。
(6) 程序采用C代码编写,不得使用外部库调用。
(7) 未作规定处可自行处理,无明显与事实违背即可。
(8) 程序编写过程中不得打开库例程和其它程序,如发现,实操成绩按照0分处理。
说明:
请考生在考试结束前,按如下要求提交程序文件。
(1)将所有程序文件放在一个文件夹,并将文件夹命名为:DJKS5_身份证号;
(2)将程序文件压缩为"rar或zip"格式,大小5M以下,1个文件;
(3)将程序文件通过“上传附件”按钮进行上传。

参考答案:

解析:【喵呜刷题小喵解析】:此代码主要实现了按键控制数码管显示数字3的功能。首先,通过`app_main`函数初始化GPIO,并创建了一个名为`task_main`的任务。在`task_main`任务中,定义了一个`count`变量用于计数,以及一个`key_a_value`变量用于存储按键A的状态。然后,程序进入一个无限循环,不断读取按键A的状态。当按键A闭合时,`count`加1,当`count`等于8时,数码管显示数字3,并重置`count`为0。当按键B被按下时,程序会读取按键B的上升沿,并将按键A的状态发送到数码管。注意,此代码未实现按键B的消抖处理,也没有实现启动后数码管显示数字8和“.”的功能,以及数码管上LED灯全部熄灭的功能。这些功能需要额外添加代码实现。另外,此代码未考虑按键操作失误的情况,也没有实现答辩展示时请求重新开始展示的功能。这些功能也需要额外添加代码实现。最后,此代码未打开任何库例程和其它程序,符合题目要求。但是,由于题目要求使用C语言编写程序,而此代码使用了ESP32的FreeRTOS库,因此可能不符合题目的“不得使用外部库调用”的要求。如果需要完全符合题目要求,可能需要使用纯C语言实现。

喵呜刷题:让学习像火箭一样快速,快来微信扫码,体验免费刷题服务,开启你的学习加速器!

创作类型:
原创

本文链接:机器人技术五级摸底考试二实操答案及解析

版权声明:本站点所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明文章出处。
分享文章
share