当前位置:文档之家› 万年历课程设计论文

万年历课程设计论文

万年历课程设计论文
万年历课程设计论文

理学院应用物理系

课程设计(报告)任务书

题目电子万年历的设计与制作

任务与要求

1.认识单片机的结构与基本功能。

2.掌握单片机的中断系统及延时程序的编写方法及程序调试的方法。

3.掌握硬件设计及焊接工艺。

4. 掌握仿真机的使用及在线调试方法。

开始日期20013 年3 月完成日期2013 年4 月

1.引言

随着电子技术的迅速发展,特别是随大规模集成电路出现,给人类生活带来了根本性的改变。尤其是单片机技术的应用产品已经走进了千家万户。手机、电话、计算器、家用电器、电子玩具、掌上电脑以及鼠标等电子产品中都含有单片机。汽车上一般配备40多片单片机,复杂的工业控制系统上甚至可能有数百片单片机在同时工作!单片机的数量不仅远超过PC机和其他计算的总和,甚至比人类的数量还要多。

现市场的电子钟具有低功耗的实时时钟电路,它们可以对年、月、日、周日、时、分、秒进行计时,还具有润年补偿等功能,且使用寿命长、误差小、使用方便。电子万年历的出现给人们的生活带来的诸多方便。目前,国际上的电子万年历正从模拟式向数字式、由集成化向智能化的方向飞速发展。

综上所述此万年历具有读取方便、显示直观、功能多样、电路简洁、成本低廉等诸多优点,符合电子仪器仪表的发展趋势,具有广阔的市场前景。

2.系统的设计与理论分析

2.1系统设计要求

①具有年、月、日、星期、时、分、秒等显示功能;

②具备年、月、日、星期、时、分、秒校准功能。

2.2基本方案

2.2.1单片机芯片方案

采用STC89C52 这是一种低功耗、高性能CMOS8位微控制器,具有 8K 在系统可编程Flash 存储器。

2.2.2显示模块方案

采用LED数码管动态扫描,由于显示位数多,所要求的数码管多,硬件电路中使用按键切换显示年月日和时分秒。

2.2.3时钟芯片方案

采用DS1302时钟芯片实现时钟,DS1302芯片是一种高性能的时钟芯片,可自动对秒、分、时、日、周、月、年以及闰年补偿的年进行计数,而且精度高,结构简单。

2.2.4键盘模块方案

采用独立式键盘,独立式键盘是指直接用I/O口线构成的单个按键电路。独立式键盘配置灵活,软件结构简单。

经论证本次设计采用采用STC89S52作为主控制系统; 采用LED数码管作为显示;DS1302提供时钟和采用独立式按键。

3.硬件系统设计

3.1硬件的设计总框图

本次设计的基于单片机控制的电子万年历,其具有年、月、日、时、分、秒的显示等功能。其具体实现过程就是由主控制发送信息给DS1302时钟芯片再由时钟芯片反馈给单片机,再由主控制器传送给LED显示信息。并且可以在键盘设置模块输入修改时间,当键盘设置时间、日期时,单片机主控制根据输入信息,通过串口通信传送给DS1302时钟芯片,DS1302芯片读取当前新信息产生反馈传送给单片机,然后单片机根据控制最后输送显示信息到LED模块上显示。

3.时钟功能介绍

(1)功能特性

DS1302可以对年、月、日、周、日、时、分、秒进行计时,且具有闰年补偿等多种功能。DS1302的引脚排列,其中Vcc1为后备电源,VCC2为主电源。在主电源关闭的情况下,也能保持时钟的连续运行。DS1302由Vcc1或Vcc2

两者中的较大者供电。

DS1302时钟模块电路图

(2)DS1302接口引脚功能

VCC1.VCC2:电源引脚。

其中VCC2接主电源.VCC1接备用电源。

GND:接地。输出数据。

X1、X2:32.768kHz。晶振引脚。

RST为复位端,高电平时允许I/O端进行数据传输,低电平则禁止数据传送且使I/O端呈高阻状态;I/O为串行数据输入、输出端,所有输入、输出数据的传送顺序均以最低位LSB打头,最高位MSB结束;SCLK为同步时钟脉冲端,其上升沿将I/O端数据按位写入DS1302,下降沿使DS1302按位输出数据至I/O端;VCC2、VCC1为主电源和备份电源端,当主电源VCC2大于备份电源VCC1+0.2V时,由VCC2对芯片供电,否则,由VCC1对芯片供电。工作电压范围为2.5~5.5 V。

