收藏 分享(赏)

万年历系统设计方案.doc

上传人:精品资料 文档编号:11056498 上传时间:2020-02-05 格式:DOC 页数:43 大小:709KB
下载 相关 举报
万年历系统设计方案.doc_第1页
第1页 / 共43页
万年历系统设计方案.doc_第2页
第2页 / 共43页
万年历系统设计方案.doc_第3页
第3页 / 共43页
万年历系统设计方案.doc_第4页
第4页 / 共43页
万年历系统设计方案.doc_第5页
第5页 / 共43页
点击查看更多>>
资源描述

1、电子万年历系统设计The design of Electronic calendar system专 业:电子信息科学与技术学 号:姓 名:I电子万年历系统设计摘 要:近年来随着计算机在社会领域的渗透和大规模集成电路的发展,单片机的应用正在不断地走向深入,由于它具有功能强,体积小,功耗低,价格便宜,工作可靠,使用方便等特点,因此特别适合于与控制有关的系统,并且给人类生活带来了根本性的改变。尤其是单片机技术的应用产品已经走进了千家万户。电子万年历的出现给人们的生活带来的诸多方便。虽然在日常生活中,各种信息处理终端如电脑、手机等给我们提供了准确的时间信息。但是在大多数场合却仅仅局限于个人的适用范围

2、之内。在家居生活中,一款悬挂余居室墙壁上大方得体的电子钟不仅能为我们提供准确的时间显示,而且魅惑了环境,给单调的居室带来了现代化的气息,因而成为许多家庭的必备之选。本文设计了一种基于八位串行输入-并行输出移位寄存器 74HC164 芯片,以STC89C52 单片机为核心、数码显示的电子万年历,主要介绍了时钟芯片、温度传感器、仿真模块,以及万年历硬件和软件的设计,实现了准确显示,公历年、月、日、农历月、日、时、分、秒功能。关键字:单片机;时钟芯片;温度传感器;仿真IIThe Design of Electronic Calendar SystemAbtract: In recent years,

3、 with computer penetration in the social sphere and the development of large-scale integrated circuits, MCU applications are constantly deepening, as it has a function of strong, small size, low power consumption, cheap, reliable, easy to use , And other characteristics, and therefore particularly s

4、uited to control the system and to human life brought about fundamental changes. SCM is by the application of technology products have entered the tens of thousands of households. The emergence of electronic calendar to the lives of people of many convenience. While in everyday life, dealing with al

5、l kinds of information terminals such as computers, mobile phones has provided us with accurate time information. However, in most occasions is limited to individuals within the scope of the application. In home life, hoisted more than a generous living room walls of the appropriate electronic bell

6、can not only provide us with accurate time, and tantalized by the environment, bring to the monotonous room a modern flavor, so many families must Of the election.In this paper, a design based on eight serial input - output parallel shift register 74 HC164 chip to STC89C52 microcontroller as the cor

7、e, digital display electronic calendar, mainly on the clock chip temperature sensor, simulation modules, hardware and calendar And software design, to achieve an accurate, the calendar year, month, day and the Lunar month, day, hours, minutes and seconds functions.Key words:MCU;Clock chip;Temperatur

8、e sensor;SimulationIII目 录引 言 11 单片机介绍 21.1 STC89C52 简介 21.2 性能参数 .22 应用系统设计 42.1 系统功能说明 42.2 应用系统设计 42.2.1 系统方案设计 42.2.2 应用系统结构设计 .52.2.3 设备选型 52.2.4 控制面板设计 .63 硬件设计 83.1 实时时钟电路设计 .93.1.1 实时时钟芯片 SD2303 简介 .93.1.2 SD2303 的引脚设置 103.1.3 SD2303 的内部寄存器 113.1.4 SD2303 的数据传输 173.2 温度检测电路设计 .203.2.1 温度传感器 D

9、S1722 简介 .203.2.2 DS1722 的引脚配置 213.2.3 DS1722 的内部寄存器 213.2.4 DS1722 的数据传输过程 233.3 显示电路设计 .243.4 键盘及闹铃电路设计 .254 软件设计 274.1 软件结构设计 .274.1.1 主程序 .274.1.2 按键检测和处理程序 .285 系统集成测试与仿真 295.1 系统集成测试 .295.2 系统在线仿真 .295.2.1 仿真软件介绍 .295.2.2 Keil 与 proteus 结合仿真 305.2.3 仿真结果 .305.2.4 仿真结果分析 .32参考文献 33附 录: 34致 谢 37

