电工技术基础_电工基础知识_电工之家-电工学习网

欢迎来到电工学习网!

时钟芯片的效果ds12887

2017-05-29 17:51分类:电子技术 阅读:

 

DS12887是Dallas半导体公司推出的实不时钟芯片,在芯片内部集成了石英晶体、锂电池和别的支撑电路,在没有外部供电的状况下,能够准确走时10年;能够计数时分秒、年月日和星期等信息,并且润年抵偿到2100年有用;内部的闹钟寄存器用来保留闹钟时刻,当实不时刻等于闹钟时刻时,在DS12887的IRQ
引脚输出低电平,微操控器能够运用此信号作为闹钟信号来处理。笔者用万用板焊接了电路,什物图见如图1。下面将介绍怎样运用DS12887制造这个时钟。

芯片引脚
了解了"主角"的根柢特性,再来看看它的引脚。一个芯片的引脚能够看作是跟外界"沟通"的通道,了解了引脚的用法就能够知道怎样跟单片机相连。芯片引脚如图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并未运用。选用了图3所示的电路图后,片内的14字节的地址分配便是从0x0000~0x000D,在程序中能够像拜访外部RAM相同便本地读取和写入数据至这些地址。0x0000~0x0009是时钟、闹钟和日历寄存器,保留了时刻信息等有关内容,单片机能够经过读取这些内容将时刻信息闪现出来。寄存器A的BIT6~BIT5操控DS12887内部晶体振荡器的关断。寄存器B操控各种接连的使能,在这篇文章中需求将闹钟使能位(BIT5)翻开,BIT2挑选输出的时钟数据是十六进制或是BCD码,BIT1挑选时刻选用的格局:24小时或12小时制。寄存器C保留了接连象征位,若在运用多种接连的状况下,微操控器能够经过读取该寄存器区别是发作了何种接连,然后进入相应的处理程序。而在本方案中,只运用了闹钟接连,当在/IRQ引脚输出低电往常,就能够区别发作了闹钟时刻到的接连。可是仍需求经过读取该寄存器以了解接连象征,避免程序重复处理。寄存器D是与器材是不是有用有关的寄存器,本电路无需处理该寄存器。


硬件电路
电路运用4位一体共阴极数码管闪现时钟、闹钟和日历信息,数码管选用CD4511作硬件译码,74LS06作动态挑选和驱动电路。电路图如图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这两个芯片放在数码管下方,这么悉数电路板就会细巧一些。由于数码管只需4位,并且有必要用其间的两位闪现一项时刻信息,所以每次只能够闪现两项时刻信息,例如DS1、DS2别离闪现月份的十位、个位,DS3、DS4别离闪现日期的十位、个位。但要闪现的时刻信息要多得多,所以选用"分时复用"的办法轮番闪现时和分、月和日、年和星期,在时刻分配上笔者运用了下述方案:在每一分钟中,0~9s、20~39s、50~59s的时刻里闪现时钟的时和分,在10~19s内闪现月和日,在40~49s内闪现年和星期,而时钟的秒数则不作闪现处理。由于星期的最大数值为7(标明星期天),能够只在个位闪现,星期分配的十位能够作"消隐"处理。设定的闹钟信息不是需求常常查看的,所以不做上述的分时闪现,而是经过按下KEY4键查看。电路图中的4个按键功用分配如下,KEY1:数值加1键;KEY2:数值减1键;KEY3:调度项目挑选,当该键按下能够挑选纷歧样的调度项目,顺次为时钟的时、时钟的分、月份、日期、年、星期、闹钟的时和闹钟的分。KEY4:挑选闪现时刻(包含时、分、月、日、年和星期)或闹钟。赤色的LED闪亮标明数码管其时闪现的是闹钟的时和分,绿色的LED闪亮标明其时闪现的是时钟的时和分;而赤色的LED闪亮和蜂鸣器宣告动态,则标明闹钟所定格的时刻到来,宣告警报提示;当两个LED都不闪亮时标显着现的为日历信息,即月、日、年和星期,能够经过DS3是不是闪现数据区别出闪现的是月、日仍是年、星期。
软件方案
笔者运用的编译环境为Keil编译软件,选用C51编程言语。悉数程序由几个模块构成,文件mmi.c中包含一些人机交互处理的函数,比方读取按键、在数码管上闪现时刻信息、LED和蜂鸣器的发声处理等;文件ds12887.c中包含读写和初始化DS12887的函数;文件my52.c中包含延时函数;在文件main.c中则调用这些模块中的函数进行归纳处理,主函数的程序流程图如图4所示。各个xxx.h文件中则是相应的xxx.c文件中的函数声明、大局变量声明等.

上一篇:半导体存储器的特征

下一篇:同轴电缆阻抗核算公式

相关推荐

电工推荐

    电工技术基础_电工基础知识_电工之家-电工学习网
返回顶部