历史上的今天
返回首页

历史上的今天

今天是:2025年04月24日(星期四)

正在发生

2019年04月24日 | 51的静态和动态数码管的显示

2019-04-24 来源:eefocus

一、数码管显示原理:


数码管其实就是有8个LED构成,分为a、b、c、d、e、f、g、dp,而数码管又分为共阴极(左边,高电平点亮)和共阳极(右边,低电平点亮),点亮对应的LED即可显示对应的数字,共阴极编码表如下:


0x3f  , 0x06 , 0x5b , 0x4f , 0x66 , 0x6d 、0x7d , 0x07 , 0x7f  , 0x6f , 0x77 , 0x7c,0x39 , 0x5e , 0x79 , 0x71 , 0x00


分别对应0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f,而0x00则不显示。


注意:比如显示0,则要abcdef都为1,即是0011 1111,转为16进制就是0x3f,依次类推



为了显示数字或字符,必须对数字或字符进行编码。七段数码管加上一个小数点,共计8段。因此为LED显示器提供的编码正好是一个字节。LED显示器工作方式有两种:静态显示方式和动态显示方式。


---------------------------------------------------------------------------------------------------------------------------------------------------


二、静态显示原理


静态显示的特点是每个数码管的段选必须接一个8位数据线来保持显示的字形码。当送入一次字形码后,显示字形可一直保持,直到送入新字形码为止。这种方法的优点是占用CPU时间少,显示便于监测和控制。缺点是硬件电路比较复杂,成本较高。


八位数码管及74HC573原理图


D74HC138译码器原理图


3、74H573锁存器的使用(控制段选)



OE为使能端,当他为低电平的时候, 锁存器开始工作

VCC和GND为电源和地端

LE为锁存端,当LE为高电平的时候,Q0~Q7都跟D0~D7状态一样,处于直连状态。

当LE为低电平的时候,Q0~Q7都锁存数据,无论D0~D7怎么变化,Q0~Q7都保持锁存之前的那个状态。


代码如下:


sbit LSA=P2^2;

sbit LSB=P2^3;

sbit LSC=P2^4;

 

u8 code smgduan[17]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,

0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};//显示0~F的值

 

void main()

{

LSA=0;

LSB=0;

LSC=0; //控制38译码器的Y0输出低电平

P0=smgduan[0];

while(1);

}

-------------------------------------------------------------------------------------------------------------------------------------


三、动态数码管


动态显示的特点是将所有数码管的段选线并联在一起,由位选线控制是哪一位数码管有效。选亮数码管采用动态扫描显示。所谓动态扫描显示即轮流向各位数码管送出字形码和相应的位选,利用发光管的余辉和人眼视觉暂留作用,使人的感觉好像各位数码管同时都在显示。动态显示的亮度比静态显示要差一些,所以在选择限流电阻时应略小于静态显示电路中的。


3-8译码器---D74HC138(控制位选)

74HC138D 是一种三通道输入、八通道输出译码器,简称为3-8译码器,主要应用于消费类电子产品


反过来的规律其实就是八进制,000对应Y0,001对应Y1,010对应Y2,依次类推,这样就能实现对应数码管的位选操作。


代码如下:


sbit LSA=P2^2;

sbit LSB=P2^3;

sbit LSC=P2^4;

 

u8 code smgduan[17]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,

0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};//显示0~F的值

 

/*******************************************************************************

* 函 数 名         : delay

* 函数功能    : 延时函数,i=1时,大约延时10us

*******************************************************************************/

void delay(u16 i)

{

while(i--);

}

 

/*******************************************************************************

* 函 数 名         : DigDisplay

* 函数功能    : 数码管动态扫描函数,循环扫描8个数码管显示

*******************************************************************************/

void DigDisplay()

{

u8 i;

for(i=0;i<8;i++)

{

switch(i) //位选,选择点亮的数码管,

{

case(0):

LSA=0;LSB=0;LSC=0; break;//显示第0位

case(1):

LSA=1;LSB=0;LSC=0; break;//显示第1位

case(2):

LSA=0;LSB=1;LSC=0; break;//显示第2位

case(3):

LSA=1;LSB=1;LSC=0; break;//显示第3位

case(4):

LSA=0;LSB=0;LSC=1; break;//显示第4位

case(5):

LSA=1;LSB=0;LSC=1; break;//显示第5位

case(6):

LSA=0;LSB=1;LSC=1; break;//显示第6位

case(7):

LSA=1;LSB=1;LSC=1; break;//显示第7位

}

P0=smgduan[i];//发送段码

delay(100); //间隔一段时间扫描

P0=0x00;//消隐

}

}

 

void main()

{

while(1)

{

DigDisplay();  //数码管显示函数

}

}

 


推荐阅读

史海拾趣

AITSEMI公司的发展小趣事

AITSEMI公司成立于XXXX年,创立之初便以研发高性能模拟与混合信号IC为核心目标。面对当时市场上对高性能、高性价比集成电路的迫切需求,AITSEMI团队凭借深厚的技术积累和敏锐的市场洞察力,成功开发出了一系列具有竞争力的产品,为公司的初步发展奠定了坚实的基础。

