51单片机之共阳极静态数码管

经过一番探索和学习,明白了静态数码管的点亮原理。下面分享我的学习历程。

  • 原理图说明

    在51单片机的电路图中,有p20、p21、p22、p23的使能端,就是相当于4个开关。

    P0口有8个端子分别为数码管的八段led, 也就是说控制使能端,可以控制这八个端子,不同的led亮则对应不同的数字或者是字母。
    在这里插入图片描述

    在单片机中,数码管的输出p0~p8,对应下图的P0端。
    在这里插入图片描述

  • 效果图显示
    这里我令p20、p21、p22为高电平1、p23为低电平为0,即让最右边的数码管使能可以使用,显示的数字可定义一个数组存放1~9、a、b、c 、e、f。不同的单片机所使用的数码管不同(我这里的共阳极的数码管)
    在这里插入图片描述

  • 开源代码

//头文件
#include<reg51.h>


//定义数组
typedef  unsigned char u16; 
typedef  unsigned int  u18;


//单片机的管脚,分别连着对应的数码管
sbit p20=P2^0;   
sbit p21=P2^1;
sbit p22=P2^2;
sbit p23=P2^3;


//共阳数码管编码表
u16 code smaguan[16] ={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,
                        0xc6,0xa1,0x86,0x8e};


//主程序
void main()
{
   	p20=1;	//数码管不亮
	p21=1;	//数码管不亮
	p22=1;	//数码管不亮
	p23=0;	//数码管亮
    P0=smaguan[15]; //p23对应数码管显示字母"F" ,共阳数码管编码表中可查
    while(1);
}


  • 1
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值