专栏首页初学单片机原创|用单片机如何制作一款电子时钟

原创|用单片机如何制作一款电子时钟

在前段时间小代在头条上发过一篇叫《如何用单片机设计一款电子产品》,里面提到我们以一个DIY电子时钟为例来讲解,今天我们就来详细的说说的这DIY电子时钟的制作。

一、需求分析

之前就已经说了,我们设计了一下的三个功能。能显示时间+日期+温度;能自动调节亮度;能调节时间+闹铃。

1、一个时钟能显示年月日,时分秒,温度;

2、能调整时间,具有闹钟功能,具有按键音;

3、亮度能随环境光照自动调节;

二、原理及电路设计

有了需求后,我们就根据需求选择元件,单片机我们选择STC15w408AS,此单片机内部集成了高精度的RC振荡电路和高可靠的复位电路,直接外部晶振和复位电路都可以省去,芯片接通电源后就可以直接工作; 单片机自带ADC转换,为测温和数码管亮度调节准备;显示部分就用简单的共阴数码管驱动;要实现调整时间,所以还需要按键;要有闹钟就还需要有发声元件,这里我们用简单的有源蜂鸣器;时钟的来源我们用DS1302时钟芯片产生,测温用的是热敏电阻,还需要一个光敏电阻来采光,实现数码管亮度岁环境光照的变化。

有了以上的主要元件,还需要一些辅助的元件来完成整个设计,比如电源部分我们要考虑接口问题,本样板我们采用的是DC1.2芯的电源插座,电源接了100u和104的两个电容做电源滤波用,数码管采用三极管8050控制阴极的位选通,蜂鸣器也是采用8050三极管做开关用。具体电路原理图如下图所示:

以上电路我们采用Protel 99软件设计,这个版本是比较老的了,但是对于初学者来说还是很实用,一般的电路板都能完成。有了电路原理图后我们之间从软件转到PCB图中,摆放好元件后,就可以布线了,注意,布线不要采用自动布线,自动布线的板子基本用不了,如果你懒得自己布线,可以先自动,再手动修改。以下是我们设计完整后的截图:

为了增加板子的强度和导电性能,我们在顶层和底层都做了电源地(GND)的敷铜,上图中看到红色的部分就是顶层的敷铜层。以下是软件3D建模出来的样子:

三、样板测试

全部设计完后,在次检查有没有错误,无误后就可以找厂家做样板了,现在真个行业都在大减价,每家都能在线自动计算价格,可以多比较计价,一般的样板50元还包邮呢。提醒下大家啊,没必要到淘宝上找人做,直接自己找厂家。打样时间3-4天,快递3-4天,一周时间就过去了,等了一周,心痒痒啊。收到板子后大家肯定都是激动的,那就开始测试吧。

开箱先检查板子外观、丝印等直观的有没有问题(一般都没问题的,除非小作坊的板);然后测试电源VCC和GND直接有没有连接,理论上电阻是无穷大。这些都没问题后就准备元件焊接吧,焊接时一般的顺序是:先矮后高。怎么说,就是元件在板子上的高度,现在从最矮的开始焊接,再焊接中等高度的,最后焊接最高的元件。焊接之前来张全家福吧。

四、程序设计及测试

程序设计说白了就是编程,我们先写个测试程序进去,测试下各个部分有没有问题,能不能工作。现在写入的程序是单片机读取DS1302时钟数据,在数码管上显示时间,秒显示采用定时,每秒点亮200ms,同时蜂鸣器每秒响一次。光敏、热敏以及按键都是比较简单的电路,一般都没问题,暂时没测试。编程完成后烧写进单片机。运行效果如下:数码管照片看着不清晰,等调试完了后加个什么滤光片试试。

运行程序能看到数码管显示正常,蜂鸣器响声正常,测试完成。后续我们跟着测试和完善整个DIY电子时钟的程序

本文分享自微信公众号 - 单片机技术宅(chuxue_MCU),作者:小代

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-05-07

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 电子时钟高清电路图全网首发

    前段时间小编做个了活动,免费送电子时钟。大家参加的积极性不高。后来小编就开始拉仇恨了,发布了免费领取电子时钟的小伙伴反馈回来的靓照《今天我是来炫耀的,拉仇恨》,...

    单片机技术宅
  • 如何用单片机设计一款产品

    现在Tb上的好像也就这些功能,这个设计的资料以及打样的板子小代打算等教程完了后免费送给大家,所以第二部分的设计部分我们就考虑成本最小化了,大家见谅。

    单片机技术宅
  • ②LED数码管解析

    LED数码管要正常显示,就要用驱动电路来驱动数码管的各个段码,从而显示出我们要的数位,因此根据LED数码管的驱动方式的不同,可以分为静态式和动态式两类。

    单片机技术宅
  • STM32时钟系统之利用 systick 定时器来实现准确的延时。

      本篇文章带着大家来认识一下 STM32 的时钟系统,以及利用 systick 定时器来实现一个比较准确的延时。

    用户6754675
  • Web安全测试学习手册-业务逻辑测试

    1.2 验证码过于简易时效性过长,接口未做限制(一般为纯数字4-8位数,时效性长达30分钟以上可以对验证码进行枚举)。

    周俊辉
  • 进入新加坡互联网公司是种怎样的体验?

    中国人在海外工作,已不是什么新鲜的话题。 优秀的工程师,不受限制地在另一个国度工作,也已不再是常青藤学校学生的特权。 2016.8,为了帮助国内最好的互联网人才...

    Python中文社区
  • 极为重要的基础知识!剖析Google Analytics报告中的Scope(范围)

    编译:互联网数据官 梅子 我们都知道,Google Analytics(后文统称为GA)让不懂数据背后的处理逻辑的人也能很容易的收集和查看数据。通常情况下,理解...

    iCDO互联网数据官
  • Java基础:五、用构造器确保初始化(1)

    在Java中,通过提供构造器,类的设计者可确保每个对象都会得到初始化。创建对象时,如果类具有构造器,Java就会在用户有能力操作对象之前自动调用相应的构造器,从...

    桑鱼
  • Ant 简易教程

    前言 Apache Ant,是一个将软件编译、测试、部署等步骤联系在一起加以自动化的一个工具,大多用于Java环境中的软件开发。由Apache软件基金会所提供。...

    静默虚空
  • 直播教育app开发过程中,需要解决的“老朋友”

    要说在直播教育app开发的过程中,什么是技术人员最头疼的?肯定有人会毫无疑问的回答:直播的卡顿和延时!没错,这两位可以说是直播过程中的“老朋友”了。毫不夸张的说...

    万岳教育源码

扫码关注云+社区

领取腾讯云代金券