万年历-毕业设计(带阴历带闹钟)(3)

2019-04-15 19:25

四川大学锦城学院本科毕业论文 基于单片机电子万年历的设计与实现

图3-2 LPC2103电路图

3.2.2存储器接口

ARM7TDMI-S 处理器的存储器接口可以使潜在的性能得到实现,这样减少了存储器的使用,对速度有严格要求的控制信号使用流水线,这样使系统控制功能以标准的低功耗逻辑实现。这些控制信号使许多片内和片外存储器技术所支持的快速突发访问模式得到充分利用【2】。ARM7TDMI-S 处理器的存储器周期有4 种基本类型:

a.内部周期 b.非连续的周期 c.连续的周期

d.协处理器寄存器传输周期

【2】

陈忠平. 单片机基础与最小系统实践.北京航空航天大学出版社,2006

7

四川大学锦城学院本科毕业论文 基于单片机电子万年历的设计与实现

3.2.3 ARM7 TDMI-S 的结构

1、ARM7TDMI-S 处理器有两个指令集 a.32 位ARM 指令集 b.16 位Thumb 指令集

2、ARM7TDMI-S 处理器使用了ARM 结构v4T 3.3 DS1302 芯片及时钟电路设计

DS1302在任何数据传送时必须先初始化,把RST脚置为高电平,然后把8位地址和命令字装入移位寄存器,数据在SCLK的上升沿被输入。无论是读周期还是写周期,开始8位指定40个寄存器中哪个将被访问到。在开始8个时钟周期,把命令字节装入移位寄存器之后,另外的时钟周期在读操作时输出数据,在写操作是写入时写入数据。时钟脉冲的个数在单字节方式下为8加8,在多字节方式下为8加字节数,最大可达248字节数。

3.3.1控制寄存器用来控制SQW/OUT 引脚的操作

OUT:输出控制。当方波输出失效时,该位控制SQW/OUT 引脚的输出。如果SQWE=0,若OUT=1 则SQW/OUT 引脚的逻辑电平为1,而OUT=0 则SQW/OUT 引脚的逻辑电平为0。

SQWE:方波使能。当该位被设置为逻辑1 时,使能晶振输出,方波输出的频率由RS1 和RS0 位的值来确定。当方波输出的频率设为1Hz,则时钟寄存器内容将在方波的下降沿更新。

表3-1 方波输出频率

RS1 0 0 1 1 RS0 0 1 0 1 SQW OUTPUT FREQUENCY 1 Hz 4.096 KHz 8.192 KHz 32.768 KHz 3.3.2 DS1302复位和时钟控制

向DS1302写入数据时,数据应在时钟下降沿发生变化,上升沿将数据写入DS1302内部移位寄存器。读取DS1302数据时,数据也在时钟下降沿变化,即在下降沿数据从移位寄存器输出,但当CLK时钟为正半周时,I/O线为高阻态,所以应在上升沿前读取,否则将读出全为FFH。 通过把输入驱动置高电平来启动所有的数据传送。输入有两种功能:首先,接通控制逻辑,允许地址命令序列送入移位寄存器;其次,提供了终止单字节或多字节数据的传送手段。当为高电平时,所有的数据传送被初始化,允许对DS1302进

8

四川大学锦城学院本科毕业论文 基于单片机电子万年历的设计与实现

行操作。如果在传送过程中置为低电平,则会终止此次数据传送,并且I/O引脚变为高阻态。上电运行时,在Vcc≥2.5V之前,必须保持低电平。只有在SCLK为低电平时,才能将RST置为高电平。

3.3.3 DS1302的控制字节

DS1302 的控制字如表3-2所示。控制字节的最高有效位(位7)必须是逻辑1如果它为0,则不能把数据写入DS1302中,位6如果为0,则表示存取日历时钟数据,为1表示存取RAM数据;位5至位1指示操作单元的地址;最低有效位(位0)如为0表示 要进行写操作,为1表示进行读操作,控制字节总是从最低位开始输出。

表3-2:DS1302 的控制字

1 RAM A4 A3 A2 A1 A0 RAM ck k 数据输入输出(I/O)在控制指令字输入后的下一个SCLK的时钟的上升沿时数据被写入DS1302,数据输入从低位即位0开始。同样,在紧跟8位的控制指令字后的下一个SCLK脉冲的下降沿读出DS1302的数据,读出数据时从低位0开始到高位7。

在控制指令字输入后的下一个SCLK时钟的上升沿时数据被写DS1302,数据输入从低位即位0[3][4]开始。同样,在紧跟8位的控制指令字后的下一个SCLK脉冲的下降沿读出DS1302的数据,读出数据时从低位0位至高位7,数据读写时序如图3-3所示。

