Giter VIP home page Giter VIP logo

clock's Introduction

clock

要求:

  1. 准确显示星期,小时,分钟,秒,其中星期用一位数码管显示,小时(按24小时制),分钟,秒各用两个数码管显示。
  2. 能用按键启动和停止数字钟。
  3. 能用按键设置星期,小时,秒
  4. 整点报时,既整点时用轰鸣器响一秒。
  5. 其他功能各自发挥 (闹钟,秒表

提示:

  1. 用C语言编程
  2. 参考开发板的相关资料
  3. 网上搜索相关资料

思路:

  1. 用C语言提供的函数来获取时间,并提取出小时,分钟,秒,并转换成标准格式(hh:mm:ss)这种。创建单独的小时分钟秒的变量。不确定是利用C语言的函数来获取时间还是直接初始化时间,然后手动设置时间。想一想觉得还是手动设置时间可能性大一点,不知道单片机上能否利用C语言的函数来获取时间。
  2. 设置定时器,一秒钟,每隔一秒钟秒钟加1(相应的加到60,其他时针也要改变),并更新到数码管上面。
  3. 按键启动和停止是利用外部中断来执行,启动的话就开始定时器,停止的话就关闭定时器。
  4. 按键设置小时分钟秒,应该是利用单片机开发板上的键盘来完成,还没有看那个单片机开发板的图,暂时不知道怎么弄。
  5. 整点报时,当分钟==60的时候就报时吧。 6. 闹钟:设置一个闹钟开关, 开关打开的时候,每次秒钟==60的时候判断一次是否到达设置的时间,当然这里需要像设定时间那样设定定时时间。先不急着想这个。 7. 秒表:待定

更新:2017-08-22

在写代码的过程中,发现了一个问题,就是外部中断在这个单片机中只有两个,也就是说两个外部中断一个用来开关时钟,一个用来设定时间,就没有别的可以用来设定闹钟的开关的了,所以这个就是很纠结的地方。所以这里先不写闹钟。先把基本的功能写好。

更新:2017-08-23

今天实验的时候发现了如果设定定时器50ms的话,循环20次,对比电脑的1秒钟,发现单片机的时间是比一秒钟长的,所以改短到了18次,发现时差不多的。 然后就是说实话这个外部中断太容易误触了吧,我觉得不要开关还好一点。 整点报时还是很好实现的,就是整点的时候把那个报警器设为低电平,然后下一秒钟的时候就把他设为高电平就好啦 今天终于把星期几给实现了,真的是很麻烦,要是__DATE__能直接获取星期几就好了呀,但是C51又没有time.h,就必须根据获取的日期来推算出星期几,这一下代码就长起来了,就为了算个星期几,其实也完全可以让用户自己设定。

更新:2017-08-24

今天早上起来觉得这个1秒钟还是不准确,不好用,所以我百度了一下,发现原来我的单片机的晶振不是12MHz,而是11.0594MHz,于是我就重新算了一下初值,这回就是稍微有一点点快。 啊,爆炸,写了这么多操作时间的代码,突然发现这个HJ-C52版子上面有单独的时钟芯片,而且还有备用电源,就算关机也不会让时间错误,真是棒。

clock's People

Contributors

313183373 avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.