搜档网
当前位置:搜档网 › 电子万年历系统设计方案

电子万年历系统设计方案

电子万年历系统设计方案
电子万年历系统设计方案

电子万年历系统设计方案

1.1 STC89C52简介

STC89C52完全兼容MCS-51,还有新的功能,比如新增两级中断优先级,多一个外中断,置EEPROM,512B存等。还支持ISP下载,不用编程器,只要一个MAX232和一些廉价的元件就能写程序,可擦写10万次。比51起最大的优点能支持在线下载,在线烧写程序,而不必专门买昂贵的编程器,只需要ISP下载线就可以了。

图1 STC功能逻辑图

1.2 性能参数

STC单片机比51单片机性能有以下优越性:

(1) 高抗静电(ESD),6000伏静电测试,直接打在芯片管脚上,安然无恙。

(2) 超强抗干扰,轻松过2KV/4KV,快速脉冲干扰(EFT)。

(3) 超强加密,性能良好。

(4) STC 5V单片机,宽电压,5V - 3.8V给复位信号,正常工作。

(5) STC 单片机,Power 直接在用户系统上用ISP在线下载方式,将用户程序

(6) 下载进STC单片机Down,掉电时功耗<0.1uA(C版本)。

(7) I/O 口输入/ 输出口经过特殊处理,很多干扰是从I/O 进去的,每个I/O 均有对VCC,对GND二级管箝位保护。

(8) 单片机部的电源供电系统经过特殊处理,很多干扰是从电源进去的。

图 2 STC89C52引脚图

鉴于SCT89C52和AT98C51引脚分布相同,以上仅介绍SCT89C52一些优于AT98C51的性能,在此,就不对单片机多做介绍了,详细参数可以参考SCT89C52 PDF资料图,或者相关书籍,或者上网查阅相关,在此,推荐一官方:.mcu-memory.

2 应用系统设计

2.1系统功能说明

根据家居生活中的实际需要,万年历应该具有如下功能。

1、时间显示

时间显示是万年历设计最重要的功能。万年历应该不仅能准确显示时、分、秒,而且还要能够显示年、月、日和星期。

2、时间调整

万年历在第一次使用时,需要根据当前时间进行时间调整,设定起初始时间,设置完成之后,它会在设定值基础上进行准确的计时和显示。在万年历断电或出现其他故障排除后,也需要根据当前时间进行时间调整。

3、定时闹钟

定时闹钟是万年历的一个辅助功能。可以通过键盘设定定时时间,这样当万年历运行到设定的定时时间时,会发出语音提示,提示时间为1分钟。可以根据需要设定闹钟功能的开启和关闭。

4、温度显示

温度显示是万年历的另外一个辅助功能。万年历上设置有一个温度传感器,用于检测环境温度,提示用户注意温度的变化,做好诸如防寒保暖等措施。

5、掉电运行

万年历采用市电或者电池供电。当发生停电或者电池量耗尽等情况时,它通过置的纽扣电池给时钟供电以保持正确的时钟数据,但关闭其他部分的电源,这样在来电或者更换电池之后不必重新设定时间。在市电运行正常时,可以根据需要更换备用的纽扣电池而不影响时钟运行。

2.2应用系统设计

2.2.1系统方案设计

应用于单片机控制的实时时钟系统根据基准信号产生的途径,可以分为两种:一是利用单片机中的定时器作为实时时钟基准;二是利用专用实时时钟日历芯片产生基准时钟信号。STC89C52单片机带有实时时钟接口,可以通过外接32768Hz的晶振分频后产生基准始终系好,这为万年历的设计提供了一种新的选择。采用上述方式产生时钟基准信号的设计方案及其比较如表1所示。

方案时钟源定时

闹铃

温度检测方案评估

1 单片机定时器软件

实现温度传感器

定时器在单片机部。无需附加外部元器件,通过

编程实现时钟功能,精度受单片机外接电容等的

影响,成本低但精度差,而且程序设计困难。

2 外接32768Hz晶振软件

实现

温度传感器外接32768Hz晶振分频后作为始终基准信号,具

有较高的精度但程序设计困难。

3 实时时钟日历芯片硬件

实现温度传感器

实时时钟芯片能自动产生1秒时钟基准信号,且

自带日期及闰年调整功能,计时精度和集成度非

常高,程序设计简单但成本略高。

表1 万年历方案及评估

通过上述方案设计及性能评估可知,又实时时钟日历芯片产生基准计时信号构成的万年历虽然成本上比其他两种方案产生基准信号的方式略高,但是由于实时时钟日历芯片具有集成度高、走时准确、自动日历及闰年调整并集成有闹钟功能,这样使得程序设计变得非常的简单,故在设计中采用方案3。

2.2.2 应用系统结构设计

根据万年历的功能要求和选定的设计方案,设计出如图3所示的控制系统结构。

图3 万年历系统结构框图

2.2.3设备选型

本设计采用STC89C52作为控制系统的核心。按照图1所确定的系统结构,选择合适的功能部件,以完成完整的系统控制电路设计。控制系统需要选择实时时钟日历单元、温度传感器单元、键盘和显示单元三部分。表2是万年历设计具体的设备选型表。

表2 万年历设计设备选型表

器件

编号

器件名称型号基本参数

1 单片机STC89C5

2 前面以介绍

2

实施日历芯片SD2303 I2C接口日历芯片,自动日历到2099年,BCD码年、月、日、周、时、分、秒输入/输出,带两路定时闹钟,年误差小于2.5分钟

3 温度传感器DS1722 SPI/三线串行接口温度传感器,测量围-55°C~

120°C,8~12位可编程分辨率,测量误差小于

2.0°C

4 键盘单元独立键盘7个可独立键盘

5 显示单元数码管16个7段数码管

2.2.4 控制面板设计

控制面板即万年历外形图,如图4所示。

图4万年历控制面板

在万年历的控制面板上设置有16个数码管,分别用于显示年、月、日、星期、温度、时和分。显示格式如下。

年:4位数码管显示年,如2008表示2008年。

月:2位数码管显示月,如06表示6月份。

日:2位数码管显示日,如10表示10日。

星期:3位数码管显示星期,如7表示星期日。

温度:3位数码管显示温度,如H28表示+28℃,L05表示-5℃。

时:2位数码管显示时,如23表示23点。

分:2位数码管显示分,如59表示59分。

为了进行时间设定和闹钟设定,在控制面板下方设置有7个按键,分别为“时间设置”建、“闹铃设置”键、“+”键、“-”键、“上一位”键、“下一位”键和“确定”键,其功能如下所示。

