51单片机:数码管(静态+动态) 您所在的位置:网站首页 单片机共阴共阳 51单片机:数码管(静态+动态)

51单片机:数码管(静态+动态)

2024-07-15 12:49| 来源: 网络整理| 查看: 265

先不解释静态和动态有什么区别,看完你就明白了(主要是我菜,解释不清)。

单片机上没有静态数码管模块,虽然没有,但依然可以 在动态数码管电路中使用其中一个来学习静态数码管显示。

数码管简介:

数码管51单片机上的数码管,通俗一点讲就是多个led组装在一起,数码管的点亮和led差不多(复杂一点),按发光二极管单元连接方式可分为共阳极数码管和共阴极数码管。

共阳数码管是指将所有发光二极管的阳极接到一起形成公共阳极(COM)的数码管,共阳数码管在应用时应将公共极 COM 接到+5V,当某一字段发光二极管的阴极为低电平时,相应字段就点亮,反之就不亮。

共阴数码管是指将所有发光二极管的阴极接到一起形成公共阴极(COM)的数码管,共阴数码管在应用时应将公共极COM 接到地线GND 上,当某一字段发光 二极管的阳极为高电平时,相应字段就点亮,反之就不亮。

我的单片机是共阴数码管,原理图如下:

 

 

数码管驱动芯片and译码器:

因为共阴数码管是要靠单片机 IO口输出电流来点亮的,但单片机 I/O口难以输出稳定、大的电流,所以数码管与单片机连接时需要加驱动电路,可以用上拉电阻的方法或使用专门的数码管驱动芯片,比如 74HC573、74HC245等,其输出电流较大, 电路接口简单

我的译码器是74HC138,(译码器稍微有点打脑壳,原理懂了就好了)。

 静态数码管显示:

所以想让单个数码管显示,只需要字段让对应的led点亮就可以了。

例如,显示0,就是abcdef亮,g和Dp不亮,Dp是最高位,a是最低位,二进制就是0011 1111,十六进制是0x3f。以此原理就可以推出常用字符的段选,码表如下:

这里先不研究138译码器的原理,直接写代码,点亮左数第二个数码管(LED7),那么138译码器的配置:C=1,B=1,A=0。(C是高位,110进制转换就是6,0123456,第7个数)用这个方法来控制哪个显示,有没有很巧妙?

#include typedef unsigned char u8; sbit K1=P2^2; sbit K2=P2^3; sbit K3=P2^4; u8 code number[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07, 0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71,0x00}; //ram的资源比较宝贵 ,code的作用是告诉单片机,我定义的数据要存储在ROM(程序存储区)里面,写入后就不能再更改 //这个code可要可不要 void main() { K3=1; K2=1; K1=0; //LED7显示 while(1) { P0=number[1]; //显示1 } } 动态数码管显示:

上面的静态数码管显示一个就动用了出138译码器以外的8个I/O口,而要全部显示8个的话就需要64个I/O口,单片机根本就没有这么多资源。

所以用一个138译码器实现数码管的动态刷新显示,switch-case是核心。

#include typedef unsigned char u8; sbit K1=P2^2; sbit K2=P2^3; sbit K3=P2^4; u8 code number[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07, 0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71,0x00}; void delay(u8 t) { while(t--); } void dtxs(u8 i,x) { switch(i) { case 1:K3=0;K2=0;K1=0;break; case 2:K3=0;K2=0;K1=1;break; case 3:K3=0;K2=1;K1=0;break; case 4:K3=0;K2=1;K1=1;break; case 5:K3=1;K2=0;K1=0;break; case 6:K3=1;K2=0;K1=1;break; case 7:K3=1;K2=1;K1=0;break; case 8:K3=1;K2=1;K1=1;break; } P0=number[x]; delay(10); P0=0x00; } void main() { while(1) { dtxs(1,9); dtxs(2,8); //单片机最后两位显示89 } }

萌新上路,制作不易,如有错误还请评论区指正。各位帅气逼人、美若天仙、颜值爆表的看官老爷点个赞吧,求求了。(在线卑微求赞)



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有