前面介绍了GPIO口的所用,有了它就为硬件控制和使用提供了极大的可能。
为了便于数据的显示,这里对串行数码管显示模块进行显示驱动的尝试。
经测试其显示效果如图1所示,说明是成功的。
图1 显示效果
之所以选取这款串行数码管显示模块,是因为它占用的引脚资源比较少。
该模块是以MAX7219为控制芯片,由它将串行信号转换为并行信号来驱动数码管的显示。另外,它具有数据锁存功能,从而可以有效地节省MCU的资源消耗。
此外,它的亮度高、抗外部信号干扰强,这都是它较为出色的特点。
该显示模块与开发板的连接关系为:
DIN---GPIO1_C7_d
CS ---GPIO1_C6_d
CLK---GPIO1_C5_d
所用引脚在开发板的位置如图2所示,电源则是连接VBUS和GND来获得。
图2 引脚位置
为便于程序的编写,是采用脚本语言来实现。程序的编写是通过Vi指令来进行,程序的文件的后缀为*.sh。
在所用引脚配置方面是通过图3所示的程序来完成,并可以判别所用的引脚是否已存在。
图3 引脚配置
为了串行发送数据,所配置的相应函数如图4所示。
图4 数据发送函数
以字节发送函数为基础,向MAX7219指定单元方式数据的函数和显示模块的初始化函数如图5所示。
图5 相关函数
实现演示效果的函数如图6所示,在完成脚本编写后将其存入指定文件即可。
图6 演示函数
在运行时,需先运行指令source ./smg.sh来运行脚本程序,然后在调用LOOK函数来实现演示效果。
此外,将该模块的显示功能与日期显示功能相配合还可实现电子时钟的计时功能。
更多回帖