[蓝桥杯单片机 共阳数码管]

一、数码管原理图

开发板上的八位数码管为共阳连接,com1–com8分别控制公共端(公共阳极);a–dp分别控制数码管每一位的八个段。它们两又分别被锁存器U6和U7控制着。


当com端为高电平,对应的a–dp为低电平时相应段码就会亮。如:com1为高电平,com2–com8为低电平,此时让dp为低电平,a–g为高电平,则第一个数码管只有dp亮,也就是亮一个点。

由于段码有八个,如果一个一个赋值很麻烦,因此一般用十六进制数一次性给段码进行赋值。十六进制数控制的段码显示如下:

二、数码管显示代码

下面举几个例子:
1、让数码管八个位都显示6(数码管静态显示)

#include"reg52.h"
sbit HC138_A = P2^5;//定义译码器中ABC所在引脚
sbit HC138_B = P2^6;
sbit HC138_C = P2^7;void Show_SMG()
{   HC138_C = 1;  //给CBA赋值,打通U6HC138_B = 1;HC138_A = 0;P0 = 0xff;   //com1-8设为高电平HC138_C = 1;  //给CBA赋值,打通U7HC138_B = 1;HC138_A = 1;P0 = 0x82;  //给八个段赋值显示6
}void main()
{while(1){Show_SMG();}
}

2、让数码管八个位从0显示到9(数码管静态显示)

为了方便,我们将所有要用的段码放在一个数组中;将选择锁存器的代码也进行优化,要理解这些的原理都要将十六进制转化为二进制来理解。

