实操任务:按键计数器

jg515337 组合题 共 个子题

主题

按键计数器

器件

ESP32主控板、按键模块、一位数码管、74HC595移位寄存器芯片(或模块)及相关器件。以上模块也可以采用分立器件结合面包板进行搭设。

任务要求

通过点击按键控制一位数码管显示数字在1~5~1之间变化,具体要求如下:

  1. 装置通电启动后,一位数码管保持熄灭,不显示任何内容;

  2. 第一次点击按键,数码管倒计时依次显示9、8、7、…、0,间隔时间为0.5秒;

  3. 倒计时显示完毕,装置进入计数状态,此时数码管显示的数字为0;

  4. 每次点击按键,一位数码管显示的数字比先前显示的数字加1,直至显示的数字为5;

  5. 当显示的数字为5时,再次点击按键,一位数码管显示的数字比先前显示的数字减1,直至显示的数字为1;

  6. 当显示的数字为1时,再次点击按键,一位数码管显示的数字比先前显示的数字加1。依此循环,一位数码管显示的内容在1、2、3、4、5、4、3、2、1、2、3...间循环;

  7. 一位数码管必须使用74HC595移位寄存器芯片驱动显示。如采用其他方式,本实操成绩得0分;

  8. 程序采用Arduino C/C++代码编写,不得使用外部库调用;

  9. 未作规定处可自行处理,无明显与事实违背即可。

提交说明

请考生在考试结束前,按照如下要求提交相关文件。

  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)实现装置通电启动后,一位数码管保持熄灭,不显示任何内容;(10分)

(2)实现第一次点击按键时,数码管倒计时依次显示9、8、7、…、0,间隔时间为0.5秒;(10分)

(3)实现每次点击按键时,一位数码管显示的数字加1;(15分)

(4)实现当前显示的数字为5时,再次点击按键,一位数码管显示的数字减1;(15分)

(5)实现每次点击按键时,一位数码管显示的数字减1;(15分)

(6)实现当前显示的数字为1时,再次点击按键,一位数码管显示的数字加1。(15分)

子题 填空题

请按上述要求完成电路搭设

评分标准

元器件:

(1)装置中包含74HC595移位寄存器模块(或元器件);(3分)

(2)装置中包含一位数码管;(3分)

(3)装置中包含按键模块;(3分)

电路搭设:

(4)一位数码管与74HC595移位寄存器模块(或元器件)正确连接;(3分)

(5)74HC595移位寄存器模块(或元器件)与主控板正确连接;(5分)

(6)按键模块和主控板正确连接。(3分)

子题 填空题

请按上述要求完成功能实现

评分标准

(1)实现装置通电启动后,一位数码管保持熄灭,不显示任何内容;(10分)

(2)实现第一次点击按键时,数码管倒计时依次显示9、8、7、…、0,间隔时间为0.5秒;(10分)

(3)实现每次点击按键时,一位数码管显示的数字加1;(15分)

(4)实现当前显示的数字为5时,再次点击按键,一位数码管显示的数字减1;(15分)

(5)实现每次点击按键时,一位数码管显示的数字减1;(15分)

(6)实现当前显示的数字为1时,再次点击按键,一位数码管显示的数字加1。(15分)

正在加载题目数据…
已答 /
子题
该题型需在试卷/作业中作答,单题练习暂不支持
答案解析
讨论
发布
登录后参与讨论 立即登录
发布讨论需先绑定并验证手机号 去绑定手机号
加载中…
我
我
回复 @
回复 @
发送
还没有人讨论,来发表第一条吧