这里是我的数码管的学习笔记,欢迎大家一起进步

数码管的初始化原理参照以下链接
(本人写的博客)初始化原理
请务必多看一下,里面还有关于P0口的一些信息
那么看一下原理图,了解一下数码管的工作原理

可以看到我所画的大致示意图,也就是Y6C控制com一系列引脚来选择要显示的数码管
然后选择哪个灯管亮的是Y7C控制的abcdefg。
也就是说,先用Y6C位选数码管,Y7C位选亮的数码管

比如Y6C开启,P0=0xff,也就是选中所有的数码管展示
然后Y7C开启,P01=0;所有的数码管的a管亮,也就是全是最上面的灯管亮。

数码管也分为共阴极数码管,和共阳极数码管,如图:

我们的蓝桥杯的数码管是共阳极的数码管,所以得控制abcdefgdp的口输出为零,他才会亮
所以很明显,也就是选中之后,通过P0口控制abcdefg来显示数字,比如显示“1”,就是bc亮也就是P02,P03=0;
但是这样每次要展示都要看一下怎么设计是不是太麻烦了,我们蓝桥杯的资料里面又这么一份资料是直接提供了0-9的数字显示的十六进制表示数
如图

啊,说这么多是不是觉得我有点罗里吧嗦的?
好,下面是实践,我们先来设计个程序,让所有数码管先直接显示1:

#include "reg52.h"
void main(){P2=0xa0;P0=0x00;P2=0xc0;P0=0xff;//位选状态,选中所有数码管P2=0xff;P0=0xc0;//Y7为L,选择abcdefg展示
}


大概就是这样。
下一步呢,我们来实现一下从0到9的隔一秒轮换展示

#include "reg52.h"
unsigned int code tab[10]={    0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90
};//利用数组保存各个数字的位置方便我们直接使用
void delayms(int ms){unsigned int i;while(ms--){for(i=0;i<628;i++);}
}//延时函数
void main(){unsigned int i;P2=0xa0;P0=0x00;//关闭继电器关闭蜂鸣器P2=0xc0;P0=0xff;//选中所有数码管P2=0xff;i=0;while(1){P0=tab[i%10]//想一想为什么取余;delayms(1000);i++;}//循环交换数字
}

以下视频效果

抱歉自己的视频传不上去,请自行复制代码,烧录查看效果

现在就是利用我之前写的定时器的博客的知识来实现一下,这个程序:
这里是我的定时器笔记

#include "reg52.h"
sfr AUXR =0x8E;
unsigned int tt;
unsigned int i;
unsigned int code tab[10]={    0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90
};
void delayms(int ms){unsigned int j;while(ms--){for(j=0;j<628;j++);}
}
void Timer0Init(void)       //1ms@12.000MHz
{AUXR |= 0x80;TMOD &= 0xF0;   TL0 = 0x20;TH0 = 0xD1;TF0 = 0;TR0 = 1;ET0 = 1;EA = 1;
}
void Timer() interrupt 1{tt++;if(tt==1000){i++;tt=0;}
}
void main(){P2=0xa0;P0=0x00;P2=0xc0;P0=0xff;P2=0xff;i=0;Timer0Init();while(1){P0=tab[i%10];}
}

两个效果是一样的,不过下面的定时器1秒更精准一些


好了我的数码管的笔记到这就没了,下一个笔记是动态数码管

