万年历课程设计报告

发布时间 : 星期二 文章万年历课程设计报告更新完毕开始阅读

单的串行接口与微处理器通信。实时时钟/日历提供秒、分、时、日、周、月和年等信息。对于小于31天的月和月末的日期自动调整,还包括闰年校正的功能。时钟的运行可以采用24h或带AM(上午)/PM(下午)的12h格式。采用三线接口与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或RAM数据。DS1302有主电源/后备电源双电源引脚:Vcc1在单电源与电池供电的系统中提供低电源,并提供低功率的电池备份;Vcc2在双电源系统中提供主电源,在这种运用方式中,Vcc1连接到备份电,以便在没有主电源的情况下能保存时间信息以及数据。DS1302由Vcc1或Vcc2中较大者供电。当Vcc2大于Vcc1+0.2V时,Vcc2给DS1302供电;当Vcc2小于Vcc时, DS13026由Vcc1供电。

4.2.2 DS1302数据操作原理

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

如果在传送过程中置RST脚为低电平,则会终止本次数据传送,并且I/O引脚变为高阻态。上电运行时,在Vcc大于等于2.5V之前,RST脚必须保持低电平。只有在SCLK为低电平时,才能将RST置为高电平。DS1302的引脚及内部结构图如图4.1所示,表4.1为各引脚的功能。

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

为了提高对32个地址的寻址能力(地址/命令位1~5=逻辑1),可以把时钟/日历或RAM寄存器规定为多字节(burst)方式。位6规定时钟或RAM,而位0规定读或写。在时钟/日历寄存器中的地址9~31或RAM寄存器中的地址31不能寄存数据。在多字节方式中,读或写从地址0的位0开始。必须按数据传送的

5

次序写最先的8个寄存器。但是,当以多字节方式写RAM时,为了传送数据不必写所有31字节。不管是否写了全部31字节,所写的每一字节都将传送至RAM。

Vcc2 X1 X2 GND 1 2 3 4 8 7 6 5 Vcc1 SCLK I/O RST

Vcc1 Vcc2 GND I/O 电源 控制 实时时钟 输入移位寄存器 DATA BUS 32.768kHz X1 振荡器与分频器 X2

SCLK RST 命令与 控制逻辑 31×8RAM 图 4.1 DS1302引脚及内部结构

表 4.1 DS1302引脚功能

引脚号 1 2,3 4 5 6 7 8

1 RAM A4 A3 A2 A1 A0 RAM K 引脚名称 Vcc2 X1,X2 GND RST I/O SCLK Vcc1 功 能 主电源 振荡源,外界32.768kHz晶振 地线 复位/片选线 串行数据输入/输出端(双向) 串行数据输入端 后备电池 CK 图 4.2 DS1302的控制字

DS1302共有12个寄存器,其中有7个寄存器与日历、时钟相关,存

放的数据位为BCD码形式。其日历、时间寄存器及其控制字见表3.2,其中奇数为读操作,偶数为写操作。

时钟暂停:秒寄存器的位7定义位时钟暂停位。当它为1时,DS1302

停止震荡,进入低功耗的备份方式。通常在对DS1302进行写操作时(如进入时

6

钟调整程序),停止震荡。当它为0时,时钟将开始启动。

AM-PM/12-24[小]时方式:[小]时寄存器的位7定义为12或24[小]

时方式选择位。它为高电平时,选择12[小]时方式。在此方式下,位5是AM/PM位,此位是高电平时表示PM低电平表示AM。在24[小]时方式下,位5为第二个10[小]时位(20~23h)。

表 4.2 内部寄存器地址和内容

积存器名 秒积存器 分积存器 [小]时积存器 日积存器 月积存器 周积存器 年积存器

DS1302的晶震选用32.768kHz,电容推荐值为33pF,因为震荡频率

较低,也可以不接电容,对计时精度影响不大。

命令字节 写 读 80H 82H 84H 85H 88H 8AH 8CH 取值范围 积存器内容 7 0 12/24 0 0 0 6 5 4 3 2 1 0 SEC MIN CH 10S 10 min 81H 00~59 83H 00~59 85H 00~23或01~12 87H 01~28,29,30,31 89H 01~12 8BH 01~07 D3H 00~99 0 10A/HR HR P 0 10DATE DATE 0 0 0 0 10M MONTH 0 0 DAY YEAR 10YEAR 4.3 测温电路的设计

测温电路主要使用温度传感器DS18B20,由于精度要求不高所以采用2位共阳LCD数码管以动态扫描法实现温度显示。其设计原理图如附件一所示。

4.3.1 温度传感器工作原理

DS18B20温度传感器是美国DALLAS半导体公司最新推出的一种改进型智能温度传感器,与传统的热敏电阻等测温元件相比,它能直接读出被测温度,并且可根据实际要示通过简单的编程实现9~12位的数字值读数方式。DS18B20的性能特点如下:

独特的单线接口仅需要一个端口引脚进行通信;

多个DS18B20可以并联在唯一的三线上,实现多点组网功能; 无须外部器件;

7

可通过数据线供电,电压范围为3.0~3.5V; 零待机功耗;

温度以9或12数字量读出;

用户可定义的非易失性温度报警设置;

报警搜索命令识别并标志超过程序限定温度(温度报警条件)的器件; 负电压特性,电源极性接反时,温度计不会因发热而烧毁,但不能正常工作。

DS18B20采用3脚PR—35封装或8脚SOIC封装,其内部结构框图如图4.3所示。

64位ROM的位结构如图4.4所示。开始8位是产品类型的编号,接着是每个器件的唯一的序号,共有48位,最后8位是前面56位的CRC检验码,这也是多个DS18B20可以采用一线进行通信的原因。非易失性温度报警触发器TH和TL,可通过软件写入户报警上下限。

DS18B20温度传感器的内部存储器还包括一个调整暂存RAM和一个易失性的可电擦除的EERAM。高速暂存RAM的结构为8字节存储器,结构如图4.5所示。头2个字节包含测得的温度信息,第3和第4节是TH和TL的拷贝,是易失的,每次上电复位时被刷新。第5个字节为配置寄存器,它的内容用于确定温度值的数字转换分辨率。DS18B20工作时按此寄存器中的分辨率将温度转换为相应精度的数值。该字节各位的定义如图4.6所示。低5位一直1,M是测试模式位,用于设置DS18B20在工作模式还是在测试模式。在DS18B20出厂时该位被设置为0,用户不要去改动,R1和R0决定温度转换的精度位数,即用来设置分辨率,定义方法见表4.3。

由表4.3可见,DS18B20温度转换的时间比较长,而且设定的分辨率越高,所需要的温度数据转换时间就越长。因此,在实际应用中要将分辨率和转换时间权衡考虑。

高速暂存RAM的第6、7、8字节保留未用,表现为全逻辑1。第9字节读出前面所有8字节的CRC码,可用来检验数据,从而保证通信数据的正确性。

当DS18B20接收到温度转换命令后,开始启动转换。转换完成后的温度值就以16位带符号扩展的二进制补码形式存储在高速暂存存储器的第1、2字节。

8

联系合同范文客服:xxxxx#qq.com(#替换为@)