图3-3数据读写时序

3.3.4 DS1302的片内寄存器

通过控制字对DS1302片内寄存器进行寻址之后,即可就所选中寄存器的各位进行操作。芯片内各寄存器及各位的功能定义如表3-3所示。

【3】

窦振中. 单片机外围器件实用手册存储器分册.北京航空航天大学出版社,2005 【4】

沈庆阳,郭庭吉. 8051单片机实践与应用.清华大学出版社,2003

9

四川大学锦城学院本科毕业论文 基于单片机电子万年历的设计与实现

表3-3 DS1302有关日历、时间的寄存器

读寄 存器 81H 83H 写寄 存器 80H 82H BIT7 CH BIT6 BIT5 10秒 10分 10 AM/PM BIT4 BIT3 BIT2 BIT1 秒 分 BIT0 范围 00-59 00-59 1-12 0-23 1-31 1-12 1-7 00-99 0 0 -— 85H 84H 12/24 0 0 0 0 时 时 87H 89H 8BH 8DH 8FH 86H 88H 8AH 8CH 8EH 0 0 0 10年 10日 10月 0 0 0 日 月 周日 年 WP 0 0 0 0 0

DS1302有关日历、时间的寄存器共有10个,时钟/日历包含在其中的7个写/读寄存器内,这7个寄存器分别是年、月、日、星期、小时、分及秒。

小时寄存器(85H、84H)的位7用于定义DS1302是运行于12小时模式还是24小时模式。当为12小时制式时,位5为“0”表示AM;为“1”表示PM。在24小时制式下,位5是第二个10小时位(20~23时)。

秒寄存器(81H、80H)的位7定义为时钟暂停标志(CH)。当该位置为1时,时钟振荡器停止,DS1302处于低功耗状态;当该位置为0时,时钟开始运行。一般在设置时钟时,可以停止其工作,设定完之后,再启动其工作。

控制寄存器(8FH、8EH)的位7是写保护位(WP),其它7位均置为0。在任何片内时钟/日历寄存器和RAM,在写操作之前,WP位必须为0,否则将不可写入。当WP位为1时,写保护位防止对任一寄存器的写操作。因此,通过置写保护位,可以提高数据的安全性。另外,还有慢速充电控制寄存器和RAM寄存器。如表3-4所示。

表3-4 充电控制寄存器和RAM寄存器各位定义

10

四川大学锦城学院本科毕业论文 基于单片机电子万年历的设计与实现

充电控制寄存器 RAM寄存器 BIT7 TCS — BIT6 TCS — BIT5 TCS — BIT4 TCS — BIT3 DS — BIT2 DS — BIT1 RS — BIT0 RS —

慢速充电寄存器控制着DS1302的慢速充电特性。寄存器的BIT4~BIT7(TCS)决定是否具备充电性能:仅在编码为1010的条件下才具备充电性能,其他编码组合不允许充电。

BIT2和BIT3选择在VCC2和VCC1之间是一个还是两个二极管串入其中。如果编码DS是01,选择一个二极管;如果编码是10,选择两个二极管;其他编码将不允许充电。该寄存器的BIT0和BIT1用于选择与二极管相串联的电阻值。其中编码RS=01为2 KΩ,RS=10为4 KΩ,RS=11为8 KΩ,而RS=00将不允许进行充电。因此,根据慢速充电寄存器的不同编码可得到不同的充电电流【5】。其具体计算如公式3-1所示:

I充电=(V0-VD-VE)/R (3-1) 式中:

V0——所接入的5.0V工作电压; VD——二极管压降,一个按0.7V计算;

R——慢速充电控制寄存器0和1位编码决定的电阻值; VE——VCC1脚所接入的电池电压。

RAM寄存器寻址空间一次排列的31字节静态RAM可为用户使用,备用电源位RAM提供了掉电保护功能。寄存器和RAM的操作通过命令字节的BIT6加以区别。当BIT6为“0”时对RAM区进行寻址;否则将对时钟/日历寄存器寻址。其操作方法与前述相同。

3.3.5 时钟电路图

本设计时钟电路如图3-4所示,分别把RET、SCLK、I/O口对应的接到单片机上,I/O口按制数据的输入和输出,SCLK是按制数据的时钟信号,RST是复位信号,正常工作时复位是高电平,通过程序先给DS1302写入命令,根据命令的输入输出情况,对I/O口读或写数据,完成时间的读写操作。

【5】

侯玉宝,李成群. 基于Proteus的51系列单片机设计与仿真. 电子工业出版社,2008

11


万年历-毕业设计(带阴历带闹钟)(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:预防医学试题库及答案

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: