历史上的今天
返回首页

历史上的今天

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

2020年04月04日 | 51单片机 数码管模块

2020-04-04 来源:eefocus

1.原理图

共阴极和共阳极:


简单来说,如果是共阴极的话,我们想要驱动某一个led灯,就应该给另一端加高电平,共阳极的话就加低电平


数码管显示分两种:静态显示和动态显示;


静态驱动也称直流驱动。静态驱动是指每个数码管的每一个段码都由一个单片机的I/O端口进行驱动,或者使用如BCD码二-十进制译码器译码进行驱动。静态驱动的优点是编程简单,显示亮度高,缺点是占用I/O端口多,如驱动5个数码管静态显示则需要5×8=40根I/O端口来驱动。


动态显示:动态驱动是将所有数码管的8个显示笔划"a,b,c,d,e,f,g,dp"的同名端连在一起,另外为每个数码管的公共极COM增加位选通控制电路,位选通由各自独立的I/O线控制,当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是那个数码管会显示出字形,取决于单片机对位选通COM端电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位就显示出字形,没有选通的数码管就不会亮。通过分时轮流控制各个数码管的的COM端,就使各个数码管轮流受控显示。在实际应用中我们都是采用动态显示方式,不管你要显示几位,我们都只需要8+1+1 = 10个引脚。


(动态显示的原理:余辉效应。


在轮流显示过程中,每位数码管的点亮时间为1~2ms,由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感,动态显示的效果和静态显示是一样的,能够节省大量的I/O端口,而且功耗更低。只是可能亮度没有静态显示那么亮,但是影响不大)


74HC573芯片

                       

74HC573是八进制 3 态非反转-----“透明”锁存器


用于锁存引脚数据,实现引脚复用,这样的话,我们的P0端口就可以用于先后提供数码管段选和位选的数值。


我们结合数码管原理图以及上面两个图可以得出,当LE引脚(即单片机的P2^6,P2^7两个引脚)为高电平时,输出引脚Q是输入端D的值,当LE引脚为低电平时,75HC573芯片会将数据锁存(可看成在输出引脚上保存上一次的输入数据),


所以如果我们要写数据,可通过P2^6、P2^7两个引脚来选择芯片,通过置高电平后再置低电平的方式,实现P0端口的复用。


好了,知识讲到这里就够了,我们直接上代码


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

*本代码实现的是,重复从左往右依次显示0-7

*即第一位显示0,然后第一位暗,接着第二位显示1

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

#include

sbit l1 = P1^0;

sbit duan = P2^6;

sbit wei = P2^7;

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

*这个是随便写的延时函数,需要精确到几ms的话,可以参照

*网上的延时函数写法,这里只是起到简单延时的作用

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

void delay(int n)   

{

n = n *10000;

while(n--) ;

}

void main()

{

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

        *段选是共阴极

        *位选是共阳极

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

        int j ;

int a[8] = {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07};//数字0-7的段选编码

        int b;

while(1)

{

b = 0xfe;  //选中第一位显示

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

  {

  P0 = a[j];   //段选

duan = 1;

duan = 0;

P0 = b;      //位选

wei = 1;

wei = 0;

delay(10);

b = (b<<1)|0x01;  //每次往右移动一位显示

  }

}


本人所写的有关51单片机的前面部分理论是从观看“亚博科技”的资料所整理的

推荐阅读

史海拾趣

Component Research Co公司的发展小趣事

随着公司规模的扩大,Component Research Co面临着管理上的挑战。为了提升运营效率,公司引入了一系列创新管理措施,如引入先进的生产管理系统、优化供应链管理、推行员工激励机制等。这些措施的实施使得公司的运营效率得到了显著提升,产品质量也得到了更好的保障。

绿宝石(BERYL)公司的发展小趣事

绿宝石公司自创立之初,便致力于电子材料领域的研发。某年,公司研发团队成功开发了一种具有优异性能的绿宝石电子材料,这种材料在高频、高温等极端环境下仍能保持稳定性能,为电子行业带来了革命性的变革。随着这一技术的广泛应用,绿宝石公司在行业内逐渐树立了技术领先的形象,市场份额稳步上升。

FILTRONETICS Inc公司的发展小趣事

为了确保产品质量,FILTRONETICS始终将质量管理放在首位。公司建立了完善的质量管理体系,从原材料采购、生产制造到产品检测、售后服务等各个环节都严格把关。同时,公司还引入了先进的检测设备和技术手段,对产品进行全方位的质量检测和控制。这些措施不仅确保了产品的稳定性和可靠性,也提升了公司的品牌形象和市场声誉。

Cornell Dubilier公司的发展小趣事

在经历了环境污染问题后,Cornell Dubilier公司开始重视可持续发展和环境责任。公司采取了一系列措施来减少生产过程中的环境污染,包括改进生产工艺、使用环保材料、加强废物处理等。同时,公司还积极参与环保公益活动,推动电子行业的绿色发展。这些努力不仅提升了公司的社会形象,也为电子行业的可持续发展做出了贡献。

这五个故事涵盖了Cornell Dubilier公司在电子行业发展的不同方面,包括创立与早期发展、运营与污染问题、技术革新与产品应用、智能化生产与合作以及可持续发展与环境责任。这些故事展示了公司在电子行业中的成长和变革,也反映了公司在面对挑战时所采取的积极措施和取得的成果。

G-Mag Usa公司的发展小趣事

随着全球对环境保护意识的增强,G-Mag在2010年决定实施绿色转型战略。公司投入大量资源研发环保型电子产品和制造工艺,如开发可降解材料用于产品包装、优化生产线以减少能源消耗和废弃物排放等。同时,G-Mag还积极推广循环经济理念,与上下游企业合作建立废旧电子产品回收体系。这些举措不仅提升了G-Mag的品牌形象,还为其赢得了更多消费者的青睐和政府的支持。在绿色转型的推动下,G-Mag实现了可持续发展与经济效益的双赢。

Greenray Industries Inc公司的发展小趣事

GreenTech还致力于绿色照明技术的研发和推广。公司推出了一系列高效节能的LED照明产品,包括智能路灯、室内照明系统等。这些产品不仅具有长寿命、低能耗等优点,还通过智能控制实现了按需照明,进一步降低了能耗。GreenTech积极与各地政府和企业合作,推动绿色照明技术在城市照明、工业照明等领域的广泛应用,为节能减排和环境保护做出了积极贡献。

问答坊 | AI 解惑

电工口诀

巧用低压验电笔 低压验电笔是电工常用的一种辅助安全用具。用于检查500V以下导体或各种用电设备的外壳是否带电。一支普通的低压验电笔,可随身携带,只要掌握验电笔的原理,结合熟知的电工原理,灵活运用技巧很多。 (1)判断交流电与直流 ...…

查看全部问答>

单芯片的一致多处理(图)

随着SoC设计元件的出现,如MIPS32 1004K一致处理系统(CPS),单操作系统条件下的片上对称多处理(SMP)已经成为了一种真正的设计选择,而系统架构师也需要了解其优点和局限性。 任务越多,越需要并行 复杂的模块化多任务处理嵌入式软件系统经常 ...…

查看全部问答>

数据采集卡的问题

我用的是PCL-812pg的卡,里面PT_EnableEvent 的count搞不清,请问下,count是指多 少个中断发中断事件给用户,那么这个count的大小是否必须小于buffer的一半,否则b uffer都满了,还没发中断事件给用户,checkevent也检测不到,是不是这个意思呀 ...…

查看全部问答>

呈现三维图像

想请教大家一下,一个电机带动一个镜子高速旋转,有一点阵,用单片机控制每个灯的亮灭时间,使之在镜子中呈现一个三维立体图,我第一次做东西,希望大家给点建议,谢谢…

查看全部问答>

谈谈嵌入式系统PCB设计中的阻抗匹配与0欧电阻

谈谈嵌入式系统PCB设计中的阻抗匹配与0欧电阻  1、阻抗匹配阻抗匹配是指信号源或者传输线跟负载之间的一种合适的搭配方式。根据接入方式阻抗匹配有串行和并行两种方式;根据信号源频率阻抗匹配可分为低频和高频两种。(1)高频 ...…

查看全部问答>

请教哪位大哥:写flash到第二page末尾常现HardFaultException

存储一些数据到flash,做了一个保护机制,几个页面循环写入,每个页面存储48个u8 str[42]的数据, 写到第二page末尾常常会出现HardFaultException,单步跟踪写flash本身没有问题,跳出子函数后不一会就会出现。写到第88笔数据从这个 ...…

查看全部问答>

针对Altera Stratix IV EP4SGX70 和 EP4SGX110 器件的电源参考设计

The Altera® Stratix™ IV FPGA EP4SGX70及EP4SGX110参考设计展示了TI配电系统插入式电源模块。…

查看全部问答>

[请教]IAR使用的问题

我在使用ez430-RF2500的时候,安装了光盘中自带的IAR环境后,在IAR中打开自带的 eZ430-RF2500 Wireless Sensor Monitor IAR Source v1.02中的工程文件的时候, 依次报错 Memory definition format error in DDF file C:\\Program Files\\IAR System ...…

查看全部问答>

串口通信的问题

用C2000与PC通信,用调试助手调试很正常,但是两个C2000通信就经常抽风了。 我看了一下寄存器,经常开始时就出错,于是程序加了SCI复位。但是后来发现有时候FIFO只接受了一个数值后就不再接受了,我发送一帧正好填满FIFO。 此时没有错误,也就不 ...…

查看全部问答>

最近流行呼吸灯啦

刚看了PWM的一些文档,想到最近呼吸灯比较流行,调试了一会还真的出效果啦^ ^上一下代码:晶振需要,默认的P1.6脚接LED2。每16ms增加/减少PWM的占空比。另外,几个帖子都是用P1.2引脚的,其实第二功能是TAx.y的都可以哦。 [ 本帖最后由 elulis 于 ...…

查看全部问答>