细说多位数码管的驱动方法

合集下载

Protues 中AT89C51驱动6个数码管电路

Protues 中AT89C51驱动6个数码管电路

软件说明p1:字型控制口;p2:字位控制口;要显示的内容分别存放在30H,31H,32H单元。

先将每个存储单元中要显示的内容(二进制数)转换成2位BCD码,再用查表程序查出2位BCD码分别对应的控制数码管的控制信号,分时送p1,同时分别将对应的位选信号送p2。

循环显示3个单元内容。

30H,31H,32H:分别存放欲显示的内容;40H:转换成BCD码时的暂存单元;41H:转换成数码管控制信号的暂存单元;50H:字位控制信号暂存单元;r0:间址显示内容单元;r6:6位数码管是否循环完控制单元;由于显示子程序中每次显示一个存储单元内容,即显示2个数码管内容,故6/2=3,r6中设置循环次数为03H。

r7:循环系数。

主程序流程图图1 主程序流程图图2 BCD码转换子程序流程图图3 显示子程序流程图;主程序ORG 0000HLJMP MAINORG 0030HMAIN:MOV SP,#60HMOV 30H,#24HMOV 31H,#30HMOV 32H,#0CHLOOP:MOV 50H,#01HMOV R0,#30HMOV R6,#03HMOV R7,#03HLOOP1:MOV A,@R0LCALL B_DLCALL DIPDJNZ R7,NEXT1LJMP LOOPNEXT1:INC R0LJMP LOOP1;BCD码转换子程序B_D:MOV B,#10DIV ABSWAP AADD A,BRET;显示子程序DIP:MOV 40H,AANL A,#0FH;显示第一位MOV DPTR,#TABMOVC A,@A+DPTRMOV 41H,AMOV A,#0FFH;一下两句是使显示的数据不相互串位MOV P1,AMOV A,50HMOV P2,AMOV A,41HMOV P1,ALCALL DEL1MSMOV A,50HRL AMOV 50H,AMOV A,40H;显示第二位ANL A,#0F0HSWAP AMOVC A,@A+DPTRMOV 41H,AMOV A,#0FFHMOV P1,AMOV A,50HMOV P2,AMOV A,41HMOV P1,ALCALL DEL1MSDJNZ R6,NEXT2MOV A,#01HSJMP DONENEXT2:MOV A,50HRL ADONE:MOV 50H,ARET;1ms延时子程序DEL1MS:MOV R1,#10L2:MOV R2,#50L1:DJNZ R2,L1DJNZ R1,L2RET;在ROM中建立数码管控制信号表格TAB:DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H DB 80H,90HEND。

数码管动态扫描原理

数码管动态扫描原理

数码管动态扫描原理一、引言数码管是一种常见的数字显示设备,它由多个发光二极管组成,可以显示数字、字母、符号等信息。

数码管动态扫描技术是一种常用的驱动方法,它能够实现多个数码管在同一时刻显示不同的数字,从而节省了硬件资源和功耗。

本文将详细介绍数码管动态扫描原理。

二、数码管基础知识1. 数码管结构数码管由多个发光二极管组成,每个发光二极管代表一个数字或字符。

常用的数码管有共阳极和共阴极两种类型。

共阳极数码管是指所有发光二极管的阳极连接在一起,而共阴极数码管则是指所有发光二极管的阴极连接在一起。

2. 数字编码方式对于一个七段式数码管来说,每个数字都可以用七位二进制代码来表示。

常用的编码方式有BCD编码和ASCII编码等。

三、静态驱动与动态驱动1. 静态驱动静态驱动是指将每个数码管的控制信号直接连接到单片机的IO口上,并通过程序控制IO口输出高低电平来实现数码管的显示。

静态驱动的优点是驱动简单,控制精度高,但缺点是需要大量的IO口资源,不适用于多数码管显示。

2. 动态驱动动态驱动是指将多个数码管的控制信号通过共用的引脚来传输,并通过程序控制引脚输出高低电平来实现数码管的显示。

动态驱动的优点是可以减少硬件资源和功耗,适用于多数码管显示。

四、数码管动态扫描原理1. 原理概述数码管动态扫描原理是指在一定时间内,依次对多个数码管进行刷新并显示不同数字。

具体实现方式为:将每个数码管与一个引脚相连,并通过程序控制该引脚输出高低电平,在一定时间内循环切换各个引脚的状态,从而实现多个数码管之间的切换和显示。

2. 实现步骤(1)将所有数码管连接到单片机IO口;(2)定义一个循环计时器,在一定时间内循环切换各个IO口状态;(3)对于每一个计时器周期内需要显示的数字进行编码;(4)根据编码结果,在每个IO口上输出对应数字需要显示的控制信号;(5)循环刷新各个数码管,实现动态扫描。

五、动态扫描的优化1. 亮度控制由于数码管的发光强度与电流大小成正比,因此可以通过调节每个数码管的亮度来实现不同数字之间的明暗程度差异。

数码管驱动程序实例

数码管驱动程序实例

数码管驱动程序实例介绍数码管是一种常见的显示设备,通常用于显示数字和部分字母。

为了控制数码管的显示内容,我们需要编写一段驱动程序来控制数码管的工作。

本文将介绍一个数码管驱动程序的实例,包括硬件连接、代码编写和运行效果展示。

通过学习这个实例,你将了解到如何使用Arduino来驱动数码管进行数字显示。

硬件连接首先,我们需要准备以下硬件组件:•Arduino开发板•数码管(常见的有共阳极和共阴极两种类型)接下来,按照以下步骤进行硬件连接:1.将Arduino开发板与电脑连接,并打开Arduino IDE。

