【单片机学习】共阳数码管的动态显示
题目:
在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形状.位 ...
最新文章
- 人类的思维方式有哪些?【达克效应】
- jQuery 性能优化技巧
- 011_Raphael常用方法
- PowerDesigner使用教程 —— 概念数据模型详解
- 从servlet中获取spring的WebApplicationContext
- linux svn可视化工具,CentOS6.5安装SVN 可视化管理工具iF.SVNAdmin
- 将您的SQL Server工作负载迁移到PostgreSQL –第3部分
- 【SimpleITK】分割label覆盖到原图上显示
- Ubuntu20.04如何解决QQ闪退问题(亲测有效)
- 计算机电脑桌面怎么设置,老司机教你电脑屏保怎么设置
- 打印纸张尺寸换算_常用纸张尺寸大小对照表
- 怎么查询电脑是否支持IPV6地址?
- U3D中ShaderForge插件使用系列教程之一
- html做表格(个人简历)
- 【AiLearning】test3:搭建Deep Netural Network
- python语言是干什么的-python语言可以干什么
- 计算机的传播速度和传播速率一样吗,U盘传输速度和什么有关?
- 内置式永磁电机maxwell2d_「仿真」永磁同步电机仿真(实操三)Maxwell 2D 静态磁场仿真...
- 【单细胞高级绘图】10.KEGG富集结果的圆圈图
- 当ChatGPT续写《红楼梦》,能替代原著吗?