谷动谷力

 找回密码
 立即注册
查看: 442|回复: 0
打印 上一主题 下一主题
收起左侧

中科蓝讯 AB5602B 驱动五脚数码管示例

[复制链接]
跳转到指定楼层
楼主
发表于 2024-9-11 23:44:10 | 只看该作者 |只看大图 回帖奖励 |正序浏览 |阅读模式
中科蓝讯 AB5602B 驱动五脚数码管示例

这次我将和大家分享如何使用中科蓝讯 AB5602B 驱动五脚数码管。该数码管不同于常用的数码管由控制 IC 的八个 IO 配合锁存芯片驱动,它只有五个驱动引脚,更节省 IO 资源,并且不需要锁存芯片。下面我首先介绍五脚数码的工作原理,接着介绍驱动程序,最后点亮数码管显示自定义的字符。

一、数码管工作原理
1、数码管显示及引脚位置
        
       一位数码管由A、B、C、D、E、F、G、DP 八根二极管构成;
      
      将要示例驱动的数码管可显示两位字符,但只有五个驱动引脚;

2、数码管电路图

      

如数码管电路图所示,五个驱动引脚承担了点亮 16 根二极管的责任。这就产生一个问题,驱动引脚不但被用在二极管的阴极,亦被用作二极管的阳极,例如,A1 二极管和 E1 二极管,引脚 1 在 A1 二极管用作阴极,在 E1 二极管却被用作阳极,这样点亮 A1 二极管就无法点亮 E1 二极管了。
如果要显示的字符,恰好要 A1 和 E1 二极管都点亮应该如何操作呢?这是我们需要解决的关键问题,这也是五个引脚能驱动两位数码管的原因。我们知道人眼的视觉暂留时间是 20ms 左右,数码管有 5 个引脚,那么把需要显示的字符在 20ms 内分 5 次点亮即可。例如点亮全部二极管,分五次点亮就是,1 脚拉高时,拉低 2、3、4 脚;2 脚拉高时,拉低 1、3、4、5 脚,其余引脚同理,这样就可以解决前面所说的引脚 1 同时作 A1 阴极和 E1 阳极的矛盾问题了。

二、驱动程序
1、定义一个结构体存放需要的参数
      

2、蓝牙芯片 IO 初始化函数

      
      蓝牙芯片 IO 初始化函数放在以下位置:
      
3、IO 置高或清零函数

      
      写 5 个 IO 置高或清零函数,并且把函数名放进函数指针数 smg_pfunc[];
4、IO 输出关闭函数



      
      IO 输出关闭函数放在点亮数码管函数中,作用是拉高下一个引脚前先关闭已经点亮的数码管,但又不清除拉高的引脚对应需要拉低的引脚。
5、点亮数码管函数

      
    点亮数码管函数放在扫描函数中,作用是把传递进来需要拉高的引脚拉高,再拉低它对应需要拉低的引脚。
6、扫描函数

      

跑一次扫描函数,就是通过 smg_g.com_pin 传递一个需要拉高的引脚给 smg_set(seg_bits,com_pin) 函数去拉高;再通过seg_bits 记录拉高的引脚控制的二极管中对应需要拉低的引脚传递给smg_set(seg_bits,com_pin) 函数去拉低。最后,把扫描函数放在 1ms 定时处理函数中:

     

7、清零函数

      
    将记录需要拉低的引脚清除。

三、示例数码管显示字符 00

      
在显示新的字符之前必须调用函数 smg_all_clr_led() 把之前记录的需要拉低的引脚清零。
参考数码管的电路图知道,要显示 00 字符,需要点亮的数码管是 A1、B1、C1、D1、E1、F1 和 A2、B2、C2、D2、E2、F2;因此 1 脚拉高时,需要拉低的是 2 脚和 3 脚;2 脚拉高时,需要拉低的是 1 脚、3 脚、4 脚和 5 脚;其余引脚同理。扫描函数跑一次,实际就是做一次这样的操作。注意,数组元素下标是从 0 开始的,因此 smg_g.buf[0] 记录的是 1 脚拉高后,对应需要拉低的引脚。

显示效果:

     
字符显示函数放在需要的调用的地方即可。
驱动五脚数码管的内容介绍到这里,欢迎大家批评指正。如果大家还有什么其他的问题或者功能想要询问,亦可以在评论区中提出,可以共同探讨,一起进步。




+14

最近谁赞过

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|深圳市光明谷科技有限公司|光明谷商城|Sunshine Silicon Corpporation ( 粤ICP备14060730号|Sitemap

GMT+8, 2024-11-24 19:04 , Processed in 0.158057 second(s), 45 queries .

Powered by Discuz! X3.2 Licensed

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表