2.将数码管的引脚与Arduino开发板上的数字引脚相连。

具体连接方式取决于你使用的数码管类型,请参考相关资料或数据手册。

3.使用面包板或杜邦线等工具完成引脚连接。

代码编写完成硬件连接后,我们可以开始编写代码了。

以下是一个简单的数码管驱动程序示例:// 引入库#include <SevSeg.h>// 创建一个SevSeg对象并指定引脚SevSeg sevseg;void setup() {// 初始化数码管sevseg.begin(COMMON_CATHODE, 4, 3, 2, 1, 0, 6, 7, 5, 8);}void loop() {// 显示数字0-9for (int i = 0; i < 10; i++) {sevseg.setNumber(i);sevseg.refreshDisplay();delay(1000);}}代码解析:1.首先,我们引入了一个名为SevSeg的库,该库提供了控制数码管的函数和方法。

2.在setup()函数中,我们初始化了一个SevSeg对象,并指定了数码管的引脚连接方式。

这里使用的是共阳极数码管,如果你使用的是共阴极数码管,则需要将COMMON_CATHODE改为COMMON_ANODE。

3.在loop()函数中,我们通过一个循环来显示数字0-9。

数码管的使用方法

数码管的使用方法

数码管的使用方法一、工作原理数码管是一种半导体发光器件,其基本单元是发光二极管。

能显示4位数字的叫四位数码管,当然也有多位和只有一位的数码管,他们的电气原理相同。

数码管按段数分为七段数码管和八段数码管,八段数码管比七段数码管多一个发光二极管单元(多一个小数点显示);按发光二极管单元连接方式分为共阳极数码管和共阴极数码管。

共阳数码管是指将所有发光二极管的阳极接到一起形成公共阳极(COM)的数码管。

共阳数码管在应用时应将公共极COM接到+5V,当某一字段发光二极管的阴极为低电平时,相应字段就点亮。

当某一字段的阴极为高电平时,相应字段就不亮。

共阴数码管是指将所有发光二极管的阴极接到一起形成公共阴极(COM)的数码管。

共阴数码管在应用时应将公共极COM接到地线GND上,当某一字段发光二极管的阳极为高电平时,相应字段就点亮。

当某一字段的阳极为低电平时,相应字段就不亮。

二、电气特性单位数码管有十个管脚,其中有8根是用来点亮a,b,c,d,e,f,dp 共8个发光二极管(原理中有介绍),3,8两个管脚为公共COM脚,它们相连通且作用相同,可接任意一根。

为了更清楚介绍,贴图如下:三、驱动方式静态驱动也称直流驱动。

静态驱动是指每个数码管的每一个段码都由一个单片机的I/O端口进行驱动,或者使用如BCD码二-十进制译码器译码进行驱动。

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

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

数码管_引脚图_驱动芯片

数码管_引脚图_驱动芯片

数码管的使用方法一、工作原理数码管是一种半导体发光器件,其基本单元是发光二极管。

能显示4位数字的叫四位数码管,当然也有多位和只有一位的数码管,他们的电气原理相同。

数码管按段数分为七段数码管和八段数码管,八段数码管比七段数码管多一个发光二极管单元(多一个小数点显示);按发光二极管单元连接方式分为共阳极数码管和共阴极数码管。

共阳数码管是指将所有发光二极管的阳极接到一起形成公共阳极(COM)的数码管。

共阳数码管在应用时应将公共极COM接到+5V,当某一字段发光二极管的阴极为低电平时,相应字段就点亮。

当某一字段的阴极为高电平时,相应字段就不亮。

共阴数码管是指将所有发光二极管的阴极接到一起形成公共阴极(COM)的数码管。

共阴数码管在应用时应将公共极COM接到地线GND上,当某一字段发光二极管的阳极为高电平时,相应字段就点亮。

当某一字段的阳极为低电平时,相应字段就不亮。

万联芯城-电子元器件采购网一直秉承着以良心做好良芯的服务理念,为广大客户提供一站式的电子元器件配单服务,客户行业涉及电子电工,智能工控,自动化,医疗安防等多个相关研发生产领域,所售电子元器件均为原厂渠道进货的原装现货库存。

只需提交BOM表,即可为您报价。

万联芯城同时为长电,顺络,先科ST等知名原厂的指定授权代理商,采购代理品牌电子元器件价格更有优势,欢迎广大客户咨询,点击进入万联芯城。

二、电气特性单位数码管有十个管脚,其中有8根是用来点亮a,b,c,d,e,f,dp 共8个发光二极管(原理中有介绍),3,8两个管脚为公共COM脚,它们相连通且作用相同,可接任意一根。

为了更清楚介绍,贴图如下:三、驱动方式静态驱动也称直流驱动。

静态驱动是指每个数码管的每一个段码都由一个单片机的I/O端口进行驱动,或者使用如BCD码二-十进制译码器译码进行驱动。

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

数码管的几种驱动方式汇总

