时钟万年历说明书

时钟万年历说明书

。时钟万年历说明书

中国外形专利申请号:200730133153.4 “ALARM”时,按“UP”键可开启/关闭贪

功能:睡功能,LCD 屏幕上方“SNZ”标志会相应◆兰色背光灯显示和不显示。

◆万年历显示; 4.在正常状态,按“DOWN”键可开启/关闭音◆数字温度计乐欣赏功能。当开启时可巡回播放7 首不◆音乐闹钟,贪睡功能同的音乐。

◆反向计时器 5.在正常状态,按“SET”键可实现摄氏/华

◆音乐欣赏氏温度转换。

◆生日提醒在以上各种状态,如果无按键 1 分钟,则

基本操作自动返回正常显示状态。

1.装入3 节7 号电池, 进入”正常显示状 6.在任何状态下,按LIGHT 键可开启背光灯态”,并播放1 首音乐。LCD 显示为:12:功能。3 秒后自动关闭。

00 1/1 THU 7.本产品使3 节7 号电池。如显示屏显示不2.在正常显示状态下,按“MODE”键分别进清晰时请更换电池。

入相应的功能:

正常状态→12Hr/24Hr→闹钟→生日提醒

→计时器

2.1 在正常状态下,按一下“MODE”键进入

12Hr/24Hr 状态, 然后按“UP、DOWN”键

进行12/24 小时制的转换, 按“SET”键

和“UP、DOWN”键可设置时间、日期。

2.2 在正常状态下,连续按两下“MODE”键进

入闹铃状态,有“ALARM”标志显示,按

“SET”键和“UP、DOWN”键可设置闹铃

时间和选取闹铃音乐,共有7 首音乐及2

个不同的“嘀嘀”声可供选择。再次按

“SET”键可关闭闹铃功能。当设置的闹

铃时间到达时,响闹1 分钟。如有开启贪

睡功能,则每 3 分钟响闹1 次,共响4 次。

2.3 在正常状态下,连续按三下“MODE”键

进入生日提醒状态,按“SET”键和“UP、

DOWN”键可设置生日提醒的日期、时间;

再次按“SET”键可以关闭生日提醒功能。

当生日提醒所设置的时间到达时,播放5

分钟生日歌曲。

2.4 在正常状态下,连续按四下“MODE”键

进入计时器状态,有“TIMER”标志显示,

按“SET”键和“UP、DOWN”键可设置反

向计时的时间,计时范围:23:59-00:

00 小时。当设置时间到达“0:00 00”时,

会响闹提示1 分钟,同时“0:00 00”不

停地闪烁。按任意键,响闹停止。

3.在正常状态, LCD 屏幕上方显示闹铃标志

万年历电子钟设计报告

课程设计报告课程设计名称 SOPC原理及应用专业电子科学与技术 班级电子13-1班 学号 姓名郑航 指导教师冯丽 成绩

2016年1月13日

目录 一、设计目的 (1) 二、设计内容要求 (1) 三、系统软、硬件需求分析 (1) 1. 硬件系统组成规划 (1) 2. 软件系统规划 (2) 四、设计步骤 (3) 3. 新建工程“count_binary” (3) 4. 添加ip核 (4) 5. 添加SDRAM Controller (5) 6. 添加flash (6) 7. 添加外部RAM总线(Avalon三态桥) (7) 8. 添加pio核 (7) 9. 添加cpu核 (8) 10. 添加LCD核 (9) 11. 自动分配基地址并生成系统 (9) 12. 设置顶层模块图 (10) 13. 管脚分配并编译 (11) 14. 启动Nios II IDE,新建工程 (12)

15. 导入设计程序 (12) 16. 编译工程并烧录 (13) 五、设计结果 (14) 六、源程序 (16) 1. 程序......................................... 错误!未定义书签。 2. 程序......................................... 错误!未定义书签。 3. 程序......................................... 错误!未定义书签。 4. 程序 (16) 七、实验心得 (28)

项目基于NiosII系统的电子钟设计 一、设计目的 1.掌握基本的开发流程。 2.熟悉QUARTUS II软件的使用。 3.熟悉NIOS II软件的使用。 4.掌握SOPC硬件系统的搭建和NIOSII软件编程方法。 5.掌握SOPC系统设计方法。 6.进一步了解简单的设置及其编程。 二、设计内容要求 NiosII系统的硬件设计,软件设计,该系统能实现一个电子钟功能。 三、系统软、硬件需求分析 1.硬件系统组成规划 根据系统要实现的功能和开发板配置,本项目中需要用到的Cyclone II开发板上的外围器件有: LCD:电子钟显示屏幕 按钮:电子钟设置功能键 Flash存储器:存储软、硬件程序 SRAM存储器:程序运行时将其导入SRAM 根据所用到的外设和器件特性,在SOPC Builder中建立系统要添加的模块包括:NiosII CPU定时器,按键PIO,LCD,外部RAM总线(Avalon三态桥),

