• 数码管


    数码管显示的原理就是依靠点亮发光二极管来发光的。
    数码管内部电路图如下

    数码管一共8段,即内部一共8个发光二极管,显示一个数字需要7个小段,外加一个点。不过生产商为了
    商为了封装统一,单位数码管都封装10个引脚,其中第3和第8引脚连在一起。公共端又可分为共阴极和共
    阳极
    对于共阴极,即所有数码管的阴极连在一起,而阳极是相互独立的,通常在设计电路时一般把阴极接地。
    当我们给数码管的任一个阳极加一个高电平时,相对应的电路就会通,发光二级管就被点亮了
    如果要显示一个8字,并且把右下角的小数点也点亮的话,可以给8个阳极全部送高电平,如果想显示出一
    个0字,可以除了给第“g,dp”这两位送低电平外,其余引脚全送高电平。同理,要显示几,就给相对应的
    发光二极管送高电平,高电平有效
    共阳极数码管内部8个发光二级管的阳极全部连接在一起,电路连接时,公共端接高电平,我们要点亮的那个
    发光二级管要给阴极送低电平,此时显示数字的编码与共阴极编码是相反的关系,数码管内部发光二极管点
    亮时也需要5mA以上的电流,而电流不可过大,否则会烧毁发光二级管。由于单片机的I/O口送不出如此大的
    电流,所以数码管与单片机连接时需要加驱动电路,可以用上拉电阻的方法或使用专门的数码管驱动芯片,
    TX-1C实验板上使用的是74HC573锁存器,其输出电流较大,电路接口简单
    负责显示什么数字的段线是连接在一起的,独立的公共端可以可以控制多位一体中的哪位数码管点亮,而连接
    在一起的段线可以控制这个能点亮数码管什么数字,公共端叫做“位选线”,连接在一起的段线叫做“段选
    线”,通过单片机及外部驱动电路就可以控制任意数码管显示任意数字
    一般单位数码管由10个引脚,二位数码管也是10个引脚,四位数码管12个引脚。
    数码管的显示分为静态显示和动态显示
    静态显示:当多位数码管用于某一系统时,它们的“位选”是可独立控制的,而“段选”是连接在一起的,
    我们可以通过位选信号控制那几个数码管亮,而在同一时刻,位选选通的所有数码管上显示的数字始终都是
    一样的,因为它们的段选是连接在一起的,所以所有数码管的段选信号都是相同的,即显示的数字是一样的
    数码管与单片机的练接图如下:

    我的板子上的图:


    原理图中标号相同的点在实际电路中时物理上相连的。为了使原理图看上去简洁整齐,我们在绘制原理图时
    通常都是用相同的标号表示电气连接。
    上面两图都是为共阴极连接
    数码管中WE1,WE2,WE3,WE4,WE5,WE6都为位选端,a,b,c,d,e,f,g,h都为段选端,且一共6个
    数码管的段选端与位选端又都与锁存器相连,并且锁存器的输入端D0,D1,D2,D3,D4,D5,D6,D7与单
    片机的P0.0~P0.7口相连
    P0口(39-32脚)双向8位三态I/O口,每个口可独立控制。51单片机P0内部没有上拉电阻,为高阻状态,所以不
    能正常的输出高低电平,因此此I/O口在使用时要外接上拉电阻,一般选择10K的上拉电阻
    锁存器:

    当锁存使能为高时,这些器件的锁存对于数据是透明的(即输出同步)。当锁存使能为低时,符合建立时间和保
    持时间的数据会被锁存
    由功能表知,当输出使能(第1引脚)为低电平,锁存使能(第11管脚)为高电平时,输出端随着输入端的电平的
    变化而变化,而当锁存使能为低电平时,输出端不随输入端的改变而改变。由此达到了暂时存储的目的
    为了使数码管正常工作,输出使能端要始终为低电平,所以第一引脚接地,而通过第11引脚的高低电平来对数码管
    中哪一个点亮,点亮什么数字进行控制
    我的这个板子中有两个锁存器,对6个数码管进行控制
    两个锁存器的第一引脚始终接地,输入端DN都与单片机的P0口相连接
    DULA和WELA分别接两个锁存器的锁存端,即第11引脚,并且WELA和DULA与单片机的P2.7口和P2.6口连接
    共阴极数码管编码表(段控制)

    unsigned char code table[]={
            0x3f,0x06,0x5b,0x4f,
            0x66,0x6d,0x7d,0x07,
            0x7f,0x6f,0x77,0x7c,
            0x39,0x5e,0x79,0x71
            };
    位控制:
    11111111(ff)关闭所有数码管
    11111110  (fe)   打开第一个数码管
    11111101(fd)打开第二个数码管
    同理打开那个数码管,只需要将其位选段置零,即变为低电平即可-------低电平有效
    下面通过程序更进一步的熟悉数码管
    #include<reg52.h>               //52系列头文件
    sbit dula=P2^6;               // 声明段锁存器的锁存端
    sbit wela=P2^7;           // 声明段位存器的锁存端
                               
    void main(){
        wela=1;               //打开位锁存器
        P0=0xFE;               // 送入数据
        wela=0;               //关闭位锁存器

        dula=1;                //打开段锁存器
        P0=0xFF;                // 送入数据
        dula=0;                //关闭段锁存器


        while(1);                //使数码管始终工作
        
    }
    由此,第一个数码管中所有的发光二级管就开始工作了(即显示一个8字和一个点)

  • 相关阅读:
    【搜索结果】高亮显示
    【搜索面板】排序单选
    【搜索面板】价格信息单选
    根据接口返回的数据重组数组
    Array.from
    获取指定字符串第n次出现的位置索引
    Object
    验证码倒计时
    iview Form表单正则验证
    网络图片转base64格式
  • 原文地址:https://www.cnblogs.com/tuteng/p/2943315.html
Copyright © 2020-2023  润新知