数码管的几种驱动方式汇总
数码管的显示方式可以分为动态和静态的。
动态的也叫扫描方式,是利用发光二极管的余辉效应和人眼的视觉暂留效应来实现的,只要在在一定时间内数码管的笔段亮的频率够快,人眼就看不出闪烁,一般外围硬件较少,但是对单片机资源耗用巨大。
静态的也较锁存方式,单片机送出数据后控制外围锁存器件锁存数据,这样数码管笔段里的电流不变,数码管稳定显示,这样单片机可以干别的活不用管数码管了。这种方案的优点是对单片机的P口资源和时间耗用很少,但是数码管的外围辅助电路复杂。
●支持段电流上限调整,可以省去所有限流电阻。
●扫描极限控制,支持1到8个数码管,只为有效数码管分配扫描时间。
(二)键盘控制
●内置64键键盘控制器,基于8×8矩阵键盘扫描。
●内置按键状态输入的下拉电阻,内置去抖动电路。
●键盘中断,低电平有效输出。
●提供按键释放标志位,可供查询按键按下与释放。
(三)其它
特点
I2C串行接口,提供键盘中断信号,方便于处理器接口;
可驱动8位共阴数码管或64只独立LED和64个按键;
可控扫描位数,可控任一数码管闪烁;
提供数据译码和循环,移位,段寻址等控制;
8个功能键,可检测任一键的连击次数;
无需外接元件即直接驱LED,可扩展驱动电流和驱动电压;
提供工业级器件,多种封装形式PDIP24,SO24。
●高速的4线串行接口,支持多片级联,时钟速度从0到10MHz。
●串行接口中的DIN和DCLK信号线可以与其它接口电路共用,节约引脚。
●完全内置时钟振荡电路,不需要外接晶体或者阻容振荡。
●内置上电复位和看门狗Watch-Dog,提供高电平有效和低电平有效复位输出。
●支持3V~5V电源电压。
●提供SOP28和DIP24S两种无铅封装,兼容RoHS。

第3节-数码管驱动(项目3)

第3节-数码管驱动(项目3)

}
void main (void)
{
unsigned char i;
ห้องสมุดไป่ตู้
// 变量 i 作为数组的0~9编号
P2 = 0;//P2.0 = 0,通过反相器反相后,加在数码管公共端上的电压
while (1)
{ P0 = seven_seg[i]; delay(50000); i++;
//输出0~9到共阳七段显示器 //调用时间延迟函数delay()
在程序设计时,库函数可以很方便的被用户程序调用。 例如,利用库函数实现的跑马灯程序为
/************************/
#include<reg51.h> #include<intrins.h>//库函数的头文件
void delay(unsigned int x)
while (1)
{ …….. delay(1000); …… }
}
//调用时间延迟函数,实参为1000
三、有返回值函数
如果函数中要返回数值时,必须使用return命令。 并且返回值的类型必须与函数的类型一致。如把8位8421二 进制码转换成8421BCD码函数。
unsigned char DEC_BCD_conv(unsigned char x)
if(i == 10)
i = 0;
}
}
当程序中使用常量数据时,如共阳数码管数字显示编 码、液晶显示器的汉字编码等,一般希望这些数据当程序 下载到单片机时存放在单片机的ROM区,对此类数据声明前 面需要加上关键字code或const,如数码管的显示编码。
利用数码管也可以显示日期和时间,但是在本项目中, 数字变化时间是由延时函数实现的,由于C语言程序进过编 译后的生成的汇编程序与直接采用汇编语言编写的程序

数码管驱动方式总结

数码管驱动方式总结

静态显示驱动静态驱动也称直流驱动。

静态驱动是指每个数码管的每一个笔划都由一个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端,就使各个数码管轮流受控显示,在轮流显示过程中,由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,这就是动态驱动。

动态驱动的优点是占用I/O线少,只需要X+Y个,X为数码管的笔划数,Y为数码管的个数。

动态驱动的缺点是占用CPU时间长,编程复杂,驱动功率较大。

在动态显示方式中,各数码管轮流工作,为了减轻闪烁现象,每个数码管刷新频率必须大于25 Hz,即相邻两次点亮的时间间隔要小于40 ms。

数码管越多,每个数码管的显示时间越短,同时还要考虑为CPU留出空闲时间。

在驱动电流一定的情况下,亮度越低,正因如此,要适当增大驱动电流。

对比:静态显示驱动:各显示器在显示过程中持续得到送显信号,与各显示器接口的I/O口线是专用的。

动态显示驱动:各显示器在显示过程中轮流得到送显信号,与各显示器接口的I/O口线是共用的。

静态显示驱动特点:无闪烁,无须扫描,节省CPU时间,编程简单,用元器件多,占I/O线多。

3位八段码管 驱动电压 -回复

3位八段码管 驱动电压 -回复

3位八段码管驱动电压-回复题目: 3位八段码管驱动电压导言:八段码管(7-segment display)是一种常见的数字显示设备,常用于电子时钟、计算器、电子秤等电子设备中用于显示数字。

驱动八段码管需要提供适当的电压和电流。

本文将一步一步回答关于3位八段码管的驱动电压的问题,解析其工作原理和应用。

一、什么是八段码管?八段码管是一种由7个发光二极管(LED)和1个小数点组成的数字显示器件。

每个发光二极管可以被独立地打开或关闭,从而显示出不同的数字或字母。

数字0-9和字母A-F都可以通过控制八段码管上的这些发光二极管来显示。

八段码管通常由3位、4位或更多位的组合而成。

3位八段码管是最基本和常见的一种,对于数字显示已经足够满足大多数普通应用的需求。

二、八段码管的工作原理是什么?八段码管通过控制各个发光二极管的状态来显示数字。

它是通过行列扫描方式工作的,即每次只有一个数码管的一行被选通,其他行被关闭。

行列扫描的频率通常在几十到几百赫兹之间,人眼无法察觉到扫描过程,看起来就像是所有的数码管同时亮起。