10、1引 言近年来随着计算机在社会领域的渗透和大规模集成电路的发展,单片机的应用正在不断地走向深入,由于它具有功能强,体积小,功耗低,价格便宜,工作可靠,使用方便等特点,因此特别适合于与控制有关的系统,并且给人类生活带来了根本性的改变。尤其是单片机技术的应用产品已经走进了千家万户。电子万年历的出现给人们的生活带来的诸多方便。虽然在日常生活中,各种信息处理终端如电脑、手机等给我们提供了准确的时间信息。但是在大多数场合却仅仅局限于个人的适用范围之内。在家居生活中,一款悬挂余居室墙壁上大方得体的电子钟不仅能为我们提供准确的时间显示,而且魅惑了环境,给单调的居室带来了现代化的气息,因而成为许多家庭的必备之

11、选。本文设计了一种基于八位串行输入-并行输出移位寄存器 74HC164 芯片,以STC89C52 单片机为核心、数码显示的电子万年历,主要介绍了时钟芯片、温度传感器、仿真模块,以及万年历硬件和软件的设计,实现了准确显示,公历年、月、日、农历月、日、时、分、秒功能。本设计采用时钟芯片产生时间,精度准确,误差很小。温度采用温度传感器采集温度,并数字化显示。显示模块采用数码管显示。单片机采用 STC89C52 在线可编程单片机。无需程序烧写器。方便快捷。还有模拟仿真软件 Proteus,可对设计模块实时仿真。方便更改。大大缩短了设计周期。21 单片机介绍1.1 STC89C52简介STC89C52

12、完全兼容 MCS-51,还有新的功能,比如新增两级中断优先级,多一个外中断,内置 EEPROM,512B 内存等。还支持 ISP 下载,不用编程器,只要一个 MAX232 和一些廉价的元件就能写程序,可擦写 10 万次。比 51 起最大的优点能支持在线下载,在线烧写程序,而不必专门买昂贵的编程器,只需要 ISP 下载线就可以了。图 1 STC 功能逻辑图1.2 性能参数STC 单片机比 51 单片机性能有以下优越性:(1) 高抗静电 (ESD),6000 伏静电测试,直接打在芯片管脚上,安然无恙。(2) 超强抗干扰 ,轻松过 2KV/4KV,快速脉冲干扰(EFT) 。(3) 超强加密,保密性能

13、良好。(4) STC 5V 单片机,宽电压,5V - 3.8V 给复位信号,正常工作。(5) STC 单片机,Power 直接在用户系统上用 ISP 在线下载方式,将用户程序(6) 下载进 STC 单片机 Down,掉电时功耗0.1uA (C 版本)。(7) I/O 口输入/ 输出口经过特殊处理,很多干扰是从I/O 进去的,每个I/O 均有对3VCC,对GND二级管箝位保护。(8) 单片机内部的电源供电系统经过特殊处理,很多干扰是从电源进去的。图 2 STC89C52引脚图鉴于SCT89C52和AT98C51引脚分布相同,以上仅介绍SCT89C52一些优于AT98C51的性能,在此,就不对单片

14、机多做介绍了,详细参数可以参考SCT89C52 PDF资料图,或者相关书籍,或者上网查阅相关网站,在此,推荐一官方网站:www.mcu- 42 应用系统设计2.1 系统功能说明根据家居生活中的实际需要,万年历应该具有如下功能。1、时间显示时间显示是万年历设计最重要的功能。万年历应该不仅能准确显示时、分、秒,而且还要能够显示年、月、日和星期。2、时间调整万年历在第一次使用时,需要根据当前时间进行时间调整,设定起初始时间,设置完成之后,它会在设定值基础上进行准确的计时和显示。在万年历断电或出现其他故障排除后,也需要根据当前时间进行时间调整。3、定时闹钟定时闹钟是万年历的一个辅助功能。可以通过键盘设

