嵌入式——静态数码管显示

本文介绍了LED数码管的工作原理,包括共阴极和共阳极两种连接方式,并结合138译码器实现8个数字的控制。通过使用双向数据缓冲器和数组,简化了数字显示代码。同时,讲解了如何利用子函数提高代码复用性和结构优化。
摘要由CSDN通过智能技术生成

数码管介绍

LED数码管:数码管是一种简单、廉价的显示器,是由多个发光二极管封装在一起组成“8”字型的器件

有两种连接方式:共阴极和共阳极

138译码器:用三个输入端口控制8个输出端口

双向数据缓冲器:用来进行数据缓冲

数组:把相同类型的一系列数据统一编制到某一组别中,可以通过数组明加索引号简单快捷的操作大量数据

子函数:将完成某一种功能的程序代码单独抽取出来形成一个模块,在其它函数中可随时调用此模块,以达到代码的复用和优化程序结构的目的。

静态显示代码:

#include <REGX52.H>
//0~9¶ÔÓ¦µÄÊý×Ö±í
unsigned char NixieTable[]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F};

void Nixie(unsigned char Location,Number)
{
    //µÚ¼¸¸öλÖýøÐеãÁÁ
    switch(Location)
    {
        case 1:P2_4=1;P2_3=1;P2_2=1;break;
        case 2:P2_4=1;P2_3=1;P2_2=0;break;
        case 3:P2_4=1;P2_3=0;P2_2=1;break;
        case 4:P2_4=1;P2_3=0;P2_2=0;break;
        case 5:P2_4=0;P2_3=1;P2_2=1;break;
        case 6:P2_4=0;P2_3=1;P2_2=0;break;
        case 7:P2_4=0;P2_3=0;P2_2=1;break;
        case 8:P2_4=0;P2_3=0;P2_2=0;break;
    }
    P0=NixieTable[Number];
}
void main()
{
    Nixie(7,2);//µÚ¼¸¸öλÖã¬ÏÔʾʲôÊý×Ö
    while(1)
    {
        
    }

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值