具体来说,八段码管有8个引脚,其中7个引脚对应7个发光二极管,另外一个引脚用于控制小数点。

通过控制这些引脚的高低电平,可以控制对应的发光二极管的亮灭状态。

三、八段码管的驱动电压是多少?八段码管的驱动电压要根据具体型号来确定。

一般而言,八段码管的正向工作电压(VF)在1.8V到2.5V之间,驱动电流(IF)在5mA到20mA 之间。

4、如何计算驱动电压限流电阻?在实际驱动八段码管时,通常需要限制通过每个发光二极管的电流,以保证其寿命和稳定性。

为此,可以使用电流限流电阻(RL)来控制通过发光二极管的电流。

计算方法如下:RL = (VCC - VF) / IF其中,VCC为电源电压,VF为发光二极管的正向工作电压,IF为发光二极管的驱动电流。

例如,如果VCC为5V,VF为1.8V,IF为10mA,则RL的计算如下:RL = (5 - 1.8) / 0.01 = 320Ω因此,需要使用320Ω的电阻来限制电流。

单片机串口连接两个74LS164驱动两个LED数码管学习资料

单片机串口连接两个74LS164驱动两个LED数码管学习资料

单片机串口连接两个74L S164驱动两个L E D数码管单片机应用设计课题:串口连接两个74LS164驱动2个LED数码管显示班级学号: 14110501xx 姓名: xx1设计要求1.1 设计内容设晶体为12MHz,将拨码开关数据串行输入到74LS164,并行输出到2个LED数码管进行相应的数码显示。

设计包括:系统设计分析、系统原理图设计、程序流程图设计、源程序设计、系统调试与仿真及调试结果分析、对本课程学习的感想与收获、对老师的意见与建议、期望成绩等。

1.2 学习目的该作业具有较强的实用性,许多同学已经认识到自己完全有能力设计一个实用的单片机应用系统,对单片机设计由感兴趣已经变为爱好了,为后面的实际应用系统设计奠定了较好的基础。

2 系统设计分析2.1 单片机最小系统+串口+74LS164+LED数码管单片机的最小系统是单片机能够工作的最小硬件组合,对于8051系列单片机,其电路的最小系统大致相同,主要包括电源、晶体振荡电路、复位电路等。

2.1.1 串口数据通信方式包括并行通信和串行通信两种。

并行通信就是多条数据线上同时传送,其优点:速度快,只适于近距离通信。

串行通信就是数据以为以为的顺序传送,其优点:线路简单,成本低,适合远距离通信。

串行通信方式包括:异步串行通信和同步串行通信。

异步方式,数据传送不连续,时间间隔任意。

同步方式,发送与接收同步。

数据传送方式:单工、半双工、全双工、多工。

常见的串行通讯有:RS-232、RS-485、CAN总线等。

串行口控制寄存器包括:串行口控制寄存器SCON(控制工作方式)、电源控制寄存器PCON(控制波特率)。

SM0、SM1选择工作方式,SM2用于多机通信,REN允许接收控制位,TB8/RB8发送/接收数据D8位,TI/RI为发送/接收中断标志位。

2.1.2 74LS164串行口工作于方式0,发送数据时,是把串行端口设置成“串入并出的”输出口。

将它设置为“串入并出”输出口时,需外接1片“串入并出”同步移位芯片74LS164或CD4094,本次设计,用74LS164。

89C51驱动LED数码管的方法

89C51驱动LED数码管的方法

电子世界2003年11期35・・相约单片机图1图2现在驱动LED数码管流行采用单片机设计电路,但发现一些显示(LED数码管)电路设计复杂,没有充分利用单片机的电气特点、没有采用“硬件软化”的方法。

这里向大家介绍几种89C2051驱动LED数码管的方法,并附软件,可直接移植到其它电路中使用。

1.直接驱动5位LED数码管(1)由于89C2051的I/O脚吸入电流可达20mA,故可直接驱动LED数码管,但LED数码管必须采用高亮、共阴型。

由P1口输出段码,P3口输出位选码。

R1~R8为LED数码管提供工作电流(电路见图1)。

(2)在89C2051的RAM中建一个5字节的数码管缓存区,将每一个数码管要显示的数字存入。

输出时采用查表法,将数字对应的段码值送到P1口;位选信号输出,采用直接位寻址方式(程序见本刊网站上的附1)。

2.驱动8位LED数码管(1)在电路中添加一片74LS164串入并出的锁存器,用于锁存输出的段码,R1~R8是限流电阻(电路见图2)。

(2)此软件与附1(见本刊网站)基本相同,只是在段码输出时,要做一段模拟串口发送程序,将段码串行输入到74LS164中(程序见本刊网站上的附2)。

89C2051驱动LED数码管的方法・李 杰・3.驱动24位LED数码管(1)电路使用了3片74LS164(HC164)做位选码输出用,共可驱动8×3=24位,段码由P1口输出。

74LS164的驱动电流可达20mA,可直接驱动LED数码管(电路见图3)。

(2)此时89C2051的绝大部分时间被扫描LED数码管的程序所占用,胜任其它费时的操作已不可能,否则LED数码管会闪烁。

要确保主程序的执行周期<20ms(程序见本刊网站上的附3)。

4.LED数码管的亮度控制LED数码管的亮度控制非常重要,它直接影响LED数码管的使用寿命。

如果采用硬件控制,则电路复杂。

可采用“硬件软化”的方法,由软件控制(程序见本刊网站上的附3)。

数码管实验报告实验原理(3篇)

数码管实验报告实验原理(3篇)