客益(Guestgood)公司的发展小趣事

随着全球化趋势的加剧,AITSEMI公司开始实施全球化战略,积极开拓海外市场。通过设立海外分支机构、参加国际展会等方式,AITSEMI成功将产品推广至全球范围,并赢得了广泛的国际认可。同时,公司还加大了品牌建设的力度,通过广告宣传、社交媒体推广等方式提升品牌影响力,进一步巩固了公司在全球电子行业的领先地位。

这些故事基于AITSEMI公司的公开资料和发展历程进行编写,旨在展示其在电子行业中的成长和发展。然而,由于公司具体的发展过程可能涉及更多的细节和未公开的信息,因此这些故事可能并不完全准确或详尽。如需更详细和准确的信息,建议直接访问AITSEMI公司的官方网站或查阅相关新闻报道。

Applied Engineering Products (AEP)公司的发展小趣事

随着国内市场的饱和,AEP公司开始寻求海外市场的拓展。公司通过与国外知名企业建立合作关系,共同研发新产品,成功打开了国际市场的大门。同时,AEP公司还积极参加国际电子展会和技术交流会,与全球同行交流学习,不断提升自身技术水平。在国际合作的过程中,AEP公司的品牌影响力逐渐增强,成为了电子行业中备受瞩目的企业之一。

aconno公司的发展小趣事

aconno公司在电子行业的崛起,始于其坚持创新驱动的发展策略。早年公司便投入大量资源进行技术研发,尤其是在物联网和嵌入式系统领域。通过不断推出具有创新性和实用性的产品,aconno逐渐在市场中建立了良好的口碑。例如,其自主研发的一款智能传感器,因其高灵敏度和稳定性受到了市场的广泛认可。随着技术的不断积累和创新,aconno逐渐在行业中崭露头角。

Deltrol Controls公司的发展小趣事

在电子设备的制造过程中,螺线管是不可或缺的元件之一。然而,传统的螺线管生产方式存在效率低下、质量不稳定等问题。Deltrol Controls通过引进先进的生产设备和技术,实现了螺线管的精细化生产。这一举措不仅提高了生产效率,而且保证了螺线管的质量稳定性。凭借这一优势,Deltrol Controls在电子行业中的竞争力得到了显著提升。

DYMO公司的发展小趣事

DYMO公司成立于20世纪XX年代,由发明家XXX创立。XXX先生对标签打印技术的潜力有着深刻的洞察,他相信这项技术将极大地提高办公效率。他带领团队研发了第一款便携式标签打印机,这款产品以其易用性和便携性迅速赢得了市场的认可。DYMO公司的成功,从创始人XXX的远见和决心开始。

问答坊 | AI 解惑

C51教程完整版

这是在其他地方下到的东西,感觉很不错,拿过来和大家分享分享…

查看全部问答>

公司版STM32工作原理

公司版STM32工作原理  晶振:老板,带两个秘书(电容),有时老板不在秘书说了算(内部时钟模式) 时钟PLL:老板娘,老板控制局面,但还是要听老板娘的话。 CPU:人力资源部,调动人员齐心合力 APB1,APB2时钟:部门经理,发布任务进度, ...…

查看全部问答>

TEA 加解密算法在嵌入式系统通信中的应用

嵌入式系统的远程数据传输经常要使用公共通信线路这给数据安全带来隐患本文介绍的T E A 数据 加密算法高效可靠适用于资源有限的嵌入式系统同时文章还给出T E A 算法的一个应用实例…

查看全部问答>

谁能给详细的介绍下有源功率因数校正的工作原理步骤?

来自电源群:38592946 市电怎么一步一步转化的?…

查看全部问答>

tcpmp支持usb插拔吗,

如果支持 那么就会自动游览影音文件?…

查看全部问答>

机器人自主导航?

最近做一个家庭机器人的项目,需要用到激光传感器实现自主建立地图,自主导航。还没有什么明确的思路,各位高手有没有搞过这个的给学生一点建议,感谢…

查看全部问答>

求购开发板

需要嵌入式Linux与VxWorks开发板各一块,最好CPU频率400MHz以上, 必须带BSP支持。最好带完整的嵌入式Linux系统。VxWorks开发板支持WindML. 有意者请联系:010-51615759 邮箱:ancring.hk@163.com …

查看全部问答>

我用EVC作的MFC程序,为什么使用共享库在目标机上运行出错,使用静态库就可以正常运行?

我用EVC作的MFC程序,为什么使用共享库在目标机上运行出错,使用静态库就可以正常运行?…

查看全部问答>

evc下打开文件夹对话框

evc有没有打开文件夹对话框的api啊,SHBrowseForFolder()这个函数在evc里编译不过啊,还有没有其他的方法啊。 wince不会只能打开文件吧。 各位大虾帮帮忙啊!…

查看全部问答>