内部有振荡器。若采用外部振荡信号时。32768Hz的信号从 X1脚输入.x2脚悬空。

3.5 LED数码管介绍

(1)功能特性介绍

LED数码管(LED Segment Displays)是由多个发光二极管封装在一起组成“8”字型的器件,引线已在内部连接完成,只需引出它们的各个笔划,公共电极。led数码管常用段数一般为7段有的另加一个小数点。数码管根据LED的接法不同分为共阴和共阳两类,了解LED的这些特性,对编程是很重要的,因为不同类型的数码管,除了它们的硬件电路有差异外,编程方法也是不同的。数码管

显示模块具有体积小、功耗低、显示内容明确、超薄轻巧等优点,具有很高的性价比。

共阴数码管模块

3.6 键盘设置电路

1. 独立式键盘介绍

独立式键盘是指直接用I/O口线构成单个按键电路,每个按键占用一条I/O 口线,当某个键闭合时,相应的I/O口线变为低电平,当CPU查询到为低电平的I/O口线时,就可以判别出与其对应的键处于释放状态。

2.设置电路介绍

设置电路的功能主要是把时间和日期设置到当前的时间,可以在系统运行中进行。用4个独立式按键完成,分别接到单片机P3口的高4位。第1个按钮表示切换显示,切换显示年月日和时分秒;第2个按钮按下表示停止时钟的运转并选中年月日和时分秒中的一项;第3个按钮按下表示进行加1操作;第4个按钮按下表示减一操作。用软件去抖动的方法。

4.软件系统设计

4.1程序模块介绍

4.1.1 时钟模块设计

对年、月、日、时、分、秒进行计时

1.编程思想

DS1302所进行的一切工作必须先由 CPU向 DS1302发送命令字节,命令字

节格式如图 3所示。各位定义如下:命令字节的最高位 7必须为“1”,否则禁止对 DS1302进行操作。第 6位是时钟/日历或 RAM 选择位,如它为“1”可对内部 RAM读写,如它为“0”可对时钟/日历操作。此处所谓日历型数据即数据格式为压缩型 BCD码,且数值必须在它的定义域内;例如,“月份”的定义域为 1~12,“秒”的定义域为 0~59等等。所谓RAM 型数据即指一般 16进制数据。位 5至位 1为 DS1302内部寄存器地址。DS1302有单字节和多字节两种读、写方式。所谓单字节读、写方式即每次只能从 DS1302中读、写 1字节数据。所谓多字节读、写方式则每次可从 DS1302中连续读、写若干字节数据。当位 5至位 1各位均为“1”时,DSI302为多字节读、写方式。最低位 0为“0”表示写操作,否则为读操作。命令字节的传输都是从最低位开始。

DS1302有12个寄存器,其中有7个寄存器与日历、时钟相关,存放的数据位为BCD码形式,其日历、时间寄存器及其控制字见表。DS1302所有的时间数据都放到数据寄存器中:

2. 读,写时序

DS1302的读,写时序如网所示。输入数据时.在 SCLK上升沿.砌输入的数据位被有效接受输出数据时,在SCLK下降沿时砌输出数据位。要注意的是.在读 DS1302时.当8位命令字写入后紧跟着的第一个下降沿芯片即开始输出数据。

3.时钟子程序设计

实时时钟软件首先应将Et历信息初值——秒、分、时、日、月、年等按序写入到 DS1302相关寄存器中,此后,时钟便以此初值为基准进行计时,只要主电源 VCC2和备份电源 VCC1尚有一个工作正常,则计时就不会终止。初始化El 历信息程序分为三部分:

(1)发送“解除写保护”命令字 8EH 和内容

COH,以开放 DS1302写操作。

(2)发送“多字节写日历型数据”或“单字节写日历型数据”命令字写入日历信息初值。上述第1、第2部分属于对 DS1302内部功能寄存器操作,因此必须以“单字节”方式进行发送;而第 3部分属于对 DS1302一般寄存器操作,故可以采用“多字节”方式发送,以便提高效率。