第1篇一、实验背景数码管是一种常用的显示器件,它可以将数字、字母或其他符号显示出来。

数码管广泛应用于各种电子设备中,如计算器、电子钟、电子秤等。

本实验旨在通过实践操作,让学生了解数码管的工作原理,掌握数码管的驱动方法,以及数码管在电子系统中的应用。

二、实验原理1. 数码管类型数码管分为两种类型:七段数码管和液晶数码管。

本实验主要介绍七段数码管。

七段数码管由七个发光二极管(LED)组成,分别代表七个笔画。

当七个LED中的某个或某几个LED点亮时,就可以显示出相应的数字或符号。

根据发光二极管的连接方式,七段数码管可分为共阳极和共阴极两种类型。

2. 数码管驱动方式(1)静态驱动静态驱动是指每个数码管独立驱动,每个数码管都连接到单片机的I/O端口。

这种方式下,数码管显示的数字或符号不会闪烁,但需要较多的I/O端口资源。

(2)动态驱动动态驱动是指多个数码管共用一组I/O端口,通过控制每个数码管的扫描时间来实现动态显示。

这种方式可以节省I/O端口资源,但显示的数字或符号会有闪烁现象。

3. 数码管显示原理(1)共阳极数码管共阳极数码管的特点是七个LED的阳极连接在一起,形成公共阳极。

当要显示数字时,将对应的LED阴极接地,其他LED阴极接高电平,即可显示出相应的数字。

(2)共阴极数码管共阴极数码管的特点是七个LED的阴极连接在一起,形成公共阴极。

当要显示数字时,将对应的LED阳极接地,其他LED阳极接高电平,即可显示出相应的数字。

4. 数码管驱动电路(1)BCD码译码驱动器BCD码译码驱动器是一种将BCD码转换为七段数码管所需段码的电路。

常用的BCD码译码驱动器有CD4511、CD4518等。

(2)74HC595移位寄存器74HC595是一种8位串行输入、并行输出的移位寄存器,常用于数码管的动态驱动。

它可以将单片机输出的串行信号转换为并行信号,驱动数码管显示。

三、实验目的1. 了解数码管的工作原理和驱动方式。

三极管驱动共阴数码管

三极管驱动共阴数码管

三极管驱动共阴数码管【专业版】三极管驱动共阴数码管1. 前言近年来,数码管技术得到了广泛应用,其简单、直观的数字显示方式受到了众多电子爱好者的喜爱。

而在涉及数码管的电子电路设计中,三极管的驱动起到了至关重要的作用。

本文将深入探讨三极管驱动共阴数码管的原理与方法,以及如何优化驱动电路的性能与稳定性。

2. 三极管和共阴数码管的基本工作原理在了解如何驱动共阴数码管之前,我们先来简要介绍一下三极管和共阴数码管的基本工作原理。

2.1 三极管三极管是一种常见的半导体器件,由发射极、基极和集电极组成。

其工作原理是通过控制基极电流,来调节集电极电流的大小。

具体而言,当基极电流为零时,三极管处于截止状态,集电极电流几乎为零。

而当基极电流适当增大时,三极管将进入饱和区,此时集电极电流达到最大值。

2.2 共阴数码管共阴数码管是一种常用的显示装置,它由多个发光二极管(LED)组成,每个发光二极管称为一个段。

共阴数码管的特点是所有的数码管段的阳极(Anode)都连接在一起,而且是通过低电平(通常为地)来点亮。

当某一段的阴极与共阴极加正电平时,该段将被点亮。

3. 三极管驱动共阴数码管的电路设计与优化在实际的电子电路设计中,为了驱动共阴数码管的每一段,我们通常会使用一个三极管作为开关元件。

以下是一个基本的三极管驱动共阴数码管电路示意图。

3.1 电路设计电路由一个微控制器(MCU)产生数字信号驱动一个三极管。

MCU通过控制三极管的驱动信号,来点亮或关闭共阴数码管的每一段。

其基本原理是:当MCU输出高电平时,三极管处于饱和状态,共阴数码管段点亮;当MCU输出低电平时,三极管处于截止状态,共阴数码管段关闭。

3.2 优化驱动电路性能为了提高三极管驱动共阴数码管的性能与稳定性,我们可以进行以下优化:3.2.1 增加驱动电流一般情况下,为了确保共阴数码管段能够充分亮起,我们需要提供足够的驱动电流。

可以通过增加电流放大倍数或增加集电极电流的方式来实现。

数码管显示实验报告

数码管显示实验报告

一、实验目的1. 理解数码管的工作原理及驱动方式。

2. 掌握51单片机控制数码管显示的基本方法。

3. 学会使用动态扫描显示技术实现多位数码管的显示。

4. 提高编程能力和实践操作能力。

二、实验原理数码管是一种常用的显示器件,它由多个发光二极管(LED)组成,可以显示数字、字母或其他符号。

根据LED的连接方式,数码管可分为共阴极和共阳极两种类型。

本实验使用的是共阳极数码管。

51单片机控制数码管显示的基本原理是:通过单片机的I/O口输出高低电平信号,控制数码管的各个段(a-g)的亮灭,从而显示相应的数字或符号。

动态扫描显示技术是将多个数码管连接到单片机的I/O口,通过快速切换各个数码管的显示状态,实现多位数码管的显示。

三、实验器材1. 51单片机实验板2. 共阳极数码管3. 电阻、电容等元件4. 仿真软件(如Proteus)5. 编译器(如Keil)四、实验步骤1. 搭建电路:按照实验原理图连接51单片机、数码管和电阻等元件。

2. 编写程序:使用Keil软件编写控制数码管显示的程序。

程序主要包括以下部分:a. 初始化:设置单片机的工作状态,配置I/O口等。

b. 显示函数:根据需要显示的数字或符号,控制数码管的各个段亮灭。

c. 动态扫描函数:实现多位数码管的动态显示。

3. 编译程序:将编写好的程序编译成机器码。

4. 仿真测试:使用Proteus软件对程序进行仿真测试,观察数码管的显示效果。

5. 实验验证:将程序烧录到51单片机实验板上,进行实际测试。

五、实验结果与分析1. 实验结果:通过仿真测试和实际测试,数码管能够正确显示0-9的数字。

2. 结果分析:实验结果表明,51单片机可以成功地控制数码管显示数字。

动态扫描显示技术能够有效地实现多位数码管的显示,提高了显示效率。

六、实验总结1. 通过本次实验,我们掌握了51单片机控制数码管显示的基本方法,提高了编程能力和实践操作能力。

2. 动态扫描显示技术能够有效地实现多位数码管的显示,提高了显示效率。

位选与段选共用的数码管 -回复

位选与段选共用的数码管 -回复

位选与段选共用的数码管-回复数码管是一种常见的显示设备,用于显示数字和符号。

在数码管中,位选和段选是两个核心概念,它们共同工作以实现准确的数字和符号显示。

本文将逐步回答“位选与段选共用的数码管”的主题。

第一步,我们先了解什么是位选和段选。

在数码管中,位选是指选择要显示数字的具体位数,例如个位、十位、百位等。

而段选是指控制具体位数显示的数字和符号形状。

第二步,讲解数码管的工作原理。

数码管实际上是由多个发光二极管(LED)组成的。

在常见的共阳数码管中,当对应的引脚为高电平时,该发光二极管会被激活并发光,显示出相应的数字或符号形状。

第三步,介绍共用驱动原理。

在实际应用中,由于引脚数量的限制,无法每个数码管都使用独立的引脚进行控制。

所以,共用驱动技术应运而生。

共用驱动通过位选和段选的组合来实现多个数码管的显示。

第四步,解释位选和段选的工作方式。

在共用驱动中,位选和段选需要同时工作,以协同完成数码管的显示任务。

在每个显示周期内,首先选择要显示的位数,即位选。

然后,根据所选位数对应的数字或符号形状,通过段选控制相应的发光二极管发光。

第五步,详细介绍位选的实现方法。

通常,位选是通过数码管模组的控制线来实现的。

控制线的数量取决于数码管的位数。

以4位数码管为例,通常会有4根控制线对应4个位数。

通过控制这些线的高低电平,可以选择要显示的具体位数。

第六步,具体说明段选的实现方法。

段选是通过控制每个数码管的每个发光二极管引脚来实现的。

对于共阳数码管,每个发光二极管的引脚与其他相同位置的发光二极管引脚共用一个控制线,通过控制这些控制线的高低电平,可以选择要显示的具体数字和符号形状。

第七步,总结位选和段选共用数码管的优势。

位选和段选共用数码管可以大大节省引脚资源,提高整体设计的灵活性和可扩展性。

它们通过位选和段选的组合,实现了多个数码管的同时显示,极大地方便了数字和符号的显示任务。

第八步,探讨位选和段选共用数码管的局限性。

细说多位数码管的驱动方法

细说多位数码管的驱动方法

