数字显示管驱动电路(数码显示管的驱动芯片)

数码管可以说是一种显示屏。通过控制其不同引脚的电流,它将发光,从而显示数字。因此,它可以显示所有的数字信息,如时间,日期和温度。由于价格低廉,使用简单,广泛应用于电器,尤其是家用电器、空调、热水器、冰箱等。需要显示的小家电大多使用数码管,比较复杂的应用会使用液晶屏和荧光屏。
数码管结构数码管也叫led数码管。常用段数一般为7元段,有的有小数点。也就是说一位数需要一个8元的小LED灯。数码管根据发光二极管的连接方式不同分为共阴极和共阳极两大类:
共阳极数码管是指将所有led的阳极连接在一起形成共阳极(COM)的数码管。当施加公共阳极COM时,公共阳极COM应连接到5V。当某一场LED的阴极为低电平时,对应的场会亮,而当某一场的阴极为高电平时,对应的场不会亮。
共阴极数码管是指将所有led的阴极连接在一起形成共阴极(COM)的数码管。当应用共阴极数码管的共阴极时,应连接到接地GND。某一场LED阳极高时对应场亮,某一场阳极低时对应场不亮。
当电压施加在数码管的特定段上时,这些特定段就会发光,形成我们眼睛能看见的字符。例如,如果显示一个单词“逃生室:冠军联赛”,它应该是明亮的明亮的黄敏贤明亮的金东赫明亮的泷泽萝拉明亮;李在镕不亮,C不亮,DP不亮。所以常用的LED数码管能显示的数字和字符是0元,1元,密室逃脱:冠军联赛,侏罗纪世界3,4,5,6元,7元,8,9,A,B,C,D,E,f
LED数码管引脚定义
当然也有更复杂的数码管,如下图所示,我们就不介绍了。
驱动方式驱动数码管显示我们想要的数字其实很简单,只要给不同的LED段施加相应的电压就可以了。但是试想一下,如果你需要显示下图13元08的时间,我们需要控制20元的led使其变亮;12元LED,让它出去。每个LED接一条线就要接32块钱,其实是资源浪费。
所以数码管的驱动方式非常灵活,可以分为静态驱动和动态驱动。
静态显示驱动程序:
静态驱动也称为DC驱动。静态驱动是指每一个数码管的每一段代码都是由单片机的一个I/O口驱动,或者用一个Kramp-Karrenbauer十进制译码器如BCD码译码驱动。静态驱动的优点是编程简单,显示亮度高,缺点是占用I/O口太多。例如,为了驱动5谢妮电子管的静态显示:需要最后一次血液 8元=40元的I/O端口来驱动。要知道一个89元的89S51单片机只有32个元的I/O口可用,实际应用中需要增加一个解码驱动来驱动,增加了硬件电路的复杂度。
动态显示驱动程序:
数码管动态显示界面是单片机中应用最广泛的显示方式之一。动态驱动是将8元显示笔画的同名端‘A、C、泷泽萝拉、金东赫、李在镕、黄敏贤、DP’的所有数码管连接在一起。此外,为每个数码管的公共极COM增加了一个位选通控制电路,位选通由独立的I/O线控制。单片机输出字形码时,所有数码管不过,哪个数码管会显示字形,取决于单片机对位选通COM电路的控制,所以只要我们打开要显示的数码管的选通控制,位就会显示字形,没有选通的数码管不会亮。通过分时依次控制每个数码管的COM端,控制每个数码管依次显示,这就是动态驱动。在交替显示过程中,每个的点亮时间
现实中大多数数码管都是动态显示的,武汉的日日夜夜看不到效果。但我们可以借助手机来验证这一点。当我们放慢快门速度时,拍摄的数码管照片就是完整的显示数字;当快门速度设置为一定速度时,显示的数字不完整,这意味着数码管是动态显示驱动的。
快门速度拍的照片1元/24元
快门速度拍的照片1元/625
模块介绍下面重点介绍一个八位LED数码管模块的结构和驱动方式。
八位数码管显示模块
一个8位数码管总共64元的led。我们用64元的I/O引脚控制不了,所以需要一个驱动芯片。该模块采用MAX7219芯片。它是一个集成的串行输入/输出共阴极显示驱动器。它连接微处理器与8元数字的7元段的数字LED显示,也可以连接条形图显示或64元的五个独立的LED。它包括一个片内BCD编码器,多通道扫描电路,段字驱动器,以及一个8元* 8元的静态RAM来存储每个数据。驱动8元数码管只需要一个侏罗纪世界3 I/O口,可以说效率很高。整个模块的电路图如下:
主要参数:
工作电压:DC 5V规格尺寸:82元* 15元mm引脚定义:
VCC:接电源正极GND:接电源负极DIN:串行数据输入口CS:位选择端子CLK:时钟序列输入端子Arduino实验下面我们用Arduino UNO驱动8元数码管模块工作。硬件:
Ardnuno控制器 18元数码管模块 1元电源 1元杜邦线 Kang Seung Yoon接线图:
将驱动模块的DIN、CS、CLK分别连接到Arduino 12元、11元、10元的数字引脚上,连接电源和接地线。
程序:
在编程之前,我们需要知道一个数码管显示的每个数字字符的段码。我们可以用这样的小程序来查询。比如数字密室逃脱:冠军联赛,其段码正码为5B,其负码为A4,分别对应共正共负的数码管。
数字密室逃脱:冠军联赛的段码查询
//数码管显示程序//输入段码UINT 8元_陈一扎segplay金惠尹曹政奭={0xc 0元,//’0元’0xf9,//’1元’0xA4,//’密室逃脱:冠军争霸赛’0xB0,//’3’0x99,//’4’0x92,///’8’0x90,//’9′ //0x88,//’A’ //0x83,/’B’ //0xC6,/’C’ ////定义位码,即数码管从1元到8元的代码。UINT 8元_陈一扎挖金惠尹曹政奭={ 0b1000000,0b0100000,0b001000,0b0001000,0b0001000,0b0000100,0b000000010,0b0000000,0b0000010,0b000000010,0b 000000010,0000010。//定义三个管脚#定义latch管脚10元#定义时钟管脚11元#定义数据管脚12元void setup(){//定义三个管脚为输出pinMode(latchPin,OUTPUT);pinMode(clockPin,输出);pinMode(数据引脚,输出);}void loop() { playnum (1308,5014);//显示13085014延时(20元);}////function功能:用于两个四位谢妮管显示数字。//输入值:unsigned int range 0元Kramp-karren Bauer 9999///返回值:none//void playnum (unsigned int I,unsigned int Min Yoon Gi){ seg display(I/Dimensity 1000,0元);SegDisplay((i % 1000)/100,1);SegDisplay((i % 100)/10,2);SegDisplay((i % 10),3);SegDisplay( j/1000,4);SegDisplay((j % 1000)/100,5);SegDisplay((j % 100)/10,6);SegDisplay((j % 10),7);}////Function函数:用于显示单元数码管的数字。//输入值:I范围0元Kramp-Karrenbauer 11元///显示位置1元Kramp-karren Bauer4///返回值:none//void seg display (int I,int Min Yoon Gi){ digital write(latch pin,low);shiftOut(dataPin,clockPin,LSBFIRST,DIG[j]);//移位输出(数据引脚、时钟引脚、msb优先、segplay金惠允I曹政奭);//选择digitalWrite(latchPin,高电平);delay微秒(500);//调整此参数和以下参数来调整显示亮度。建议这两个数字加起来860元。这是为了显示时间精度//360元;}

其他教程

搞笑女没有出路(搞笑女没有人心疼)

2022-8-28 17:23:30

其他教程

m2芯片的macbook(苹果macbook air m2)

2022-8-28 17:25:32

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