(3)流程图

4.1.2键盘模块设计1.程序流程图

2.出现的问题

⑴键的消抖

理想的按键信号是方波形,是一个标准的负脉冲,但实际情况并非如此。按下和释放都需要经过一个过程才能达到稳定,这一过程是处于高低电平之间的一种不稳定状态,称为抖动。抖动持续时间的长短、频率的高低与按键的机械特性及人的操作有关,一般在5~10ms之间。这就有可能造成CPU对一次按键过程做多次处理。为了避免这种情况的发生,应采取措施消除抖动。消除抖动的方法有两种,一种是采取硬件来实现,如用滤波器电路、双稳态电路等。

⑵一键一操作

一键一操作的原理就是当按键按下再弹起时才会有数据传送给主控制器,所以在程序中要有指令,否则会引起误操作,从而成为一键几操作的现象。

5.系统运行情况分析

5.1电路仿真图

我们先用电脑模拟仿真,成功后进行实物操作。仿真图如下

电路图

5.2硬件运行情况分析

1.硬件调试的任务是排除系统的硬件电路故障,包括设计性错误和工艺性故障。单片机应用系统的硬件调试和软件调试十分不开的,许多硬件故障时在调试软件时发现的,但通常是先排除系统中明显的硬件故障后,在和软件结合起来调试。

在本次实验中,我们遇到的硬件问题有

(1)LED数码管显示不规律。经过初次分析,发现问题出现在时钟芯片和数码管的烧坏,这是由于焊接过程中,没有使用芯片座,导致温度过高使芯片烧坏。除此之外,还有工艺性错误所造成的,由于连线过多以致的错接。于是,我们不断地对硬件设计进行修改,直至解决问题。

(2)LED显示异常。

使用示波器、万能表以及各种小程序测试检查,在单片机和时钟芯片之间接上上拉电阻之后,显示正常。

5.3软件运行情况分析

软件调试是利用开发工具进行在线仿真调试,处发现和解决程序错误外,也可以发现硬件故障。

对于模块结构程序,要对子程序逐个进行调试。调试子程序是,一定要符合入口条件和出口条件,调试手段可采用单步运行方式和断点运行方式,通过检查用户系统CPU的现场、RAM的内容和I/O口的状态,检测程序执行结果是符合设计要求。每个程序模块通过后,可以联合各功能模块进行整体程序综合调试。在这一阶段如果发生故障,可以分析子程序在运行时是否破坏现场、缓冲单元是否发生冲突、零位的建立和清除在设计上是否失误、堆栈区域是否溢出或输入设备的状态是否正常等。若用户系统是在开发系统的监控程序下运行,还要考虑用户缓冲单元是否和监控程序的工作单元发生冲突。

单步运行只能验证程序正确与否,而不能确定定时精度、CPU的实时响应等问题,所以单步和断点调试后,还应进行连续调试。除了观察稳定性之外,还要观察用户系统的操作是否符合原始设计要求,以及安排的用户操作是够合理等,必要时还要做适当修正。

通过检测可以发现程序中的死循环错误、机器码错误和转移地址的错误,同时也可以发现用户系统中的硬件故障,软件算法和硬件设计错误,在调试过程中不断调整用户系统的软件和硬件,完成每个程序模块的调试。

6.总结与讨论

在整个课程设计中,我们四个人既分工合作,自主学习,巩固了单片机知识的同时,还学到了许多以前没接触过的知识。设计过程中,我们相互学习,互相讨论,当出现问题时,大家努力相处解决办法,不断地进行尝试。在设计硬件电路时,要充分考虑到硬件的相关知识和实验中要运用到的相关模块。在焊接电路时,首先要先设计大概布局,过程中要小心谨慎,焊接到正确的接口,才能做出一个美观大方的电路板。在程序编写中,要理清思路,分模块进行编写,遇到问题时要学会冷静理智。在这段期间,我们遇到了很多的问题,经过静下心来,和组员们讨论,慢慢解决了问题。我们也学会了做事要有耐心,一步一步脚踏实地地进行。

最后由衷地感谢我们的指导老师,谢谢老师在上学期的单片机课程和此次的设计中,给予我们的指导和帮助。谢谢!

