【Milk-V Duo开发板免费体验】+串行数码管显示驱动及电子时钟

电子说

1.2w人已加入

描述

使用SSH登录较之串口登录要简便许多,免去了每次需要连接串口的麻烦。

在登录后,使用LINUX就可以通过指令或是脚本来实现各种功能了。

为了较少地占用引脚资源,这里是用串行数码管模块来充当显示器件。

1. 驱动串行数码管

这里所用的串行数码管模块以MAX7219为控制芯片,它是将串行信号转换为并行信号来驱动数码管,并具有数据锁存功能,从而可以有效地节省MCU消耗。

此外,它的亮度高、抗外部信号干扰强。

该显示模块与开发板的连接关系为:

GPIOA23 ---din

GPIOA22---cs

GPIOA21 ---clk

其引脚的在扩展接口所在的位置见图1所示:

Linux

图1 引脚占用位置

为串行发送数据,所配置的相应函数为:

Linux

为向指定地址发送数据,所配置的函数为:

Linux

对max7219进行初始化的函数为:

Linux

为了进行显示功能的测试,所编写的look函数为:

Linux

在完成程序的编写后,将其存入文件max7219.sh中,并通过下面的指令即可见到图2所示的显示效果。

Linux

 

Linux

图2  数码管显示效果

2. 电子时钟的实现

数码管的显示功能是为电子时钟服务的,那该如何来获取计时值呢?

使用date指令即可获取系统计时值,其数据格式如下:

Linux

显然在显示时间时,是不能采用这种形式的。

为此,可通过以下的方式来提取相应的时间值。

Linux

这样,就可以通过下面的程序来实现电子时钟的功能。

Linux

图3 电子时钟显示程序

在完成程序的编写后,将其内容存到文件rtc.sh中。

如何进入指令source ./rtc.sh和look,即可见到图4所示的运行效果。

Linux

图4 显示效果

  审核编辑:汤梓红

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分