15、定定时时间,这样当万年历运行到设定的定时时间时,会发出语音提示,提示时间为 1 分钟。可以根据需要设定闹钟功能的开启和关闭。4、温度显示温度显示是万年历的另外一个辅助功能。万年历上设置有一个温度传感器,用于检测环境温度,提示用户注意温度的变化,做好诸如防寒保暖等措施。5、掉电运行万年历采用市电或者电池供电。当发生停电或者电池量耗尽等情况时,它通过内置的纽扣电池给时钟供电以保持正确的时钟数据,但关闭其他部分的电源,这样在来电或者更换电池之后不必重新设定时间。在市电运行正常时,可以根据需要更换备用的纽扣电池而不影响时钟运行。2.2应用系统设计2.2.1 系统方案设计应用于单片机控制的实时时钟系统根

16、据基准信号产生的途径,可以分为两种:一是利用单片机中的定时器作为实时时钟基准;二是利用专用实时时钟日历芯片产生基准时钟信号。STC89C52 单片机带有实时时钟接口,可以通过外接 32768Hz 的晶振分频后产生基准始终系好,这为万年历的设计提供了一种新的选择。采用上述方式产生时钟基准信号的设计方案及其比较如表 1 所示。5方案时钟源 定时闹铃温度检测 方案评估1 单片机定时器软件实现 温度传感器定时器在单片机内部。无需附加外部元器件,通过编程实现时钟功能,精度受单片机外接电容等的影响,成本低但精度差,而且程序设计困难。2外接 32768Hz 晶振 软件实现温度传感器 外接 32768Hz 晶

17、振分频后作为始终基准信号,具有较高的精度但程序设计困难。3 实时时钟日历芯片硬件实现 温度传感器实时时钟芯片能自动产生 1 秒时钟基准信号,且自带日期及闰年调整功能,计时精度和集成度非常高,程序设计简单但成本略高。表 1 万年历方案及评估通过上述方案设计及性能评估可知,又实时时钟日历芯片产生基准计时信号构成的万年历虽然成本上比其他两种方案产生基准信号的方式略高,但是由于实时时钟日历芯片具有集成度高、走时准确、自动日历及闰年调整并集成有闹钟功能,这样使得程序设计变得非常的简单,故在设计中采用方案 3。2.2.2 应用系统结构设计根据万年历的功能要求和选定的设计方案,设计出如图 3 所示的控制系统

18、结构。备份电源 实时时钟芯片温度传感器系统复位电路STC89C52闹钟报警提示时间及温度显示键 盘图 3 万年历系统结构框图2.2.3 设备选型本设计采用 STC89C52 作为控制系统的核心。按照图 1 所确定的系统结构,选择合适的功能部件,以完成完整的系统控制电路设计。控制系统需要选择实时时钟日历单元、温度传感器单元、键盘和显示单元三部分。表 2 是万年历设计具体的设备选型表。表 2 万年历设计设备选型表6器件编号器件名称 型号 基本参数1 单片机 STC89C52 前面以介绍2实施日历芯片 SD2303I2C 接口日历芯片,自动日历到 2099 年,BCD 码年、月、日、周、时、分、秒输

19、入/输出,带两路定时闹钟,年误差小于 2.5 分钟3 温度传感器 DS1722 SPI/三线串行接口温度传感器,测量范围-55C120C,812 位可编程分辨率,测量误差小于2.0C4 键盘单元 独立键盘 7 个可独立键盘5 显示单元 数码管 16 个 7 段数码管2.2.4 控制面板设计控制面板即万年历外形图,如图 4 所示。图 4 万年历控制面板在万年历的控制面板上设置有 16 个数码管,分别用于显示年、月、日、星期、温度、时和分。显示格式如下。年:4 位数码管显示年,如 2008 表示 2008 年。月:2 位数码管显示月,如 06 表示 6 月份。日:2 位数码管显示日,如 10 表示

20、 10 日。星期:3 位数码管显示星期,如 7 表示星期日。7温度:3 位数码管显示温度,如 H28 表示+28,L05 表示5。时:2 位数码管显示时,如 23 表示 23 点。分:2 位数码管显示分,如 59 表示 59 分。为了进行时间设定和闹钟设定,在控制面板下方设置有 7 个按键,分别为“时间设置”建、 “闹铃设置”键、 “”键、 “”键、 “上一位”键、 “下一位”键和“确定”键,其功能如下所示。当需要设置时间时,按下“时间设置”键,这时万年历停止计时并将时间清零,在年的最高位上的小数点点亮表示进行年最高位设置,用户可以通过“”或者“”来调整数字,调整完后按“下一位” ,则年的最高

21、位小数点熄灭而次高位小数点点亮,用户按照上述方法设置次高位直到时间设置完。注意,温度不可以设置。设置完后按“确定”键,用户设定值将存储进入单片机并开始以此时间计时。当需要设置闹铃时,按下“时间设置”键,这时万年历仍继续计时而面板上的时间将全部显示为“0” ,同时时间的小时高位小数点电亮,用户按照时间设定的方式设置闹钟的时和分,按下“确定”键后,闹铃被存储进单片机。当万年历走时走到设定闹铃时间时,蜂鸣器发出报警声。闹铃的设置时间可以通过按“闹铃设置”键来查看,任何不符合走时的闹铃设置将关闭闹铃功能。如设置“06 时 20 分”将关闭闹铃功能。这是取消闹铃功能的一种方法。83 硬件设计万年历的硬件

22、设计电路如图 5 所示。下面对各部分分别予以说明。AGND31X113X212RESET9PD2(INT0)16PD3(INT1)17PD4(OC1B)18PD5(OC1A)19PB0(T0)1PB1(T1)2PB2(AIN0)3PB3(AIN1)4PB4(SS)5PB5(MOSI)6PB6(MISO)7PB7(SCK)8(ADC0)PA040(ADC1)PA139(ADC2)PA238(ADC3)PA337(ADC4)PA436(ADC5)PA535(ADC6)PA634(ADC7)PA733PC022PC123PC224PC325PC426PC527(TOSC1) PC628(TOSC2)

23、 PC729PD7(TOSC2)21PD6(ICP)20AVCC30AREF32PD1(TXD)15PD0(RXD)14GND11 VCC 10U0STC89C52VDD8NC2NC3VSS4SCL6SDA7INTB8INTA1SD2303VCCVDD1CE2SCLK3GND4SDO5SDI6MOD7VDA8DS1722A 11B 7C 4D 2E 1F 10G 5Dp 3C312 C29C28 C16A 11B 7C 4D 2E 1F 10G 5Dp 3C312 C29C28 C16VCCA 11B 7C 4D 2E 1F 10G 5Dp 3C312 C29C28 C16A 11B 7C 4

24、D 2E 1F 10G 5Dp 3C312 C29C28 C16S1S2S3S4S5NPN1KVCC10KD0104D1VCCD2D3D4D5D68M22p22pD0D1D2D3D4D5D6D301D302D303D304D305D306D307A1 B2QA 3QB 4QC 5QD 6CLK8 CLR9QE 10QF 11QG 12QH 13U474hc164A1 B2QA 3QB 4QC 5QD 6CLK8 CLR9QE 10QF 11QG 12QH 13U574hc164A1 B2QA 3QB 4QC 5QD 6CLK8 CLR9QE 10QF 11QG 12QH 13U674hc164

25、10K*4VCCBATD1D2Q1NPNQ2NPNQ3NPNQ4NPNQ5NPNQ6NPN104Q7NPN+10uFA1A2A3A4A5A6A7A1A2A3A4A5A6A7D101D102D103D104D105D106D107D101D102D103D104D105D106D107年年D0D1D2D3D4D5D6 年年年年年D301D302D303D304D305D306D3071212123456734563S04563456VCCVCCVCC123456789 RP1CON9VCCP3.0P3.0P3.P3.1图 5 硬件电路图93.1 实时时钟电路设计万年历采用支持两线式串行接口、带温

26、度补偿的高精度实时时钟日历芯片SD2303,它与 STC89C52 单片机的连接如图 6 所示。图 6 实时时钟电路3.1.1 实时时钟芯片 SD2303 简介SD2303 是一种具有内置晶振、支持两线串行接口的高精度实时时钟芯片。该系列芯片可保证时钟精度为5ppm(在 251下) ,即年误差小于 2.5 分钟;该芯片内置时钟精度调整功能,可以在很宽的范围内校正时钟的频率偏差,能以最小分辨率 3.052ppm 来进行校正,通过与温度传感器的结合可以设定适应温度变化的调整值,实现在宽问范围内高精度的计时功能;内置电池、串行 NVSEAM,其中内置的一次性 SRAM,擦写次数可达 100 亿次。该

27、系列芯片可满足对实时时钟芯片的各种需要,是高精度实时时钟的理想选择。SD2303 具有如下特点:(1) 低功耗:典型值 0.5uA(VDD=3.0V ) 。10(2) 工作电压为 1.85.5V,工作温度为-4085。(3) 年、月、日、星期、时、分、秒 BCD 码输入输出,并可通过独立的地址访问各时间寄存器。(4) 自动日历到 2099 年(包括闰年自动换算功能) 。(5) 可设定并自动重置的两路定时闹钟功能。(6) 周期性中断脉冲输出:2Hz、1Hz 、每分、小时、月输出可选择不同波形的中断脉冲。(7) 可控的 32768Hz 方波信号输出。(8) 内置时钟精度数字调整功能。(9) 30

28、秒时间调整功能。(10)内部晶振停振检测功能:保证时钟的有效性。(11)内置总线 1 秒自动释放功能,保证了时钟数据的有效性及可靠性。(12)内置电源稳压,内部及时电压可低至 1.2V。(13)内置晶振,出厂前已对时钟进行校准,保证精度5ppm ,即时钟误差小于2.5 分钟。(14)工业级型号为 SD2303API,封装形式为 8-DIP 封装。3.1.2 SD2303 的引脚设置SD2303 实时时钟日历芯片的引脚配置如图 7 所示。图 7 SD2303 的引脚配置表 3 给出了 SD2303 的引脚功能说明。表 3 SD2303 引脚功能表引脚编号 符号 功能 备注1 INTRA 报警中断

29、 A 路输出 N 沟道开路输出,需接上拉电阻2 NC 没有作用113 NC 没有作用4 VSS 地5 INTRB 报警中断 B 路输出 N 沟道开路输出,需接上拉电阻6 SCL IIC 串行时钟输入7 SDA IIC 串行时钟输入/输出 N 沟道开路输出,需接上拉电阻8 VDD 电源3.1.3 SD2303 的内部寄存器SD2303 将时间数据和控制命令存储在不同地址的寄存器内,具体的地址分配如表 4 所示。表 4 SD2303 寄存器列表内部地址 描 述 功 能0x00 秒寄存器 以 BCD 码形式计数与存储秒0x01 分寄存器 以 BCD 码形式计数与存储分0x02 时寄存器 以 BCD

30、码形式计数与存储时0x03 周寄存器 以 BCD 码形式计数与存储周0x04 天寄存器 以 BCD 码形式计数与存储天0x05 月寄存器 以 BCD 码形式计数与存储月0x06 年寄存器 以 BCD 码形式计数与存储年0x07 时间调整 晶振参数修正及外部晶振选择控制0x08 分定时 A 存储定时器 A 的分数据0x09 时定时 A 存储定时器 A 的时数据0x0a 天定时 A 存储定时器 A 的天数据0x0b 分定时 B 存储定时器 B 的分数据0x0c 时定时 B 存储定时器 B 的时数据0x0d 天定时 B 存储定时器 B 的天数据0x0e 控制寄存器 1 闹铃使能、中断输出选择及周期性

31、中断选择0x0f 控制寄存器 2 时间显示格式选择、中断与报时标志及停振检测(1)秒寄存器(内部地址 0x00) 。D7 D6 D5 D4 D3 D2 D1 D0 操 作 S40 S20 S10 S8 S4 S2 S1 写0 S40 S20 S10 S8 S4 S2 S1 读0 默 认秒计数范围为 0x000x59(BCD 码格式) ,当计数从 0x59 变为 0x00 时,分寄12存器值加 1.默认操作是指当 XSTP 位为 1(上电、掉电或者停振后再起振)时,执行读操作。(2)分寄存器(内部地址 0x01) 。D7 D6 D5 D4 D3 D2 D1 D0 操 作 M40 M20 M10

