数码管 订阅
数码管,也称作辉光管,是一种可以显示数字和其他信息的电子设备。玻璃管中包括一个金属丝网制成的阳极和多个阴极。大部分数码管阴极的形状为数字。管中充以低压气体,通常大部分为氖加上一些汞和/或氩。给某一个阴极充电,数码管就会发出颜色光,视乎管内的气体而定,一般都是橙色或绿色。 展开全文
数码管,也称作辉光管,是一种可以显示数字和其他信息的电子设备。玻璃管中包括一个金属丝网制成的阳极和多个阴极。大部分数码管阴极的形状为数字。管中充以低压气体,通常大部分为氖加上一些汞和/或氩。给某一个阴极充电,数码管就会发出颜色光,视乎管内的气体而定,一般都是橙色或绿色。
信息
基本单元
发光二极管
本    质
半导体发光器件
分    类
七段数码管和八段数码管
中文名
数码管
外文名
Nixie tube
别    称
晶美、光电
数码管简介
数码管,也称作辉光管,是一种可以显示数字和其他信息的电子设备。玻璃管中包括一个金属丝网制成的阳极和多个阴极。大部分数码管阴极的形状为数字。管中充以低压气体,通常大部分为氖加上一些汞和/或氩。给某一个阴极充电,数码管就会发出颜色光,视乎管内的气体而定,一般都是橙色或绿色。尽管在外观上和真空管相似,其原理并非为加热阴极放射电子。因而它被称为冷阴极管或霓虹灯的一个变种。在室温下,即使处于极端的室内工作条件下,这种管子的温度很少超过40℃。数码管的最常见形式有10个阴极,形状为数字0到9,某些数码管还有一个或两个小数点。然而也有其他类型的数码管显示字母、标记和符号。如一种“数码管”,其阴极为一个模板制成的面具,上面有数字形状的孔。一些俄罗斯的数码管,如IN-14,使用倒立的数字2代表5,大概是为了节约生产成本,而没有明显的技术或美学方面的原因。俄罗斯的数码管大部分都使用了倒立的2作为5。将170伏的直流电压加在阴极和阳极之间,每一个阴极可以发出氖的的红橙色光。由于混合气体的不同,不同类型的数码管之间的颜色有所区别。寿命较长的数码管在制造中加入了汞,减少了溅射,结果发出的光的颜色为蓝色或紫色调。在某些情况下,这些颜色被玻璃上的红色或橙色过滤涂层过滤。 [1] 
收起全文
精华内容
下载资源
问答
  • 数码管

    2021-01-27 17:48:10
    数码管1.数码管显示原理共阴极数码码表2.静态显示与动态显示静态显示动态显示3.74HC573锁存器工作原理上拉电阻的作用3.原理图4.数组的定义与使用 1.数码管显示原理 数码管根据内部连接不同分为共阴极和共阳极。八段...

    1.数码管显示原理

    在这里插入图片描述
    数码管根据内部连接不同分为共阴极和共阳极。八段数码管内部有八颗LED灯组成,如果想要现实特定字形只需要控制相应的LED亮起,其他LED熄灭即可。

    共阴极数码码表

    在这里插入图片描述
    在这里插入图片描述

    2.静态显示与动态显示

    静态显示

    特点:每个数码管的段选必须接一个八位数据线来保持显示的字形码。当送入一次字形码后,显示字形可一直保持,直到送入新字形码位置

    动态显示

    特点:将所有位数码管并联在一起,由位选线控制是哪一位数码管有效。选亮数码管采用动态扫描显示。所谓动态扫描显示即轮流向各位数码管送出字形码和相应的位选,利用发光管的余辉和人眼视觉暂留作用,使人的感觉好像各位数码管同时都在显示

    3.74HC573锁存器工作原理

    锁存器作用:可以把数据输入端与输出端进行隔离或连接
    在这里插入图片描述
    在这里插入图片描述
    输出口Q要想输出高低电平OE脚必须接GND。
    LE脚为高时,输出端Q随输入端D的数据而变化。
    LE脚为低时,输出端Q数据保持不变,输入端D数据变化不会改变Q的数据。

    上拉电阻的作用

    上拉就是将不确定的信号通过一个电阻钳位在高电平,电阻同时起限流作用。下拉同理,也是将不确定的信号通过一个电阻钳位在低电平。
    当P0口作为输入/输出口时,上电复位后处于开漏模式。P0口内部无上拉电阻,所以作I/O口必须外接10K-4.7K的上拉电阻。
    在这里插入图片描述
    在这里插入图片描述

    3.原理图

    在这里插入图片描述

    4.数组的定义与使用

    数据类型 数组名【常量表达式】= {元素表};
    eg:
    unsigned char tabel [3] = {0x3F,0x06,0x05B};
    P0 = tabel [0];//P0此时值为0x3F

    展开全文
  • 设计单片机的Proteus仿真电路,实现如下功能:控制P0口数码管循环显示0-9; 按下上面开关,控制P2口数码管依次显示0-9;按下下面开关,控制P1口数码管依次显示0-9。

    Description

    设计单片机的Proteus仿真电路,实现如下功能:

    1. 控制P0口数码管循环显示0-9
    2. 按下上面开关,控制P2口数码管依次显示0-9
    3. 按下下面开关,控制P1口数码管依次显示0-9

    实验电路图

    在这里插入图片描述

    实验分析

    1. 控制P0口数码管循环显示0-9。使P0不断取DSY_CODE中的值,然后每次改变前延时。
    2. 外部中断INT0发生时,控制P2口数码管依次显示0-9。开启外部中断0,然后在中断处理函数里面使P2不断取DSY_CODE中的值,不循环。
    3. 外部中断INT1发生时,控制P1口数码管依次显示0-9。开启外部中断1,同时设置高优先级,中断处理函数同上。

    源程序

    #include<reg52.h>
    #define uchar unsigned char
    #define uint unsigned int
    
    uchar code DSY_CODE[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90}; 
    
    //延时函数
    void delay(uint m, uint n) {
    	uint i, j;
    	for(i = 0; i < m; i++) {
    		for(j = 0; j < n; j++);
    	}
    }
    
    void open_interrupt() {
    	EA = 1;   //CPU开中断
    	EX0 = 1;  //允许外部中断0产生中断
    	IT0 = 1;  //外中断0为边沿触发方式
    	EX1 = 1;  //允许外部中断1产生中断
    	IT1 = 1;  //外中断1为边沿触发方式
    	PX1 = 1;  //外中断1为高级中断
    }
    
    //外部中断0
    void inter0() interrupt 0 {
    	uint i = 0;
    	for(i = 0; i < 10; i++) {
    		P2 = DSY_CODE[i];
    		delay(880, 110);
    	}
    }
    
    //外部中断1
    void inter1() interrupt 2 {
    	uint i = 0;
    	for(i = 0; i < 10; i++) {
    		P1 = DSY_CODE[i];
    		delay(880, 110);
    	}
    }
    
    void main() {
    	uint i = 0;
    	open_interrupt();  //开中断
    	while(1) {
    		P0 = DSY_CODE[i];
    		i = (i + 1) % 10;
    		delay(880, 110);
    	}
    }
    
    展开全文
  • 利用8255A控制七段数码管循环动态显示00~99。

    一、实验目的

    掌握数码管显示数字的原理。

    二、实验原理和内容

    在这里插入图片描述

    三、编程提示

    在这里插入图片描述

    四、电路接线图

    在这里插入图片描述

    五、程序设计流程图

    在这里插入图片描述

    六、一些说明

    1. 将01h送到C口后,再将要显示的数据送到A口,显示的是个位。
    2. 将02h送到C口后,再将要显示的数据送到A口,显示的是十位。
    3. 注意判断进位。

    七、程序源代码

    stack segment stack
        db 200 dup(0)
    stack ends
    
    data segment
        APORT equ 288h
        CPORT equ 28ah
        CTRL equ 28bh
        num db 3fh, 06h, 5bh, 4fh, 66h, 6dh, 7dh, 07h, 7fh, 6fh  ;0~9
    data ends
    
    code segment
        assume cs:code,ds:data,ss:stack
    
        delay MACRO
          local loop_delay
          local flag
          push cx
          push bx
          xor bx, bx
          flag:mov cx, 0ffffh
          loop_delay:loop loop_delay
          inc bx
          cmp bx, 10
          jnz flag
          pop bx
          pop cx
       ENDM
    
    main: mov ax,data          
          mov ds,ax
          mov ax, stack
          mov ss, ax
          mov dx, CTRL
          mov al, 80h  ;写入控制字
          out dx, al
          xor si, si
          xor di, di
    loop1:cmp si, 10  ;检查个位是否已经增加到10
          jz carry          ;进位
          mov dx, CPORT
          mov al, 02h
          out dx, al
          mov dx, APORT
          mov al, num[di]   ;显示十位
          out dx, al
          delay
          mov dx, CPORT
          mov al, 01h
          out dx, al
          mov dx, APORT
          mov al, num[si]   ;显示个位
          out dx, al
          inc si           ;个位+1
          delay
          jmp loop1  ;还没有进位个位继续增加
    carry:xor si, si   ;进位后将个位清零
          cmp di, 10  ;十位增加到10就从00重新开始
          jz exit
          mov dx, CPORT
          mov al, 02h
          out dx, al
          mov dx, APORT
          mov al, num[di]
          out dx, al
          inc di   ;十位+1
          delay
          jmp loop1
     exit:xor di, di
          jmp loop1
          mov ah,4ch
          int 21h
    code ends
         end main
    
    展开全文
  • 数码管尺寸

    2018-12-23 19:11:28
    数码管尺寸 介绍了大部分数码管长宽高型号尺寸用英寸标注
  • 静态数码管

    2018-02-17 09:46:23
    单片机静态数码管的教学讲义,用于对单片机静态数码管的设置。
  • 数码管程序

    2017-03-21 16:07:46
    数码管显示数字
  • 数码管电流

    2015-12-01 21:40:17
    数码管电流
  • 静态数码管和动态数码管

    千次阅读 2020-06-09 10:51:51
    目录一,什么是数码管二,静态数码管的驱动三,动态数码管四,动态数码管显示编程实战五,使用38译码器驱动动态数码管 一,什么是数码管 1、数码管 (1)作用:数码管是显示器件,用来显示数字的 (2)分类:单个(1位...


    一,什么是数码管


    1、数码管
    (1)作用:数码管是显示器件,用来显示数字的
    (2)分类:单个(1位)、联排(2位、4位、8位)

    2、工作原理
    (1)亮灭原理(其实就是内部的照明LED)
    (2)显示数字(甚至文字)原理:利用内部的LED的亮和灭让外部的组成数字的笔画显示或者不显示,人看到的就是不同的数字

    3、共阳极和共阴极数码管
    (1)驱动方法的差异。必须清楚一个数码管内部的8颗LED是独立驱动的。如果8颗LED的正极接在一起接到VCC上(负极分别接到单片机的不同引脚),这种接法就叫共阳极。反之如果8课LED负极接在一起然后接到GND(正极就分别接到单片机的不同引脚)就叫共阴极。两种接法都可以驱动数码管显示,但是用来显示的单片机程序不同(共阳极时单片机0是亮,共阴极时单片机的1是亮)。
    (2)驱动电流需求差异。数码管(其实就是LED)如果按照共阳极接法则单片机可以直接驱动显示,如果按照共阴极接法则单片机不能直接驱动,因为单片机的IO口提供的电流大小不够驱动数码管内部的LED显示,需要外部电路来提供一个大电流驱动的芯片来解决(一般电路中74HC573就是起的这个作用)。

    4、静态和动态数码管
    (1)用途差异
    (2)电路接法差异

    在这里插入图片描述


    二,静态数码管的驱动


    1、验证原理图中数码管段号是否正确
    (1)数码管的8段实际是8个LED,分别对应IO端口P0的8个引脚(P0.0、P0.1····P0.7),那么谁对应谁呢?
    (2)理论上可以分析原理图和接线方法去推测这个对应关系(数码管的段码),但是实际上理论分析的经常不对。
    (3)实战中一般都是自己写代码去测试的。

    	P0 = 0xfe;		 11111110 		P0.0输出0	实测对应a
    	P0 = 0xfd;		 11111101		P0.1输出0	实测对应b
    	P0 = 0xfb;		 11111011		P0.2输出0	实测对应c
    	P0 = 0xf7;		 11110111		P0.3输出0	实测对应d
    	P0 = 0xef;		 11101111		P0.4输出0	实测对应e
    	P0 = 0xdf;		 11011111		P0.5输出0	实测对应f
    	P0 = 0xbf;		 10111111		P0.6输出0	实测对应g
    	P0 = 0x7f;		 01111111		P0.7输出0	实测对应dp
    

    注意:P0端口的8个二进制位中,高位对应P0.7,而低位对应P0.0

    2、思考:数码管如何显示数字?
    (1)数码管显示数字,其实就是让数码管亮相应的几个段。其实就是让IO端口的相应引脚输出0(其余引脚输出1),其实就对应一个8位的二进制数。
    (2)结论就是:P0端口输出一个合适的字节数,数码管就会显示相应的数字。每个数字都会有一个对应的8位二进制数,关键就是要得到这8位二进制数
    (3)数字编码(段码)的获取

    要显示的数字	数码管亮的LED				段码二进制	十六进制
    0 				abcdef					11000000	0xC0
    1				bc						11111001	0xf9
    2				abdeg					10100100	0xA4
    3				abcdgh					10110000	0xb0
    4				bcfg					10011001	0x99
    5				acdfg					10010010	0x92
    6				acdefg					10000010	0x82
    7				abc						11111000	0xf8
    8				abcdefg					10000000	0x80	
    9				abcdfg					10010000	0x90
    A				abcefg					10001000	0x88
    b				cdefg					10000011	0x83
    C				adef					11000110	0xc6
    d				bcdeg					10100001	0xA1
    E				adefg					10000110	0x86
    F				aefg					10001110	0x8e
    

    3、结论
    (1)不同的数码管数字编码(段码)表可能不同
    (2)同一个数码管接线方式不同编码表可能完全不同
    (3)硬件确定后可通过调试的方法来实验确定编码表

    4、让静态数码管依次显示0到f

    #include <reg51.h>
    
    void delay();
    
    void main(void)
    {
     	unsigned char val[16] = {0xc0, 0xf9, 0xa4, 0xb0, 0x99, 0x92, 0x82, 0xf8, 0x80, 0x90, 0x88, 0x83, 0xc6, 0xa1, 0x86, 0x8e};
    	unsigned char i = 0;
    
       	while (1)
    	{
    		for (i=0; i<16; i++)
    		{
    			P0 = val[i];
    			delay();
    		}
    	}
    }
    
    void delay(void)
    {
    	unsigned char i, j, k;
    	
    	for (i=0; i<100; i++)
    		for (j=0; j<100; j++)
    			for (k=0; k<20; k++);
    }
    

    三,动态数码管


    1、静态数码管驱动方式的缺陷
    (1)优势是驱动简单直接,好编程
    (2)缺陷是每个数码管需要1个端口,单片机的端口不够用
    解决办法:使用动态方式驱动多个数码管

    2、什么是动态数码管
    (1)数码管还是原来的数码管(共阳极或共阴极均可)数码管有2端:COM端和段码端
    (2)段码一侧还是接一个单片机端口
    (3)COM(共极)接单片机一个IO口多个联排数码管的COM共同接一个IO端口

    静态和动态数码管本质区别是:静态数码管中只要给了段码数码管就一定工作(显示只取决于段码端),动态数码管中段码端给了段码值后还需要COM端配合才能点亮数码管

    在这里插入图片描述

    3、动态数码管如何工作
    (1)在某一特定时间段中,联排数码管中只有一个数码管在工作,其他均在休息(不工作)
    (2)COM端选择哪个数码管工作,段码端输出这个数码管要显式的数字的段码;延时;COM端选择下一个数码管工作,同时段码端改输出这个数码管要显示的数字的段码;延时;COM端选择下一个数码管工作······
    (3)快速切换工作的数码管,动态数码管利用了人眼的视觉暂留,则人看到的是所有的数码管都在亮(其实亮度是比静态驱动低的)。

    搞清楚2点:
    第一:宏观上所有的数码管都是同时亮的,所以人以为所有数码管同时工作,所以多个数码管可以合在一起来显示(譬如显示12345678)
    第二:微观上数码管是依次亮的,我们可以给不同的数码管送不同的段码,所以不同的数码管可以显示不同的数字。所以相当于8个数码管的显示是独立的。


    四,动态数码管显示编程实战


    先实验得出数码管的段码表:0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07, 0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71
    目标:8个联排数码管一起显示12345678

    (1)编程思路:先选中第1数码管,然后段码端送1的段码,然后延时一会儿;然后切换选中第2数码管,然后段码端送2的段码,然后延时一会儿;····直到第8个数码管显示完为一个周期;死循环这个周期。

    (2)实现代码

    #include <reg51.h>
    
    void delay(void)
    {
    	unsigned char i, j;
    
    	for (i=0; i<10; i++)
    		for (j=0; j<10; j++);
    }
    
    
    unsigned char duanma[16] = {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,
    0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};
    
    unsigned char weima[8] = {0xfe, 0xfd, 0xfb, 0xf7, 0xef, 0xdf, 0xbf, 0x7f};
    
    
    void main(void)
    {
    	while (1)
    	{
    		unsigned char i = 0;
    
    		for (i=0; i<8; i++)
    		{
    			P2 = weima[i];		// 依次选择数码管1-8
    			P0 = duanma[i];	// 依次显示1-8
    
    			delay();
    			P0 = 0x00;
    		}
    	
    	}
    
    }
    

    五,使用38译码器驱动动态数码管


    1、为什么引入38译码器
    (1)38译码器的作用:用3个IO口来控制8路输出。
    (2)用38译码器驱动数码管的意义:原来不用38译码器时,8个动态数码管一共使用2个IO端口(16个引脚),现在使用了38译码器后,我们可以用38译码器的3路输入来控制数码管的8路位码,这样总共只需要3+8=11个IO引脚就可以来驱动8个动态数码管了,省了5个IO口。

    2、74LS138的数据手册
    (1)重点看懂真值表
    (2)G1和G2A G2B三个是使能引脚
    (3)ABC是编码端,Y0-Y7是输出端
    在这里插入图片描述

    实验代码

    #include <reg51.h>
    
    /*  接线方法
     * 	P1.0对应A, P1.1对应B, P1.2对应C
     *	P0端口对应段码
     *
     */
    
    
    unsigned char duanma[16] = {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,
    0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};
    
    unsigned char weima[8] = {0, 1, 2, 3, 4, 5, 6, 7};
    
    
    
    void delay(void)
    {
    	unsigned char i;
    
    	for (i=0; i<200; i++);
    }
    
    
    void main(void)
    {
    	while (1)
    	{
    		unsigned char i = 0;
    
    		for (i=0; i<8; i++)
    		{
    			P1 = weima[i];		// 依次选择数码管1-8
    			P0 = duanma[i+3];	// 依次显示3-a
    
    			delay();
    			P0 = 0x00;
    		}	
    	}
    
    
    展开全文
  • 数码管字体

    2018-10-25 10:19:43
    非常漂亮的数码管字体、液晶字体 digifaw.ttf digifaw
  • 数码管显示数码管显示数码管显示数码管显示数码管显示
  • 数码管控制

    2019-01-26 21:28:24
    简单的51单片机的按键控制数码管 ,对单片机初学者很有帮助
  • 把之前的静态数码管示例修改为动态数码管显示,不使用位码数组,使用算式控制位码。也不使用独占式延时方式,采用并行式延时方式不影响运行速和效率。
  • 数码管使用

    2017-12-19 00:35:28
    LED 数码管也称半导体数码管,它是将若干发光 二极管按一定图形排列并封装在一起 的最常用的数码显示器件之一。LED 数码管具有发光显示清晰、响应速度快、耗电省、体 积小、寿命长、耐冲击、易与各种驱动电路连接等...
  • 数码管的分类

    2020-07-17 19:14:06
    数码管的分类
  • 数码管显示

    2016-08-27 10:09:54
    数码管显示

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 33,639
精华内容 13,455
关键字:

数码管