当需要设置时间时,按下“时间设置”键,这时万年历停止计时并将时间清零,在年的最高位上的小数点点亮表示进行年最高位设置,用户可以通过“+”或者“-”来调整数字,调整完后按“下一位”,则年的最高位小数点熄灭而次高位小数点点亮,用户按照上述方法设置次高位……直到时间设置完。注意,温度不可以设置。设置完后按“确定”键,用户设定值将存储进入单片机并开始以此时间计时。

当需要设置闹铃时,按下“时间设置”键,这时万年历仍继续计时而面板上的时

间将全部显示为“0”,同时时间的小时高位小数点电亮,用户按照时间设定的方式设置闹钟的时和分,按下“确定”键后,闹铃被存储进单片机。当万年历走时走到设定闹铃时间时,蜂鸣器发出报警声。

闹铃的设置时间可以通过按“闹铃设置”键来查看,任何不符合走时的闹铃设置将关闭闹铃功能。如设置“06时20分”将关闭闹铃功能。这是取消闹铃功能的一种方法。

3 硬件设计

万年历的硬件设计电路如图5所示。下面对各部分分别予以说明。

PN

7

图5 硬件电路图

3.1 实时时钟电路设计

万年历采用支持两线式串行接口、带温度补偿的高精度实时时钟日历芯片

SD2303,它与STC89C52单片机的连接如图6所示。

图6 实时时钟电路

3.1.1 实时时钟芯片SD2303简介

SD2303是一种具有置晶振、支持两线串行接口的高精度实时时钟芯片。该系列芯片可保证时钟精度为±5ppm(在25±1℃下),即年误差小于2.5分钟;该芯片置时钟精度调整功能,可以在很宽的围校正时钟的频率偏差,能以最小分辨率3.052ppm 来进行校正,通过与温度传感器的结合可以设定适应温度变化的调整值,实现在宽问围高精度的计时功能;置电池、串行NVSEAM,其中置的一次性SRAM,擦写次数可达100亿次。该系列芯片可满足对实时时钟芯片的各种需要,是高精度实时时钟的理想选择。

SD2303具有如下特点:

(1)低功耗:典型值0.5uA(VDD=3.0V)。

(2)工作电压为1.8~5.5V,工作温度为-40~85℃。

(3)年、月、日、星期、时、分、秒BCD码输入输出,并可通过独立的地址访

问各时间寄存器。

(4)自动日历到2099年(包括闰年自动换算功能)。

(5)可设定并自动重置的两路定时闹钟功能。

(6)周期性中断脉冲输出:2Hz、1Hz、每分、小时、月输出可选择不同波形的中断脉冲。

(7)可控的32768Hz方波信号输出。

(8)置时钟精度数字调整功能。

(9)30秒时间调整功能。

