51单片机——数码管动态显示

1、共阴共阳定义

LED 共阴极指的是LED共同的接点是GND(接地),而共阳极指的是LED共同的接点是电源。LED亮灯的条件是两端有电势差。

最后一段h/dp小数点在高位,第一段a在低位

hgfedcba=xxxxxxxx

1.共阴极:

当LED另一端接入5V电源的时候,与另一端产生电势差因此会有电流从正极流到GND,最后会亮灯

当LED另一端接入0V的时候,则不会产生电势差也就不会亮灯。

优点是符合人类的正向思维,送电ON就是开,OFF就是关。

2.共阳极:

当LED另一端接入5V电源的时候,不会产生电势差因此不会亮灯。

当LED另一端接入0V的时候,会产生电势差,电流会从5V端流经LED到0V端,会亮灯。

在编写单片机的时候,如果是共阳极的LED。则00001111表示左4个灯亮右4个灯灭

2、共阳极与共阴极LED驱动方法驱动方法

文章简单介绍了共阳极和共阴极两种LED驱动方法

单片机控制的LED数码管动态驱动电路

现在让我们用实验板上的两个数码管来做一个循环显示00~99数字的实验,先来完成必要的硬件部分,

数码管有共阴和共阳的区分,单片机都可以进行驱动,但是驱动的方法却不同,并且相应的0~9的显示代码也正好相反。

首先我们来介绍两位共阳数码管的单片机驱动方法,电路如下图:

网友可以看到:P2.6和P2.7端口分别控制数码管的十位和个位的供电,当相应的端口变成低电平时,驱动相应的三极管会导通,+5V通过IN4148二极管和驱动三极管给数码管相应的位供电,这时只要P0口送出数字的显示代码,数码管就能正常显示数字。

因为要显示两位不同的数字,所以必须用动态扫描的方法来实现,就是先个位显示1毫秒,再十位显示1毫秒,不断循环,这样只要扫描时间小于1/50秒,就会因为人眼的视觉残留效应,看到两位不同的数字稳定显示。

下面我们再介绍一种共阴数码管的单片机驱动方法,电路如下图

网友可以看到:+5V通过1K的排阻直接给数码管的8个段位供电,P2.6和P2.7端口分别控制数码管的十位和个位的供电,当相应的端口变成低电平时,相应的位可以吸入电流。单片机的P0口输出的数据相当于将数码管不要显示的数字段对地短路,这样数码管就会显示需要的数字。

网友可以看到,共阴数码管的硬件更简单,所以在批量生产时,硬件开销小,节省PCB面积,减少焊接工作量,降低综合成本,所以采用共阴数码管更有利于批量生产,现在销售的试验板都是采用共阴数码管了.

《显示方式》

静态显示:

他并不是指显示数据只能静止不变的意思,而是指COM口无需扫描,也就是COM口无需电平的变化,也就是不需片选的时候;这种方式往往应用在只有一个数码管的时候,因为只有一个数码管,COM口设置完之后,显示数据只受a、b。。。。g、dp段选线电压控制,只需改变段选线数据即可显示相应的数据;因此称为静态显示;

动态显示

当我们有多个数码管参与显示同一数据时,因为所有数码管的相同段选线都是连在一起的,那为什么要连在一起?你想啊,你每个数码管都单独分配7个段选线控制IO口,就问你,你芯片IO口资源够吗?!所以人家就利用COM口的片选功能,所有数码管共用段选线,再利用COM实现对数码管的片选,这样每增加一个数码管,只需增加一个COM口的资源;

软件则只需每次只选择一个COM有效(一个数码管有效),并且根据数据改变seg口输出数码管,其他数码管无效,只要数码管的刷新频率够快,在人眼里就是点亮的(人视网膜余晖效应),这个就是常说的COM扫描频率,这样子,大家轮着利用COM的片选功能使用seg口输出数据,轮着显示,只要显示频率够快,表现出来的就是多段数码管一起点亮;这就是动态显示,也就是扫描模式显示;知道这个原理,其实很多LCD都是差不多的,只不过别人是用驱动芯片驱动的,我们只是用IO模拟驱动的;
————————————————
版权声明:本文为CSDN博主「airX嵌入式(微信公众号同名)」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_22520215/article/details/116275324

数码管的显示方式有两种:静态显示和动态显示

1.静态显示方式。

所谓静态显示就是指无论是多少位数码管,同时处于显示状态。 当单片机系统中使用静态数码管显示时,需要在每一个数码管上添加一个锁存器,当需要某个数码管显示其他内容时,只需要修改与其相连的锁存器的值即可。 当数码管处于静态显示方式时,所有位选线(数码管的公共端)连接在一起,而各个数码管的段选线(数码管上各笔段的引出线)是相互分离的。
静态显示的优点是:数码管显示无闪烁,亮度高,软件控制比较容易;缺点是:需要的硬件电路较多(每一个数码管都需要一个锁存器),如果在全国大学生电子设计竞赛中使用,将造成很大的不便,同时由于所有数码管都处于被点亮状态,所以需要的电流很大,当数码管的数量增多时,对电源的要求也就随之增高。所以,在大部分的硬件电路设计中,很少采用静态显示方式。

