自制可弯曲时钟(手把手教你制作无电源仍可走的时钟)
自制可弯曲时钟(手把手教你制作无电源仍可走的时钟)
2024-09-27 10:37:59  作者:喝掉你眼睛  网址:https://m.xinb2b.cn/tech/ndz402484.html
芯片简介

乍一看题目读者可能会纳闷,这是什么奇怪的东西,不用电源还可以工作?其实笔者只是在这里卖了个关子,说的是不用外加电源也可以正常走时,并不是说整个电路工作时不需要供电。也就是说不使用时这个时钟不需要供电,在你加上电源之后就可以显示时间,并且仍然是正确的。就好像有些手机关闭之后又取下电板,等你下次开机的时候它又能显示正确的时间。其实这些手机里面都是有后备电池的,就是做时钟那一小块电路有后备电池供着电的。要是后备电池没有了电,取下电板后问题就来了,这也是为什么有些用久了的手机取下电板再装上,时间就不对了的缘故。但是本文说的这个时钟不需要外加后备电池,那它是怎么做到这一点的呢?请听我慢慢道来。


图5.1 实物图


图5.2 DS12887引脚

先了解一下“主角”的基本特性吧,DS12887是Dallas半导体公司推出的实时时钟芯片,在芯片内部集成了石英晶体、锂电池和其他支持电路,在没有外部供电的情况下,可以正确走时10年;可以计数时、分、秒、年、月、日和星期等信息,而且闰年补偿到2100年有效;内部的闹钟寄存器用来保存闹钟时间,当实时时间等于闹钟时间时,在DS12887的IRQ引脚输出低电平,微控制器可以利用此信号作为闹钟信号来处理。笔者用万用板焊接了电路,实物图见图5.1。下面将介绍如何使用DS12887制作这个时钟。

芯片引脚

了解了“主角”的基本特性,再来看看它的引脚。一个芯片的引脚可以看作是跟外界“交流”的通道,了解了引脚的用法就可以知道如何跟单片机相连。芯片引脚如图5.2所示,其中部分引脚命名与官方的数据手册有所不同,原数据手册上使用的是Motorala总线时序的命名方式,这里为了方便理解,采用Intel总线时序的命名方式,因为文章所使用的51单片机即为Intel时序。这两种总线时序最初分别是用在Motorala和Intel两家公司生产的芯片中,有兴趣的朋友可以在DS12887的数据手册上找到更详细的信息。

引脚MOT为总线方式选择,DS12887可以有两种时序:当MOT接VCC时选择Motorala总线时序;当MOT接地或悬空时选择Intel总线时序。本文用AT89S52作为控制器,AT89S52作为一种典型的51单片机,理所当然使用的是Intel总线时序。

AD0~AD7是地址、数据复用线,跟标准的51单片机的P0口类似,在一个读写周期里的前后两个时间段分别是作为地址线或数据线。它可以直接连接到AT89S52的P0口。

ALE为地址锁存信号,因为DS12887数据地址线采用分时复用的形式,所以需要ALE作地址锁存信号。在一个读写周期里AD0~AD7引脚上首先出现的信号表示地址,通过ALE的下降沿将该信号锁存到DS12887的地址寄存器,稍后AD0~AD7引脚上出现的信号则表示写入或读出DS12887的数据。ALE可以直接连接至AT89S52的ALE引脚。

RD、WR是读写控制信号引脚,分别连接AT89S52的RD(P3.7)、WR(P3.6)引脚。

CS为片选信号,为低电平时选中芯片,可以跟AT89S52的P2.7脚相连,这样就可以形成DS12887的读写基地址:0x0000。

IRQ引脚为中断输出信号,当DS12887产生中断时,在IRQ引脚输出有效低电平,该引脚为漏极开路输出,在外部需要加上拉电阻。

复位功能在本设计中不使用,RST可以直接接高电平。

片内资源

看完了外面,进到里面看看。DS12887内部有10字节的时钟(时、分、秒)、闹钟(时、分、秒)和日历(年、月、日、星期)寄存器和4个控制寄存器以及114字节的通用RAM。地址分配如附表所示。

在本文的设计中只使用了前面14字节的时钟、闹钟、日历和控制寄存器,其余的114字节的RAM并未使用。采用了如图5.3所示的电路图后,片内的14字节的地址分配就是从0x0000~0x000D,在程序中可以像访问外部RAM一样方便地读取和写入数据至这些地址。

0x0000~0x0009是时钟、闹钟和日历寄存器,保留了时间信息等相关内容,单片机可以通过读取这些内容将时间信息显示出来。

寄存器A的BIT6~BIT5控制DS12887内部晶体振荡器的关断。

寄存器B控制各种中断的使能,在本文中需要将闹钟使能位(BIT5)打开,BIT2决定输出的时钟数据是十六进制或是BCD码,BIT1决定时间采用的格式:24小时或12小时制。

寄存器C保存了中断标志位,若在使用多种中断的情况下,微控制器可以通过读取该寄存器辨别产生了何种中断,从而进入相应的处理程序。而在本设计中,只使用了闹钟中断,当在/IRQ引脚输出低电平时,就可以判断产生了闹钟时间到的中断。但是仍需要通过读取该寄存器以清楚中断标志,以免程序重复处理。

寄存器D是与器件是否有效相关的寄存器,本电路无需处理该寄存器。


附表 片内地址分配

硬件电路

电路使用4位一体共阴极数码管显示时钟、闹钟和日历信息,数码管采用CD4511作硬件译码,74LS06作动态选择和驱动电路。电路图如图5.3所示。

CD4511是一种用于数码管显示的译码芯片,在芯片输入引脚(D~A)输入4位二进制数值,在输出端(a~g)则译码输出共阴极数码管所需要显示的数值,例如,在CD4511的D~A这4个引脚输入“0101”(十进制的“5”,D为最高有效位数据),则在输出端的a~g输出“1011011”。而且CD4511有个很有用的“消隐”功能,即当输入端D~A的值大于9时,输出端a~g呈现高阻态,从而数码管表现为7段灯都会灭掉。

74LS06包含6个非门电路,本文只需要其中4路即可。在输入端置“1”,对应的输出端则为“0”,选中其中一个数码管。比如在AT89S52的P1.4输入“1”,则74LS06的4A引脚为“1”,在其对应的输出脚4Y输出就为“0”,从而选中与s1相连的DS1数码管。在焊接电路板时,可以将CD4511和74LS06这两个芯片放在数码管下方,这样整个电路板就会小巧一些。


图5.3 电路图

因为数码管只有4位,而且必须用其中的两位显示一项时间信息,所以每次只可以显示两项时间信息,例如,DS1、DS2分别显示月份的十位、个位,DS3、DS4分别显示日期的十位、个位。但要显示的时间信息要多得多,所以采用“分时复用”的方法轮流显示时和分、月和日、年和星期,在时间分配上笔者使用了下述方案:在每一分钟中,0~9s、20~39s、50~59s的时间里显示时钟的时和分,在10~19s内显示月和日,在40~49s内显示年和星期,而时钟的秒数则不作显示处理。因为星期的最大数值为7(表示星期天),可以只在个位显示,星期分配的十位可以作“消隐”处理。设定的闹钟信息不是需要经常查看的,所以不做上述的分时显示,而是通过按下KEY4键查看。


图5.4 主函数程序流程图

电路图中的4个按键功能分配如下,KEY1:数值加1键;KEY2:数值减1键;KEY3:调节项目选择,当该键按下可以选择不同的调节项目,依次为时钟的时、时钟的分、月份、日期、年、星期、闹钟的时和闹钟的分。KEY4:选择显示时间(包括时、分、月、日、年和星期)或闹钟。

红色的LED闪亮表示数码管当前显示的是闹钟的时和分,绿色的LED闪亮表示当前显示的是时钟的时和分;而红色的LED闪亮和蜂鸣器发出声音,则表示闹钟所定格的时间到来,发出警报提醒;当两个LED都不闪亮时表示显示的为日历信息,即月、日、年和星期,可以通过DS3是否显示数据区分出显示的是月、日还是年、星期。

软件设计

笔者使用的编译环境为Keil编译软件,采用C51编程语言。

整个程序由几个模块构成,文件mmi.c中包括一些人机交互处理的函数,比如读取按键、在数码管上显示时间信息、LED和蜂鸣器的发声处理等;文件ds12887.c中包括读写和初始化DS12887的函数;文件my52.c中包含延时函数;在文件main.c中则调用这些模块中的函数进行综合处理,主函数的程序流程图如图5.4所示。各个xxx.h文件中则是相应的xxx.c文件中的函数声明、全局变量声明等。更多源程序可以到qq群657864614进行下载!

