第三讲:数码管的静态显示
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++);
}
}
最后我们将程序下载到我们的单片机上面看效果。
以上是关于第三讲:数码管的静态显示的主要内容,如果未能解决你的问题,请参考以下文章