7.附录

附1:实物图:

附2:参考文献

[1]李朝青.《单片机原理及接口技术》.北京航空航天大学出版社,2006.12

[2]郭天祥.《新概念51单片机c语言教程》.电子工业出版社,2009.01

附3:组内分工:

何李林:编写程序、调试程序

李远洋:购买材料、电路设计、调试电路

陈焯成:焊接电路、编写论文

阮元:焊接电路

附4:元器件清单表格

评语:

成绩:

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

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

一、设计目的 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影响

电子万年历课程设计报告

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

电子万年历设计

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

万年历电子钟设计报告

课程设计报告课程设计名称 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三态桥),

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

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

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

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单片机电子万年历论文 51单片机电子万年历论文 摘要: 电子万年历是一种非常广泛日常计时工具,对现代社会越来越流行。它可以对年、月、日、周日、时、分、秒进行计时,还具有闰年补偿等多种功能,而且DS1302的使用寿命长,误差小。对于数字电子万年历采用直观的数字显示,可以同时显示年、月、日、周日、时、分、秒和温度等信息,还具有时间校准等功能。该电路采用AT89S52单片机作为核心,功耗小,能在3V的低压工作,电压可选用3~5V电压供电。 本设计是基于51系列的单片机进行的电子万年历设计,可以显示年月日时分秒及周信息,具有可调整日期和时间功能。在设计的同时对单片机的理论基础和外围扩展知识进行了比较全面准备。在硬件与软件设计时,没有良好的基础知识和实践经验会受到很大限制,每项功能实现时需要那种硬件,程序该如何编写,算法如何实现等,没有一定的基础就不可能很好的实现。在编写程序过程中发现

以现有的相关知识要独自完成编写任务困难重重,在老师和同学的帮助下才完成 了程序部分的编写。 万年历的设计过程在硬件与软件方面进行同步设计。硬件部分主要由AT89C52单片机,LED显示电路,以及调时按键电路等组成。在单片机的选择上本人使用了AT89C52单片机,该单片机适合于许多较为复杂控制应用场合。显示器使用2片7SEG-MPX8-CA和一片7SEG-MPX4-CA。7SEG-MPX8-CA是一种八个共阳二极管显示器,7SEG-MPX4-CA是一种四个共阳二极管显示器。为了能更轻松的控制这三片显示器,本人使用了3片74HC164来驱动。74HC164 是 8 位边沿触发式移位寄存器,串行输入数据,然后并行输出。软件方面主要包括日历程序、时间调整程序,公历转阴历程序,显示程序等。程序采用汇编语言编写,以便更简单地实现调整时间及阴历显示功能。所有程序编写完成后,在wave软件中进行调试,确定没有问题后,在Proteus软件中嵌入单片机内进行仿真。最后总在老师同学的帮助以及自己的努力下完成了此次电子万年历的设计。 关键词: 时钟电钟;DS1302;DS18B20;动态扫描;单片机 Abstract E-calendar day time is a very wide range of tools, increasingly popular in modern society. It can be year, month, day, Sunday, hours, minutes, seconds for time, but also has a leap year compensation to a variety of functions, and the DS1302's long life, small error. For the digital electronic calendar using an intuitive digital display can simultaneously display year, month, day, Sunday, hours, minutes, seconds, and temperature and other information, but also a time-calibration and other functions. The circuit uses AT89S52 microcontroller as the core, power consumption, low-voltage work in 3V, the voltage can choose 3 ~ 5V voltage supply. The design is based on 51 series of microcontrollers to the design of electronic calendar, you can display date information on when the minutes and seconds, and weeks, with adjustable date and time functions. At the same time in the design of the theoretical basis of the MCU and peripheral expansion of knowledge of the more comprehensive preparation. The hardware and software design, there is no good basic knowledge and practical experience will be greatly limited, each feature is required to achieve the kind of hardware, procedures, how to write, how to implement such algorithms, there is no certain foundation can not be good implementation. Found during the preparation process to the existing knowledge to complete the preparation of the task alone difficult, In the help of teachers and students to complete the program part of the preparation. Calendar of the design process in hardware and software to synchronize the design. Hardware mainly by the AT89C52 microcontroller, LED display circuit, and the tune composed of the circuit when the button. In the SCM choice I used the AT89C52 microcontroller, which is suitable for many of the more complex control applications. Monitor the use of two 7SEG-MPX8-CA and a 7SEG-MPX4-CA. 7SEG-MPX8-CA is a total

