经典 基于51,52单片机的电子万年历设计( 四 )


3.片外总线结构
分为三部分:数据总线 Data Bus(DB),地址总线 Address Bus (AB),控制总线 Control Bus(CB).
AT89S52
3.1.2时钟电路模块
1. DS1302的结构及工作原理
DS1302 是美国DALLAS公司推出的一种高性能、低功耗、带RAM的实时时钟电路,它可以对年、月、日、周日、时、分、秒进行计时,具有闰年补偿功能,工作电压为 2.5V~5.5V 。采用三线接口与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或RAM数据 。
DS1302内部有一个31×8的用于临时性存放数据的RAM寄存器 。DS1302是DS1202的升级产品,与DS1202兼容,但增加了主电源/后背电源双电源引脚,同时提供了对后背电源进行涓细电流充电的能力 。
2. 引脚功能及结构
图1所示出DS1302 的引脚排列,其中Vcc1 为后备电源万年历算法,VCC2 为主电源 。在主电源关闭的情况下,也能保持时钟的连续运行 。DS1302 由Vcc1 或Vcc2 两者中的较大者供电 。当Vcc2 大于Vcc1+0.2V 时,Vcc2 给DS1302供电 。当Vcc2 小于Vcc1 时,DS1302 由Vcc1 供电 。X1 和X2 是振荡源,外接32.768kHz 晶振 。RST 是复位/片选线,通过把RST 输入驱动置高电平来启动所有的数据传送 。RST 输入有两种功能:首先,RST 接通控制逻辑,允许地址/命令序列送入移位寄存器;其次,RST 提供终止单字节或多字节数据的传送手段 。当RST 为高电平时,所有的数据传送被初始化,允许对DS1302 进行操作 。如果在传送过程中RST 置为低电平,则会终止此次数据传送,I/O 引脚变为高阻态 。上电运行时,在Vcc≥2.5V 之前,RST 必须保持低电平 。只有在SCLK 为低电平时,才能将RST 置为高电平 。I/O 为串行数据输入输出端(双向),后面有详细说明 。SCLK 始终是输入端 。
3. 数据输入输出(I/O)
在控制指令字输入后的下一个SCLK 时钟的上升沿时,数据被写入DS1302,数据输入从低位即位0 开始 。同样,在紧跟8 位的控制指令字后的下一个SCLK 脉冲的下降沿读出DS1302 的数据,读出数据时从低位0 位到高位7 。
3.2其他模块器件
3.2.1 74LS164
它是个串入并出的8位移位寄存器,它常用于单片机系统中,下面结束一下这个元件的基本知识:
74LS164引脚图
74LS164_内部功能图
74LS164_逻辑符合表
串行输入带锁存
时钟输入,串行输入带缓冲
异步清除
最高时钟频率可高达36Mhz
功耗:10mW/bit
74系列工作温度:0°C to 70°C
Vcc最高电压:7V
输入最高电压:7V
高电平:-0.4mA
低电平:8mA
3.2.2 CON8
它是一个排插符号,也就是一个插座,可以通过一个插头将89C51的P0口引到外面的有关电路作扩展用,也可以作为备用 。
3.2.3其他元器件
电阻,电容,发光二极管,三极管若干 。
第四章结构设计部分
4.1 显示部分设计
基本显示原理:时钟开始显示为0时0分0秒,也就是数码管显示000000,然后每秒秒位加1,到9后,10秒位加1,秒位回0 。10秒位到5后,即59秒,分钟加1,10秒位回0 。依次类推,时钟最大的显示值为23小时59分59秒 。这里只要确定了1秒的定时时间,其他位均以此为基准往上累加 。同时时钟达到最大值的时候天数也增加一位,知道显示了7后再
变为1,同时阴历和阳历的天数也加1,根据不同的月份显示的天数阳历有28,29,30,31天,阴历就要经过计算得到,到了12个月后,年数自动增加1,以此类推,显示万年历的现实 。
另外,连接方式总电路图上可以看到,这里就不做说明了,下图为显示部分的电路图 。
显示部分电路图
4.1.1万年历优化算法
1.阳历算法


以上关于本文的内容,仅作参考!温馨提示:如遇专业性较强的问题(如:疾病、健康、理财等),还请咨询专业人士给予相关指导!

「辽宁龙网」www.liaoninglong.com小编还为您精选了以下内容,希望对您有所帮助: