一、实操题
1、主题:串口交互四位数码管显示装置
器件:ESP32主控、四位数码管、74HC595串口寄存器芯片(或模块)等相关元器件。
要求:
1、使用74HC595串口寄存器芯片控制四位数码管显示数字,显示的数字在0~9999
之间依次循环;
2、相邻数字显示的时间间隔由串口输入数值控制,在串口监视器输入框中输入
10~2000间的数值,点击【发送】,输入的数值同步在串口监视器显示,同时四位数码
管按照输入的数值以毫秒为单位间隔显示。
3、再次发送不同的数值,数码管显示的时间间隔按照新输入数值随之改变,新输
入的数值也同步显示到串口监视器。
4、程序编写时,要求使用数组存储0~9数字信息。
5、控制程序采用C代码编写,程序中除采用系统串口库外,不得使用外部库调用。
6、未作规定处可自行处理,无明显与事实违背即可。
7、编写程序文件命名规则为:DJKS5_身份证号,考试完毕拷贝上交备案。
8、程序编写过程中不得打开库例程和其它程序,如发现,实操成绩按照0分处理。
参考答案:
略
解析:【喵呜刷题小喵解析】本程序是一个使用ESP32和74HC595控制四位数码管显示数字的程序。程序的主要逻辑在app_main()函数中,首先配置了串口,设置了串口的参数和引脚。然后初始化了一个用于存储显示数据的DisplayData结构体。在for循环中,从0到9999依次显示数字。在显示每个数字之前,先将数字通过串口发送出去,然后延迟相应的毫秒数。然后计算当前数字对应的七段数码管编码,并通过send_data()函数发送出去。在发送数据后,程序会等待串口输入新的时间间隔数值。如果接收到了新的数值,则按照新的时间间隔进行延迟。这个程序满足了题目中的所有要求,使用ESP32和74HC595控制四位数码管依次显示0到9999的数字,显示的时间间隔由串口输入控制。同时,程序使用数组存储了0到9的数字信息,并且没有使用任何外部库。
2、说明:
1、数组NUM[]保存的是0~9和'.'二进制和十六进制形式的数码管显示的段位信
息。编程时可参考使用。
参考答案:
略
解析:【喵呜刷题小喵解析】:本题是一道编程题,需要根据题目中提供的数组NUM[]来编写程序。题目中说明了数组NUM[]保存的是0~9和'.'的二进制和十六进制形式的数码管显示的段位信息,但并未给出具体的数组定义。在编程时,需要根据实际情况定义数组,例如使用二进制或十六进制形式定义数组。然后,可以根据数组进行数码管的显示等操作。由于题目中并未给出具体的数组定义,因此此处省略了数组的定义部分,需要根据实际情况进行定义。另外,需要注意的是,在C语言中,二进制和十六进制数需要使用特定的表示方式,例如0b表示二进制,0x表示十六进制。最后,还需要注意代码的完整性和可读性,需要根据实际需求进行调试和优化。
喵呜刷题:让学习像火箭一样快速,快来微信扫码,体验免费刷题服务,开启你的学习加速器!