万年历(时钟芯片和液晶显示)

#include #include #include"zhuanhuan.h" #define uchar unsigned char #define uint unsigned int sbit SCK=P3^5; sbit SDA=P3^4; sbit RST=P3^3;// DS1302复位 sbit set=P1^0;//定义按键端口 sbit s1=P1^1; sbit s2=P1^2; sbit s3=P1^3; void keyscan1();void keyscan(); /************液晶口定义*******/ sbit RS=P2^0;//RS为数据/指令选择1/0 sbit RW=P2^1;//读写 sbit E=P2^2;//E为使能信号 bit flag;//是否读取时间的标志位 uchar setn=0;//复位键、增加键、减少键按下次数 uchar code time0[]="Date: - - "; uchar code time1[]="Time: : : "; uchar l_tmpdate[]={00,00,00,7,1,7,12};//秒分时日月周年// 可随时更改uchar code write_add[7]={0x80,0x82,0x84,0x86, 0x88,0x8a,0x8c}; //秒分时日月周年写的寄存器地址 uchar code read_add[7]={0x81,0x83,0x85,0x87, 0x89,0x8b,0x8d}; //秒分时日月周年读的寄存器地址 extern uchar data dis_buf2[16]; void delay(uint z) { while(--z); } void write_com(uchar com)//液晶写命令函数 { RS=0;//写命令使能 RW=0;//写 delay(5000); /****在高脉冲下命令输入*****/ E=0; P0=com; delay(500); E=1; delay(500); E=0; }

电子万年历课程设计报告

课程:创新与综合课程设计 电子与电气工程系 实践教学环节说明书 题目名称电子万年历 院(系)电子与电气工程学院 专业电子信息工程 班级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)所示

电子时钟万年历设计

计算机科学与技术学院硬件课程设计报告

在日常生活中,手表,闹钟是不可或缺的。在实际生活生产活动中,也要考虑时间的因素,如工时的计算,霓虹灯的亮灭。 因为集成电路制造技术的不断提高,出现了高性能、高可靠的集成芯片。电子时钟在工业领域,日常生活中得到了广泛的应用。电子时钟在性能方面具有精度高,实时性好,易于调整等优点。这些使得温度控制系统的研究和开发得到的各方面的广泛关注和支持。 本次课程设计,我利用8254计数芯片,8255芯片,4*4小键盘,12864LCD 液晶显示器,蜂鸣器制作了一个带有闹钟功能的电子时钟万年历。它可以实现由4*4小键盘输入初始时间(包括年月日时分秒星期),利用8254计数,通过程序处理进位,判断闰年,在液晶显示屏上实时显示时间。还可以由小键盘选择不同的闹钟模式,设定闹钟时间。 关键词: 电子时钟; 8255A芯片; 8254芯片; 12864LCD液晶显示器;键盘输入;蜂鸣器;闹钟功能;万年历

1.设计任务与要求...........................................................................6- 1.1实验目的 (6) 1.2具体要求 (6) 2.总体方案与说明...........................................................................6- 2.1使用硬件 (6) 2.1流程设计 (6) 2.1.1系统程序模块 (6) 2.1.1系统流程图 (7) 3.硬件方案 (7) 3.1硬件说明 (7) 3.1.1计数芯片8254 (7) 3.1.2可编程外围接口芯片8255A (8) 3.1.2 128×64字符液晶显示器 (11) 3.2电路原理图与说明 (12) 3.2.1键盘电路 (13) 3.2.2 8254计数电路 (13) 3.2.3 液晶显示电路 (14) 3.3电路连接图 (14) 3.3.1 8254计数芯片 (14) 3.3.2 整体电路 (15) 4.软件方案 (15) 4.1软件主要模块流程图 (15) 4.1.1输入子程序模块流程图 (16) 4.1.2显示子程序模块流程图 (18) 4.1.2闰年子程序模块流程图 (18) 4.1.2蜂鸣器子程序模块流程图 (18) 4.1.2时间进位程序模块流程图 (19) 4.1.2主程序模块流程图 (20) 4.2源程序清单与注释 (21) 5.分析与测试 (38) 6.运行结果 (38) 6.1试验线路图 (39) 6.2实验结果 (39) 6.2.1欢迎界面 (39)