细说多位数码管的驱动方法我们在制作项目时,会遇到多位数码管的显示问题.如何尽量减少硬件的使用数量和加快全部显示一轮的时间,是需要精心规划与安排的. 例如:做万年历,就有年月日,时分,星期等内容需要显示,数码管数量多达 13 位以上.如果再带上秒,温度,农历什么的,位数就更多了.例如:做多功能电力仪表,显示位数也往往多达十几位以上.尽管有专门用于这种多位显示的专门芯片可供选择,但是,往往一只这种芯片成本可能比使用的单片机本身还要高!例如市场上的 CH451 等,高达 6~8 元呢!于是,可以考虑串行到并行的一些芯片,例如 HC164,HC595 等等,驱动也仅仅就二线制,但是,这么一来,外挂芯片也不少.还有,可以使用一些 4 线到 7 线的驱动芯片,例如:CD4511,74LS247,CD4543 等等,它们除了节省一些源驱动引脚之外,使用数量恐怕也让人头痛!类似于 HC373,HC374,HC573,HC574 的芯片,可以减少很多源驱动引脚,但是,芯片使用数量仍然太多!还有一个附带问题,许多仪器仪表,往往是主印刷版与前面的显示/按键板是分离的,有些商品仪表,主板到前面板的引线就多达几十根,无论如何,都会让人感觉又乱有多又不可靠,生产调试等都增加了困难.说了那么多,我们就是希望:使用尽量少的硬件芯片,尽量少的过渡引线,尽量短的显示周期时间,尽量低的元器件费用!----当然,需要保证可靠性不能降低!我们举例说明:一个 2 * 4 位的仪器显示电路,有 8 位数码管,完全依靠单片机本身的端口来驱动,就有 2 种方案考虑:图 1 的方法需要使用 22 个单片机端口.图 2 方法需要使用 16 个单片机端口.图 2 全部数码管显示一次的时间比图 1 长一半时间.从仪器 2 个板子分离的情况来看,图 1 从主板到前面显示板的引线就相当多了!图 2 虽然少了一些,但是,加上供电,按键等,数量也不算少,很可能还会有发光管指示灯什么的,需要考虑的麻烦事就更多了!从单片机端口的使用数量来看,它也大大影响到单片机的封装选择,引脚不是越大越好的,对焊接,成本,调试等都会有影响.如果芯片带有 RS232 硬件功能,当然可以考虑使用串行驱动,虽然不过分影响单片机分时工作的速率,但是,上面提到过,串行芯片的数量也是相当可观的.数码管这种显示还要保证每秒不能少于 50 次以上,否则会有显示闪烁的感觉!针对上面提及的问题,这里推荐一种比较好的方法:就是增加一只廉价的单片机,专门负责显示,主功能单片机与显示用途单片机仅仅 2 根引线就可以正常传送信号,这么一来,带来的后果是利大于弊!我们这么做,还会最大限度地节省 2 个分离印刷板的引线,节省印刷板的布线难度,减少主单片机的引脚数量,加快系统的运行速率.对显示用途的单片机的内部资源没有什么要求,完全可以使用最普通功能的单片机来担任显示任务!这样就需要解决 2 个单片机之间的通信问题,这完全可以借鉴现成的一些 2 线制串行通信方式方法.也可以根据自己的情况自定义自己的通信方法.通常,主单片机只要保证每秒时间给显示单片机送入 4 次以上的数据,那么,对数码管显示的实时性来说就已经足够了!----当然,你就是增加一倍二倍的传送次数,对主单片机来说,也是可以非常轻易做到了!因为,它犯不上去操心每秒显示 50 次以上的工作量了!而对于显示单片机来说,则要求保证每秒时间内,完成全部数码管的 50 次以上的分时扫描显示.....而对于显示单片机来说,则要求保证每秒时间内,完成全部数码管的 50 次以上的分时扫描显示.....下面通过一个具体例子来说明.图3 电路使用 SN8P2624 芯片,它与 EM78P447,PIC16C57 等芯片引脚排列兼容!而且价格低廉.图3 电路除了预留 2 个端口作为数据通信之外,其余全部端口都用于数码管的显示.可以驱动 2*6 位数码管.笔段使用并行方式驱动,速度是最快的!图4 电路除了预留 2 个端口作为数据通信之外,还预留一个端口用于检测 5V 掉电,其余全部端口都用于数码管的显示.可以驱动 2*5 位数码管.笔段使用并行方式驱动,速度是最快的!如果仅仅驱动 2*4 位数码管,那么,其中一次驱动就可以成为 16 个状态指示灯的发光管驱动.非常适合大部分仪器仪表电路使用.预留的通信接口都具有外部中断功能,可以很方便地使用中断方式来响应主单片机的数据传送.由于这种单片机为 OTP 类型,一旦烧写后就不能更改了,因此,需要很好的考虑需要显示的各种各样的内容.同时,还要考虑主单片机传送数据时,到底是传送原始数据还是传送笔段数据.如果传送原始数据,那么,可以减少数据的传送量.原始数据由显示芯片自行分解到笔段数据.但是有可能出现显示数据没有考虑到的显示内容而无法显示.如果是传送笔段数据,则由主单片机预先进行 HEX 到 BIN 的转换,然后再进行传送.这种方案会增加数据的传送量.但是不用担心显示数据没有考虑到的显示内容无法显示.因此,采用哪一种数据进行传送,需要精心考虑和预先安排好!当然,一个 7 段数码管,能够显示的字符样式毕竟有限,只要把所有可能的字符都考虑周到,就无需担心会有不能显示的内容了.因此,推荐传送数据直接使用原始数据,由显示单片机自行进行 HEX 到 BIN 的转换,因为显示用途的单片机实际没有什么更多的事情可做.如此一来,对于那些具有前后板结构的仪器仪表来说,2 个分离的板子的连接线就一律减少到仅仅剩下 2 条线路了.这个改进对许多厂家来说是具有实际意义的!那么,增加一只单片机是否会对硬件成本有较大的影响呢? 没有的.它仅仅是把一个多引脚的单片机变成 2 个少引脚的单片机而已.而且,担任显示用途的单片机由于无需特殊功能,可以选择比主单片机更加廉价的型号.虽然不能说是完完全全划等号.可是,对于批量使用的企业来说,它又变成了一个通用部件,完完全全可以仅仅更换一个主板就获得另外一款品种.这是不是也很划算呢?这是实际项目使用的面板,驱动 4*3位数码管和 5 个工作状态发光管指示灯.。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