#include"reg52.h"unsigned char SMG_Duanma[12] = {0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xbf,0x7f};//数码管段码
void Delay(unsigned int t)
{while(t--);
}void SelectHC573(unsigned channel)  //选择锁存器
{switch(channel){case 6:  //选择U6锁存器P2 = P2 & 0x1f | 0xc0;break;case 7:  //选择U7锁存器P2 = P2 & 0x1f | 0xe0;break;}
}unsigned char i;
void ShowSMG()
{SelectHC573(6);P0 = 0xff;  //com1-8设为高电平SelectHC573(7);for(i = 0; i<=9; i++){P0 = SMG_Duanma[i];Delay(50000);Delay(50000);}
}void main()
{while(1){ShowSMG();}}

3、让数码管从0显示到99(数码管动态显示)

动态显示原理:让不同位的数码管只亮一小段极小时间,从而造成视觉暂留效果,人眼无法识别这极小段的熄灭时间,从而觉得这些不同位数码管是同时亮的。

上代码:

#include"reg52.h"unsigned char SMG_Duanma[12]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xbf,0x7f};//数码管段码void Delay(unsigned int t){while(t--);}void SelectHC573(unsigned char channel)
{switch(channel){case 6:  //选择U6锁存器P2 = P2 & 0x1f | 0xc0;break;case 7:  //选择U7锁存器P2 = P2 & 0x1f | 0xe0;break;}
}void ShowSMG_Bit(unsigned char pos,  unsigned char value)  //pos位显示value
{SelectHC573(6);P0 = 0x01 << (pos - 1);SelectHC573(7);P0 = value;Delay(200);  //消影P0 = 0xff;   //消影
}unsigned char i, j;
void DelaySMG(unsigned int t)
{while(t--){ShowSMG_Bit(1, SMG_Duanma[i]);  //第一位显示SMG_Duanma[i]Delay(200);ShowSMG_Bit(2, SMG_Duanma[j]);  //第二位显示SMG_Duanma[j]Delay(200);}
}void ShowSMG()
{for(i = 0; i<=9; i++)   for(j = 0; j <= 9; j++){ ShowSMG_Bit(1, SMG_Duanma[i]);  //第一位显示SMG_Duanma[i]DelaySMG(200);ShowSMG_Bit(2, SMG_Duanma[j]);  //第二位显示SMG_Duanma[j]DelaySMG(200);}
}void main()
{while(1){ShowSMG();}
}```

[蓝桥杯单片机 八位共阳数码管](4)相关推荐

  1. 【蓝桥杯单片机】共阳数码管

    一.电路图 段选 位选 通过Y6选择八个数码管的一个或多个,再通过Y7进行数码管的显示. 段码:共阳数码管 数字1的显示: dp=1 g=1 f=1 e=1 d=1 c=0 b=0 a=1(亮为0,灭 ...

  2. 51单片机入门—共阳数码管的静态显示

    共阳数码管的静态显示 共阳数码管的原理图 共阳数码管的原理图 数码管的类型 CT107D单片机综合实训平台上使用的数码管是F3461BH,倒数第2个字母是"B",说明这个数码管是共 ...

  3. 51单片机之共阳数码管

    单个共阳数码管静态显示 #include<reg51.h> //包含头文件,一般情况不需要改动, //头文件包含特殊功能寄存器的定义void main (void) {P1=0xc0; / ...

  4. 【蓝桥杯单片机备赛】3.【SMG】共阳共阴数码管模板整理及真题实战心得

    初学数码管的时候,曾经被数码管显示的亮度折磨过一段时间,现在来总结一遍自己对数码管的理解. 0 1 2 3 4 5 6 7 8 9 A B C D E F 0xC0 0xF9 0xA4 0xB0 0x ...

  5. 【蓝桥杯—单片机学习笔记(四)】共阳数码管的动态显示

    一.要求 在CT107D单片机训练综合平台上,实现数码管的动态显示,在8位数码管中,前面4位显示年份"2022",接着是2个分隔符"--",最后两位是月份,从1 ...

  6. 蓝桥杯单片机备战(四)共阳数码管的静态显示

    1.共阳数码管原理实现 这是共阳数码管,所谓共阳的意思就是共阳极,每一个LED共用一个阳极,当控制LED的阴极为低电平时被点亮,如下图: 这里com1到com8为共阳口,例: 当com1设置为高电平时 ...

  7. 【蓝桥杯-单片机学习笔记(三)】共阳数码管的静态显示

    一.要求 在CT107D单片机综合训练平台上,8个数码管分别单独依次显示0~9的值,然后所有数码管一起同时显示0~F的值,如此往复. 二.数码管 1.七段数码管 七段数码管,其实内部由8个发光二极管构 ...

  8. [蓝桥杯单片机]学习笔记——共阳数码管的静态与动态显示

    一.理论部分 共阳数码管引脚可以分为两个部分,一是段码,一个是位码.段码指的是一个数码管的7个段加dp小数点,一共8个,通过P0控制其亮灭使得数码管显示出不同效果.譬如亮afedcg表示的是6形状.位 ...

  9. 【蓝桥杯-单片机学习笔记(六)】矩阵键盘控制数码管显示0~F

    一.要求 在CT107D单片机训练平台上,首先将J5处的跳线帽接到1~2引脚,使按键S4~S19组成4*4的矩阵键盘.在扫描按键的过程中,发现有按键触发信号后,待按键松开后,数码管显示相应的数字.按键 ...

最新文章

  1. OpenCASCADE:网格之BRepMesh 架构
  2. 从表现现象查找电脑问题的根源
  3. Cloud for Customer手机应用上传图片禁止从本地相册选择图片的核心代码
  4. java实现打印直角三角形
  5. python 找出图片中的差异点,python opencv对目录下图片进行去重的技巧
  6. Egret 集成第三方库 记录
  7. 对VLAN,TRUNK,VTP和CHANNEL实验总结
  8. python经典实例下载_python经典实例
  9. 知行EDI系统-入门篇
  10. 三菱凌云3故障代码_三菱凌云III电梯通讯故障处理
  11. 课外读物积累-----如何提高英文的科研写作能力(摘自施一公寄语)
  12. UNISON文件同步
  13. noi linux黑屏,急!!!noi linux 安装后黑屏怎么处理?(xp系统)
  14. 三个案例讲解Lambda表达式
  15. 详细 | 图神经网络从入门到入门
  16. android多线程讲解与实例
  17. 关于python的开发软件pycharm设置中文(无需汉化包)
  18. cadence绘制二极管
  19. 网页制作怎么入服务器,网站后台是怎么做的 如何进入网站后台
  20. 【分类器 Softmax-Classifier softmax数学原理与源码详解 深度学习 Pytorch笔记 B站刘二大人(8/10)】

热门文章

  1. 阿里云云计算工程师 ACP 认证(Alibaba Cloud Certified Professional -Cloud Computing)考试大纲
  2. 如何以活动价在官网购买百度网盘会员
  3. 抖音测试年龄和年级的是什么软件,抖音年龄测试相机app
  4. APP开发中这十个细节能直接影响到用户体验,那么如何提升用户体验?
  5. 使用JavaScript克隆元素
  6. Spark数据倾斜解决
  7. IT就业前景怎么样?好不好?
  8. 【渝粤题库】陕西师范大学300005 中国历史文选
  9. python获取b站视频封面及弹幕
  10. 古墓丽影10linux,《古墓丽影:崛起》推出Linux系统版:Ubuntu 17.10可玩