数字万年历的制作

数字万年历的制作 数字显示万年历,它采用一枚专用软封装的时钟芯片,驱动15只红色共阳极数码管,可同时显示公历年、月、日、时、分、星期,以及农历月、日,还有秒点显示和整点报时、定时闹钟功能,使用220V市电供电,预留有备用电池座,外形尺寸为长21cm×宽14.5cm×厚3cm,最厚处6cm,适合放置在办公桌面上使用,具有很好的实用性。成品外观如图1所示。 图1 图2 原理简介 电路原理图如图2所示,为了读图方便,连线稍作了简化。从图中可以看出,IC1是一枚专用时钟芯片,Y1是32768Hz的晶振,为芯片提供时基频率信号,经过芯片部处理后,输出各显示位的驱动信号,经过PNP(8550)型三极管做功率放大后驱动各数码管显示。芯片采用了动态扫描的输出方式,由于人眼存在视觉暂留现象,且扫描速度比较快,因此看上

去所有数码管都是在显示的。这种方式可以有效减少芯片的输出引脚数量,简化了线路,降低了功耗。 在电源部分中,整流二极管VD1~VD4组成了桥式整流电路,将变压器输出的交流电转换为直流电,经C6滤波后,送至三端稳压块7805,输出5V直流稳压电源,为电路供电。VD3和VD8组成互相隔离的供电电路,目的是在市电停电时,后备纽扣电池通过VD3,自动为芯片IC1提供后备电源,保证芯片计时数据不中断。同时由于VD8、VD9的存在,后备电池将不再向数码管供电,以节约后备电池的耗电量。由于芯片自身耗电较低,因此靠纽扣电池也可以维持芯片在很长时间里,部计时不中断。当市电恢复后,7805输出经过VD8、VD9分别向芯片和数码管供电,由于DV3的存在,且纽扣电池电压为3V,低于7805输出的5V,因此纽扣电池将自动停止供电,7805输出也不会对纽扣电池充电。 VT9是唯一一只NPN(8050)型三极管,用于驱动喇叭,做为整点报时和定闹发声。LED10、LED14是用于秒点显示的发光二极管,LED11和LED12分别是整点报时显示和定闹显示的发光二极管,均为红色。 图3是万年历的全套散件的照片。表1是元器件清单。 图3 表1 元器件清单 序号元件名称参数元件数量序号元件名称参数元件数量 1 电阻10Ω 1 21 三极管8050 1 2 电阻33Ω8 22 三端稳压块7805 1 3 电阻47Ω 3 23 晶振32768Hz 1 4 电阻75Ω7 24 IC1软封装芯片 1 5 电阻100Ω 1 25 0.5’数码管红11 6 电阻150Ω8 26 0.8’数码管红 4

北极星数码万年历使用说明书

北极星数码万年历 北极星数码万年历使用说明书 操作说明 1、按键说明:设置键、上调键、下调键、流水开关键。 2、时间调整在正常走时状态下,按“设置”键进入时间设置状态,同时年份“闪烁”,可按“上调”或“下调”键修改年份,修改好后按“设置”键将闪烁位移到公历“月”,按“上调”或“下调”键修改月份;用同样的方法可对日、时、分进行设置;12个公历节日及倒计天数、24个农历节气及倒计天数、12生肖、12星座、星期、农历月、日将自动跟随公历的变化。当分设定好后,再按“设置”键退出时间设置,回到正常时间状态。 3、节气灯花样转换在正常走时状态下,按住“设置”键3秒钟即可进入节气灯花样转换。 4、12/24小时制切换在正常走时状态下,按住“上调”键3秒钟,则可进行12小时制与24小时制的切换。上电复位时,可默认为24小时制或12小时制,由选项决定。 5、开/关整点报时在正常走时状态下,按住“下调”键3秒钟听到“嘀”一声,则可以打开或关闭整点报时功能。 6、天数倒计时或顺计时(由选项决定)在正常时间状态下,按“模式”键进入“天数计时状态”,在温度位显示“d1”,计时天数位若显示“――――”,表示计时“无效”;若显示具体数字表示有效,按“上调”键可以切换“有效”/“无效”,按“设置”键进入天数设定,且左边第一位(千位)闪烁,按“上调”或“下调”键修改内容,按“设置”键移动闪烁位置到第二位(百位),按“上调”或“下调”键修改闪烁位的内容,同样方法可设置十位与个位 7、闹钟 8组定闹(由按键选项决定),默认值无效,默认时间为――:――点,闹钟设定:在正常时间状态下(或天数计时状态),按“下调”键进入“定闹查询状态”,定闹指示灯点亮,在温度位显示“A1”,表示当前你看到的是“第1组定闹”的信息,在小时、分钟位显示“――∶――”,表示定闹“无效”;显示“XX∶XX”的具体时间,表示定闹“有效”,按“上调”键可以切换“有效”/“无效”,按“设置”键进入定闹时间设定,且小时位闪烁,按“上调”或“下调”键修改闪烁位的内容,按“设置”键移动闪烁位置到分钟位,按“上调”或“下调”键修改闪烁位的内容,再按“设置”键确认并退出定闹时间设定,再按“下调”键进入下一组闹铃状态,其设置与“第1组定闹”相同,依次类推即可设置所有定闹。 8、生日提醒①7组生日提醒,默认值无效。②生日提醒设定:在最后一组定闹状态,再按一次“下调”键则进入第一组生日提醒,生日提醒指示灯点亮,在温度位显示“b1”,在公历“月日位”显示有效“生日日期”或无效日期“――――”,则表示生日以“公历日期”为准,若在农历“月日位”显示则表示生日以农历日期为准;按“上调”键可“打开/关闭”该组生日提醒,按“设置”键进入“该组生日提醒日期”设置,按“上调”或“下调”键修改其内容,按“设置”键移动闪烁位置,再按“设置”键确认该组生日提醒设置,再按“下调”键进入下一组生日提醒,依次类推即可设置所有生日提醒,当在最后一组生日提醒时,按“下调”键则退到正常时间状态若闹铃中没有一组设置有效,则定闹指示灯熄灭,在任何闹铃时间到正在响闹 北极星数码万年历使用说明书第1页共2页