基于单片机电子万年历的毕业设计说明

单片机课程设计报告 电子万年历设计 姓名:建强 学号: 专业班级: 08电气(2)班指导老师:吴永 所在学院:科技学院 2011年6月30日

摘要 随着科技的快速发展,时间的流逝,至从观太阳、摆钟到现在电子钟,人类不断研究,不断创新纪录。美国DALLAS公司推出的具有涓细电流充电能的低功耗实时时钟电路DS1302。它可以对年、月、日、周日、时、分、秒进行计时,还具有闰年补偿等多种功能,而且DS1302的使用寿命长,误差小。对于数字电子万年历采用直观的数字显示,可以同时显示年、月、日、周日、时、分、秒和温度等信息,还具有时间校准等功能。该电路采用AT89S52单片机作为核心,功耗小,能在3V的低压工作,电压可选用3~5V电压供电。 综上所述此万年历具有读取方便、显示直观、功能多样、电路简洁、成本低廉等诸多优点,符合电子仪器仪表的发展趋势,具有广阔的市场前景。 本设计是基于51系列的单片机进行的电子万年历设计,可以显示年月日时分秒及周信息,具有可调整日期和时间功能。在设计的同时对单片机的理论基础和外围扩展知识进行了比较全面准备。在硬件与软件设计时,没有良好的基础知识和实践经验会受到很大限制,每项功能实现时需要那种硬件,程序该如何编写,算法如何实现等,没有一定的基础就不可能很好的实现。 具体实现功能: (1)显示年月日时分秒及星期信息 (2)具有可调整日期和时间功能 (3)与即时时间同步

目录 1方案论证 (3) 1.1单片机芯片的选择方案和论证 (3) 1.2显示模块选择方案和论证 (3) 1.3时钟芯片的选择方案和论证 (4) 1.4电路设计最终方案决定 (4) 2系统的硬件设计与实现 (5) 2.1电路设计框图 (5) 2.2系统硬件概述 (5) 2.3主要单元电路的设计 (5) 2.3.1单片机主控制模块的设计 (5) 2.3.2时钟电路模块的设计 (6) 2.3.3电路原理及说明 (7) 2.3.4显示模块的设计 (8) 3系统的软件设计 (9) 3.1程序流程框图 (9) 4测试与结果分析 (11) 4.1硬件测试 (10) 4.2软件测试 (10) 4.3测试结果分析与结论 (10) 4.3.1 测试结果分析 (10) 4.3.2 测试结论 (10) 5prodeus软件仿真........................................ ..........错误!未定义书签。 5.1Proteus ISIS简介 (12) 5.2Proteus运行流程 (13) 5.3Proteus功能仿真 (13) 6课程设计总结与体会.......................................... .....错误!未定义书签。 参考文献...........................................................错误!未定义书签。 附录一:系统电路图.................................................错误!未定义书签。 附录二:系统程序...................................................错误!未定义书签。

电子万年历课程设计

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

摘要 单片机作为当今领域应用广泛的电子器件,以其极高的性能价格比,受到人们的重视和关注,应用很广、发展很快。单片机体积小、重量轻、抗干扰能力强、环境要求不高、价格低廉、可靠性高、灵活性好、开发较为容易。由于具有上述优点,在我国,单片机已广泛地应用在工业自动化控制、自动检测、智能仪器仪表、家用电器、电力电子、机电一体化设备等各个方面,而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)

万年历设计论文

2014年全省技工教育和职业培训 优秀教研成果评选活动参评论文 (论文题目使用2号宋体字加粗) 作者姓名: 单位:(所在单位全称) 联系电话:(可随时联系) 邮箱:

