【无标题】

数码管就是一种常见用于显示的器件,比如电子时钟中的显示时间的就是数码管, 工业控制设备上数据显示,参数的显示等,在消费类电子上也有广泛的应用。 其实数码管的本质就是发光二极管的组合使用。
数码管和LED灯一样,有两种接法,共阴极和共阳极。
共阴极时,输入高电平时有效,共阳极时输入低电平有效。
数码管的结构及原理如下图所示:
图一
数码管驱动电路分析
图二
点亮过程:假设共阳,那么公共端就要全给高电平 0xff 那么P0 = 0xff 只要把 p2.6 = 1, 这时0xff就会写到Q0-Q7,这时p2.6=0,那么刚才0xff的数据就会锁存到Q0-Q7, 之后 P0的数据不管你怎么改变,输出永远保存刚才的数据。
如,图一所示,
一个数码管上一共可以理解为有八个部分
在共阴极中如果想要输出一个字母b
那么我们可以对照表,能观察出数码管中分别是CDEFG部分显示, 对应的引脚排列是0111 1100
在排列的二进制换算为十六进制,即:0x7c
如,图二所示,
左下角阴: 段选 对应字母连接 (选数字)
右下角阳:位选  WEI 对应 (第 几个)
字符,位选,段选的关系
数码管字符段选位选的关系是指在使用数码管时,通过控制不同的位选信号和字符段信号, 来控制数码管上显示的数字或字符。其中,位选信号用于选择数码管的哪一位进行显示, 而字符段信号则用于控制该位上的哪些段亮起来,从而显示出对应的数字或字符。
例如,在一个双位数码管中,如果要显示数字“12”,则需要先选择第一位进行显示, 然后通过控制字符段信号,让该位上的“1”对应的字符段亮起来, 同时让该位上的“2”对应的字符段亮起来。接着,再选择第二位进行显示, 同样通过控制字符段信号,让该位上的“2”对应的字符段亮起来。
需要注意的是,不同型号的数码管可能存在不同的字符段选位选的关系 因此在使用时需要参考具体的数码管型号和数据手册。
代码

ai代码  在这段代码中,我们使用了共阴极的7段LED显示屏的编码表,并且对编码进行了取反操作。

修改了七段LED中的编码。

修改如图

显示

完整代码:

#include <reg52.h>
#define duan P0
#define uchar unsigned char
sbit wei1=P2^4;
sbit wei2=P2^5;
sbit wei3=P2^6;
sbit wei4=P2^7;




uchar code sz[17]={
    0x3f,  // 数字0的编码
    0x06,  // 数字1的编码
    0x5b,  // 数字2的编码
    0x4f,  // 数字3的编码
    0x66,  // 数字4的编码
    0x6d,  // 数字5的编码
    0x7d,  // 数字6的编码
    0x07,  // 数字7的编码
    0x7f,  // 数字8的编码
    0x6f   // 数字9的编码
};
void delay(unsigned int xms)
{
    unsigned int i,j;
    for(i=xms;i>0;i--)
        for(j=112;j>0;j--);
}
void main()
{
    while(1)
        {
            duan=sz[6];
            wei1=0;
            wei2=0;
            wei3=0;
            wei4=1;
            delay(5);
            duan=sz[1];
            wei1=0;
            wei2=0;
            wei3=1;
            wei4=0;
            delay(5);
            duan=sz[4];
            wei1=0;
            wei2=1;
            wei3=0;
            wei4=0;
            delay(5);
            duan=sz[7];
            wei1=1;
            wei2=0;
            wei3=0;
            wei4=0;
            delay(5);
    }
}




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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值