Java万年历课程设计报告

杭州师范大学钱江学院课程设计 题目万年历 学院钱江学院 专业信电分院计算机科学与技术 班级计算机1101 姓名崔伊平 指导教师王李冬 2013 年9 月20 日

目录 一.概述 (1) 二.总体方案设计 (2) 三.详细设计 (3) 四.最终输出 (7) 五.课程设计总结 (8) 参考文献 (9)

一、概述 1.课程设计的目的 通过显示年日历程序的设计,培养学生综合利用java语言进行程序设计的能力,加强函数的运用及学生对软件工程方法的初步认识,提高软件系统分析能力和程序文档建立、归纳总结的能力。 通过本项课程设计,可以培养独立思考、综合运用所学有关相应知识的能力,能更好的巩固《java语言程序设计》课程学习的内容,掌握工程软件设计的基本方法,强化上机动手编程能力,闯过理论与实践相结合的难关!更加了解了java语言的好处和其可用性! 2.课程设计的要求 2.1 输入查询的年份与月份,单击“更新”按扭,则可得到相应的日历。本实验是对图形用户界面,布局管理器的综合运用。要掌握APPLET容器中添加组件的方法,理解JAVA 的事件处理机制,编写独立的运行窗口。 2.2 输出形式 使用独立的运行窗口进行显示。界面主要由两部分组成——查询输入部分和结果显示部分。查询输入部分包括两个文本域,一个用于输入年份:一个用于选择月份:一个更新按扭,用来触发查询事件。

二总体方案设计 1.程序开发环境 a.开发环境:eclipse b.系统环境:windows xp/7 c.设计工具:Microsoft office 2003 2.整体流程图 图1 流程图 3.功能模块图

多功能时钟(万年历)设计

多功能时钟(万年历) 设 计 报 告 专业电子信息科学与技术 班级13级电子专升本 姓名韩科峰 学号130522012 考勤成绩设计成绩 调试成绩报告成绩 总成绩

一、课题名称 多功能时钟(万年历)设计 二、内容摘要 美国DALLAS公司推出的具有涓细电流充电能的低功耗实时时钟电路DS1302。它可以对年、月、日、周日、时、分、秒进行计时,还具有闰年补偿等多种功能,而且DS1302的使用寿命长,误差小。对于数字电子万年历采用直观的数字显示,可以同时显示年、月、日、周日、时、分、秒和温度等信息,还具有时间校准等功能。该电路采用AT89S52单片机作为核心,功耗小,能在3V的低压工作,电压可选用3~5V电压供电。 综上所述此万年历具有读取方便、显示直观、功能多样、电路简洁、成本低廉等诸多优点,符合电子仪器仪表的发展趋势,具有广阔的市场前景。 本设计是基于单片机进行的电子万年历设计,可以显示年月日时分秒及周信息,具有可调整日期和时间功能。在设计的同时对单片机的理论基础和外围扩展知识进行了比较全面准备。 关键词: 三、设计指标(要求); 1、显示时间、日期由按键选择显示(日期时间可调整)。 2、可设置闹钟功能; 3、制作PC机设置界面软件,由PC机可完成对时钟的各项设置 四、系统框图;

