【摘要】:单个数码管采用静态方式显示,多位一体的数码管一般采用动态显示的方式。每个轮流显示的数码管的显示时间可使用简单的延时程序来实现,但效率低,很难应用到其他工程中。本例每个轮流显示的数码管的显示时间使用定时器来实现,动态显示也在定时器中断服务程序中来实现。图5.44位共阳极数码管应用示例电路图程序编写及分析:由于本例工程模板在基础上实现,因此需要把相关文件拷贝过来。
单个数码管采用静态方式显示,多位一体的数码管一般采用动态显示的方式。硬件电路实现上可以使用专用芯片,也可使用电阻及三极管等传统电路实现。
【例5.1】图5.4所示为4位共阳极数码管应用示例电路,实现循环显示8.8.8.8.、全灭、0000、1111、…、EEEE、FFFF。间隔时间为1s。
对于多个数码管显示,一般使用动态显示方式,即每个数码管显示时间小于10ms,多个数码管轮流显示所要求的段码。每个轮流显示的数码管的显示时间可使用简单的延时程序来实现,但效率低,很难应用到其他工程中。本例每个轮流显示的数码管的显示时间使用定时器来实现,动态显示也在定时器中断服务程序中来实现。
本例是定时器与GPIO等的结合,程序可在利用前面讲述过的例子(例4.5方波程序)工程中的基础上修改、添加即可。
编程要点如下。
(1)初始化数码管段码、位码引脚。
(2)初始化定时器。
(3)编写主函数,根据要求查表得到要显示的段码。
(4)编写定时器中断服务程序,实现动态显示。
(www.daowen.com)
图5.4 4位共阳极数码管应用示例电路图
程序编写及分析:由于本例工程模板在基础上实现,因此需要把相关文件拷贝过来。
主要程序代码如下。
思考:如果定时器定时时间为250ms,显示结果将如何?
注意:从本章开始,有些常识性、简单的内容就不再赘述。例如,头文件的编写、添加程序文件、添加新建头文件编译路径、前面章节已经讲过的内容等。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。
有关基于物联网的STM32单片机应用与实践的文章