51单片机——数码管动态显示
2.动态显示方式。

所谓动态显示,是指无论在任何时刻只有一个数码管处于显示状态,每个数码管轮流显示。 当数码管处于动态显示时,所有位选线分离,而每个数码管的各条段选线相连。当需要显示数字或字符时,需要将所有数码管轮流点亮,这时对每个数码管的点亮周期有了一个较严格的要求:由于发光体从通入电流开始点亮到完全发光需要一定的时间,叫做响应时间,这个时间对于不同的发光材质是不同的,通常情况下为几百微秒,所以数码管的刷新周期(所有数码管被轮流点亮一次的时间)不要过短,这也与数码管的数量有关,一般的数码管的刷新周期应控制在5ms~10ms,即刷新率为200Hz~100Hz,这样既保证了数码管每一次刷新都被完全点亮,同时又不会产生闪烁现象。
动态显示的优点是:硬件电路简单(数码管越多,这个优势越明显),由于每个时刻只有一个数码管被点亮,所以所有数码管消耗的电流较小;缺点是:数码管亮度不如静态显示时的亮度高,例如有8个数码管,以1秒为单位,每个数码管点亮的时间只有1/8秒,所以亮度较低;如果刷新率较低,会出现闪烁现象;如果数码管直接与单片机连接,软件控制上会比较麻烦等。
在应用数码管进行显示时,首先需要考虑的问题就是驱动电流,与发光二极管相同,数码管的发光段也需要串联限流电阻,以共阳极数码管为例,串联的限流电阻阻值越大,电流越小,亮度越低;电阻值越小,电流越大,亮度越高。在使用限流电阻时需要在每一个段线上都串联限流电阻,而不要在公共端上串联电阻,如果只在公共端上串联一个限流电阻,则在显示不同的数字时,将会造成数码管亮度的不同。 由于在动态显示时,每个数码管的段选线是对应连接在一起的,同时由于数码管不存在同时点亮状态,所以之需要在段选线的引出端上串联限流电阻即可, 1.静态显示驱动电路。
数码管的静态显示虽然硬件电路较多,但与单片机之间的连接比较简单,例如可以使用串行转并行芯片74LS164作为数码管的驱动,74LS164之需要与单片机的串行接口相连接即可, 2.在动态显示时,如果将数码管直接与单片机连接,除了硬件电路简单外,似乎并没有太多的优点。但是当我们选用专用的数码管显示驱动芯片时,其优点就显现出来了。目前常见的数码管显示芯片有8279、MAX7219、HD7279、CH451等。这些芯片的主要特点是:数码管的显示全都采用动态扫描的方式,都可以连接8个数码管,控制方式都比较简单。现面对这几个芯片进行简单的介绍。
8279为Intel公司生产的较早期的产品,是可编程的键盘、显示接口芯片。它既具有按键处理功能,又具有自动显示功能,在单片机系统中应用很广泛。8279内部有键盘FIFO(先进先出堆栈)/传感器,双重功能的8×8=64ByteRAM,键盘控制部分可控制8×8=64个按键或8×8阵列方式的传感器。该芯片能自动消抖并具有双键锁定保护功能。显示RAM容量为16×8,即显示器最大配置可达16位LED数码显示(有关键盘部分内容将在2.4节中详细介绍)。8279与单片机之间采用三总线(数据总线、地址总线和控制总线)结构连接,在用8279与数码管连接时,还需要连接驱动器,同时由于价格较高,所以现在使用的很少。

3、单片机程序

C语言数码管是共阴共阳程序,成功C DIY 单片机(2)51单片机直接驱动共阴极数码管..._毅燃君的博客-CSDN博客

自制51单片机共阳共阴数码混用计算器(超详细的注释)-C文档类资源-CSDN下载

74hc164驱动数码管c语言程序,74hc164驱动共阴数码管与共阳数码管_74hc164驱动源程序..._weixin_39867559的博客-CSDN博客

4、电路

【模拟电路】ULN2003驱动共阴或共阳数码管的思考_隔壁家的王小琪的博客-CSDN博客_uln2003驱动数码管电路图

共阴/共阳数码管 ----- 学习笔记_旭日初扬的博客-CSDN博客_共阴极真值表

数码管是如何亮起来的?跟液晶屏又有什么关系?_airX嵌入式(微信公众号同名)的博客-CSDN博客

如何点亮数码管? - 知乎

51单片机——LED流水灯_马己的博客-CSDN博客_单片机流水灯