32、M8 M4 M2 M1 写0 M40 M20 M10 M8 M4 M2 M1 读0 默 认分计数范围为 0x000x59,当计数从 0x59 变为 0x00 时,时寄存器值加 1。(3)时寄存器(内部地址 0x02) 。D7 D6 D5 D4 D3 D2 D1 D0 操 作 H20/P_A H10 H8 H4 H2 H1 写0 0 H20/P_A H10 H8 H4 H2 H1 读0 0 默 认时计数范围为 0x010x12(12 小时制)或 0x000x23(24 小时制) 。当计数从11PM 变成 12AM(12 小时制)或 0x23 变成 0x00(24 小时制)时,天寄存器值加1。(4

33、)周寄存器(内部地址 0x03) 。D7 D6 D5 D4 D3 D2 D1 D0 操 作 W4 W2 W1 写0 0 0 0 0 W4 W2 W1 读0 0 0 0 0 默 认周计数范围为 0x000x06,其中 0x010x06 表示星期 1 至星期 6,0x00 表示星期天。当天计数加 1 时,星期计数也加 1。(5)天寄存器(内部地址 0x04) 。D7 D6 D5 D4 D3 D2 D1 D0 操 作 D20 D10 D8 D4 D2 D1 写0 0 D20 D10 D8 D4 D2 D1 读0 0 默 认天计数范围为:0x010x31(一月、三月、五月、七月、八月、十月、十二月)0

34、x010x30(四月、六月、九月、十一月)0x010x29(闰年二月)0x010x28(平年二月)(6)月寄存器(内部地址 0x05) 。D7 D6 D5 D4 D3 D2 D1 D0 操 作 D20 D10 D8 D4 D2 D1 写0 0 D20 D10 D8 D4 D2 D1 读0 0 默 认13月寄存器范围为 0x010x02,当计数从 0x12 变成 0x01 时,年寄存器值加 1.(7)月寄存器(内部地址 0x05) 。D7 D6 D5 D4 D3 D2 D1 D0 操 作Y80 Y40 Y20 Y10 Y8 Y4 Y2 Y1 写Y80 Y40 Y20 Y10 Y8 Y4 Y2 Y

35、1 读 默 认年寄存器范围为 0x000x99,其中 0x00、0x04、0x080x92、0x96 为闰年。(8)时间调整寄存器(内部地址 0x07) 。D7 D6 D5 D4 D3 D2 D1 D0 操 作XSL_ F6 F5 F4 F3 F2 F1 F0 写XSL_ F6 F5 F4 F3 F2 F1 F0 读 默 认位 7:XSL_位为晶振选择为。SD2303 内置晶振,此位必须固定为 0。位 6位 0:时间调整位。时间调整电路是在当秒计数到 0x00、0x20、0x40 时刻,根据预先设定的数据(F5F0 )改变 1 秒时钟内的计数个数。通常每 32768 个脉冲位 1 秒(对寄存器

36、预定初值,才能激活整个调整电路) 。当 F6 为 0 时,产生 1 秒的寄存器计数脉冲将增加为32768+(F5 、F4、F3 、F2、F1、F0)-1*2 个;当 F6 为 1 时,产生 1 秒的寄存器计数脉冲将增加为 32768-(/F5、/F4、/F3 、/F2、 /F1、/F0)+1*2 个。当(F6、F5、F4、F3、F2、F1 、F0)预设为(*、 0、0、0、0、*)时,产生 1秒的寄存器计数脉冲个数不变。当(F6、F5、F4、F3、F2、F1 、F0)=(0、1、0 、1、0、0、1)且当时钟运行到 0x00、0x20、0x40 秒时刻时,寄存器计数脉冲变为 32768+(41

37、-1)*2+32848 个;当(F6、F5、F4、F3、F2、F1 、F0)=(1、1、1 、1、1、1、0)且当时钟运行到 0x00、0x20、0x40 秒时刻时,寄存器计数脉冲变为 32768-(1+1)*2+32764 个;当(F6、F5、F4、F3、F2、F1 、F0)=(0、0、0 、0、0、0、1)且当时钟运行到 0x00、0x20、0x40 秒时刻时,寄存器计数脉冲个数不变;因为每 20 秒增加或者减少的计数脉冲个数最少为 2 个,故时钟调整寄存器的最小调整精度为 2/(32768*20)=3.015ppm。时钟调整电路仅仅是调整时钟走时,并不影响晶振本身频率调整,故 32768

