当前速递!单片机入门之数码管时钟

2023-06-28 03:19:38 来源:爱瑞单片机

在之前的文章中我们学习了多位数码管的倒计时,下面我们将对多位数码管对实际生活中的时间来进行显示,该功能的实现也并不复杂,将数码管知识相结合并运用起来,就可以完成一个属于自己的时钟了。

一、功能概述


(资料图片)

实现对时间的计数我们需要用到单片机中的定时器模块,定时器的本质上就是每经过一个单片机自己机械周期就会加一的寄存器。定时器也可以是一个中断,当到达了给定时时间后就会执行相对应的程序。

了解了定时器的原理和使用方法,我们就可以选择我们需要的多位数码管来进行电路的设计了。

二、显示原理

既然我们需要现实的是时分秒的时间,那么我们可以选用六位的数码管,每两个数码管分别显示时、分、秒。而控制每一个数码管都需要段码线和选位线来控制,这样也节省了我们所需要使用的单片机IO口。

三、电路连接

使用Proteus进行电路图仿真

四 、程序设计

程序代码

#include< reg51.h >typedef 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;  //时十位 } }

五、总结

本章对多位数码管的使用进行了更深一步的研究,更加贴近我们的生活。一个复杂的程序都是由简单的程序慢慢延伸下去的,都不是一蹴而就的,其实在我们一步一步的学习中,我们已经能对生活中的电子产品进行自己的修改了,下一章我们将学习如何更为合理的使用定时器来对数码管的显示进行控制

标签:

当前速递!单片机入门之数码管时钟

2023-06-28

苏州市民卡服务中心电话_苏州市民卡服务中心 全球热闻

2023-06-28

台商看济南|赖培锜:选择济南、投资济南!希望更多台商在此共享发展机遇

2023-06-28

世界最新:中国高校最大云上科研智算平台上线,复旦大学与阿里云等共同打造

2023-06-28

包文兰在旗信访局接待来访群众_世界头条

2023-06-28

缉毒题材互动影像作品《晨昏线》Steam页面上线 发售日期待定-世界报资讯

2023-06-28

四川南充至广安铁路启动可研招标

2023-06-28

环球微动态丨济南高新拟向关联方定增募不超4亿补流 股价跌3.68%

2023-06-28

王源结婚照片 婚纱照_王源的结婚照

2023-06-28

电脑内存8g多少钱一个_电脑内存条8g多少钱_每日焦点

2023-06-28

中国国际商标品牌节尽显浓浓“云南味”|全球热消息

2023-06-28

【环球播资讯】民主生活会整改情况报告2023(关于召开民主生活会情况的报告)

2023-06-28

网售充电宝不合格率超35%:谨慎购买

2023-06-28

胡锡进入市首日A股上涨迎接,李大霄称老胡时机选得好 股民神评:二人是“销(霄)户(胡)组合”

2023-06-28

湖南岳阳消防联合多部门开展燃气消防安全专项检查

2023-06-28

口碑不俗 美国大片《闪电侠》资源惨遭泄露上网:被围观170万次

2023-06-28

香港恒大中心波折"卖身"路:8年前许家印125亿港元购入,马云关联公司否认"接盘" 天天热点评

2023-06-28

蚕蛹怎么做好吃最简单?-聚看点

2023-06-28

全球快播:手动信仰消失? 日产Z Nismo量产版将变自动挡

2023-06-27

辛集市迎来河北省首届服装服饰博览会-世界看热讯

2023-06-28

汶川突发泥石流致7人失联:包括一村干部和其爱人,村里断水断电-微动态

2023-06-28

《F1 23》现已登陆Xbox Series X|S Xbox One|每日头条

2023-06-27

《霍格沃茨之遗》梅林试炼位置大全

2023-06-27

籽棉和皮棉换算公式(籽棉)

2023-06-27

邹至蕙当选多伦多市长 当地首位华裔女市长

2023-06-27

中字头个股震荡走强 全球动态

2023-06-27

热消息:美媒详解湖人休赛期4大计划:续约里夫斯八村垒 追热火神射小库里

2023-06-27

郏县:“三抓三让”推动烟叶产业发展壮大

2023-06-27

交通事故主要责任致人死亡怎么办?

2023-06-27

k3换刹车油用几升_k3多久换刹车油?

2023-06-27

Copyright ©  2015-2022 亚洲频道网版权所有  备案号:京ICP备2021034106号-51   联系邮箱:5 516 538 @qq.com