【单片机学习】共阳数码管的动态显示
题目:
在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);}
}
【单片机学习】共阳数码管的动态显示相关推荐
- 【蓝桥杯—单片机学习笔记(四)】共阳数码管的动态显示
一.要求 在CT107D单片机训练综合平台上,实现数码管的动态显示,在8位数码管中,前面4位显示年份"2022",接着是2个分隔符"--",最后两位是月份,从1 ...
- [蓝桥杯单片机 八位共阳数码管](4)
[蓝桥杯单片机 共阳数码管] 一.数码管原理图 开发板上的八位数码管为共阳连接,com1–com8分别控制公共端(公共阳极):a–dp分别控制数码管每一位的八个段.它们两又分别被锁存器U6和U7控制着 ...
- 四、共阳数码管的动态显示
目录 1.什么是 静态显示和动态显示? 2.数码管的动态显示 1.什么是 静态显示和动态显示? ①静态显示:COM1~4都是由P0控制,例如:P0给8,则COM1~4都是显示8: 如果要显示2018: ...
- 51单片机之共阳数码管
单个共阳数码管静态显示 #include<reg51.h> //包含头文件,一般情况不需要改动, //头文件包含特殊功能寄存器的定义void main (void) {P1=0xc0; / ...
- 【蓝桥杯单片机】共阳数码管
一.电路图 段选 位选 通过Y6选择八个数码管的一个或多个,再通过Y7进行数码管的显示. 段码:共阳数码管 数字1的显示: dp=1 g=1 f=1 e=1 d=1 c=0 b=0 a=1(亮为0,灭 ...
- 51单片机入门—共阳数码管的静态显示
共阳数码管的静态显示 共阳数码管的原理图 共阳数码管的原理图 数码管的类型 CT107D单片机综合实训平台上使用的数码管是F3461BH,倒数第2个字母是"B",说明这个数码管是共 ...
- 51单片机——共阳数码管的动态显示(有一个小问题)
51单片机--数码管的动态显示 数码管的原理图及基本原理 例题(附代码) 数码管的原理图及基本原理 原理图 怎么工作的我就不介绍了,具体看我这个专栏中以前的博客 基本原理 动态显示实质上就是轮流点亮单 ...
- 学习笔记——共阳数码管的动态显示
目录 一.任务简述 二.实现方法 三.参考代码 一.任务简述 在CT107D单片机上实现动态数码管的显示,在8位数码管中,前4位显示年份"2022",接着2位显示"–&q ...
- [蓝桥杯单片机]学习笔记——共阳数码管的静态与动态显示
一.理论部分 共阳数码管引脚可以分为两个部分,一是段码,一个是位码.段码指的是一个数码管的7个段加dp小数点,一共8个,通过P0控制其亮灭使得数码管显示出不同效果.譬如亮afedcg表示的是6形状.位 ...
最新文章
- with语句和上下文管理器
- 在Pycharm工具中配置集成Git和GitHub
- 爱奇艺PPS如何登陆账号
- 特斯拉将国产Model 3后轮驱动版售价上调1.5万元
- [转]SpringMVCfrom:form表单标签和input表单标签简介
- C++ 11 Lambda表达式
- 五分钟了解DOM 事件模型
- C++面向对象程序设计实践——任务与指导书(1)
- 计算机二级c语言选择题pdf,计算机二级c语言选择题库(带答案)[汇编].pdf
- 145分计算机考研408复习复盘
- 网易云音乐服务器code521,网易云音乐显示scode502原因及解决办法_专题_53货源网...
- 服务于win10的telnet的简易聊天服务器(单进程)
- Excel竟然能够按照单元格的指定颜色顺序排序
- 如何使用谷歌浏览器进行Debug断点调试
- FBE 与FDE学习总结
- 无线充电各种原理方案的比较
- 判断是否为USD格式
- 关于移动端rem与px换算的计算方式
- 子程序说明文档翻译——USDFLD
- Gross Tumor Volume Segmentation for HNC Radiotherapy using Deep Dense Multi-modality Network