38、Hz的脉冲输出不会改变。14(9)闹铃 A 分寄存器(内部地址 0x08) 。D7 D6 D5 D4 D3 D2 D1 D0 操 作 AM40 AM20 AM10 AM8 AM4 AM2 AM1 写 AM40 AM20 AM10 AM8 AM4 AM2 AM1 读0 默 认闹铃 A 分寄存器计数范围同分寄存器。(10)闹铃 A 时定时器(内部地址 0x09) 。D7 D6 D5 D4 D3 D2 D1 D0 操 作 AH20/P_A AH10 AH8 AH4 AH2 AH1 写0 0 AH20/P_A AH10 AH8 AH4 AH2 AH1 读0 0 默 认D5 位在 12 小时制中置 0

39、表示 AM,置 1 表示 PM;在 24 小时制中表示小时的十位。在 12 小时制中,午夜的零点应该设置为 0x12,中午 0 点应该设置为 0x32。(11)闹铃 A 周定时器(内部地址 0x0a) 。D7 D6 D5 D4 D3 D2 D1 D0 操 作 AW6 AW5 AW4 AW3 AW2 AW1 AW0 写 AW6 AW5 AW4 AW3 AW2 AW1 AW0 读0 默 认闹铃 A 周定时器的 AW6 AW0 位对应星期 6 至星期 1 以及星期天。如置位AW6 和 AW0 位,表示在星期六和星期天闹铃起作用。当 AW6AW0 全部位 0 时,关闭闹铃。(12)闹铃 B 分寄存器(

40、内部地址 0x0b) 。D7 D6 D5 D4 D3 D2 D1 D0 操 作 BM40 BM20 BM10 BM8 BM4 BM2 BM1 写 BM40 BM20 BM10 BM8 BM4 BM2 BM1 读0 默 认闹铃 B 分寄存器范围同闹铃 A 寄存器。(13)闹铃 B 时定时器(内部地址 0x0c) 。D7 D6 D5 D4 D3 D2 D1 D0 操 作 BH20/P_A BH10 BH8 BH4 BH2 BH1 写0 0 BH20/P_A BH10 BH8 BH4 BH2 BH1 读0 0 默 认闹铃 B 时定时器范围同闹铃 A 时定时器。(14)闹铃 B 周定时器(内部地址 0

41、x0d) 。D7 D6 D5 D4 D3 D2 D1 D0 操 作 BW6 BW5 BW4 BW3 BW2 BW1 BW0 写 BW6 BW5 BW4 BW3 BW2 BW1 BW0 读0 默 认闹铃 B 周定时器范围同闹铃 A 周定时器。15(15)控制寄存器 1(内部地址 0x0e) 。D7 D6 D5 D4 D3 D2 D1 D0 操 作AALE BALE SL2 SL1 TEST CT2 CT1 CT0 写AALE BALE SL2 SL1 TEST CT2 CT1 CT0 读0 0 0 0 0 0 0 0 默 认位 7:AALE 为闹铃 A 使能位。 AALE 置 1 时使能闹铃 A

42、 中断,置 0 时禁止中断。位 6:BALE 为闹铃 B 使能位。BALE 置 1 时使能闹铃 B 中断,置 0 时禁止中断。位 5位 4:SL2 和 SL1 位中断输出选择位,如表 5 所示。表 5 SD2303 中断输出选择SL2 SL1 描 述0 0 闹铃 A、闹铃 B 和周期性中断从 INTRA 输出,32k 时钟脉冲从 INTRB 输出0 1 闹铃 A 和周期性中断从 INTRA 输出,32k 时钟脉冲和闹铃 B 从 INTRB 输出1 0 闹铃 A 和闹铃 B 从 INTRA 输出, 32k 时钟脉冲和周期性中断从 INTRB 输出1 1 闹铃 A 从 INTRA 输出,闹铃 B、

43、32k 时钟脉冲和周期性中断从 INTRB 输出位 3:TEST 位为 SD2303 测试位。TEST 位置 0 时,SD2303 处于正常工作模式;TEST 位置 1 时,SD2303 工作于测试模式。一般 TEST 位应该置 0。位 2位 0:CT2 和 CT0 为周期性中断选择位。如表 6 所示。表 6 SD2303 周期性终端选择CT2 CT1 CT0 波形模式 描 述0 0 0 INTRA/INTRB 为高电平0 0 1 INTRA/INTRB 为低电平0 1 0 脉冲模式 2Hz 中断(占空比 50%)0 1 1 脉冲模式 1Hz 中断(占空比 50%)1 0 0 电平模式 每秒钟

