51单片机基础入门(静态数码管的显示)

一.硬件知识。

首先,我们要理解数码管亮灭的原理。如图所示:

如图,a——g和.DP为一个数码管”8“的一部分。数码管分为共阴极(上)和共阳极接法(下),无论是哪种接法,要让二极管导通,即某一段led亮,都要使阴极为0,阳极为一。

下面以共阴极接法为例,原理图如下:

74HC138译码器控制哪个数码管亮(C为最高位),译码的结果直接是低电平0。

74HC245则控制某一数码管哪段亮

二.代码实现解析。

1.简单使某个数码管亮。

#include <REGX52.H>
void main()
{
    P2_2=1;
    P2_3=1;
    P2_4=0;//使CAB=011,即Y3’=LED4=0,使LED4亮
    P0=0x4F;//使LED4显示3,P2=01001111。
    while(1)
    {
    }
}
结果:

LED灯也会亮是因为P2口也是接LED的模块的,无关紧要。

2.小练习:用独立按键控制LED7,按下K1时,LED4显示3,松开K1时,LED4显示8。

代码实现:

#include <REGX52.H>
void main()
{
    while(1)
    {
        if(P3_1==0)
        {P2_2=1;
        P2_3=1;
        P2_4=0;
        P0=0x4F;
        }
    else
    {
    P2_2=1;
    P2_3=1;
    P2_4=0;
    P0=0xFF;
    }
    }
}

结果展示:

松开K1时:

按下 K1时:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值