蓝桥杯单片机学习之数码管相关推荐

  1. 蓝桥杯单片机学习3——数码管静态显示

    上期我们学习了如何控制蜂鸣器和继电器,那么这次就开始来学习数码管的静态显示 效果展示 结果就是在数码管上显示了一列数字,当然也可以显示一部分字母,至于怎么显示,接着往下看,心急吃不了热豆腐 原理图 数 ...

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

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

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

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

  4. 蓝桥杯单片机学习13——NE555方波发生器频率测量

    NE555 简介 引脚图 原理图 真值表 工作原理 频率测量原理 定时器测量频率方法 代码实现 总结(一堆废话) 简介 NE555是一种高度稳定的控制器,内部用三个阻值为5KΩ的电阻分压,因此叫做55 ...

  5. 蓝桥杯单片机学习11——PCF8591A/DD/A转换芯片

    上期我们学习了DS1302实时时钟的基本使用,现在我们来学习PCF8591A/D&D/A转换芯片的相关内容 蓝桥杯单片机学习11--PCF8591A/D&D/A转换芯片 PCF8591 ...

  6. 蓝桥杯单片机学习12——AT24C02EEPROM存储芯片

    上期我们学习了PCF8591A/D&D/A转换芯片的相关内容,这么我们来介绍以下AT24C02 AT24C02 简介 命名格式 引脚描述 原理图 IIC通信原理 读写地址 存储地址 基本控制方 ...

  7. 蓝桥杯单片机学习日记3-矩阵键盘的使用,线反转法,三步消抖,按键长按与短按

    此片文章用于记录蓝桥杯单片机的学习 篮球杯单片机上的矩阵按键原理图如下: 使用矩阵键盘时,要将跳线帽J5跳至KBD模式. 值得注意的是,若开发板上的单片机使用的为STC15,那么以上原理图适用.如果单 ...

  8. 蓝桥杯单片机学习日记1-LED 蜂鸣器 继电器 数码管的简单驱动

    此片文章用于记录蓝桥杯单片机的学习. LED 蜂鸣器 继电器 数码管 这些都是比赛时常用的外设,如下原理图:  LED部分:  蜂鸣器和继电器部分(图中还有步进电机部分):  数码管部分: 可见,上述 ...

  9. 蓝桥杯单片机KBD控制数码管

    蓝桥杯单片机组中矩阵按键通过P3^0~P3^5以及P4^2.P4^4控制. 矩阵按键一般的控制方法为单个io检测赋值,这样代码烦长且重复工作量大,直接取IO值相比来说更加简洁.而蓝桥杯并不好直接取IO ...

  10. 蓝桥杯单片机(四)动态数码管

    如果你对开发板原理图上译码器和锁存器和还有与非门连接的电路还不够了解,那么请看: 蓝桥杯单片机(一)流水灯 首先我们分析数码管依旧从原理图开始: 蓝桥杯单片机开发板上一共有8根数码管,与上图一一对应, ...

最新文章

  1. mysql filter_MySQL 过滤复制+复制映射 配置方法
  2. 计算机英语unit,计算机专业英语Unit 7
  3. linux vim卸载安装包_Linux下卸载安装mysql
  4. tempdb数据库清理_如何检测和防止TempDB数据库意外增长
  5. 21计算机考研上岸经验分享(一战成硕,普通双非逆袭顶级211)
  6. 模块电源(二):电感式DC-DC升压器
  7. java IO流经典编程题(5题)
  8. 毕业设计 嵌入式太空游戏机设计与实现
  9. 姿态估计2-03:PVNet(6D姿态估计)-白话给你讲论文-翻译无死角(1)
  10. VHDL实验二::半加器、一位和四位全加器(绘制原理图)
  11. 一小时建立终生受用的阅读操作系统-笔记
  12. STM32控制步进电机:基于定时器中断的ULN2003驱动器/步进电机驱动程序
  13. 新手学平面设计都会遇到哪些问题
  14. Convex Optimization介绍
  15. NVIDIA GeForce Go 6100 for Wndows 7 (笔记本)
  16. 计算机社团感恩节免费维修周策划书,社团感恩节活动策划书范文 .docx
  17. Centos7中创建RSA非对称密钥对及搭建私有CA并为客户端颁发证书
  18. 程序员求职面试谈工资的技巧 + 防坑指南
  19. 5G测试完毕,梦想能否照进现实
  20. 蓝桥训练赛 (14点--18点 19点--21点20)

热门文章

  1. 基于ip子网划分vlan
  2. 将shapefile文件加工为FBX文件、glb文件、gltf文件
  3. python考勤系统_使用Djang的考勤系统
  4. arduino制作AVRISP烧写器
  5. html游戏网站设计报告,web前端课程设计以及报告,jquery+js+css+html
  6. 基于BP神经网络的轨迹跟踪matlab程序
  7. 如何将origin pro的界面切换变成中文显示?
  8. DataBufferLimitException: Exceeded limit on max bytes to buffer :262144
  9. 开源音乐下载神器XMusicDownloader更新,支持歌单一键下载,支持无损音乐
  10. Java 打印100以内的所有奇数和偶数