一个属于电子工程师的专属淘宝店,总有一款适合你。所有商品均可以无理由退货,请放心购买!首页-电子工程师小李-淘宝网

  • 美国青年在日本恶搞(丢人丢到国外去了)
  • 2024-09-27丢人丢到国外去了大家好,这里是正惊游戏,我是正惊小弟随着Steam平台在中国越来越流行,越来越多的国产游戏登录到了Steam平台,可是林子一旦大了,什么鸟都有了小弟之前就曝光过一款叫做《王者英雄》的骗钱游戏,不仅UI。
  • 童年读书笔记美文欣赏(读书笔记童年不缺爱)
  • 2024-09-27读书笔记童年不缺爱生活不是有时间构成的,而是有事件构成的,事件构成了回忆这句话对我有很好的震慑力仔细想想看看,确实如此,我们的生活是有无数的事件,一点点的构建起来每天每一件事情或多或少的发生,他牵动着我们的心,难过的,。
  • 结婚前后的对比太真实了(结婚前后性生活的变化超真实)
  • 2024-09-27结婚前后性生活的变化超真实微信公众号Ms姐说——情侣之间你撩我、我撩你,满世界撒狗粮那就叫「情趣」;结婚后,尤其是有了孩子后,夫妻生活的时间都用来加班了,谁还有那份「撩」的闲情逸致!而且吧,万一你撩不好,还特别容易撩出「事故」。
  • 周公解梦梦到钱是什么意思(周公解梦梦到钱的含义)
  • 2024-09-27周公解梦梦到钱的含义梦见涉及钱或钞票的,多和心里的愿望有关梦见钱,通常表示你心中极其渴望实现的愿望梦见有很多钱,表示自己求知欲特别强烈,或内心极其渴望成功,出人头地,想在别人面前展示自己出色的一面梦见得到钱,还表示恋爱进。
  • 怎么一键导入手机资料到新手机(新机资料导入方法大全)
  • 2024-09-27新机资料导入方法大全入手华为平板M3,在开始一段极致影音体验之旅前,发愁原来手机或者平板上的资料怎么迁移进去?小编强烈建议手机克隆,一键换新机,省去你宝贵的时间,方便好用不是华为手机或平板,也想用手机克隆?只要你是安卓4。
  • 一岁小朋友可以吃冬枣吗(孩子抵抗力太弱)
  • 2024-09-27孩子抵抗力太弱孩子抵抗力太弱?不用担心,冬枣提升免疫力真不简单民间有言“立冬吃冬枣,一年不变老”,说的正是来自沾化的冬枣,冬枣的品种其实有很多,但真正兼备美味和营养的或许只有来自山东滨州的沾化冬枣了,毕竟沾化被誉为。
  • 女人在恋爱中需要懂得的道理(当代成熟女生恋爱观)
  • 2024-09-27当代成熟女生恋爱观为什么很多成熟女人的恋爱,总是顺利又幸福?因为长久的感情并不是靠爱就可以无限地延续下去的,很多时候还取决于双方如何去维系这段感情最高级的恋爱,是让对方离不开你如果你想谈幸福的恋爱,务必做到这4点01.。
  • 东方朔说服汉武帝飙车(东方朔娶妻定3个规矩)
  • 2024-09-27东方朔娶妻定3个规矩  提起东方朔,很多人可能对他不甚了解许多人对他的印象,都是来源于《大汉天子》中陈道明所扮演的那个角色在电视剧中,东方朔智谋卓绝,深受汉武帝倚赖但在真实的历史上,汉武帝却始终把东方朔当作俳优看待,不以。
  • 学会珠心算有什么用(学习珠心算的意义这么多)
  • 2024-09-27学习珠心算的意义这么多提到学习珠算或者珠心算,有些人就会以“致用”精神发出质疑:“都信息时代了,有电脑计算,学老掉牙的珠算有什么意义?”是啊,我们学了这么久珠心算,教了这么久的珠心算,在这个信息时代究竟意义何在呢?诚然,网。
  • 拜登开始反击(拜登想建亚洲反华联盟)
  • 2024-09-27拜登想建亚洲反华联盟【文/观察者网熊超然】从去年大选前,到赢得大选胜利,再到如今上台执政,拜登及其政府官员已不止一次地宣称,将同其他盟友组建联盟,以应对所谓“来自中国的挑战”不过,当地时间2月21日,美国消费者新闻与商业。
  • 自家种芦荟可以直接涂在脸上吗(植物芦荟可以直接涂在脸上吗)
  • 2024-09-27植物芦荟可以直接涂在脸上吗在很多人的意识里面都觉得芦荟是一个非常好的植物,对于人的皮肤来说也是有修复的作用的,可以很好的保护皮肤的一种植物,而且材料也是非常的天然的那么就有很多的人有疑问了,就是植物芦荟可不可以直接的涂抹在肌肤。