摘要: 随着时代的进步和发展,单片机技术已经普及到我们生活、工作、科研、各个领域,已经成为一种比较成熟的技术, 本文主要介绍了一个基于ATS56单片机的万年历系统,详细描述了利用单片机万年历进行时间显示(包括:年、月、日、星期、分、秒)、温度、闹钟、节日提醒的过程,重点对万年历在单片机下的硬件连接,软件编程以及各模块系统流程进行了详尽分析,对各部分的电路也一一进行了介绍,该系统可以方便的实现所具有的各项功能,并可根据需要任意设定各按钮的功能,它使用起来相当方便,具有精度高、及时性、灵敏度高、体积小、功耗低等优点,适合于我们日常生活、工作和学习,也可以当作显示器器嵌入其它系统中,作为其他主系统的辅助扩展。该系统结构简单,经济适用,有广泛的应用前景。 关键词: 51单片机、ds1302时钟芯片、ds18b20温度传感器、12864液晶显示屏、38k固定红外接受

一、设计内容及性能指标 本设计方案主要是介绍了AT单片机控制下的万年历系统,详细介绍了其硬件和软件设计,并对其各功能模块做了详细介绍,其主要功能和指标如下: 1.本系统通过1302在12864液晶显示屏显示时间(包括年、月、日、星期、分、秒); 2.本系统通过12864液晶显示屏显示当地的温度; 3.本系统设有闹钟 系统方案扩展 1.通过12864显示了节日、一天的各个时间段 2.本系统还有生日提醒,当生日到了时,会报时提醒 3.还有备忘录功能,本程序以一首诗来显示备忘功能 4.闹钟响时,可以采用红外远距离关闭闹钟,方便人们的生活 二.系统原理 原理图 1.单片机 采用现在比较通用的 51 系列单片机。51 系列单片机的发展已经有比较长的时间,应用比较广泛,各种技术都比较成熟,此系列单片机是 8 位机,处理速度不是很快,但对于我们做这个万年历已经绰绰有余了。51支持C语言,应用也比较简单。

课设万年历..

课程设计Ⅰ设计说明书 万年历的实现 学生姓名 学号 班级 成绩 指导教师 数学与计算机科学学院 2014年3月9日

课程设计任务书 2013—2014 学年第2 学期 专业:学号:姓名: 课程设计名称:课程设计Ⅰ 设计题目:万年历的实现 完成期限:自2014 年2月24 日至2014 年 3 月7 日共 2 周 设计依据、要求及主要内容(可另加附页): 1.任务说明 运用C/ C++结构体、函数、数据结构等基础知识,按以下要求编程实现万年历的功能: 1)阐述设计思想,画出流程图;2)输入任一年,判断该年是否为闰年;输入年月日计算该日为当年的 那一天;3)输入任一年,显示该年的日历,日历包括阳历、星期;4)说明测试方法,写出完整的运行 结果,较好的界面设计。 2.要求 1)问题分析和任务定义:根据设计题目的要求,充分地分析和理解问题,明确问题要求做什 么; 2)逻辑设计:写出抽象数据类型的定义,各个主要模块的算法,并画出模块之间的调用关系 图; 3)详细设计:定义相应的存储结构并写出各函数的伪码算法; 4)程序编码:把详细设计的结果进一步求精为程序设计语言程序; 5)程序调试与测试:采用自底向上,分模块进行,即先调试低层函数; 6)结果分析:程序运行结果包括正确的输入及其输出结果和含有错误的输入及其输出结果。 算法的时间、空间复杂性分析; 7)编写课程设计报告。 3.参考资料。 以上要求中前三个阶段的任务完成后,先将算法流程图交指导老师面审,审查合格后方可进入后续 阶段的工作。设计工作结束后,经指导老师验收合格后将设计说明书打印装订,并进行答辩。 指导教师(签字):教研室主任(签字):

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

课程设计(论文) 题目名称多功能电子万年历课程设计 课程名称单片机原理及应用 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)

多功能万年历毕业设计