细说多位数码管的驱动方法
我们在制作项目时,会遇到多位数码管的显示问题.如何尽量减少硬件的使用数量和加快全部显示一轮的时间,是需要精心规划与安排的. 例如:
做万年历,就有年月日,时分,星期等内容需要显示,数码管数量多达 13 位以上.如果再带上秒,温度,农历什么的,位数就更多了.
例如:
做多功能电力仪表,显示位数也往往多达十几位以上.
尽管有专门用于这种多位显示的专门芯片可供选择,但是,往往一只这种芯片成本可能比使用的单片机本身还要高!例如市场上的 CH451 等
,高达 6~8 元呢!
于是,可以考虑串行到并行的一些芯片,例如 HC164,HC595 等等,驱动也仅仅就二线制,但是,这么一来,外挂芯片也不少.
还有,可以使用一些 4 线到 7 线的驱动芯片,例如:CD4511,74LS247,CD4543 等等,它们除了节省一些源驱动引脚之外,使用数量恐怕也让人头痛!
类似于 HC373,HC374,HC573,HC574 的芯片,可以减少很多源驱动引脚,但是,芯片使用数量仍然太多!
还有一个附带问题,许多仪器仪表,往往是主印刷版与前面的显示/按键板是分离的,有些商品仪表,主板到前面板的引线就多达几十根,无论
如何,都会让人感觉又乱有多又不可靠,生产调试等都增加了困难.
说了那么多,我们就是希望:使用尽量少的硬件芯片,尽量少的过渡引线,尽量短的显示周期时间,尽量低的元器件费用!----当然,需要保证可靠性不能降低!
我们举例说明:
一个 2 * 4 位的仪器显示电路,有 8 位数码管,完全依靠单片机本身的端口来驱动,就有 2 种方案考虑:
图 1 的方法需要使用 22 个单片机端口.
图 2 方法需要使用 16 个单片机端口.
图 2 全部数码管显示一次的时间比图 1 长一半时间.
从仪器 2 个板子分离的情况来看,图 1 从主板到前面显示板的引线就相当多了!图 2 虽然少了一些,但是,加上供电,按键等,数量也不算少,很可能还会有发光管指示灯什么的,需要考虑的麻烦事就更多了!
从单片机端口的使用数量来看,它也大大影响到单片机的封装选择,引脚不是越大越好的,对焊接,成本,调试等都会有影响.
如果芯片带有 RS232 硬件功能,当然可以考虑使用串行驱动,虽然不过分影响单片机分时工作的速率,但是,上面提到过,串行芯片的数量也
是相当可观的.
数码管这种显示还要保证每秒不能少于 50 次以上,否则会有显示闪烁的感觉!
针对上面提及的问题,这里推荐一种比较好的方法:就是增加一只廉价的单片机,专门负责显示,主功能单片机与显示用途单片机仅仅 2 根引线就可以正常传送信号,这么一来,带来的后果是利大于弊!
我们这么做,还会最大限度地节省 2 个分离印刷板的引线,节省印刷板的布线难度,减少主单片机的引脚数量,加快系统的运行速率.对显示
用途的单片机的内部资源没有什么要求,完全可以使用最普通功能的单片机来担任显示任务!
这样就需要解决 2 个单片机之间的通信问题,这完全可以借鉴现成的一些 2 线制串行通信方式方法.也可以根据自己的情况自定义自己的
通信方法.
通常,主单片机只要保证每秒时间给显示单片机送入 4 次以上的数据,那么,对数码管显示的实时性来说就已经足够了!----当然,你就是增
加一倍二倍的传送次数,对主单片机来说,也是可以非常轻易做到了!因为,它犯不上去操心每秒显示 50 次以上的工作量了!
而对于显示单片机来说,则要求保证每秒时间内,完成全部数码管的 50 次以上的分时扫描显示.....
而对于显示单片机来说,则要求保证每秒时间内,完成全部数码管的 50 次以上的分时扫描显示.....
下面通过一个具体例子来说明.
图3 电路使用 SN8P2624 芯片,它与 EM78P447,PIC16C57 等芯片引脚排列兼容!而且价格低廉.
图3 电路除了预留 2 个端口作为数据通信之外,其余全部端口都用于数码管的显示.可以驱动 2*6 位数码管.笔段使用并行方式驱动,速度是最快的!
图4 电路除了预留 2 个端口作为数据通信之外,还预留一个端口用于检测 5V 掉电,其余全部端口都用于数码管的显示.可以驱动 2*5 位数码管.笔段使用并行方式驱动,速度是最快的!
如果仅仅驱动 2*4 位数码管,那么,其中一次驱动就可以成为 16 个状态指示灯的发光管驱动.非常适合大部分仪器仪表电路使用.
预留的通信接口都具有外部中断功能,可以很方便地使用中断方式来响应主单片机的数据传送.
由于这种单片机为 OTP 类型,一旦烧写后就不能更改了,因此,需要很好的考虑需要显示的各种各样的内容.同时,还要考虑主单片机传送数据时,到底是传送原始数据还是传送笔段数据.
如果传送原始数据,那么,可以减少数据的传送量.原始数据由显示芯片自行分解到笔段数据.但是有可能出现显示数据没有考虑到的显示内容而无法显示.
如果是传送笔段数据,则由主单片机预先进行 HEX 到 BIN 的转换,然后再进行传送.这种方案会增加数据的传送量.但是不用担心显示数据没有考虑到的显示内容无法显示.
因此,采用哪一种数据进行传送,需要精心考虑和预先安排好!
当然,一个 7 段数码管,能够显示的字符样式毕竟有限,只要把所有可能的字符都考虑周到,就无需担心会有不能显示的内容了.
因此,推荐传送数据直接使用原始数据,由显示单片机自行进行 HEX 到 BIN 的转换,因为显示用途的单片机实际没有什么更多的事情可
做.
如此一来,对于那些具有前后板结构的仪器仪表来说,2 个分离的板子的连接线就一律减少到仅仅剩下 2 条线路了.这个改进对许多厂家来说是具有实际意义的!
那么,增加一只单片机是否会对硬件成本有较大的影响呢? 没有的.它仅仅是把一个多引脚的单片机变成 2 个少引脚的单片机而已.而且,担任显示用途的单片机由于无需特殊功能,可以选择比主单片机更加廉价的型号.虽然不能说是完完全全划等号.可是,对于批量使用的企业来说,它又变成了一个通用部件,完完全全可以仅仅更换一个主板就获得另外一款品种.这是不是也很划算呢?
这是实际项目使用的面板,驱动 4*3位数码管和 5 个工作状态发光管指示灯.。

相关文档
最新文档