(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 报警中断A路输出N沟道开路输出,需接上拉电阻

2 NC 没有作用

3 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码形式计数与存储时

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 闹铃使能、中断输出选择及周期性中断选择

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 ———————默认

秒计数围为0x00~0x59(BCD码格式),当计数从0x59变为0x00时,分寄存器值加1.默认操作是指当XSTP位为1(上电、掉电或者停振后再起振)时,执行读操作。

(2)分寄存器(部地址0x01)。

D7 D6 D5 D4 D3 D2 D1 D0 操作

—M40 M20 M10 M8 M4 M2 M1 写

0 M40 M20 M10 M8 M4 M2 M1 读

0 ———————默认

分计数围为0x00~0x59,当计数从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 ——————默认

时计数围为0x01~0x12(12小时制)或0x00~0x23(24小时制)。当计数从11PM 变成12AM(12小时制)或0x23变成0x00(24小时制)时,天寄存器值加1。

(4)周寄存器(部地址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 ———默认

周计数围为0x00~0x06,其中0x01~0x06表示星期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 ——————默认

天计数围为:

0x01~0x31(一月、三月、五月、七月、八月、十月、十二月)

0x01~0x30(四月、六月、九月、十一月)

0x01~0x29(闰年二月)

0x01~0x28(平年二月)

(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 ——————默认

月寄存器围为0x01~0x02,当计数从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 Y1 读

————————默认

年寄存器围为0x00~0x99,其中0x00、0x04、0x08…0x92、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时刻,

根据预先设定的数据(F5~F0)改变1秒时钟的计数个数。通常每32768个脉冲位1

秒(对寄存器预定初值,才能激活整个调整电路)。

当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-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。

时钟调整电路仅仅是调整时钟走时,并不影响晶振本身频率调整,故32768Hz的

脉冲输出不会改变。

(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表示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位,表示在星期六和星期天闹铃起作用。当AW6~AW0全部位0时,关闭闹铃。

(12)闹铃B分寄存器(部地址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周定时器(部地址0x0d)。

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)控制寄存器1(部地址0x0e)。

0 0 0 0 0 0 0 0 默认

位7:AALE为闹铃A使能位。AALE置1时使能闹铃A中断,置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、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 电平模式每秒钟中断

1 0 1 电平模式每分钟中断(每分钟的00秒)

1 1 0 电平模式每小时中断(每小时的00分00秒)

1 1 1 电平模式每月中断(每月第一天的00时00分00秒)

脉冲模式中断时输出2Hz和1Hz的时钟脉冲,波形关系如图8所示。

图8 脉冲中断波形输出

电平模式中断时输出每秒、每分、每小时或每月的中断波形,如图9所示。

图9 电平中断波形输出

(16)控制寄存器2(部地址0x0f)。

D7 D6 D5 D4 D3 D2 D1 D0 操作

ADJ CLEN CTFG AAFG BAFG 写

——12/2

4

0 0 12/2

XSTP CLEN CTFG AAFG BAFG 读

4

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、F6~F0、CT2~CT0、AALE、BALE、SL2~S1、SLEN和TEST 位全部复位,INTRA停止输出而INTRB输出32768Hz的时钟脉冲。正常工作时应将XSTP 位写0复位。

位3:CLEN位为32kHz时钟输出使能位。当发生CLEN位置1时允许32kHz时钟输出,置0时禁止32kHz时钟输出。

位2:CFG位为周期性中断标志位。当发生周期性中断时,该位置1。在电平模式下将CTFG位写0将中止中断过程。写入后INTRA或INTRB将变成高电平。

位1和位0:AAFG和BAFG位为闹铃A和闹铃B的中断标志位。仅当AALE/BALE 置1时,才能产生闹铃中断。当时钟时间和预设闹铃时间一致时,该位置1。将AAFG/BAFG写0可以中止中断过程。写入后INTRA或INTRB将变成高电平。

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 D0

0 1 1 0 0 1 0 R/W

(1)向SD2303寄存器写数据。

单片机向SD2303寄存器写数据时序如下:

●单片机发出START开始信号。

●单片机送7位器件地址0110010,第8位送写命令0,然后收到SD2303的应答

信号ACK。

●单片机送1字节数据,高4位为SD2303的寄存器地址,低4位为写传输模式0000,

然后收到SD2303的应答信号ACK。

●单片机送1字节数据,发送完成后收到SD2303的应答信号。

●如果需要送多字节数据,重复上一步动作。

●单片机发出停止信号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字节数据,接收完成后向SD2303发送应答信号0。

●如果需要送多字节数据,重复上一步多年动作。

●单片机接收最后1字节数据,接收完成后向SD2303发送非应答信号1。

●单片机发出停止信号STOP结束I2C数据传输。

从SD2303指定寄存器地址0x04开始读3字节数据的过程如图12所示。

图12 SD2303读数据时序

b)从SD2303指定寄存器地址中读数据。

从SD2303指定寄存器地址中读数据时序如下:

●单片机发出START开始信号。

●单片机送7位器件地址0110010,第8位送写命令0,然后收到SD2303的应答

信号ACK。

●单片机送1字节数据,高4位为SD2303的寄存器地址,低4位为写传输模式0100,

然后收到SD2303的应答信号ACK。

●单片机接收1字节数据,接收完成后向SD2303发送应答信号0。

●如果需要送多字节数据,重复上一步多年动作。

●单片机接收最后1字节数据,接收完成后向SD2303发送非应答信号1。

●单片机发出停止信号STOP结束I2C数据传输。

从SD2303指定寄存器地址0x04开始读3字节数据的过程如图13所示。

图13 SD2303读数据时序

c)直接读取数据(只能从0x0f地址开始读取)。

直接读取数据的时序如下:

●单片机发出START开始信号。

●单片机送7位器件地址0110010,第8位送读命令1,然后收到SD2303的应答

信号ACK。

●单片机接收1字节数据,接收完成后向SD2303发送应答信号0。

●如果需要送多字节数据,重复上一步多年动作。

●单片机接收最后1字节数据,接收完成后向SD2303发送非应答信号1。

●单片机发出停止信号STOP结束I2C数据传输。

直接读取数据只能从0x0f 地址开始,然后是地址0x00、0x01…,如图14所示。

图14 SD2303读数据时序

3.2 温度检测电路设计

万年历种的温度检测采用带SPI/三线串行接口的DS1722温度传感器芯片,它与STC89C52单片机的连接如图15所示。

图15 温度检测电路

3.2.1 温度传感器DS1722简介

DS1722是美国MAXIM公司的一款SPI/三线串行接口的DS1722温度传感器,无需外围元件即可完成对环境温度的检测。她可通过Motorola公司倡导的SPI总线或者三线串口方式同处理器进行通信。通信方式可自行选择。

DS1722温度传感器的测量围位-55℃~120℃,精度为±2℃。DS1722提供8~12位的可编程转换值,即分辨率从1.0℃~0.0625℃。温度值直接以数字形式输出。

DS1722可以工作在单次转换和自由(连续)转换模式下。当工作在单次转换模式下时,每启动一次转换,DS1722便将采集到的温度数据存储在寄存器里面;当工作于自由转换模式下时,DS1722连续采集温度数据,并将最近一次的采集数据存储起来。

数字电子课设:万年历的设计

编号 北京工商大学 数字电子技术基础 《万年历的设计》 姓名 学院 班级 学号 设计时间

一、设计目的 1、熟悉集成电路的引脚安排 2、掌握芯片的逻辑功能及使用方法 3、了解数字电子钟及万年历的组成及工作原理 4、熟悉数字电子钟及万年历的设计与制作 5、熟悉multisim电子电路设计及仿真软件的应用 二、设计思路 1、设计60进制秒计数器芯片 2、设计24进制时计数器芯片 3、设计31进制天计数器芯片 4、设计12机制月计数器芯片 5、设计7进制周计数器芯片 6、设计闰年平年不同月份不同进制逻辑 三、设计过程 1、Tr_min and s 60进制计数器芯片: “秒”、“分”电路都六十进制,它由一级十进制计数器和一级六进制计数器组成,六十进制计数器的设计图如下,采用四个片74ls161N串联而成,低位芯片的抚慰信号作为下级输入信号,串接起来构成“秒”、“分”计数器芯片。

2、Tr_hour24进制计数器芯片: 24进制计数器芯片的设计图如下,时计数电路由两片74ls161串联组成。当时个位计数为4,十位计数为2时,两片74ls160N复零,从而构成24进制计数。 3、Tr_day天计数器芯片: 采用两片74ls160N和一片74ls151N串联而成,天计数器的进制受到月计数器反馈M、N影响和年计数器反馈R4的影响,在M、N不收到反馈信息的时候,天计数器为28进制,电路设计图如下:

4、Tr_week周计数器芯片: 周计数器由一块74ls161N构成一个七进制计数器,原理与秒、分、时计数器相似,电路设计图如下 5、Tr_month月计数器芯片: 采用两片74160N和两片74HC151D_2V串联而成,月计数器的反馈信息M、N影响

推荐-电子万年历的设计与制作课程设计 精品

华南农业大学 电子工程学院应用物理系 课程设计(报告)任务书 设计题目:电子万年历的设计与制作 任务与要求(请按所选题目自行总结) 任务:设计一个电子万年历,利用实时时钟芯片ds1302和51单片机制作实时时钟。 要求: 1.使用LCD1602显示屏显示日期和时间; 2.能够显示新历和农历; 3. 包括时钟模块,能够显示实时时钟; 4. 要有时间设置按键部分; 5. 完成硬件电路的设计后,编写程序,实现时间和日期的显示等功能; 6. 调试程序,完成功能验证,写出完整的课程设计。 实验器材: 1.单片机最小系统:单片机(插座),晶振,电阻,电容,按键; 2.电源模块:自锁开关,LED灯,USB插座; 3.按键模块:按键; 4.1602显示模块:1602(排母),电位器,电容; 5.RTC模块:DS1302芯片(插座),晶振,CR2032电池(插座); 6.DIY小部件:漆包线,杜邦线,排针,排母,IC插座,电阻包,电容包,烙铁套装; 开始日期20XX 年 3 月 4 日完成日期20XX 年3 月 23 日

电子万年历设计 摘要:本系统是由单片机最小系统、电源模块、按键模块、LCD1602显示模块及RTC模块组成的电子万年历系统。通过时钟模块实时进行时间和日期的计数,进而传递给单片机处理,单片机再将其传递给LCD1602模块显示当前时间,另设有按键模块可以完成时间设置以及日期查询等功能操作。其设计简单,性能优良,时间设置可调,同时同步显示农历和星期,具有较强的实用性。本文先简要介绍每个模块的工作原理,再作整个系统电路的综合分析,说明该电子万年历的实现过程。 Summary:This system,electronic calendar system,is posed of SCM minimum system, power supply module, keys module, LCD1602 display module and RTC module .Through RTC module for counting the time and date, and then transmit to SCM for processing,and then send it to the LCD1602 module to show the current time, also operates key modules can be pleted time setting and operating date query function.Its simple design, excellent performance, adjustable time setting, synchronous display lunar calendar and week at the same time, has strong practicability.This paper first briefly introduces the working principle of each module, and then a prehensive analysis of the circuit.The last,illustrate the whole system implementation process of the electronic calendar. 关键词:万年历,计时,显示,农历 Keywords: calendar、timing、display、

万年历系统设计方案和对策

电子万年历系统设计 The design of Electronic calendar system 专业:电子信息科学与技术 学号: 姓名:

电子万年历系统设计 摘要:近年来随着计算机在社会领域的渗透和大规模集成电路的发展,单片机的应用正在不断地走向深入,由于它具有功能强,体积小,功耗低,价格便宜,工作可靠,使用方便等特点,因此特别适合于与控制有关的系统,并且给人类生活带来了根本性的改变。尤其是单片机技术的应用产品已经走进了千家万户。电子万年历的出现给人们的生活带来的诸多方便。虽然在日常生活中,各种信息处理终端如电脑、手机等给我们提供了准确的时间信息。但是在大多数场合却仅仅局限于个人的适用范围之内。在家居生活中,一款悬挂余居室墙壁上大方得体的电子钟不仅能为我们提供准确的时间显示,而且魅惑了环境,给单调的居室带来了现代化的气息,因而成为许多家庭的必备之选。 本文设计了一种基于八位串行输入-并行输出移位寄存器74HC164芯片,以STC89C52单片机为核心、数码显示的电子万年历,主要介绍了时钟芯片、温度传感器、仿真模块,以及万年历硬件和软件的设计,实现了准确显示,公历年、月、日、农历月、日、时、分、秒功能。 关键字:单片机;时钟芯片;温度传感器;仿真

The Design of Electronic Calendar System Abtract:In recent years, 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 suited 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 all 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 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 core, 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.

基于AT89C51的数字万年历设计

江西理工大学南昌校区 毕业设计(论文) 题目:基于AT89C51的数字万年历设计 系别:信息工程系 专业:电气自动化 班级:09电子自动化1班 学生: 学号:09321131 指导教师:职称:助教

摘要 电子万年历是一种日常广泛应用的计时工具,在现代社会中越来越流行。数字电子万年历采用直观的数字显示,可以同时显示年、月、日、周、时、分、秒、温度等信息,还具有时间校准等功能。第三次革命就是单片机数码计时技术的应用(电子万年历),使计时产品的走时日差从分级缩小到1/600万秒,从原有传统指针计时的方式发展为人们日常更为熟悉的夜光数字显示方式,直观明了,并增加了全自动日期、星期、温度以及其他日常附属信息的显示功能,它更符合消费者的生活需求!因此,电子万年历的出现带来了钟表计时业界跨跃性的进步。 本文中万年历的设计过程在硬件与软件方面进行同步设计,硬件部分主要由AT89C51单片机,液晶显示电路,复位电路,时钟电路,稳压电路电路等组成。在单片机的选择上使用了AT89C51单片机,该单片机适合于许多较为复杂控制应用场合,显示器使用液晶LCD1602。软件方面主要包括日历程序、液晶驱动程序、显示程序等,这些程序采用C语言编写。所有程序编写完成后,在Keil C51软件中进行调试,确定没有问题后,在Proteus软件中嵌入单片机内进行仿真。并且利用Protel软件进行制图,画出PCB图并且制作出实物。 关键词: 时钟电钟;液晶LCD1602;单片机

ABSTRACT E-calendar is a very extensive daily timing tool, more popular in modern society. For digital electronic calendar using intuitive digital display, simultaneously displays year, month, day, day, hour, minute, second, temperatures and other information, also with a time calibration capabilities. The third revolution is a single-chip digital timing technology ( electronic calendar ), so that the timing product walk time difference from graded narrowing to 1/ 6000000 of a second, from the original traditional pointer timing for the development of people's daily more familiar luminous digital display, intuitive and clear, and the increase of the full automatic date, week, temperature and other daily auxiliary information display function, which is more in line with consumer needs. Therefore, the electronic calendar brings a watch industry a big progress. Synchronizing design of calendar is based on hardware and software design. Hardware part by AT89C51 microcontroller, circuit for LCD, reset circuit, clock circuits, voltage-stabilizing circuit and serial download circuits and other components of the circuit. On the choice of using single-chip microcomputer AT89C51 microcontroller, the microcontroller is suitable for a host of complex control applications. Monitor LCD LCD1602. Software includes calendar, LCD drivers, display program. Programs using a language. All the programming is completed, Kiel C51 debugging software, sure no problem, in Proteus software embedded in single-chip microcomputer in the simulation. And the use of Portal software for drawing and draw the PCB. Keywords : clock electric clock II

电子万年历课程设计报告

课程:创新与综合课程设计 电子与电气工程系 实践教学环节说明书 题目名称电子万年历 院(系)电子与电气工程学院 专业电子信息工程 班级119411 学号1109635010 学生姓名11 指导教师q1 起止日期13周周一~14周周五

电子万年历 一.设计目的 设计一个具有报时功能、停电正常运行(来电无需校时)、带有年月日、时分秒及星期显示的电子日历。 二.方案设计 硬件控制电路主要用了AT89S52芯片处理器、LCD1602显示器等。根据各自芯片的功能互相连接成电子万年历的控制电路。软件控制程序主要有主控程序、电子万年历的时间控制程序、时间显示及星期显示程序等组成。主控程序中对整个程序进行控制,进行了初始化程序及计数器、还有键盘功能程序、以及显示程序等工作,时间控制程序是电子万年历中比较重要的部分。时间控制程序体现了年、月、日、时、分、秒及星期的计算方法。时间控制程序主要是定时器0计时中断程序每隔10ms中断一次当作一个计数,每中断一次则计数加1,当计数100次时,则表示1秒到了,秒变量加1,同理再判断是否1分钟到了,再判断是否1小时到了,再判断是否1天到了,再判断是否1月到了,再判断是否1年到了,若计数到了则相关变量清除0。先给出一般年份的每月天数。如果是闰年,第二个月天数不为28天,而是29天。再用公式s=v-1 +〔(y-1/4〕-〔(y-1/100〕+〔(y-1/400〕+ d计算当前显示日期是星期几,当调节日期时,星期自动的调整过来。闰年的判断规则为,如果该年份是4或100的整数倍或者是400的整数倍,则为闰年;否则为非闰年。在我们的这个设计中由于只涉及100年范围内,所以判断是否闰年就只需要用该年份除4来判断就行了。 三.系统的设计框图 本系统以AT89S52单片机为核心,结合时钟芯片DS1302,LCD1602,键盘等外围器件,实现电子万年历的一系列功能,并通过液晶屏和按键控制完成人机交互的功能。系统总体设计框图如图(1)所示

Java课程设计-万年历

河北科技大学课程设计报告 号:学生姓名:学 专业班级:程序设计课程设计Java课程名称:学期学年第 2 2 015 学年学期: 2 014 — 指导教师:刘伟月年 2 0

的?.................................................................. ................................1?? 2.需求分................................................................... .........析................................1? 3.总体设计................................................................... ........................................1? 4.详细设计................................................................... ........................................1?

5.软件测试................................................................... . (10) 6.课程设计总结................................................................... ................................11. 一、课程设计目的(1)熟练使用java语言编写程序,解决实际问题。? (2)初步掌握软件开发过程的问题分析、系统设计、程序编码、测试等基本方法和技能;? (3)学会自己调试程序的方法并掌握一定的技巧。 二、需求分析本程序的要求为: 1.使用图形用户界面;? 2.本程序能够实现日期与星期的查询。 ?三、总体设计(1)可以通过图形界面显示日历。? (2)能以月历形式显示日期与星期。? (3)支持用户自己输入年份,可以通过上一年,下一年等按钮来选择年份和月份。? ?四、详细设计1.总天数的算法:首先用if语句判断定义年到输入年之间每一年是否为闰年,是闰年,该年的总天数为366,否则,为365。 ,0若是取余得几既为星期几,7使总天数除以输出月份第一天为星期几的算法:2. 则为星期日。? 3.算出输出月份第一天为星期几的算法:算出输出月份第一天为星期几后,把该日期以前的位置用空格补上,并总该日起一次输出天数直到月底,该月中的天数加上该月一日为星期几的数字再除以7得0换行,即可完整的输出该月的日历。? 4.查询年份必须为四位有效数字,否则不予显示。 程序源代码: import import import import import import; import import import ; import ; import import import java.awt.*; import import java.text.*; import ;

基于51单片机电子万年历设计

基于51单片机电子万年历设计 专业:机电设备维修与管理姓名:杜洪浦指导老师: 摘要电子万年历是一种非常广泛日常计时工具,对现代社会越来越流行。它可以对年、月、日、周日、时、分和秒进行计时,还具有闰年补偿等多种功能,而且DS1302的使用寿命长,误差小。对于数字电子万年历采用直观的数字显示,可以同时显示年、月、日、周日、时、分、秒等信息,还具有时间校准等功能。该电路采用AT89S52单片机作为核心,功耗小,能在3V的低压工作,电压可选用3到5V电压供电。 万年历的设计过程在硬件与软件方面进行同步设计。硬件部分主要由AT89C52单片机,液晶显示电路,复位电路,时钟电路,稳压电路电路以及串口下载电路等组成。在单片机的选择上使用了AT89C52单片机,该单片机适合于许多较为复杂控制应用场合。显示器使用液晶LCD1602。软件方面主要包括日历程序、液晶驱动程序,显示程序等。程序采用汇编语言编写。所有程序编写完成后,在Keil C51软件中进行调试,确定没有问题后,在Proteus软件中嵌入单片机内进行仿真。 关键词时钟电钟,DS1302,液晶LCD1602,单片机 目录 1设计要求与方案论证 (2) 1.1 设计要求 (2) 1.2 系统基本方案选择和论证 (2) 1.2.1单片机芯片的选择方案和论证 (2) 1.2.2 显示模块选择方案和论证 (3) 1.2.3时钟芯片的选择方案和论证: (3) 1.3 电路设计最终方案决定 (3) 2系统的硬件设计与实现 (3) 2.1 电路设计框图 (4) 2.2 系统硬件概述 (4) 2.3 主要单元电路的设计 (4) 2.3.1单片机主控制模块的设计 (4)

简单万年历设计

信电学院 电子信息工程专业CDIO一级项目项目设计说明书(2013/2014学年第一学期) 项目名称:简单万年历的设计 专业班级:电子信息工程 学生姓名: 学号: 指导教师: 设计周数:一周 设计成绩: 2013 年12 月29 日

目录 1项目设计目的及任务--------------------------------------------------------------2 2 设计方案--------------------------------------------------------------2 3 电路仿真与分析--------------------------------------------------------------9 4项目设计心得-------------------------------------------------------------17 5参考文献-------------------------------------------------------------17

1.项目设计目的及任务 用51单片机或52单片机为主体,设计并制作一台数字万年历。基本要求有时钟显示(时/分/秒);日期、星期显示,可设定月份;上电即可显示当前系统的时间该系统的设计电路是以 AT89C51单片机为核心控制器,其外围电路主要包括时钟模块,液晶模块,和与电脑主机通信模块等。通过 PC 机在 Internet 上同步时间,整个系统使用C语言进行编程,实现其设计的各种功能。输出方式灵活、功耗低、计时准确、性能稳定、维护方便等优点。实用电子时钟是一个时间控制系统,既能作为一般的时间显示器,同时可以根据需要扩展其功能。系统上电自检后,实时实现小时、分钟、秒以及日历的显示等指示信息的显示,通过按键可实现校对时间等功能。 2 设计方案 2.1总方案设计:设计简单万年历一般有三个可行方案,方案一:纯硬件电路系统,各功能采用分离的硬件电路模块实现。用时序逻辑电路实现时钟功能,用555定时器实现闹钟的设定。但这种实现方法可靠性差、控制精度低,灵活性小、线路复杂、安装调试不方便,而且不方便实现对系统的扩展。方案二:用可编程逻辑器件(PLD)实现。这种方案与前一种相比,可靠性增加,同时可以很好的完成时钟的功能。同时这种方案只能选用数码管显示,显示的效果不够理想,无法很好的完成扩展功能的要求。同时,系统的灵活性不够。方案三:采用单片机作为系统的控制核心。随着国内超大规模集成电路的出现,微处理器及其外围芯片有了迅速的发展。集成技术的最新发展之一是将CPU和外围芯片,如程序存储器、数据存储器、并行I/O口、串行I/O口、定时/计数器、中断控制器及其他控制部件集成在一个芯片之中,制成单片计算机。而近年来推出的一些高档单片机还包括有许多特殊功能单元,如A/D、D/A转换器、调制解调器、通信控制器、锁相环、DMA、浮点运算单元、PWM控制输出单元、PWM输出时的死区可编程控制功能等。因此,只要外加一些扩展电路及必要的通道接口就可以构成各种计算机应用系统,如工业流水线控制系统、作为家用电器的主控制器、分布式控制系统的终端节点或作为其主控制节点起中继的作用、数据采集系统、自动测试系统等。我们选用的是方案三。因为单片机的出现,并在各技术领域中得到如此迅猛的发展,与单片机构成计算机应用系统所形成的下述特点有关:

单片机课程设计—万年历[1]

郑州轻工业学院 软件学院 单片机与接口技术课程设计总结报告 设计题目:电子万年历 学生姓名: 系别: 专业: 班级: 学号: 指导教师: 2011年12月16日

设计题目: 电子万年历 设计任务与要求: 1、显示年月日时分秒及星期信息 2、具有可调整日期和时间功能 3、增加闰年计算功能 方案比较: 方案一:系统分为主控制器模块、显示模块、按键开关模块,主控制模块采用 AT89C52单片机为控制中心,显示模块采用普通的共阴LED数码管,键输入采用中断实现 功能调整,计时使用AT89C52单片机自带的定时器功能,实现对时间、日期的操作,通 过按键盘开关实现对时间、日期的调整。 方案二:系统分为主控模块、时钟电路模块、按键扫描模块,LCD显示模块,电源 电路、复位电路、晶振电路等模块。主控模块采用AT89C52单片机,按键模块用四个按键,用于调整时间,显示模块采用LCD1602,时钟电路模块采用DS1302时钟芯片实现对 时间、日期的操作。 两个方案工作原理大致相同,只有显示模块和时钟电路不同。LED数码管价格适中,对于数字显示效果较好,而且使用单片机的端口也较少; LCD1602液晶显示屏,显示功 能强大,可以显示大量文字、图形,显示多样性,清晰可见,价格相对LED数码管来说 要昂贵些,但是基于本设计显示的东西较多,若采用LED数码管的话,所需数码管较多,而且不利于控制,因此选择LCD1602作为显示模块。DS1302是一款高性能的实时时钟芯片,以计时准确、接口简单、使用方便、工作电压范围宽和低功耗等优点,得到广泛的 应用,实时时钟有秒、分、时、星期、日、月和年,月小于31天时可以自动调整,并具 有闰年补偿功能,而且在掉电时能够在外部纽扣电池的供电下继续工作。单片机有定时 器的功能,但时间误差较大,且需要编写时钟程序,因此采用DS1302作为时钟电路。 对比以上方案,结合设计技术指标与要求我们选择了方案二进行设计。

电子万年历课程设计

烟台南山学院单片机课程设计题目电子万年历 姓名: 所在学院:烟台南山学院 所学专业:自动化 班级: 学号: 指导教师: 完成时间:

摘要 单片机作为当今领域应用广泛的电子器件,以其极高的性能价格比,受到人们的重视和关注,应用很广、发展很快。单片机体积小、重量轻、抗干扰能力强、环境要求不高、价格低廉、可靠性高、灵活性好、开发较为容易。由于具有上述优点,在我国,单片机已广泛地应用在工业自动化控制、自动检测、智能仪器仪表、家用电器、电力电子、机电一体化设备等各个方面,而51单片机是各单片机中最为典型和最有代表性的一种。以AT89C51芯片为核心,辅以必要的电路,设计了一个简易的电子时钟,它由5V直流电源供电,通过数码管能够准确显示时间,日期,调整时间,日期,从而到达学习、设计、开发软、硬件的能力。 时钟电路在计算机系统中起着非常重要的作用,是保证系统正常工作的基础。在一个单片机应用系统中,时钟有两方面的含义:一是指为保障系统正常工作的基准振荡定时信号,主要由晶振和外围电路组成,晶振频率的大小决定了单片机系统工作的快慢;二是指系统的标准定时时钟,即定时时间,它通常有两种实现方法:一是用软件实现,即用单片机内部的可编程定时/计数器来实现,但误差很大,主要用在对时间精度要求不高的场合;二是用专门的时钟芯片实现,在对时间精度要求很高的情况下,通常采用这种方法,典型的时钟芯片有:DS1302,DS12887,X1203等都可以满足高精度的要求。本设计由单片机AT89C51芯片和LED数码管为核心,运用DS1302时钟芯片,辅以必要的电路,构成了一个单片机电子时钟。

1 绪论 (1) 2 总体方案设计与论证 (2) 2.1数字时钟方案 (2) 2.2显示方案 (3) 3 硬件系统的方案设计 (4) 3.1 系统框图 (4) 3.2 单片机的选择 (4) 3.3 时钟电路DS1302 (7) 3.4 时钟电路及复位电路 (9) 3.5 驱动电路 (9) 3.6 显示电路 (10) 3.7 按键接口 (11) 4 软件系统设计 (12) 4.1 时间信息获取程序 (12) 4.2 显示程序 (12) 5 系统调试 (13) 5.1 系统调试 (13) 5.2 时钟显示 (13) 5.3 DS1302的调试 (13) 5.4 按键电路调试 (13) 6 总结 (14) 参考文献 (15) 附录:系统程序 (16)

电子万年历的设计与实现

毕业设计(论文)任务书 题目:电子万年历的设计与实现 任务与要求: 设计一以单片机为核心控制的万年历,具有多项显示和控制功能。要求:准确计 时,以数字形式显示当前年月日、星期、时间; 具有年月日、星期、时间的设置和调整功能;自行设计所需直流电源 时间: 2010年9 月 27 日至 2010 年 11 月 23 日共 8 周 所属系部:电子工程系

摘要 随着微电子技术的高速发展,单片机在国民经济的个人领域得到了广泛的运用。单片机以体积小、功能全、性价比高等诸多优点,在工业控制、家用电器、通信设备、信息处理、尖端武器等各种测控领域的应用中独占鳌头,单片机开发技术已成为电子信息、电气、通信、自动化、机电一体化等专业技术人员必须掌握的技术。 而电子万年历作为电子类小设计不仅是市场上的宠儿,也是是单片机实验中一个很常用的题目。因为它的有很好的开放性和可发挥性,因此对作者的要求比较高,不仅考察了对单片机的掌握能力更加强调了对单片机扩展的应用。而且在操作的设计上要力求简洁,功能上尽量齐全,显示界面也要出色。数字显示的日历钟已经越来越流行,特别是适合在家庭居室、办公室、大厅、会议室、车站和广场等使用,壁挂式LED数码管显示的日历钟逐渐受到人们的欢迎。LED数字显示的日历钟显示清晰直观、走时准确、可以进行夜视,并且还可以扩展出多种功能。所以,电子万年历无论作为比赛题目还是练习题目都是很有价值。 关键词:单片机;万年历 1

目录 1 概述 (5) 1.1单片机原理及应用简介 (5) 1.2系统硬件设计 (6) 1.3结构原理与比较.............................. 错误!未定义书签。2系统总体方案及硬件设计......................... 错误!未定义书签。 2.1系统总体方案................................ 错误!未定义书签。 2.2硬件电路的总体框图设计 (12) 2.3硬件电路原理图设计 (12) 3软件设计 (13) 3.1主程序流程图 (13) 3.2显示模块流程图 (14) 4P ROTEUS软件仿真 (15) 4.1仿真过程 (15) 4.2仿真结果 (16) 5课程设计体会 (17) 参考文献 (18) 附录:源程序代码附 (18) 结束语 (25) 2

多功能电子万年历课程设计

课程设计(论文) 题目名称多功能电子万年历课程设计 课程名称单片机原理及应用 2012年6月18 日

摘要 本设计基于AT89C51单片机的多功能电子万年历的硬件结构和软硬件设计方法。系统以AT89C51单片机为控制器,以串行时钟日历芯片DS1302记录日历和时间,它可以对年、月、日、时、分、秒进行计时,还具有闰年补偿等多种功能。万年历采用直观的数字显示,可以在LED上同时显示年、月、日、周日、时、分、秒,还具有时间校准等功能。此万年历具有读取方便、显示直观、功能多样、电路简洁、成本低廉等诸多优点,具有广阔的市场前景。 关键词:AT89C51;电子万年历; DS1302

目录 1 绪论 (1) 1.1课题研究的背景 (1) 1.2课题的研究目的与意义 (1) 1.3课题解决的主要内容 (1) 2 系统的总体设计 (1) 2.1系统方案构思 (2) 2.2系统硬件框图 (2) 3 系统硬件的设计 (3) 3.1.1 器件的选用 (3) 3.1.2 AT89C51单片机 (3) 3.1.3单片机的选择 (6) 3.1.4 显示电路 (7) 3.1.5 ds1302时钟电路 (11) 4 系统软件的设计 (14) 4.1 算法设计、流程图、主程序 (14) 4.2 从1302读取日期和时间程序 (15) 5 系统仿真 (16) 5.1仿真环境PROTEUS (16) 5.2用PROTEUS ISIS对电子万年历的硬件电路设计 (16) 5.3用PROTEUS ISIS进行电子万年历的仿真测试 (20) 结论 (23) 致谢 (24) 参考文献 (25) 附录 (26) 附录1 (26)

课程设计万年历的设计52503328

课程设计万年历的设计52503328

兰州理工大学 计算机与通信学院 2014年秋季学期 面向对象课程设计 题目:万年历的设计

序言 《面向对象的程序设计》是计算机专业一门重要的专业基础课。此次课程设计的目的是以面向对象程序设计语言为基础,通过完成一些具有一定难度的课程设计题目的编写、调试、运行工作,进一步掌握面向过程和面向对象程序设计的基本方法和编程技巧,巩固所学理论知识,使理论与实际相结合。从而提高自我分析问题、解决问题的能力。通过课程设计,学生在下述各方面的能力应该得到锻炼: (1)进一步巩固、加深学生所学专业课程《C++语言程序设计》的基本理论知识,理论联系实际,进一步培养学生综合分析问题、解决问题的能力。 (2)全面考核学生所掌握的基本理论知识及其实际业务能力,从而达到提高学生素质的最终目的。 (3)利用所学知识,开发小型应用系统,掌握运用C++语言编写调试应用系统程序,训练独立开发应用系统,进行数据处理的综合能力。 (4)对于给定的设计题目,如何进行分析,理清思路,并给出相应的数学模型。 (5)掌握面向对象的程序设计方法。 (6)进一步掌握在集成环境下如何调试程序、修改程序和程序的测试。

目录 摘要 (2) 第一章系统总体设计 (3) 一.理论说明 (3) 二.流程图说明 (4) 1.总体流程说明图 (4) 2.部分流程说明图 (4) 第二章系统详细设计 (7) 一.主要组成部分 (7) 二.源程序 (9) 第三章系统测试 (34) 四软件使用说明书 (40) 一.系统运行环境 (40) 二.系统操作提示 (40) 总结 (41) 参考文献 (42) 致谢 (42)

基于AT89C51单片机的电子万年历的设计_课程设计报告

课程设计报告 设计名称:电子万年历设计 专业班级:自动化10101班 完成时间:2013年6月9日 报告成绩:

摘要 本文介绍了基于AT89C51单片机的多功能电子万年历的硬件结构和软硬件设计方法。系统以AT89C51单片机为控制器,以串行时钟日历芯片DS1302记录日历和时间,它可以对年、月、日、时、分、秒进行计时,还具有闰年补偿等多种功能。万年历采用直观的数字显示,可以在LED上同时显示年、月、日、周日、时、分、秒,还具有时间校准等功能。此万年历具有读取方便、显示直观、功能多样、电路简洁、成本低廉等诸多优点,具有广阔的市场前景。 关键字AT89C51;电子万年历; DS1302

1 绪论 1.1 课题研究的背景 随着科技的快速发展,时间的流逝,从观太阳、摆钟到现在电子钟,人类不断研究,不断创新纪录。它可以对年、月、日、时、分、秒进行计时,还具有闰年补偿等多种功能,而且DS1302的使用寿命长,误差小。对于数字电子万年历采用直观的数字显示,可以同时显示年、月、日、时、分、秒和温度等信息,还具有时间校准等功能。该电路采用AT89C51单片机作为核心,功耗小,能在3V 的低压工作,电压可选用3~5V电压供电。 此万年历具有读取方便、显示直观、功能多样、电路简洁、成本低廉等诸多优点,符合电子仪器仪表的发展趋势,具有广阔的市场前景。 1.2课题的研究目的与意义 二十一世纪是数字化技术高速发展的时代,而单片机在数字化高速发展的时代扮演着极为重要的角色。电子万年历的开发与研究在信息化时代的今天亦是当务之急,因为它应用在学校、机关、企业、部队等单位礼堂、训练场地、教学室、公共场地等场合,可以说遍及人们生活的每一个角落。所以说电子万年历的开发是国家之所需,社会之所需,人民之所需。 由于社会对信息交换不断提高的要求及高新技术的逐步发展,促使电子万年历发展并且投入市场得到广泛应用。 1.3课题解决的主要内容 本课题所研究的电子万年历是单片机控制技术的一个具体应用,主要研究内容包括以下几个方面: (1)选用电子万年历芯片时,应重点考虑功能实在、使用方便、单片存储、低功耗、抗断电的器件。 (2)根据选用的电子万年历芯片设计外围电路和单片机的接口电路。 (3)在硬件设计时,结构要尽量简单实用、易于实现,使系统电路尽量简单。 (4)根据设计的硬件电路,编写控制AT89C51芯片的单片机程序。 (5)通过编程、编译、调试,把程序下载到单片机上运行,并实现本设计的功能。 (6)在硬件电路和软件程序设计时,主要考虑提高人机界面的友好性,方便用户操作等因素。 (7)软件设计时必须要有完善的思路,要做到程序简单,调试方便。

Java万年历课程设计报告

Java课程设计 设计题目:万年历 系别:计算机科学与工程学院 专业:信息管理与信息系统 学号: 1100340116 姓名:岑少兵 指导教师:汪华澄 时间: 2013-6-29

目录 摘要 (3) 系统功能结构图 (3) 1 系统模块设计 (4) 1.1 需求设计 (4) 1.2 开发和运行环境 (4) 1.3 功能设计 (4) 2 万年历详细设计思路 (4) 2.1 程序设计思路 (5) 2.2 程序运行主界面 (5) 2.3 流程图 (6) 3 各模块功能实现及代码说明 (6) 3.1 MainFramel类 (6) 3.2 Lunar类 (14) 3.3 national类 (22) 3.4 SetClock类 (26) 4 小结 (34) 5 参考文献 (34)

基于Myeclipse的万年历 摘要:万年历是日常生活中不可或缺的小工具,用万年历我们可以准确地查到当前,以后或是过去的日期,极大地方便了我们的生活。在万年历上添加了显示本地时间以后会更加准确地显示时间。无论是对于我们学生还是上班族或是自由职业者需要经常查看和查找万年历来规划自己将要做得一些事情,或是回忆在过去的时间里已经做过的事情,使之更加有利于提升我们的学习或是工作进度。 系统功能结构图:主要描述系统要实现的各个模块的功能。

1系统模块设计 1.1需求分析 本程序的要求为:1.使用图形用户界面 2.能够实现日期与星期的查询 3.能够显示农历 4.能够查看世界时间 5.能够添加闹钟 1.2 开发和运行环境 开发工具:Myeclipse 运行环境: windows 7 1.3功能设计 本程序要构建的万年历程序,其功能有以下几个方面: (1)通过 (2)提供年份、月份的下拉形式菜单来选择年份和月份。 (3)通过Lunar类实现农历日期。 (4)通过national类实现世界时间。 (5)能以月历形式显示日期与星期。 (6)通过SetClock类来实现闹钟功能。 (7)通过点击世界时间按钮查询世界时间 (8)通过点击闹钟按钮设置闹钟 (9)显示系统当前时间和日期。 (10)显示作者信息。 2万年历详细设计思路 2.1程序设计思路 1. 总天数的算法:首先用if语句判断定义年到输入年之间每一年是否为闰年,是闰年,该年的总天数为366,否则,为365。然后判断输入的年是否为定义年,若是,令总天数S=1,

电子万年历设计

课程论文论文题目基于单片机的电子万年历设计 课程名称单片机原理及接口技术 专业年级 2014级自动化3班 学生姓名孙宏远贾腾飞 学号 2016年12 月3 日

摘要: 本文介绍了基于AT89C51单片机的多功能电子万年历的硬件结构和软硬件设计方法。系统以AT89C51单片机为控制器,以串行时钟日历芯片DS1302记录日历和时间,它可以对年、月、日、时、分、秒进行计时,还具有闰年补偿等多种功能。万年历采用直观的数字显示,可以在LED上同时显示年、月、日、周日、时、分、秒,还具有时间校准等功能。此万年历具有读取方便、显示直观、功能多样、电路简洁、成本低廉等诸多优点,具有广阔的市场前景。。 关键词:AT89C51单片机,DS1602时钟芯片,LCD1602显示屏。串口通信。 一:引言 本设计的基于单片机控制的电子万年历,具有年、月、日、星期、时、分、秒的显示等功能,实现过程就是由主控制发送信息给DS1302时钟芯片再由时钟芯片反馈给单片机,再由主控制器传送给LCD1602显示屏显示信息。并且可以在键盘设置模块输入修改时间,当键盘设置时间、日期时,单片机主控制根据输入信息,通过串口通信传送给DS1302时钟芯片,DS1302芯片读取当前新信息产生反馈传送给单片机,然后单片机根据控制最后输送显示信息到LCD1602液晶显示屏模块上显示。 二:硬件设计: 2.0.硬件的设计总框图 2.1 DS1032时钟电路 DS1302的引脚排列,其中Vcc1为后备电源,VCC2为主电源。在主电源关闭的情况下,也能保持时钟的连续运行。DS1302由Vcc1或Vcc2两者中的较大者供电。当Vcc2大于Vcc1+0.2V时,Vcc2给DS1302供电。当Vcc2小于Vcc1时,DS1302由Vcc1供电。X1和X2是振荡源,外接32.768kHz晶振。芯片如图。 DS1302的内部主要由移位寄存器、指令和控制逻辑、振荡分频电路、实时时钟以及RAM组成。每次操作时,必须首先把CE置为高电平。再把提供地址和命令信息的8位装入移位寄存器。数据在SCLK的上升沿串行输入。无论是读周期还是写周期发生,也无论传送方式是单字节还是多字节,开始8位将指定内部何处被进行访问。在开始 8个时钟周期把含有地址信息的命令字装入移位寄存器之后。紧随其后的时钟在读操作时输出数据。 2.2 LCD1602与AT89C52的引脚接线 LCD1602采用总线式与单片机相连,AT89c52的P1口直接与液晶模块的数据总线D0~D7相连;P2 口的0,1,2脚分别与液晶模块的RS、RW、E脚相连。滑动变阻器用于调整液晶显示的亮度。电路如图

相关主题