问答题

主题:按键交互四位数码管显示

器件: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分)

元器件:

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

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

(3)装置中包含按键模块(或元器件);(3分)

电路搭设:

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

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

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

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分)


发表评论

登录 后再回复