在之前的文章中我们学习了多位数码管的倒计时,下面我们将对多位数码管对实际生活中的时间来进行显示,该功能的实现也并不复杂,将数码管知识相结合并运用起来,就可以完成一个属于自己的时钟了。
一、功能概述
实现对时间的计数我们需要用到单片机中的定时器模块,定时器的本质上就是每经过一个单片机自己机械周期就会加一的寄存器。定时器也可以是一个中断,当到达了给定时时间后就会执行相对应的程序。
了解了定时器的原理和使用方法,我们就可以选择我们需要的多位数码管来进行电路的设计了。
二、显示原理
既然我们需要现实的是时分秒的时间,那么我们可以选用六位的数码管,每两个数码管分别显示时、分、秒。而控制每一个数码管都需要段码线和选位线来控制,这样也节省了我们所需要使用的单片机io口。
三、电路连接
使用proteus进行电路图仿真:
四 、程序设计
程序代码:
#includetypedef unsigned char uchar;typedef unsigned int uint;uchar code num[10]={0xc0, 0xf9, 0xa4, 0xb0, 0x99, 0x92, 0x82, 0xf8, 0x80, 0x90}; // 0~9字码uchar miao=0, fen=0, shi=0; //进位标志位uint i=0; //计时uchar miao_l, miao_h, fen_l, fen_h, shi_l, shi_h; //时、分、秒的个位(xxx_l)和十位(xxx_h) void delay(uint x){ //延时函数 while(x--);}void t0_init(){ //定时器 0 初始化 tmod = 0x01; //工作方式 1th0 = 0x3c; //高八位赋初值 65536-50000=15536 = 3cb0htl0 = 0xb0; //底八位赋初值ea = 1; //开总中断et0 = 1; //开 t0 中断tr0 = 1; //启动 t0}void display(){ //显示p2 = 0x20; //秒与分间隔线p0 = 0xbf;delay(500);p2 = 0x04; //分与时间隔线p0 = 0xbf;delay(500);p2 = 0x80; //数码管位选 1000 0000p0 = num[miao_l]; //秒个位delay(500);p2 = 0x40; //数码管位选 0100 0000p0 = num[miao_h]; //秒十位delay(500);p2 = 0x10; //数码管位选 0001 0000p0 = num[fen_l]; //分个位delay(500);p2 = 0x08; //数码管位选 0000 1000p0 = num[fen_h]; //分十位delay(500);p2 = 0x02; //数码管位选 0000 0010p0 = num[shi_l]; //分个位delay(500);p2 = 0x01; //数码管位选 0000 0001p0 = num[shi_h]; //分十位delay(500);}void main(){t0_init(); //定时器初始化while(1){display(); //显示 }}void timer0_int() interrupt 1{ //中断服务函数 i++; if(i == 20){ i = 0; //满一秒清零 miao++; //i = 100 为一,秒标志位加 1if(miao == 60){miao = 0; //满一分清零fen++;if(fen == 60){fen = 0; //满一时清零shi++;if(shi == 24){shi = 0; //24小时制fen = 0;miao = 0;}}}miao_l = miao%10; //秒个位miao_h = miao/10; //秒十位fen_l = fen%10; //分个位fen_h = fen/10; //分十位shi_l = shi%10; //时个位shi_h = shi/10; //时十位 } }五、总结
本章对多位数码管的使用进行了更深一步的研究,更加贴近我们的生活。一个复杂的程序都是由简单的程序慢慢延伸下去的,都不是一蹴而就的,其实在我们一步一步的学习中,我们已经能对生活中的电子产品进行自己的修改了,下一章我们将学习如何更为合理的使用定时器来对数码管的显示进行控制
意法半导体携手微电子研究所将在碳化硅领域展开合作
谐振型开关电容变换器的工作原理和参数设计方法
留住你从前的开发环境的方法
手机RF抗干扰能力的测试
西门子洗碗机在中国市场占据绝对优势,呈现出碾压之势
单片机入门之数码管时钟
TI 通用电量计选型指南
中国的创新之路该如何走?中美贸易战下中国能否承受?
详细解析农业物联网的3大系统、4大功能、5大应用案例
德索M12连接器的机械特性
智能家居的下一个应用场景在智能汽车中
三星首款5G折叠手机售价近2000美元 试图超越苹果和中国竞争对手
8位数码管电子时钟仿真图及程序源代码
城市轨道交通视频监控系统的架构、特点及功能实现
电瓶修复知识:浮充电压的设置对蓄电池寿命的影响
小米自主研发的松果处理器究竟如何? 别抱太大希望
功率模块铜线键合工艺参数优化设计方案
沈阳联通联合华为成功打造出5G智慧机场
Mini LED行业「Plus」级别新选择
过压、欠压及过热保护电路