蓝桥杯单片机学习总结(Day 5 数码管控制)

标题1:数码管控制的两个关键要素—位选寄存器、段选寄存器。

标题2:位选寄存器。

标题3:段选寄存器。

标题4:具体使用。

标题5:实验总结。

        数码管控制的两个关键要素—位选寄存器、段选寄存器: 

         如图所示DS1、DS2数码管的控制共有12个引脚组成,“8+4”的引脚分别为8个段选引脚:A1、B1...DP1,4个位选引脚COM1..COM4,需要注意的是位选优先,在段选之前先做好位选,如下图为段选引脚控制:

        段选寄存器:

        需要通过P2口的38译码器打开Y7寄存器,不知道P2口38译码器的同学可以看我的http://t.csdnimg.cn/BEYBp文章,里面有介绍。而其中每个单独的数码管a、b...dp所控制的段如下图:

        0为选中该段为亮, 而一些常见的数字字母的表示如下:

        位选引脚的选择由74HC573译码器来翻译:

        位选寄存器:

 

        需要打开Y6寄存器来操作,1为选中状态如P0=0x01,为只有COM1数码管被选中。

以下为数码管的简单使用:

        具体使用:

code unsigned char tab[] = {0xc0, 0xf9, 0xa4, 0xb0, 0x99, 0x92, 0x82, 0xf8, 0x80, 0x90};

void Nixie(unsigned char pos,num)
{
    P2=(P2&0x1f)|0xc0;  //打开位选寄存器
    P0=0x01<<(pos-1);  //0000 0001 打开COM1,pos=1时为0000 0001 ,pos=2表示打开COM2为0000 
                       //0010
    P2&=0x1f;

    P2=(P2&0x1f)|0xe0;  //打开段选寄存器
    P0=tab[num];
    P2&=0x1f;
    Delay(500);  //这里没有写Delay函数同学们自己在stc-isp软件里有这个函数,本身头文件是没有的噢
    P0=0xff;  //数码管消抖,因为有显示的数码管对没有显示的数码管有影响,可能会产生阴影
}

        实验总结:在产生使用一些元器件的想法时先去研究其原理图,在原理图上找其控制引脚、控制引脚所需的寄存器等,在清楚其使用后再进行一些具体操作。 

 

相关推荐

  1. 数论总结

    2024-07-12 18:30:03       33 阅读
  2. 单片机学习day2(点亮数码

    2024-07-12 18:30:03       36 阅读
  3. 单片机示例

    2024-07-12 18:30:03       34 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-12 18:30:03       66 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-12 18:30:03       70 阅读
  3. 在Django里面运行非项目文件

    2024-07-12 18:30:03       57 阅读
  4. Python语言-面向对象

    2024-07-12 18:30:03       68 阅读

热门阅读

  1. html转markdown nodejs实现

    2024-07-12 18:30:03       18 阅读
  2. 记一次nodeBB部署

    2024-07-12 18:30:03       23 阅读
  3. 使用Spring Boot实现分布式配置管理

    2024-07-12 18:30:03       16 阅读
  4. 快速上手文心一言:让创作更轻松

    2024-07-12 18:30:03       18 阅读
  5. 树状数组(Binary Indexed Tree, BIT)

    2024-07-12 18:30:03       19 阅读
  6. LeetCode 20. 有效的括号

    2024-07-12 18:30:03       17 阅读
  7. AI学习指南机器学习篇-聚类树的剪枝

    2024-07-12 18:30:03       17 阅读