51单片机数字时钟

我们学单片机,一般都会写数字时钟编程。它能帮助我们:

a. 能够系统性地总结掌握的知识,将单元模块知识有机的结合在一起。

b. 能够充分协调好硬件与软件之间的相互结合,合理设计硬件电路。

c. 掌握单片机 C 语言判断语句、分支语句以及子程序调用等编程知识。
我们学单片机都要做实物与仿真。接下来我先简单讲一下数字时钟在仿真中的作用。

 仿真中我写了简单的选位调时、分、秒,根据我选的时、分、秒。进行加减。

也可以在实物打板中,实现数字时钟。

这是小编做的简易51单片机板,而且这种10x10以下规格的打板是不用花费钱的。感兴趣的读者可以打板玩玩。想知道怎么打板的读者留言告诉小编,小编出一个打板教程。

接下来小编的代码有需要的读者自取。 

#include<reg52.h>
sbit key1 = P3^0;//换位
sbit key2 = P3^1;//加
sbit key3 = P3^2;//减sbit LED  = P1^7;
unsigned char kz1,kz2,kz3,kz4,kz5,w,k,nz,h;
unsigned char ss = 2, sg = 3, fs = 5, fg = 9, ms = 5, mg = 5;//char SMG[18] = {0xFC,0x60,0xDA,0xF2,0x66,0xB6,0xBE,0xE0,0xFE,0xF6,0xEE,0x3E,0x9C,0x7A,0x9E,0x8E,0x00,0X02} ;//实物
char SMG[12] = {
0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x40,0x00} ;//仿真
char are[] = {0Xfe,0Xfd,0Xfb,0Xf7,0Xef,0Xdf,0Xbf,0X7f};void zhongduan();
void keykongzhi();
void naoshizhong();
void LedDriver();void delay(unsigned int i){while(i--);}void main(){zhongduan(); while(1){naoshizhong();keykongzhi();LedDriver();}}void naoshizhong(){P0 = SMG[ss];P2 = are[0]; delay(500); P2 = 0Xff;P0 = SMG[sg];P2 = are[1]; delay(500); P2 = 0Xff; P0 = SMG[10];P2 = are[2]; delay(500); P2 = 0Xff;P0 = SMG[fs];P2 = are[3]; delay(500); P2 = 0Xff;P0 = SMG[fg];P2 = are[4]; delay(500); P2 = 0Xff;P0 = SMG[10];P2 = are[5]; delay(500); P2 = 0Xff;P0 = SMG[ms];P2 = are[6]; delay(500); P2 = 0Xff;P0 = SMG[mg];P2 = are[7]; delay(500); P2 = 0Xff;}void keykongzhi(){if(key1 == 0 && kz1 == 0){kz1 = 1;}else if(key1 == 1 && kz1 == 1){kz1 = 0;w++;w &= 0x03;} if(key2 == 0 && kz2 == 0){kz2 = 1;}else if(key2 == 1 && kz2 == 1){kz2 = 0;switch(w){	 case 1: mg = 0; ms = 0; break;case 2: fg ++; break;case 3: sg ++; break;		  }}if(key3 == 0 && kz3 == 0){kz3 = 1;}else if(key3 == 1 && kz3 == 1){kz3 = 0;switch(w){	 case 1: mg = 0; ms = 0; break;case 2: fg --; break;case 3: sg --; break;		  }}if(w == 1 && nz == 0)   //时钟调秒{P0 = SMG[ms]+128;P2 = are[6]; delay(800); P2 = 0Xff;P0 = SMG[mg]+128;P2 = are[7]; delay(800); P2 = 0Xff;}if(w == 2 && nz == 0)	   //时钟调分{P0 = SMG[fs]+128;P2 = are[3]; delay(800); P2 = 0Xff;P0 = SMG[fg]+128;P2 = are[4]; delay(800); P2 = 0Xff;}if(w == 3 && nz == 0)	   //时钟调时{P0 = SMG[ss]+128;P2 = are[0]; delay(800); P2 = 0Xff;P0 = SMG[sg]+128;P2 = are[1]; delay(800); P2 = 0Xff;}}void zhongduan(){TMOD=0X01;TH0=0X3C;//50msTL0=0XB0;ET0=1;TR0=1;EA=1;}void LedDriver(){if (k >= 40){k = 0;mg ++;}if (mg >= 10){mg = 0;ms ++;}if (ms >= 6){ms = 0;fg ++;}if (fg >= 10){	fg = 0;fs ++;}if (fs >= 6){fs = 0;sg ++;}				if (sg >= 10){sg = 0;ss ++ ;}										if (ss ==2 && sg == 4){ ss = 0;sg = 0;}	 }void time0() interrupt 1 using 0{TH0=0X3C;TL0=0XB0;k ++;	}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/1620953.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

多功能数字时钟(VHDL)

文章目录 一、课程设计内容二、实验方案分析与设计1.功能要求2.各个模块描述 三、具体实现过程描述1、小时计时2、分计时3、秒计时4、闹钟小时计时5、闹钟分计时6、闹钟比较模块7、控制器模块&#xff08;设置状态转换&#xff09;8、控制显示模块&#xff08;显示时间以及校时…

基于FPGA的简易数字时钟

基于FPGA的可显示数字时钟&#xff0c;设计思路为自底向上&#xff0c;包括三个子模块&#xff1a;时钟模块&#xff0c;进制转换模块&#xff0c;led显示模块。所用到的FPGA晶振频率为50Mhz&#xff0c;首先利用它得到1hz的时钟然后然后得到时钟模块&#xff0c;把时钟模块输出…

数字逻辑之数字时钟课程设计(含proteus仿真图及代码)

一、设计要求 1、设计一个能显示日期、小时、分钟、秒的数字电子钟&#xff0c;并具有整点报时的功能。  2、可手动校正时、分时间和日期值&#xff0c;时间以24小时为一个周期&#xff0c;有校时功能&#xff0c;可以分别对时及分进行单独校时&#xff0c;使其校正到标准时间…

数电实验:数字时钟设计 (经验分享,仅供参考)

实 验 目 的 一、独立完成一个数字小系统的设计 二、基于实验箱对设计进行验证 实验内容: 能够显示时、分、秒共6位数字&#xff1b; 考虑使用实验箱时钟&#xff08;频率包括1M、500K、 250K、100K、10K、1K等&#xff09;&#xff1b; 考虑使用实验箱数码管输出接口。 …

数据结构】二叉树篇|超清晰图解和详解:后序篇

博主简介&#xff1a;努力学习的22级计算机科学与技术本科生一枚&#x1f338;博主主页&#xff1a; 是瑶瑶子啦每日一言&#x1f33c;: 你不能要求一片海洋&#xff0c;没有风暴&#xff0c;那不是海洋&#xff0c;是泥塘——毕淑敏 目录 一、核心二、题目 一、核心 我们清楚…

Yandex SEO和Google SEO有啥区别?5000字说必须要了解的一些事儿

最近筋斗云SEO服务有做一些俄罗斯市场的SEO&#xff0c;而做俄罗斯的SEO相当于就是要做Yandex的SEO。对比Google的SEO优化&#xff0c;其实有比较多的区别&#xff0c;但总体算法、逻辑等等都大致相似。本文从Linus自己的研究和搜集的公开信息&#xff0c;对比一下Google和Yand…

阿里,百度,腾讯,360,新浪,网易,小米等开源项目

奇虎360 https://github.com/Qihoo360 1.MySQL中间层 Atlas Atlas是由 Qihoo 360, Web平台部基础架构团队开发维护的一个基于MySQL协议的数据中间层项目。它在MySQL官方推出的MySQL-Proxy 0.8.2版本的基础上&#xff0c;修改了大量bug&#xff0c;添加了很多功能特性。目前该项…

大公司都有哪些开源项目~~~阿里,百度,腾讯,360,新浪,网易,小米等

红色字体是现阶段比较火的 ---------------------------------------------------------------------------------------------------------------- 奇虎360 https://github.com/Qihoo360 1.MySQL中间层 Atlas Atlas是由 Qihoo 360, Web平台部基础架构团队开发维护的一个基于M…

(读) 周鸿祎重新思考360(有感)

为什么80%的码农都做不了架构师&#xff1f;>>> 我们的红衣教主——周鸿祎&#xff08;yi&#xff09; 我只能从我的印象中和对他的了解中说出&#xff1a; 公司的人群 规模&#xff1a;800&#xff08;上市前&#xff09;-3/4000人&#xff08;目前&#xff09;目…

WIFI市场,除了免流量还能如何玩?

此前手机QQ公测QQWiFi功能&#xff0c;在最近发布的手机QQ5.3安卓版本中&#xff0c;正式全员开放QQwifi功能&#xff0c;用户可以通过简单几步接入运营商和商户的500多万WIFI热点&#xff0c;巨大的用户基础让本已热闹的WIFI市场又增变数。在此之前&#xff0c;微信、小米、阿…

java版-wifi无线网络搭建

这几天 360出了一款随身WIFI&#xff0c;非常小巧&#xff0c;使用也比较方便。插在USB的接口上就能自动创建一个无线网络环境。但是价格却要19.9元&#xff0c;相信大部分的孩子会觉得这么便宜呀。赶快入手。但是真的值这个价格吗&#xff1f;我可以说这个玩意毫无技术含量&am…

关于类的隐形生成函数

https://www.youtube.com/watch?ve8Cw17p_BiU&listPL5jc9xFGsL8FWtnZBeTqZBbniyw0uHyaH&index6 https://www.youtube.com/watch?vKMSYmY74AEs&listPLE28375D4AC946CC3&index4 如果只有copy asignment operator, 那么default construct will be generated as…

证券低延时环境设置并进行性能测试

BIOS设置BIOS参考信息 关闭 logical Process Virtualization Technology 在System Profiles Settings 中System Profile 选择Performance Workload Profile 选择HPC Profile OS中信息参考在/etc/default/grub文件中添加 intel_idle.max_cstate=0 processor.max_cstate=0 idle=p…

探索Java的ReentrantLock:实现并发锁的强大力量

前言&#xff1a; &#x1f44f;作者简介&#xff1a;我是笑霸final&#xff0c;一名热爱技术的在校学生。 &#x1f4dd;个人主页&#xff1a;个人主页1 || 笑霸final的主页2 &#x1f4d5;系列专栏&#xff1a;java系列 &#x1f4e7;如果文章知识点有错误的地方&#xff0c;…

苹果基带坏了怎么办_iPhone12 上市,苹果这次有哪些改变

苹果每年一度发布新品时间一般在9月份 但今年疫情使得发布延后&#xff0c;这里对iPhone12网上流传的配置做下总结 通讯方面: 这次毫无疑问的事iPhone12从之前的4G升级到了5G&#xff0c;使用高通X55基带&#xff0c;这次再也没用英特尔的基带了&#xff0c;英特尔基带手机信号…

iPhone12基带确认,果粉放心

在iPhone12发布的时候都没有提到iPhone12到底用的是什么基带&#xff0c;我之前在粉丝留言下方说了是高通基带&#xff0c;我当时说可能部分手机是因特尔部分是高通&#xff0c;今天有人在社交媒体发布了iPhone12的基带从中可以看出本次iPhone12采用的是高通的X55基带&#xff…

android备份基带,备份过SHSH,保留基带,直刷5.0.1系统完美详细教程

此教程仅适用于备份SHSH直刷任何高于现手机版本的任何系统&#xff0c;我的系统是4.3.3直刷到5.0.1.可能刷法不同&#xff0c;我的用电量貌似没有增加&#xff0c;依然比较省电,没有大家说的掉电突然增加的现象。而且&#xff0c;刷完5.0.1&#xff0c;我的3G开关也依然存在&am…

苹果或方案自立研制iPhone基带芯片

据业界人士称&#xff0c;苹果方案组成一支新的研制团队去开发基带处理器&#xff0c;那些基带处理器将被用于它方案在2015年发布的新款iPhone中。知情人士还说&#xff0c;苹果方案将基带芯片的订单交给三星电子和Globalfoundries。 尽管某些知情人士还说&#xff0c;苹果或许…

使用Easy Chm制作chm文档步骤

前言 软件发布后需要相应的文档说明&#xff0c;CHM是微软新一代的帮助文件格式&#xff0c;利用HTML作源文&#xff0c;把帮助内容以类似数据库的形式编译储存。因为使用方便&#xff0c;形式多样也常被采用作为电子书的格式&#xff1b; 制作类似的chm文档可以使用Easy Chm软…

JWT 技术的使用

应用场景&#xff1a;访问某些页面&#xff0c;需要用户进行登录&#xff0c;那我们如何知道用户有没有登录呢&#xff0c;这时我们就可以使用jwt技术。用户输入的账号和密码正确的情况下&#xff0c;后端根据用户的唯一id生成一个独一无二的token&#xff0c;并返回给前端&…