STC12C5A08S2 单片机 DS1302时钟模块 五、各单元电路设计、参数计算和元器件选择 4位共阴极数码管 按键

六、工作原理 DS1302在每次进行读、写程序前都必须初始化,先把SCLK端置“0”,接着把RST端置“1”,最后才给予SCLK脉冲;DS1302的控制字的位7必须置1,若为0则不能把对DS1302进行读写数据。对于位6,若对程序进行读/写时RAM=1,对时间进行读/写时,CK=0,位1至位5指操作单元的地址。位0是读/写操作位,进行读操作时,该位为1;该位为0则表示进行的是写操作。控制字节总是从最低位开始输入/输出的。 “CH”是时钟暂停标志位,当该位为1时,时钟振荡器停止,DS1302处于低功耗状态;当该位为0时,时钟开始运行。“WP”是写保护位,在任何的对时钟和RAM的写操作之前,WP必须为0。当“WP”

基于STM32的智能万年历课程设计说明书

课程设计说明书 设计题目:基于STM32的智能万年历 专业:电气工程及其自动化 班级: 设计人:

课程设计任务书 学院电气信息系专业电气工程及其自动化 一、课程设计题目:基于STM32的智能万年历 专题名称:最小应用系统 二、课程设计主要参考资料 (1)刘火良,杨森.STM32库开发实战指南[M].北京:机械工业出版社.2013.5 (2)ADS7943中文参考资料[M/CD]. (3)ILI9320控制器中文参考资料[M/CD]. 三、课程设计应解决主要问题 (1)最小应用系统:包括MCU、复位、启动、晶振、电源等。 (2)日历的显示和设置; (3)万年历的算法和实现; (4)定时闹钟功能; (5)无线设置功能。 四、课程设计相关附件(如:图纸、软件等) (1)软件:Keil μVision4 (2)开发平台:神州Ⅱ号STM32嵌入式技术开发板 五、任务发出日期:课程设计完成日期: 指导教师签字:系主任签字:

指导教师对课程设计的评语 指导教师(签章): 日期:

摘要 单片机应用技术飞速发展,从导弹的导航装置,到飞机上各种仪表的控制,从计算机的网络通讯与数据传输,到工业自动化过程的实时控制和数据处理,以及生活中广泛使用的各种智能IC卡、电子宠物等,从大到国家防卫,小到日常生活,方方面面都离不开单片机。单片机是集CPU,RAM,ROM,定时,计数和多种接口于一体的微控制器。它体积小,成本低,功能强,广泛应用于智能产业和工业自动化上。 二十一世纪的今天科技与经济迅速发展,人们的生活节奏变得越来越快,生活水平越来越高,对于生活的品味和质量的要求也更高。人们不再满足于只能提供简单计时功能的时钟,希望在能保证计时精确的基础上能多添加一些其他功能,诸如日历、定时等。 本文主要介绍了以STM32F103VCT6开发板为核心部件来设计的一款万年历,以其内部的RTC时钟模块作为时钟,用TFTLCD液晶显示器作为显示模块,时钟电路能准确提供24小时制时间、平年闰年的判断以及定时。采用Keil uVision4进行编写调试程序,以神州二号嵌入式技术开发板为硬件平台进行设计,最终实现在显示屏上显示时间、日期、以及进行定时等功能。 以基于STM32的智能万年历作为设计的课题,因为它有很好的开放性和可发挥性,不仅考察了对单片机的掌握能力而且强调了对单片机扩展的应用。另外液晶显示的万年历已经越来越流行,特别适合在家庭居室、办公室、大厅、会议室、车站和广场等地方使用,它具有显示清晰直观、走时准确、可以进行夜视等功能,并且还可以扩展出其它多种功能。所以,电子万年历作为设计课题很有价值。 经过两周的课程设计,我们完成了按键和触摸两种方式对万年历的控制,实现了基本的万年历功能和闹钟功能。本次课程设计让我对万年历有了深刻理解,更让我对stm32有了更进一步的学习。 关键词:STM32F103VCT6;最小应用系统;万年历

电子万年历

河北科技师范学院课程设计说明书 题目: 学院(系): 年级专业: 学号: 学生姓名: 指导教师:

