打印
[经验分享]

数码管的真值表

[复制链接]
2171|10
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
shashaa|  楼主 | 2016-1-25 19:44 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
数码管的8个段,我们直接当成8个LED小灯来控制,那就是a、b、c、d、e、f、g、dp一共8个LED小灯。我们通过图5-1可以轻而易举的看出来,如果我们点亮b和c这两个LED小灯,也就是数码管的b段和c段,其他的所有的段都熄灭的话,就可以让数码管DS1显示一个数字1,那么这个时候实际上P0的值的二进制就是0b11111001,十六进制就是0xF9。那么我们写一个程序进去,看看让数码管显示一下看看。
    #include<reg52.h>               //包含寄存器的库文件                  
    sbit  ADDR0 = P1^0;
    sbit  ADDR1 = P1^1;
    sbit  ADDR2 = P1^2;
    sbit  ADDR3 = P1^3;
    sbit  ENLED = P1^4;
   
    void  main()
    {
        unsigned char j = 0;
        unsigned int  i = 0;
        
        ENLED = 0;
        ADDR0 = 0;
        ADDR1 = 0;
         ADDR2 = 0;
        ADDR3 = 1;           //74HC138开启三极管Q17           
        while(1)             //程序死循环  
        {
             P0 = 0xF9;      //打开数码管b和c段   
        }
}
大家把这个程序编译一下,下载到单片机里会发现,最右侧的数码管成功显示1这个数字。
同样的方法,我们可以把其他的数字都成功的在数码管上显示出来,而数码管显示的数字对应给P0的赋值,我们叫做数码管的真值表。我们来列一下我们这个电路图的数码管真值表,注意,这个真值表里显示的数字都不带小数点。
表5-1 数码管真值表
数字
0
1
2
3
4
5
6
7
真值表
0xC0
0xF9
0xA4
0xB0
0x99
0x92
0x82
0xF8
数字
8
9
A
B
C
D
E
F
真值表
0x80
0x90
0x88
0x83
0xC6
0xA1
0x86
0x8E
大家可以把上边那个数码管显示1的那个程序中的P0的赋值随便修改成我们表5-1中的真值表里的数字试试看,把数码管显示的数字显示出来。
沙发
qiangweii| | 2016-1-25 19:50 | 只看该作者
数码管的段选择(即该段的亮灭)是通过P0口控制,经过74HC245驱动的。

使用特权

评论回复
板凳
litengg| | 2016-1-25 20:04 | 只看该作者
数码管通常是用来显示数字的,我们板子上的6个数码管,习惯上我们称之为6位,那控制位选择的就是74HC138了

使用特权

评论回复
地板
androidbus| | 2016-1-25 20:24 | 只看该作者
数码管静态显示是对应动态显示而言的,静态显示对于一两个数码管还行,多个数码管,静态显示实现的意义就没有了。

使用特权

评论回复
5
feiqi1| | 2016-1-25 20:37 | 只看该作者
数码管共有a,b,c,d,e,f,g,dp这8个段,而实际上,这8个段每一段都是一个LED小灯,所以数码管就是由8个LED小灯所组成的。

使用特权

评论回复
6
rreedd00| | 2016-1-25 20:49 | 只看该作者
可用于编程实现数码管静态显示秒表的倒计时。

使用特权

评论回复
7
hfdy01| | 2016-1-25 21:09 | 只看该作者
了解数码管的原理,掌握数码管的真值表的计算方法。

使用特权

评论回复
8
zhouhuanの| | 2016-1-25 21:18 | 只看该作者
是的。。。数码管通常是用来显示数字的,我们板子上的6个数码管,习惯上我们称之为6位,那控制位选择的就是74HC138了。而数码管内部的8个LED小灯我们称之为数码管的段,那么数码管的段选择(即该段的亮灭)是通过P0口控制,经过74HC245驱动。

使用特权

评论回复
9
handleMessage| | 2016-1-25 21:19 | 只看该作者
而数码管显示的数字对应给P0的赋值,我们叫做数码管的真值表。

使用特权

评论回复
10
sourceInsight| | 2016-1-25 21:33 | 只看该作者
看看,感觉挺基础的:lol

使用特权

评论回复
11
CallReceiver| | 2016-1-25 21:35 | 只看该作者
确实,一般用数组来存储数码管真值表。。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

142

主题

1494

帖子

6

粉丝