社区导航

 

搜索
查看: 2695|回复: 5

[原创] 简单的数码管驱动方法

[复制链接]

3572

TA的帖子

6

TA的资源

裸片初长成(初级)

Rank: 10Rank: 10Rank: 10

荣誉会员勋章

发表于 2012-12-21 23:31 | 显示全部楼层 |阅读模式
近日为师弟做的一个数码管驱动。以前用数码管不多,没有仔细考虑使用的通用性及方便,今天整理出一个方法,希望能对新手有点儿帮助!

数码管显示函数,在定时器中断中调用,我用的是毫秒中断,
    void Display() 在定时器中断中调用,不需其他处理。最多可驱动8个数码管,如需要更多可自行修改
     需要显示的数据放在Disp_Dat[DISPNUM];里
      该驱动使用时有三个控制变量 Dsip_Hide,Disp_Flash,Disp_Point   
      Dsip_Hide  消隐控制变量 ; 每一位控制一个数码管,为1表示该位消隐,此时该位数码管不显示。比如0x01表示第一位数码管不显示
      Disp_Flash  闪烁控制变量 ; 每一位控制一个数码管,为1表示该位闪烁,此时该位数码管处于闪烁状态,闪烁周期为1s,用法同Dsip_Hide
      Disp_Point  小数点显示控制变量:每一位控制一个数码管,为1表示该位显示小数点,用法同Dsip_Hide
      
    说明: 由于次驱动方法使用消隐控制位实现数码管的闪烁,因此在退出闪烁状态时消隐控制位可能处于消隐状态。是实际使用时退出消隐状态时注意把消隐控制位清零
编辑1.c (5.35 KB, 下载次数: 46)

回复

使用道具 举报

3365

TA的帖子

420

TA的资源

五彩晶圆(中级)

Rank: 8Rank: 8

荣誉会员勋章

发表于 2012-12-22 13:16 | 显示全部楼层
不错不错~。学习

回复

使用道具 举报

2万

TA的帖子

333

TA的资源

版主

Rank: 6Rank: 6

发表于 2012-12-23 10:02 | 显示全部楼层
这是楼主的经验总结也,,,一定要下来看看

点评

不是经验,为新手做的,方便使用而已!没多少技术含量,楼上见笑了  详情 回复 发表于 2012-12-23 10:37

回复

使用道具 举报

3572

TA的帖子

6

TA的资源

裸片初长成(初级)

Rank: 10Rank: 10Rank: 10

荣誉会员勋章

 楼主| 发表于 2012-12-23 10:37 | 显示全部楼层

回复 板凳 qwqwqw2088 的帖子

不是经验,为新手做的,方便使用而已!没多少技术含量,楼上见笑了

点评

下载了,怎么打不开啊,有个问题请教下,为什么最多只能驱动8位,我用12位的要怎么办呢?  详情 回复 发表于 2014-10-25 11:56

回复

使用道具 举报

3

TA的帖子

0

TA的资源

一粒金砂(初级)

Rank: 1

发表于 2014-10-25 11:56 | 显示全部楼层
jishuaihu 发表于 2012-12-23 10:37
不是经验,为新手做的,方便使用而已!没多少技术含量,楼上见笑了

下载了,怎么打不开啊,有个问题请教下,为什么最多只能驱动8位,我用12位的要怎么办呢?

回复

使用道具 举报

3572

TA的帖子

6

TA的资源

裸片初长成(初级)

Rank: 10Rank: 10Rank: 10

荣誉会员勋章

 楼主| 发表于 2014-10-25 21:05 | 显示全部楼层
打不开应该是下载出问题了吧。重新下载就行了。
至于为什么最多只能驱动8位,是因为我就做了8位,你想用12位就把对应8位所需的变量做成12位就行了。

回复

使用道具 举报

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

关闭

站长推荐上一条 1/6 下一条

  • 论坛活动 E手掌握

    扫码关注
    EEWORLD 官方微信

  • EE福利  唾手可得

    扫码关注
    EE福利 唾手可得

Archiver|手机版|小黑屋|电子工程世界 ( 京ICP证 060456 )

GMT+8, 2020-3-30 18:04 , Processed in 0.236358 second(s), 21 queries , Gzip On, MemCache On.

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