摘要 本设计是电子万年历。具备三个功能:能显示:年、月、日、时、分、秒及星期信息,并具有可调整日期和时间功能。 我选用的是单片机8052来实现电子万年历的功能。该电子万年历能够成功实现时钟运行,调整,显示年月日时分秒及星期,温度等信息。 该电子万年历使用12MHZ晶振与单片机8052相连接,通过软件编程的方法实现了以24小时为一个周期,同时显示小时、分钟和秒的要求。利用单片机定时器及计数器产生定时效果通过编程形成数字钟效果,再利用数码管动态扫描显示单片机内部处理的数据。同时通过端口读入当前外部控制状态来改变程序的不同状态,实现不同功能。 电子万年历设计与制作可采用数字电路实现,也可以采用单片机来完成。若用数字电路完成,所设计的电路相当复杂,大概需要十几片数字集成块,其功能也主要依赖于数字电路的各功能模块的组合来实现,焊接的过程比较复杂,成本也非常高。若用单片机来设计制作完成,由于其功能的实现主要通过软件编程来完成,这样一来就降低了硬件电路的复杂性,从而使得其成本降低,更适合我们大学生自主研发。所以在该设计与制作中我选用了单片机8052,它是低功耗、高性能的CMOS型8位单片机。片内带有4KB的Flash存储器,且允许在系统内改写或用编程器编程。另外, 单片机8052的指令系统和引脚与8051完全兼容,片内有128B 的RAM、32条I/O口线、2个16位定时计数器、5个中断源、一个全双工串行口等。 因此,采用单片机8052原理制作的电子万年历,不仅仅在原理上能够成功实现计时等功能,也更经济,更适用,更符合我们实际生活的需要,对我们大学生来说也更加有用。

电子万年历设计

课程论文论文题目基于单片机的电子万年历设计 课程名称单片机原理及接口技术 专业年级 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脚相连。滑动变阻器用于调整液晶显示的亮度。电路如图

时钟万年历

