c语言单片机数码管显示0234,数码管动态显示。

思路:

用四段数码管显示一个四位数。

1、把要显示的数字的每一位都分开,用一个数组val[4]存起来,如val[0] = 千位, val[1] = 百位,

val[2] =十位, val[3] = 个位。

2、段选和位选通过查表的方式。将每位数字通过循环的方式输出。

3、原理是人眼的视觉暂留,所以需要确定扫描的时间间隔,时间间隔用延时函数delay()。这个延时函数时间过长,数码管看起来就是全亮。如果时间太短,会出现闪烁,合适的时间自己去试。

4、在点亮每位数码管之间需要延时同时还需要消隐。例如P0 = 0xff 或者是P0=0x00,具体取决于共阴还是共阳。

电路:

四位数码管,段选接P0口,位选分别接P34~P37连续接

例程:

#include

typedef unsigned char uchar;

typedef unsigned int uint;

//段选,用查表的方式

uchar code SegSelect[] =

{~0x3f,~0x06,~0x5b,~0x4f,~0x66,~0x6d,~0x7d,~0x07,~0x7f,~0x6f,~0x40};//共阳

//uchar code SegSelect[] =

{0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x40};//共阴

uint g_num = 0;

uchar g_count = 0;

sbit wei0 

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值