一、实操试题(共1题,共100分)
                
1) 主题:按键交互四位数码管显示
 器件:ESP32主控板、四位数码管、按键模块、74HC595移位寄存器芯片(或模块)及相关器件。以上模块也可以采用分立器件结合面包板进行搭设。
 任务要求: 
 通过按键依次切换,在四位数码管的1~4位上,循环显示数字1~9,具体要求如下:
 (1)程序启动后,在四位数码管显示今天的日期:0630;
 (2)第一次点击按键,仅在四位数码管的第1位上循环显示0、1、2、3、…9,间隔时间为0.5秒。四位数码管的其他位段关闭,没有任何显示;
 (3)第二次点击按键,仅在四位数码管的第2位上循环显示0、1、2、3、…9,间隔时间为0.5秒。四位数码管的其他位段关闭,没有任何显示;
 (4)依次类推,当第三次、第四次点击按键,仅在四位数码管的第3和第4位上循环显示数字0~9。四位数码管的其他位段关闭,没有任何显示;
 (5)数码管必须使用74HC595移位寄存器芯片驱动显示。如采用其他方式,本实操成绩得0分;
 (6)程序采用Arduino C/C++代码编写,不得使用外部库调用;
 (7)未作规定处可自行处理,无明显与事实违背即可。
 说明:请考生在考试结束前,按照如下要求提交相关文件。
 (1)将程序放在一个文件夹中,压缩为1个“rar或zip”格式文件,并命名为:DJKS5_身份证号,大小5M以下;
 (2)将程序文件通过“上传附件”按钮进行上传;
 (3)程序编写过程中不得打开其它示例程序,如发现,实操成绩按照0分处理。
 参考资料:
 数组NUM[] 保存的是0~9十六进制形式的数码管显示的段位信息。编程时可参考使用。
 // 保存0~9
 byte NUM[] = {0xFC, 0x60, 0xDA, 0xF2, 0x66, 0xB6, 0xBE, 0xE0, 0xFE, 0xF6};
 评分项:
 1.器件及器件连接(20分)
 2.功能实现(80分)
 (1)实现程序启动后,在四位数码管显示0630;(20分)
 (2)实现第一次点击按键后,在四位数码管的第1位上循环显示0~9,间隔时间为0.5秒;(10分)
 (3)实现第一次点击按键后,四位数码管的其他位段关闭,没有任何显示;(10分)
 (4)实现第二次点击按键后,仅在四位数码管的第2位上循环显示0~9,间隔时间为0.5秒,四位数码管的其他位段关闭,没有任何显示;(10分)
 (5)实现第三次点击按键后,仅在四位数码管的第3位上循环显示0~9,间隔时间为0.5秒,四位数码管的其他位段关闭,没有任何显示;(10分)
 (6)实现第四次点击按键后,仅在四位数码管的第4位上循环显示0~9,间隔时间为0.5秒,四位数码管的其他位段关闭,没有任何显示;(10分)
 (7)实现第五次点击按键后,回归到仅在四位数码管的第1位上循环显示0~9,间隔时间为0.5秒,四位数码管的其他位段关闭,没有任何显示。(10分)
查看答案