目录 引言 (1) 1 系统功能与方案论证 (1) 1.1系统功能 (1) 1.2 系统基本方案选择和论证 (1) 1.2.1 单片机芯片的选择方案和论证 (2) 1.2.2 显示模块选择方案和论证 (2) 1.2.3 时钟芯片的选择方案和论证 (2) 1.2.4 温度传感器的选择方案与论证 (3) 1.3 电路设计最终方案决定 (3) 2 系统的硬件设计与实现 (3) 2.1 电路设计框图 (3) 2.2 系统硬件概述 (4) 2.3 各系统电路及工作原理 (4) 2.3.1 AT89S52单片机最小系统设计 (4) 2.3.2 时钟电路模块的设计 (6) 2.3.3 温度采集电路的设计 (7) 2.3.4 LCD1602液晶显示模块设计 (7) 2.3.5 电源电路 (9) 2.3.6 闹钟电路设计 (10) 2.3.7 键盘输入电路 (10) 3 软件设计 (11) 3.1 主程序框图 (12) 3.2 DS1302时间处理 (12) 3.3 环境温度采集 (15) 3.4 键盘扫描 (15) 3.5 音乐播放 (15) 3.6 公历转农历 (15) 结束语 (17) 参考文献 (18) 附录 (19) 附录A 程序 (19) 附录B 原理图 (41) 致谢..................................................... 错误!未定义书签。

多功能万年历毕业设计 引言 电子万年历是实现对年、月、日、时、分、秒数字显示的计时装置,广泛用于个人、家庭、车站、码头、办公室、银行大厅等场所,成为人们日常生活中的必需品。数字集成电路的发展和石英晶体振荡器的广泛应用,使得数字钟的精度远远超过老式钟表。钟表的数字化给人们生产生活带来了极大的方便,在此基础上完成的电子万年历精度高,功能易于扩展,可扩展成为诸如定时自动报警、按时自动打铃、时间程序自动控制、定时广播、自动启闭路灯等电路。因此,研究电子万年历及扩大其应用有着非常现实的意义。 1 系统功能与方案论证 1.1系统功能 ·LCD显示年、月、日、时、分、秒、星期、温度、农历等信息 ·手动调整年、月、日、时、分、星期、温度上限、闹铃时间 ·温度报警 ·闹铃播放音乐 ·日历时间掉电保护 ·公历与农历自动关联 ·闹铃可选择关闭、每天循环或只响应一次三种模式 ·可选用USB、直流12V或5V电源或交流9V电源对电路进行供电 1.2 系统基本方案选择和论证 由于现在市面上的电子万年历的种类比较多,因此到底选择什么样的方案在设计中是至关重要的。正确地选择方案就可以使产品更加人性化,并且可以减小开发的难度,缩短开发的周期,降低产品的成本等等,因此就会被人们普遍接受,并且能够更快地将产品推向市场实现其自身的价值。

万年历C++课程设计报告

徐州师范大学科文学院本科生课程设计 课程名称:计算机程序设计实训 题目:万年历的设计 专业班级:电子信息工程08电信 学生姓名: 学生学号: 日期:2010/12/20 指导教师:姜芳艽 科文学院教务部印制

指导教师签字: 年月日

目录 摘要...................................................错误!未定义书签。 Abstract ...................错误!未定义书签。 1 绪论...................................................错误!未定义书签。 课题的设计......................................................................... 错误!未定义书签。 课题的背景……………………………………………………………………….错误!未定义书签。 课题的目的………………………………………………………………………..错误!未定义书签。 课题的意义………………………………………………………………………..错误!未定义书签。 2 设计方案简述 ..................................................... 错误!未定义书签。 设计总体规划..................................................................... 错误!未定义书签。 实现的功能………………………………………………………………………..错误!未定义书签。 结构模块分析……………………………………………………………………...错误!未定义书签。 3 详细设计 ............................................................. 错误!未定义书签。 设计思路............................................................................. 错误!未定义书签。 设计语言…………………………………………………………………………..错误!未定义书签。 设计程序流程图…………………………………………………………………..错误!未定义书签。 模块详细设计....................................................................... 错误!未定义书签。 大月和小月的定义………………………………………………………………..错误!未定义书签。 闰年与非闰年二月的定义………………………………………………………..错误!未定义书签。 日历表的输出……………………………………………………………………..错误!未定义书签。 4 设计结果及分析.................................................. 错误!未定义书签。 软件测试............................................................................... 错误!未定义书签。 设计成果............................................................................... 错误!未定义书签。 5 总结..................................................错误!未定义书签。 参考文献 ................................................................. 错误!未定义书签。

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,

相关主题
文本预览
相关文档 最新文档