Main.java import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; import javax.swing.JFrame; public class Main extends JFrame { //创建面板 Calendar Calendar=new Calendar(); Clock clock=new Clock(); public Main() { //设置布局为null setLayout(null); //设置关闭方式 setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //设置窗口位置和大小 setBounds(300, 200, 600, 360); //将面板加入窗口 add(Calendar); add(clock); //设置面板位置和大小 Calendar.setBounds(0, 0, 400, 360); clock.setBounds(420, 100, 200, 200); //设置窗口关闭事件 addWindowListener(new WindowAdapter(){ public void windowClosing(WindowEvent e){ System.exit(0); } }); //使窗口显示 setVisible(true); } public static void main(String args[]) { new Main(); } } Clock.java import java.awt.*; import javax.swing.*; import java.awt.event.*; import java.util.Calendar; import java.awt.geom.*;

万年历

科名片 万年历(gregorian solar calendar and chinese lunar calendar)我国古代传说中最古老的一部太阳历。为纪念历法编撰者万年功绩,便将这部历法命名为“万年历”。而现在所使用的万年历,实际上就是记录一定时间范围内(比如100年或更多)的具体阳历或阴历的日期的年历,方便有需要的人查询使用,与原始历法并无直接联系 目录 由来 1. 第一个版本 2. 第二个版本 择日宜忌 阳历与阴历 在线万年历 干支年历歌诀 图书《万年历》(2009) 1. 基本信息 2. 内容简介 3. 图书目录 图书《万年历》(2008) 1. 基本信息 2. 内容简介 3. 目录 由来 1. 第一个版本 2. 第二个版本 择日宜忌 阳历与阴历 在线万年历 干支年历歌诀 图书《万年历》(2009) 1. 基本信息 2. 内容简介 3. 图书目录 图书《万年历》(2008) 1. 基本信息 2. 内容简介 3. 目录 展开 编辑本段由来 第一个版本 要想 ?? ?? 追寻万年历的由来,那故事得从远古时代的商朝说起……有名樵夫唤做万年,有一天他上山砍柴,砍罢了就坐在树下休息。他眼望著树影出神,心中想的,仍是如何将节令定准的事。

不知不觉过了大半个时辰,他才发现地上的树影已悄悄地移动了方位。万年灵机一动,心想,何不利用日影的长短来计算时间呢?回到家后,万年就设计了一个“日晷仪”。可是,一遇上阴雨天,日晷仪又失去效用了。 有一天,万年在泉边喝水,看见崖上的水很有节奏的往下滴,规律的滴水声又启发了他的灵感。回家後,万年就动手做了一个五层的漏壶,利用漏水的方法来计时。这么一来,不管天气阴晴,都可以正确地掌握时间了。有了计时的工具,万年更加用心的观察天时节令的变化。经过长期的归纳,他发现,每隔三百六十多天,天时的长短就会重覆一次。只要搞清楚日月运行的规律,就不用担心节令不准了。万年就带著自制的日晷仪及水漏壶去觐见天子祖乙,说明节令不准与天神毫不相干。祖乙觉得万年说的很有道理,就把万年留下,在天坛前盖起日晷台、漏壶亭,又派了十二个童子供万年差遣。从此以后,万年得以专心致志的研究时令。过了一段日子,祖乙派阿衡去了解万年制历的情况。万年拿出自己推算出的初步成果,说:日出日落三百六,周而复始从头来。草木荣枯分四时,一岁月有十二圆。 阿衡听後,非常忐忑不安,他担心制出准确的历法,得到天子重用,直接的威胁到他的地位。於是阿衡就以重金收买了一名刺客,准备行刺万年。无奈万年全心研究时令,几乎从不离开所住的日月阁。刺客只好趁夜深人静之时,挽起了箭射杀万年。只听得嗖的一声,一箭射中了万年的胳膊,万年应声倒下。童子们高喊抓拿刺客,守卫的兵士及时抓住了刺客,将他扭送天子。祖乙问明了是阿衡的诡计,就下令将阿衡收押,亲自到日月阁来探望万年。万年就把自己最新的研究成果报告给祖乙:现在申星追上了百星蚕百星,星象复原,子时夜交,旧岁已完,时又始春,希望天子定个节名吧!祖乙说:春为岁首,就叫春节吧。当时祖乙见万年为了制历,日夜劳瘁又受了箭伤,心中不忍,就请他入宫调养身体,万年答道:“多谢天子厚爱,只是目前的太阳历还是草历,不够准确,要把岁末尾时也闰进去。否则,久而久之,又会造成节令失常。为了不负众望,我必须留下来,继续把太阳历定准。”又经过了数十个寒暑,万年精心制定的太阳历终于完成了。当他把太阳历献给祖乙时,已是个白发苍苍的老人了。祖乙深受感动,就把太阳历定名为万年历,并封万年为日月寿星,以上就是万年历名称的由来。 第二个版本 相传,在很久以前,有个名叫万年的青年,看到当时节令很乱,想把节令定准。一天,他上山砍柴,坐在树阴下休息,树影的移动启发了他,他设计了一个测日影计天时的晷仪。可是,天阴雨雾,影响测量。后来,山崖上的滴泉引起了他的兴趣,他又动手做了一个五层漏壶。天长日久,他发现每隔三百六十多天,天时的长短就会重复一遍。当时的国君叫祖乙,天气风云的不测,使他很苦恼。 一个名叫阿衡的大臣,为讨好皇上,奏称要设天台敬祭天神。祖乙认为有理,便带领百官去祭天,却无济于事。万年知道后,忍不住就带着日晷和漏壶去见皇上,对祖乙讲清了日月运行的道理。祖乙听后龙颜大悦,感到有道理。于是把万年留下,在天坛前修建日月阁,筑起日晷台和漏壶亭。并派了十二个童子服侍万年。祖乙对万年说:"希望你能测准日月规律,推算出准确的晨夕时间,创建历法,为天下的黎民百姓造福。"有一次,祖乙传旨要阿衡去了解万年测试历法的进展情况。当他登上日月坛时,看见天坛边的石壁上刻着:日出日落三百六周而复始从头来。草木枯荣分四时,一岁月有十二圆。阿衡见此,知道万年的历法已研究成功,心中忐忑不安。他万分惧怕万年因创建历法而得宠,国君会怪罪自己提出祭祀天神的主意。于是,他阴谋策划,派了一个刺客去除掉万年。刺客攀上日月阁,见万年正在阁上观察星斗,便张弓搭箭,准备射死他。谁知,刺客被卫士发现,被当场缉拿。祖乙知后,惩处了阿衡,亲自登上日月阁看望万年。万年指着天象,对祖乙说:"现在正是十二个月满,旧岁已完,新春复始,祈请国君定个节吧。"祖乙说:"春为岁首,就叫春节吧。"冬去春来,年复一年。后来,万年经过长期观察,精心推算,制定出了准确的太阳历。当他把太阳历呈奉给

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 ;

基于单片机的电子时钟万年历设计

一、项目介绍与设计目的 基于单片机的电子时钟万年历为实现电子万年历的功能,采用单片机STC89C51,辅助以必要的外围电路,用C语言编写程序,并进行模块化设计而成的电子万年历系统.它通过LCD能正确显示年、月、日、周日、时、分、秒等,具有功能稳定,精确度高和可调的特点。 二、设计方案 1.项目环境要求 1.1时钟芯片选择 方案一:不使用芯片,采用单片机的定时计数器 这种方法原理是利用单片机芯片的定时器来产生固定的时间,模拟时钟的时, 分,秒。如:利用AT80C52芯片,定时器用工作方式1,每50ms产生一个中断,循环20次,即1s周期。每一个周期加1,那么1min为60个周期,1h就是60*60=3600个周期,一天就是3600*24=86400个周期。 此方法优点是可以省去一些外围的芯片,但这种方法只能适用于一些要求不是十分精确,不做长期保留的场合。 方案二:并行接口时钟芯片 DS12887 特点:采用单片机应用系统并行总线(三总线)扩展的接口电路,采用这种接口电路具有操作速度快,编程方便的优点。 但是对于80C52单片机来说,低位地址线要通过锁存器输出,还要地址译码器,而且并行口芯片的体积相对较大。 方案三:串行接口时钟芯片DS1302 芯片主特性: (1)实时时钟具有能计算2100 年之前的秒分时日日期星期月年的能力,还有闰年调整的能力

(2)31 8 位暂存数据存储RAM (3)串行 I/O 口方式使得管脚数量最少 (4)宽范围工作电压2.0 5.5V (5)工作电流 2.0V 时,小于300nA (6)读/写时钟或RAM 数据时有两种传送方式单字节传送和多字节传送字符组方式 (7)8 脚DIP 封装或可选的8 脚SOIC 封装根据表面装配 (8)简单 3 线接口 (9)与 TTL 兼容Vcc=5V (10)可选工业级温度范围-40~+85 优点:串行接口的日历时钟芯片,使用简单,接口容易,与微型计算机连线较少等特点,在单片机系统尤其是手持式信息设备中己得到了广泛的应用。 所以,最终选择串行时钟芯片DS1302,DS1302的管脚图如图2所示。 图2 DS1302管脚图 1.2显示模块选择 方案一:LED数码管显示 数码管显示比较常用的是采用CD4511和74LS138实现数码转换,数码显示分动态显示和静态显示,静态显示具有锁存功能,可以使数据显示得很清楚,但浪费了一些资源。目前单片机数码管普通采用动态显示。编程简单,但只能显示

万年历时钟电路设计报告word精品

阿坝师范学院 万年历设计报告姓名:李朝林 学号:20156045 班级:电子信息工程02班

阿坝师范学院物理与电子科学系 目录 1?设计任务与要求 (2) 2?主要器件讨论与选择 (2) 3.设计原理 (3) 4?单元电路设计 (3) 4.1显示电路 (3) 4.2时分秒设计............................................. .4 4.3星期天数设计 (5) 4.4闰年平年判断电路 (6) 4.5二月与大小月判断电路 (9) 4.6天数置数信号 (10) 4.7校正电路 (11) 4.8秒脉冲电路 (11) 5.完整的电路设计原理图 (12) 6.电路调试过程与方法 (13) 7.实验心得体会与总结 (13) 1. 设计任务与要求 用数字集成电路设计万年历电子钟逻辑电路 指标如下: 1)设计一个能直接显示“年”“月”“日”、“星期”、“时”、 “分”、“秒”的十进制万年历时钟显示器。 2)具有校时的功能,可分别对“年”、“月”、“日”、“星期”、 “时” “分” “秒”进行单独校时。 2. 主要器件讨论与选择 主要器件中显示模块选用74SEG_BCD数码管显示8421bcd码,计数模块统一选用74LS160作为计数芯片;74LS160具有同步置数异步清零功能,同时在有时钟脉冲的情况下进行加计数,无论采用同步置数还是异步清零都可以实现60s、60m、24h置数清零功能。因此

[在此处键入] 数字电子技术万年历设计报告 74LS160是一个不错的选择。本次仿真通过 74LS160作为时分秒年月 日星期置数,通过秒计数的置数信号作为分计时的脉冲 cp ,取反作 为分计时的使能端,依次向高位进位达到显示目的。 通过闰年、平年、大月、小月、二月的判断电路来控制天计数的 多少。 校时电路,校时选用74LS74触发器作为跳变信号;74LS244存储 信号。起作用的只有一个,当校时有效时计时电路无效。 3. 设计原理 原理图如下: 万年加时种星示器框采禺P 4. 单元电路设计 4.1显示电路 振荡器 呈期廿数 楼时电路? 译码显示电路疋* 千 百 十个

课程设计万年历的设计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)

相关文档
最新文档