单片机入门之数码管时钟-环球信息
时间:2023-06-27 20:55:25来源:爱瑞单片机

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


(资料图片)

一、功能概述

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

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

二、显示原理

既然我们需要现实的是时分秒的时间,那么我们可以选用六位的数码管,每两个数码管分别显示时、分、秒。而控制每一个数码管都需要段码线和选位线来控制,这样也节省了我们所需要使用的单片机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;  //时十位 } }

五、总结

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

标签:

最新
  • 单片机入门之数码管时钟-环球信息

    单片机入门之数码管时钟-在之前的文章中我们学习了多位数码管的倒计时

  • 实时焦点:滨江集团杭州上城区江干科技园商住项目规划新建20幢住宅、5幢办公

    地块于今年5月23日,由杭州滨江房产集团股份有限公司以总价24 82亿元竞

  • “去风险”?外企高管反对“虚幻的担忧”_天天讯息

    “去风险”?外企高管反对“虚幻的担忧”青海新闻网

  • “城镇老旧小区既有多层住宅加装电梯”拟入法

    今天,无障碍环境建设法草案提请十四届全国人大常委会第三次会议三审。

  • 猪价萎靡不振,持续走低,还会继续跌吗?

    自去年底以来,中国猪肉价格一直在萎靡不振,下行压力急剧增加。这一现

  • 播报:在学校表白墙发自己在球场遇到猥琐男,并且对猥琐男的外貌衣着,行为语言进行了大概描述

    在学校表白墙发自己在球场遇到猥琐男,并且对猥琐男的外貌衣着,行为语

  • 股票涨停是什么意思?股票涨停后操作步骤是什么?

    股票涨停是什么意思?股票涨停是指为了减少 股市交易 的投机行为,

  • 电影《消失的她》,原来真有原型!

    电影《消失的她》原型引发微博热搜,令人不禁好奇这个神秘的故事背后隐

  • 玩法“上新” “暑期档”旅游持续升温 今日报

    玩法“上新”“暑期档”旅游持续升温

  • 央行行长易纲出席国际清算银行行长例会及年度股东大会 环球视点

    【央行行长易纲出席国际清算银行行长例会及年度股东大会】据中国人民银

  • 关于海南省未成年人“护苗”专项行动宣传标语口号有奖征集活动公众投票延期的公告_全球新视野

    关于海南省未成年人“护苗”专项行动宣传标语口号有奖征集活动公众投票

  • 当前滚动:声动中国|“我就想做一个平凡的好人”

    英雄不是生来无畏而是选择勇敢无论是面对突如其来的灾难还是危险中的陌

  • wpa2密码怎么破解?wpa2密码是wifi密码吗?|当前快报

    wpa2密码怎么破解?1 WIFI常见加密方式wpa wpa22 常用破解工具(虚拟

  • 天天资讯:420分复读一年能提高多少分?高考复读需要扣30分?

    420分复读一年能提高多少分?一般来说,复读一年,绝大多数学生可提

  • 怎样预防燃气爆燃?破坏这三个引爆要素很重要

    燃气在家庭、饭店等场所广泛使用,给我们生活带来方便的同时也伴随着安

  • 今日快讯:风吹十里荷花香 “莲”通乡村“致富路”

    央视网消息:这里是浙江金华武义县柳城畲族镇的十里荷花省级湿地公园。

  • 旅游
    • 【第十九届西博会新闻发布会⑨】创新打造西博嗨购促销费分会场 一起趣味“购”-快消息

    • 每日头条!上海黄金交易所的业务范围包括什么?上海黄金交易所合法吗?

    • 中集产城与太仓浏河镇达成战略合作 携手运营滨江兴业港项目 全球速读

    • 对柳湘莲的看法和感受(对柳湘莲的看法)