嵌入式开发中比较常用的数码管原理和使用方法

静态驱动的优点是编程简单,显示亮度高,缺点是占用I/O端口多,如驱动5个数码管静态显示则需要5×8=40根I/O端口来驱动,要知道一个89S51单片机可用的I/O端口才32个呢:),实际应用时必须增加译码驱动器进行驱动,增加了硬件电路的复杂性。

一、工作原理

数码管是一种半导体发光器件,其基本单元是发光二极管。 能显示4位数字的称为四位数码管。 当然,数码管也有多位数的和只有一位数的。 它们的电气原理是相同的。 根据数码管的段数分为七段数码管和八段数码管。 八段数码管比七段数码管多一个LED单元(多一位小数点显示); 根据LED单元的连接方式分为共阳极数码管和共阴极数码管。 共阳极数码管是指所有发光二极管的阳极连接在一起形成共阳极(COM)的数码管。 使用共阳极数码管时,共极COM应接+5V。 当某一场发光二极管的阴极处于低电平时,相应场就会点亮。 当某个场的阴极为高电平时,对应的场不会发光。 共阴极数码管是指所有发光二极管的阴极连接在一起形成共阴极(COM)的数码管。 使用共阴极数码管时,公共极COM应连接地线GND。 当某一场发光二极管的阳极处于高电平时,相应场就会点亮。 当某个场的阳极为低电平时,对应的场不会点亮。

2、电气特性

单位数码管有十个引脚,其中8个用于点亮a、b、c、d、e、f、dp。 发光二极管一共有8个(原理中有介绍),3和8是两个引脚。 它们是公共 COM 引脚。 它们是相连的并且具有相同的功能。 可以连接任何一个。为了更清楚的介绍,下面是图片:

嵌入式开发中比较常用的数码管原理和使用方法

共阴数字管脚映射图

3、驾驶方法

1、静态驱动又称直流驱动。 静态驱动是指每个数码管的各段码由单片机的I/O口驱动,或者使用BCD码二进一十进制译码器译码驱动。 静态驱动器的优点是编程简单、显示亮度高。 缺点是占用大量I/O端口。 例如驱动5个数码管进行静态显示,需要5×8=40个I/O口来驱动。 您必须知道 89S51 微控制器是可用的。 只有 32 个 I/O 端口:)。 实际应用中,必须增加解码驱动程序进行驱动,增加了硬件电路的复杂度。

2、数码管动态显示接口是单片机中应用最广泛的显示方式之一。 动态驱动器是将所有数码管的8个显示笔画“a、b、c、d、e、f、g、dp”的同名端子连接在一起,并增加了位选通控制电路各数码管的公共极COM。 位选通由独立的 I/O 线控制。 当单片机输出字形码时,所有数码管都接收到。 同样的字库代码,但是哪个数码管会显示该字库取决于单片机对位选通COM端电路的控制,所以我们只要打开需要显示的数码管的选通控制,该位就会显示出来。显示字形。 ,不频闪的数码管不会亮。 通过分时的方式依次控制各个数码管的COM端,可以实现对各个数码管的轮流控制和显示。 这就是动态驾驶。 逐段显示过程中,每个数码管点亮时间为1~2ms。 由于人的视觉暂留以及发光二极管的余辉效应,虽然数码管实际上不会同时点亮,但只要扫描速度足够快,给人的感觉就是显示数据稳定,无闪烁。 动态显示的效果与静态显示相同,可以节省大量的I/O端口,消耗更少的电量。

4. 开发实例

我们来解释一下四位数码管的动态驱动显示。 首先看一下接线引脚图如下。

嵌入式开发中比较常用的数码管原理和使用方法

接下来使用51单片机设计目标:通过编写C语言程序,编译连接,然后下载到单片机中,使四位数码管依次显示1、2、3、4。

#定义 uchar 使用有符号字符

#define uint 使用有符号整型

//位选择控制端口

sbit p20=P2^0;

sbit p21=P2^1;

sbit p22=P2^2;

sbit p23=P2^3;

//数码管段选择代码数组,分别显示:1、2、3、4代码

uchar码BianMa[] ={0x7,0xb,0xd,0xe};

//延时1ms功能(用于数码管动态刷新)

void Delay1ms(int time);

无效主()

同时(1)

p20=0; //共阴极数码管低位选择有效,表示第一个数码管已被选择

P0 =BianMa[0];//通过I/O口P0向数码管发送段选择码

Delay1ms(500);//第一个数码管显示0.5秒,然后变为第二个数字,以此类推。 由于视觉停顿和数码管的余辉,感觉四位数字都显示出来了

p20=1;

p21=0; //第二个数字亮

P0 =边码[1];

延迟1ms(500);

p21=1;

p22=0; //第三位打开

P0 =边码[2];

延迟1ms(500);

p22=1;

p23=0; //第四位数字亮

P0 =边码[3];

延迟1ms(500);

p23=1;

//延迟函数体

void Delay1ms(int 时间

整数 i,j;

for(i =时间;i>0;i–)

for(j =110;j>0;j–)

5. 关于亮度和锁存器

一般来说,静态驱动的亮度比动态驱动的亮度要高,但不影响使用。 为了在实际使用中达到更好的效果,会搭配74HC573等锁存器使用,锁存器可以记忆以前的状态数据,直到被新数据覆盖。 对于51单片机应用开发来说,与LCD液晶相比,LCD模块编程更加方便,样式也更加多样,但其缺点是亮度不够。 这正是数码管的优势。 如果要做简单的计数显示,数码管是最好的选择。

六、使用过程中的注意事项

数码管的基本元件是发光二极管,因此它能通过的电流只有几毫安。 连接5V直流电源进行测试时,必须串联一个几十K的电阻。 否则很容易被烧毁。 另外,可以用万用表的电阻量程将其点亮,足以说明其电流很小。

单片机

学习单片机和C语言的经典资料单片机的C轻松入门

2024-1-25 1:04:53

单片机

武汉理工大学交通信号灯控制器课程设计成果及报告书

2024-1-25 2:05:57

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索