LED 数码管共阴共阳的区别+静态/动态显示相关推荐

  1. 七段显示器 0.28 0.36 0.39 0.4 0.56 0.8英寸 1/2/3/4位 共阴共阳 数码管

    七段显示器 0.28 0.36 0.39 0.4 0.56 0.8英寸 1/2/3/4位 共阴共阳 数码管 0.28英寸 2位数码管 0.28英寸 3位数码管 0.28英寸 4位数码管 0.32英寸 ...

  2. 共阴/共阳数码管 ----- 学习笔记

    一.数码管的动态显示原理 动态显示的特点是将所有数码管的段选线并联在一起,由位选线控制是哪一位数码管有效.选亮数码管采用动态扫描显示,所谓动态扫描显示即轮流向各位数码管送出字形码和相应的选位,利用发光 ...

  3. c语言8 8点阵,共阴共阳的疑问解答以及8*8LED点阵基础知识讲解

    描述 最近需要用点阵做个小实验,就去买了几块,当时店家问我一句"你要共阳的还是共阴的".当时我就犯嘀咕啦,这也分共阴和共阳?共阳的转90度不就和共阴的一样啦,共阴的转90度不就和共 ...

  4. C语言数码管是共阴共阳程序,成功C DIY 单片机(2)51单片机直接驱动共阴极数码管...

    C DIY :completely Do It Yourself, 完全地自己动手做 (原创:守口如平) 单片机驱动Led数码管(或n个Led)应该算是单片机经典试验之一了. 数码管种类: 少量的数码 ...

  5. 共阴共阳数码管(及74HC595控制)

    一.共阳数码管 共阳数码管段表  0xc0,/*0*/                             0xF9,/*1*/                             0xA4, ...

  6. C语言数码管是共阴共阳程序,单片机程序怎么把共阴数码管程序改成共阳的

    #include #define uchar unsigned char #define uint unsigned int //数码管位端口定义 sbit w1=P2^0; sbit w2=P2^1 ...

  7. 数码管 C语言 共阴共阳编码表

    1.共阳:              char code table[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0x ...

  8. 51单片机c语言共阳断码表,单片机的共阴共阳8段码的原理及显示代码

    描述 共阴极数码管 1.共阴极数码管的结构 共阴极数码管是把所有led的阴极连接到共同接点com,而每个led的阳极分别为a.b.c.d.e.f.g及dp(小数点),如下图所示.图中的8个led分别与 ...

  9. 奥松机器人PHP,Arduino四位七段数码管 LED数码管 4位共阳数码管 显示屏模块

    产品介绍: 四位七段数码管是由一个12管脚的4位7段共阳极数码管和一个控制芯片TM1637构成,模块采用沉金工艺,外观更加美观:采用防插反接口,操作更加安全:插口一边有大写字母I表示该模块采用IIC协 ...

最新文章

  1. Android通过ShareSDK实现新浪微博分享
  2. 【基础不牢地动山摇】一遍记住 Java 面试中常用的八种排序算法与代码实现!...
  3. Css的filter常用濾波器屬性及語句大全
  4. 科学计算:Python VS. MATLAB(3)----线性代数基础
  5. 用paddleocr识别汉字_汉字设计中的度量标准(三)
  6. 1113:不与最大数相同的数字之和
  7. python处理xml文件_Python解析并修改XML文件
  8. sama5d3 环境检测 gpio--yk测试
  9. 用matlab画大数据曲线_基于MATLAB的大数据分析
  10. 从CentOS6.0i386到CentOS6.6x86-64,搬家中,磕磕跘跘,各种折腾……
  11. iphone最新款手机_iPhone 丢了99.9%能找回?这种做法不可信!!
  12. keil运行c语言输入函数,keil 编译器V6 定义函数在ram中运行-和在指定地址定义常量,keil编译器...
  13. 报告 | 73%的“落伍”开发者说:明年要学AI技术
  14. POJ 3683 Priest John's Busiest Day
  15. 在anaconda环境下搭建python3.5 + jupyter sparkR,scala,pyspark
  16. WCF 项目应用连载[8] - 绑定、服务、行为 大数据传输与限流 - 下 (ServiceThrottlingAttribute)...
  17. python调用百度AI语音识别
  18. 梯度、散度、旋度的简单总结
  19. 3航空公司客户价值分析
  20. 前端开发(html和css)

热门文章

  1. 一个软件网络连接异常_苹果下载不了软件怎么办?这几个功能需要一一排查
  2. 放开那三国服务器维护时间,放开那三国公告:停服更新维护
  3. 基于SpringBoot vue的茶叶商城平台源码和论文含支付宝沙箱支付
  4. numpy.random.randn()用法
  5. 华硕 a 豆 14 酷睿版2023 款 评测 华硕2023款 a 豆 14 酷睿版参数
  6. Linux下的C编程实战
  7. python连连看_Python 实现auto linlink 连连看
  8. 55 | Linux系统启动报错No bootable device
  9. 如何将参考文献格式改成目标期刊要求的格式?
  10. 【转】直播平台如何实现商业变现?