第三讲:数码管的静态显示

Posted 慕青山

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了第三讲:数码管的静态显示相关的知识,希望对你有一定的参考价值。

首先我们先了解单片机的引脚

再看一下我们单片机里面的显示器及其接口

看到我们单片机上面的LED显示器,分为共阳极、和共阴极两种不同的接线方法

a、b、c、d、e、f、g、dp/h

 了解数码管之后,我们再看单片机和数码管之间的连线方式。

从这个图上我们可以看到P20、P21、P22、P23(位选码)是分别控制四个显示位置的。

P00~P07(段选码)对应了数码管上的a~dp

 这里我们可以就用P0口来控制,因为我们的单片机一共就只有4个口P0、P1、P2、P3,为了节约可用的引脚,所以我们可以只用P0来控制

那我们接下来先来一个简单的,先让第一个数码管显示1,也就是我们的P20

先写好我们的开头

#include<reg51.h>
void main()
{
    while(1)
    {
    
    }
}

那么我们想让我们的第一个数码管亮,首先就得启动它,不启动它,那再怎么也亮不了

#include<reg51.h>
sbit P20=P2^0;
void main()
{
    while(1)
    {
    P20=1;
    }
}

启动好了之后,就是我们需要让它亮什么的问题,如果让它亮1

那么我们需要注意的是1是哪几个LED灯亮,通过之前的这个图,我们可以看到如果想显示1,那么我们需要的是b、c这两个LED灯亮,所以我们把这两个灯输入低电平也就是0

那我们可以得到11111001这个二进制,但我们要转换成16进制所以得到是f9

我们将这个也写进去,这里的P0是可以位寻址的。

#include<reg51.h>
sbit P20=P2^0;
void main()
{
    while(1)
    {
    P20=1;
    P0=0xf9;
    }
}

 在确定好了显示内容之后,但还得加一个for,

#include<reg51.h>
sbit P20=P2^0;
int i;
void main()
{
    while(1)
    {
    P20=1;
    P0=0xf9;
    for(i=0;i<100;i++);
    }
}

最后我们将程序下载到我们的单片机上面看效果。

以上是关于第三讲:数码管的静态显示的主要内容,如果未能解决你的问题,请参考以下文章

第三讲:数码管的静态显示

第三讲:数码管的静态显示

16位汇编第三讲 分段存储管理思想

FPGAer:静态数码管显示实战

FPGA的学习:数码管静态显示的实现

FPGA的学习:数码管静态显示的实现