题目:

在8位数码管中,前面4位显示年份“2018”,接着2位是分割符“—”,最后两位是月份,从1月份开始,每隔一段时间加1个月,到12月之后又从1月份开始递增,如此往复。

#include "reg52.h"unsigned char month=1;  //定义月份//共阳极数码管
unsigned char code duan_code[18]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x80,0xc6,0xc0,0x86,0x8e,0xbf,0x7f};//选择锁存器
void Select_HC573(unsigned char n)
{switch(n){case 4:P2=(P2&0x1f)|0x80;break;case 5:P2=(P2&0x1f)|0xa0;break;case 6:P2=(P2&0x1f)|0xc0;break;case 7:P2=(P2&0x1f)|0xe0;break;}
}void SEG_Bit(unsigned char pos,unsigned char value)
{Select_HC573(6);  //位选P0=0x01<<pos;Select_HC573(7);  //段选P0=value;
}//数码管延时函数
void Delay_SEG(unsigned int t)
{while(t--);
}//数码管静态显示
void SEG_Dynamic()
{SEG_Bit(0,duan_code[2]);  //2Delay_SEG(500);SEG_Bit(1,duan_code[0]);  //0Delay_SEG(500);SEG_Bit(2,duan_code[1]);  //1Delay_SEG(500);SEG_Bit(3,duan_code[8]);  //8Delay_SEG(500);SEG_Bit(4,duan_code[16]);  //-Delay_SEG(500);SEG_Bit(5,duan_code[16]);  //-Delay_SEG(500);SEG_Bit(6,duan_code[month/10]);  //月份的十位Delay_SEG(500);SEG_Bit(7,duan_code[month%10]);  //月份的个位Delay_SEG(500);
}void delay(unsigned char t)
{while(t--){SEG_Dynamic();}}void main()
{while(1){SEG_Dynamic();month++;if(month>12){month=1;}delay(100);}
}

【单片机学习】共阳数码管的动态显示相关推荐

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

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

  2. [蓝桥杯单片机 八位共阳数码管](4)

    [蓝桥杯单片机 共阳数码管] 一.数码管原理图 开发板上的八位数码管为共阳连接,com1–com8分别控制公共端(公共阳极):a–dp分别控制数码管每一位的八个段.它们两又分别被锁存器U6和U7控制着 ...

  3. 四、共阳数码管的动态显示

    目录 1.什么是 静态显示和动态显示? 2.数码管的动态显示 1.什么是 静态显示和动态显示? ①静态显示:COM1~4都是由P0控制,例如:P0给8,则COM1~4都是显示8: 如果要显示2018: ...

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

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

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

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

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

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

  7. 51单片机——共阳数码管的动态显示(有一个小问题)

    51单片机--数码管的动态显示 数码管的原理图及基本原理 例题(附代码) 数码管的原理图及基本原理 原理图 怎么工作的我就不介绍了,具体看我这个专栏中以前的博客 基本原理 动态显示实质上就是轮流点亮单 ...

  8. 学习笔记——共阳数码管的动态显示

    目录 一.任务简述 二.实现方法 三.参考代码 一.任务简述 在CT107D单片机上实现动态数码管的显示,在8位数码管中,前4位显示年份"2022",接着2位显示"–&q ...

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

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

最新文章

  1. with语句和上下文管理器
  2. 在Pycharm工具中配置集成Git和GitHub
  3. 爱奇艺PPS如何登陆账号
  4. 特斯拉将国产Model 3后轮驱动版售价上调1.5万元
  5. [转]SpringMVCfrom:form表单标签和input表单标签简介
  6. C++ 11 Lambda表达式
  7. 五分钟了解DOM 事件模型
  8. C++面向对象程序设计实践——任务与指导书(1)
  9. 计算机二级c语言选择题pdf,计算机二级c语言选择题库(带答案)[汇编].pdf
  10. 145分计算机考研408复习复盘
  11. 网易云音乐服务器code521,网易云音乐显示scode502原因及解决办法_专题_53货源网...
  12. 服务于win10的telnet的简易聊天服务器(单进程)
  13. Excel竟然能够按照单元格的指定颜色顺序排序
  14. 如何使用谷歌浏览器进行Debug断点调试
  15. FBE 与FDE学习总结
  16. 无线充电各种原理方案的比较
  17. 判断是否为USD格式
  18. 关于移动端rem与px换算的计算方式
  19. 子程序说明文档翻译——USDFLD
  20. Gross Tumor Volume Segmentation for HNC Radiotherapy using Deep Dense Multi-modality Network

热门文章

  1. 市场营销必须收藏使用的5个软件
  2. Grizzly快速入门
  3. matlab 自动化,基于MATLAB的自动化测试系统及方法技术方案
  4. 抖音服务器带宽有多大,为什么能够供那么多人同时刷?
  5. 【架构基础】简单设计原则
  6. 3D游戏建模在游戏公司中是什么样的角色?薪资高,有前途吗
  7. Android 判断手机是否安装QQ或者微信
  8. arcgis server安装出现error 1304和error 2350 FDI server error
  9. 小清新蓝天白云Mac高清壁纸5K
  10. html input文本框、文本域提示文字