44、中断1 0 1 电平模式 每分钟中断(每分钟的 00 秒)1 1 0 电平模式 每小时中断(每小时的 00 分 00 秒)1 1 1 电平模式 每月中断(每月第一天的 00 时 00 分 00 秒)脉冲模式中断时输出 2Hz 和 1Hz 的时钟脉冲,波形关系如图 8 所示。16图 8 脉冲中断波形输出电平模式中断时输出每秒、每分、每小时或每月的中断波形,如图 9 所示。图 9 电平中断波形输出(16)控制寄存器 2(内部地址 0x0f) 。D7 D6 D5 D4 D3 D2 D1 D0 操 作 12/24 ADJ CLEN CTFG AAFG BAFG 写0 0 12/24 XSTP CLEN

45、 CTFG AAFG BAFG 读0 0 1 0 0 0 0 默 认位 5:12/24 位为时间格式选择位。12/24 位置 1 时为 24 小时制,置 0 时为 12 小时制。位 4:ADJ 位为秒调整位。ADJ 位置 1 时为秒调整操作,置 0 时表示正常工作。XSTP 位检测晶振停振与否。在掉电或者晶振后该位自动置 1,检测该位可以判断时钟数据的有效性。XSTP 置位后XSL、 F6F0 、CT2CT0 、AALE 、BALE、SL2S1、SLEN 和 TEST 位全部复位,INTRA 停止输出而 INTRB 输出 32768Hz 的时钟脉冲。正常工作时应将 XSTP 位写0 复位。位

46、3:CLEN 位为 32kHz 时钟输出使能位。当发生 CLEN 位置 1 时允许 32kHz 时钟输出,置 0 时禁止 32kHz 时钟输出。17位 2:CFG 位为周期性中断标志位。当发生周期性中断时,该位置 1。在电平模式下将 CTFG 位写 0 将中止中断过程。写入后 INTRA 或 INTRB 将变成高电平。位 1 和位 0:AAFG 和 BAFG 位为闹铃 A 和闹铃 B 的中断标志位。仅当AALE/BALE 置 1 时,才能产生闹铃中断。当时钟时间和预设闹铃时间一致时,该位置 1。将 AAFG/BAFG 写 0 可以中止中断过程。写入后 INTRA 或 INTRB 将变成高电平。

47、AAFG/BAFG 与 INTRA/INTRB 的关系如图 10 所示。图 10 闹铃中断波形图输出3.1.4 SD2303 的数据传输SD2303 采用 I2C 三线串口接口,可参考 I2C 协议中的串行数据传输标准,下面仅给出 SD2303 的读写操作时序。SD2303 的 I2C 器件代码为 0x64。D0=1 表示读操作,D0=0 表示写操作。D7 D6 D5 D4 D3 D2 D1 D00 1 1 0 0 1 0 R/W(1)向 SD2303 寄存器写数据。单片机向 SD2303 寄存器写数据时序如下: 单片机发出 START 开始信号。 单片机送 7 位器件地址 0110010,第

48、 8 位送写命令 0,然后收到 SD2303 的应答信号 ACK。 单片机送 1 字节数据,高 4 位为 SD2303 的寄存器地址,低 4 位为写传输模式0000,然后收到 SD2303 的应答信号 ACK。 单片机送 1 字节数据,发送完成后收到 SD2303 的应答信号。 如果需要送多字节数据,重复上一步动作。18 单片机发出停止信号 STOP 结束 I2C 数据传输。向 SD2303 寄存器 0x04 和 0x05 写数据的过程如图 11 所示。图 11 SD2303 写数据时序(2)从 SD2303 寄存器读数据。单片机从 SD2303 寄存器读数据可以通过如下 3 种方式进行:a)从 SD2303 指定寄存器地址中读数据。从 SD2303 指定寄存器地址中读数据时序如下: 单片机发出 START 开始信号。 单片机送 7 位器件地址 0110010,第 8 位送读命令 0,然后收到 SD2303 的应答信号 ACK。 单片机送 1 字节数据,高 4 位为 SD2303 的寄存器地址,低 4 位为写传输模式0000,然后收到 SD2303 的应答信号 ACK。 单片机发出一个新的 START 开始信号。 单片机送 7 位器件地址 0110010,第 8 位送写命令 1,然后收到 SD2303 的应答信号 ACK。 单片机接收 1 字节数据,接收完成后

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报