主题:串口交互数字滚动循环显示
器件:ESP32主控板1块,四位数码管1个,74HC595移位寄存器芯片(或模块)及相应辅件。以上模块也可使用分立器件结合面包板搭建。
任务要求:
使用74HC595移位寄存器芯片控制四位数码管实现数字的滚动循环显示,通过串口输入报文来设置显示的内容及其滚动显示的时间间隔。
报文的格式为:xxxx:yyy,其中,xxxx为显示的内容,范围1000~9999,yyy为时间间隔。示例报文为:4567:400,其中:4567为数码管显示的数字;400表示所输入数字循环显示的时间间隔,数字自右向左循环动态显示,如下图所示。
具体任务要求如下:
(1) 装置通电启动后,在四位数码管上显示今天的日期:0914;
(2) 在串口监视器中输入相应的报文,并点击发送按键。将解析后的报文内容输出到串口监视器。以报文4567:400为例,串口监视器窗口输出的内容为Data:4567 -- Interval:400;
(3) 在四位数码管上显示解析后的内容,并以指定的时间间隔,实现自右向左循环动态显示。直至输入新的报文数据;
(4)程序采用C代码编写,不得使用外部库调用;
(5)未作规定处可自行处理,无明显与事实违背即可。
说明:请考生在考试结束前,按照如下要求提交相关文件。
(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};