基于桌面的多功能万年历设计与开发
- 格式:doc
- 大小:26.00 KB
- 文档页数:7
多功能万年历毕业设计多功能万年历毕业设计在现代社会,人们对时间的管理变得越来越重要。
为了更好地规划和安排生活,人们需要一个方便实用的工具来帮助他们追踪日期、计划活动和提醒重要事件。
在这个背景下,我决定设计一个多功能的万年历,以满足人们对时间管理的需求。
首先,我的多功能万年历将具备传统日历的基本功能,包括显示年、月、日、星期和节假日。
用户可以通过触摸屏幕或旋转按钮来切换日期和月份,方便快捷。
同时,为了满足不同用户的需求,我还将提供多种显示模式,例如数字模式、文字模式和图标模式,用户可以根据自己的喜好选择合适的显示方式。
其次,我的万年历还将配备提醒功能。
用户可以设置重要的事件或活动,并在指定的日期和时间收到提醒。
这将帮助人们更好地规划和安排生活,不再错过重要的事情。
同时,为了提高用户体验,我还将为提醒功能设计多种提醒方式,例如声音、震动和闪光灯,用户可以根据自己的喜好选择合适的提醒方式。
除了基本的日期和提醒功能,我的多功能万年历还将提供一些额外的实用功能。
首先,它将配备天气预报功能,用户可以实时查看当地的天气情况,以便更好地安排出行和活动。
其次,它还将具备健康管理功能,用户可以记录自己的健康数据,例如体重、血压和运动情况,以便更好地掌握自己的健康状况。
此外,我的万年历还将提供备忘录功能,用户可以随时记录重要的事项和想法,方便日后查看和回顾。
为了使我的多功能万年历更加实用和便捷,我还将设计一个与手机或电脑的同步功能。
用户可以通过无线连接将万年历与手机或电脑同步,以便更好地管理和分享自己的日程安排和健康数据。
这将使用户可以随时随地访问自己的日历和数据,无需携带额外的设备。
总的来说,我的多功能万年历将成为人们生活中不可或缺的工具。
它不仅具备传统日历的基本功能,还提供了提醒、天气预报、健康管理和备忘录等实用功能。
通过与手机或电脑的同步,它将帮助人们更好地规划和安排生活,提高工作和生活的效率。
我相信,这个多功能万年历的毕业设计将为人们的时间管理带来全新的体验。
多功能电子万年历的设计与实现
随着科技的不断发展,电子产品的应用正在不断扩大。
作为其中之一的万年历,不仅仅具有日历、定时、报警等基本功能,而且还可添加温度计、闹钟、时钟、计算器等实用功能,使得万年历成为一款多功能的电子产品。
在设计多功能电子万年历时,我们需要考虑许多因素。
首先需要考虑的是万年历的用户群体。
因为不同年龄段的用户需要的功能不同,比如老年人需要更大的字体、时间、日期、温度等的显示,而年轻人则更注重闹钟、计时和计算器等实用功能。
因此,在设计中需要根据用户需求进行针对性的设计。
其次,在多功能电子万年历的设计中需要考虑芯片的类型和电路设计。
基于现有技术水平,我们可以采用32位单片机进行设计。
这种芯片不仅具有高效,稳定的特点,而且可以实现各种功能的全局配置与管理。
最后,在使用过程中,我们还需雕琢界面的设计。
好的界面设计可以带给用户舒适的使用体验。
因此,设计多功能电子万年历的界面,需要考虑整体的色彩、字体、图标等,制作简约大气的界面,操作起来也更为方便。
在实现多功能电子万年历的过程中,我们需要对硬件、软件方面都有深入的了解,这样才能做出效果更好、具备更多功能的产品,才能满足用户的需求。
总体来说,对于多功能电子万年历的设计和开发,我们需要关注许多方面,需要不断地进行改进,才能够做出适合用户使用的优秀产品。
目录引言 (2)1 系统功能与方案论证 (2)1.1系统功能 (2)1.2 系统基本方案选择和论证 (2)1.2.1 单片机芯片的选择方案和论证 (2)1.2.2 显示模块选择方案和论证 (3)1.2.3 时钟芯片的选择方案和论证 (3)1.2.4 温度传感器的选择方案与论证 (4)1.3 电路设计最终方案决定 (4)2 系统的硬件设计与实现 (4)2.1 电路设计框图 (4)2.2 系统硬件概述 (5)2.3 各系统电路及工作原理 (5)2.3.1 AT89S52单片机最小系统设计 (5)2.3.2 时钟电路模块的设计 (7)2.3.3 温度采集电路的设计 (8)2.3.4 LCD1602液晶显示模块设计 (8)2.3.5 电源电路 (10)2.3.6 闹钟电路设计 (10)2.3.7 键盘输入电路 (11)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)致谢 (41)多功能万年历的设计摘要:本设计采用了以广泛使用的单片机技术为核心,软硬件结合,使硬件部分大为简化,提高了系统稳定性,并采用LCD显示电路、键盘电路,使人机交互简便易行,此外还结合音乐闹铃电路、温度采集电路和供电电路。
本方案设计出的万年历可以显示日期、时间、温度、农历,并且设置了音乐闹铃功能。
该万年历可以应用于一般的生活和工作中,也可以通过改装,提高性能,增添新功能,从而给人们的生活和工作带来方便。
关键词:万年历;A T89S52;LCD1602;时钟日历芯片DS1302;音乐闹钟The Multi-functional Calendar DesignnaAbstract: This design has adopted by the extensive use of single chip microcomputer as the core. Hardware and software combination make the hardware parts greatly simplified and improve the stability of the system.The use of LCD display circuit, keyboard circuit makes the information exchange simple. In addition, the design is combined with music alarm circuit, temperature acquisition circuit and power supply circuit. It can show a calendar date, time, temperature, the lunar and set up music alarm function. On one hang the calendar can be applied to general life and work, on the other hang, it can improve performance by modification to add new functions, so that it can bring more convenience to people's life and work.Key words: calendar;AT89S52;LCD1602; clock calendar chip DS 1302; music alarm clock.引言电子万年历是实现对年、月、日、时、分、秒数字显示的计时装置,广泛用于个人、家庭、车站、码头、办公室、银行大厅等场所,成为人们日常生活中的必需品。
多功能电子万年历的设计与实现
随着科技的不断发展,电子产品也在逐渐普及和多样化。
在日常生活中,万年历是人们生活和工作中不可或缺的一部分。
作为较为重要的时间管理工具之一,电子万年历也不断地更新升级,以更好地满足人们多方面的需求。
设计与实现多功能电子万年历,方法有很多,但首先要明确该产品的目标群体以及设计的功能。
在考虑该产品的功能时,应从常见的日常生活中的需求出发,包括:复杂的时间操作、跨时区时间计算、任务提醒、文本存储、闹钟等。
同时,还应该注意产品的造型、操作界面以及用户体验的设计。
基于以上需求和目标,多功能电子万年历应该具备以下几点:
1. 多时区显示:可以根据不同时区进行时间转换,并将不同时区的时间分别显示在时钟面板上。
2. 日历显示:显示公历、农历以及节气等数据,并能够根据用户需要进行时间计算。
3. 任务提醒:支持用户设置任务提醒时间,并能够提前提醒用户。
4. 文本存储:支持文本信息的输入、存储与浏览功能。
5. 闹钟提醒:支持多个闹钟设置,并能够设置重复提醒。
6. 界面及造型设计:应该使界面简洁明了,并且外形要美观实用。
在实现部分,多功能电子万年历应该采用微控制器作为主控制单元,并应有充电电池可供不间断使用,同时也需要在产品设计阶段充分考虑硬件接口设计,以方便用户进行新的功能扩展和升级。
总之,对于多功能电子万年历的设计与实现而言,光有我们想到的不足以满足用户的多样化需求,必须在产品的设计和制造过程中充分考虑到人们的日常实际需求,这样才能真正的得到用户的青睐,达到产品的最终目标。
基于桌面的多功能万年历设计与开发作者:陈佳高维松来源:《软件导刊》2013年第02期摘要:描述了基于桌面多功能万年历的设计与开发过程,利用软件工程思想对软件进行分析与设计,除了实现多功能万年历的基本功能,同时也实现了时间的多种显示及日期的备忘录功能。
在对系统进行分析时使用自上而下、逐层分析的方法,所实现的多功能万年历界面美观,使用方便。
关键词:多功能万年历;SA;SD;SP中图分类号:TP319 文献标识码:A 文章编号:16727800(2013)0020072020 引言随着计算机技术的发展,万年历已成为一种使用非常广泛的工具。
当前互联网上有很多万年历软件,但大多数基于桌面的万年历的功能都比较单一,用户的交互性差,不能很好地适应用户需求。
因此,开发一款迎合广大用户需求、交互性能好、功能齐全的桌面万年历尤为必要。
1 技术路线结构化分析方法简单,容易掌握,而且还能和设计阶段的结构化设计衔接,从而取得良好的设计结果。
分解和抽象是系统开发中控制复杂性的基本手段,它先将系统“抽象”成一个模型,然后对模型进行逐层分解,直到能被理解、可以实现为止。
因此,分析的策略是自顶向下、逐层分解、由抽象到具体的过程。
1.1 系统设计基本方法本系统基于MFC的Dialog based对话框进行界面设计与编程,在对该软件进行系统分析和界面设计的基础上,利用Panel、COMBO、Edit等组件进行界面的开发。
在程序中主要调用系统时间,利用系统时间来计算时钟显示时针、分针、秒针的位置。
它具有以下特点:(1)封装性: MFC类库是由MFC框架构成的。
这些类有的封装了Win32应用程序编程接口,有的封装了应用程序的概念,还有的封装了OLE特性,或者封装了ODBC和DAO数据访问功能。
(2)继承性:MFC将众多类的共同特性抽象出来,设计出一些基类作为实现其它类的基础。
其中,CObject和CCmdTarget是这些类中最重要的。
基于单片机的多功能电子万年历的设计摘要随着科技的快速发展,自从观太阳、摆钟到现在电子钟,人类不断研究,不断创新纪录。
本文主要介绍了基于单片机的智能电子万年历的研制,该万年历能够实时显示公历年、月、日、时、分、秒,以及对应的农历日期、24节气、天干地支、闹铃功能,同时还能够实时测取环境温度。
本系统的硬件部分主要由A VR单片机、时钟芯片、温度传感器等部件组成,文中给出了详细的硬件设计实现及相关电路图;软件部分主要包含公历转农历的算法设计模块、显示模块、时间的读取、温度的检测模块,按键的扫描输入模块等,文中给出了系统的软件程序流程图及各功能模块的软件程序清单,最后介绍了整体系统的设计实现、仿真及调试过程,给出了下一步的改进方案等。
关键词:单片机;液晶技术;万年历;时钟芯片Design of Multifunctional digital Perpetual Calendar Based on MCUAbstractWith the development of technology,Since the concept of the sun, Baizhong, andnow the electronic bell,human beings continue to study and constant innovation record。
This paper-based Microcontroller Development of Intelligent electronic calendar, The calendar can display real-time in the calendar year, month, day, hours, minutes and seconds,a nd the correspond ing date of the Lunar New Year, 24 Solar Terms,at the same time also to real-time measurement from the ambient temperature,In addition to the user through the keyboard input years of history,for the correspond ing period of the Lunar.The system hardware from some of the major A VR microcontroller, a number of digital control, decoder, the clock chip,temperature sensors and other components,the paper gives a detailed design and implementation of hardware and related circuit;Software contains some of the major Lunar calendar to the algorithm design module,dynamic digital display modules,time to read,temperature detection module,Press enter the scanning module.In this paper, the system software modules and flow chart of the list of software programs,Finally, the realization of the overall system design, simulation and debugging process, the next step is the improvement programmes.Keywords:MCU;crystal technology;Calendar;Clock chip目录引言 (1)第1章绪论 (2)1.1课题的背景与意义 (2)1.2 数字万年历的现状与发展 (2)1.3 论文的主要工作及章节安排 (3)1.4 本章小结 (3)第2章方案论证比较.............................................................................. (4)2.1 多功能数字万年历系统概述 (4)2.2计时方案 (4)2.3温度检测方案 (5)2.4显示方案 (5)2.5本章小结 (5)第3章系统硬件设计 (6)3.1 主控制器ATmega16 单片机介绍 (6)3.2 时钟电路DS1302 (6)3.3 温度检测DS18B20 (7)3.4 动态显示 (8)3.5 键盘接口 (8)3.6 语音闹铃模块 (8)3.7 电源设计 (9)3.8本章小结 (11)第4章系统软件设计 (12)4.1 公历计算显示程序设计 (13)4.1.1 DS1302 内部寄存器 (13)4.1.2 时间读取程序设计 (15)4.2 农历转换程序设计 (16)4.2.1 公历转农历算法研究 (16)4.2.2 干支纪年简介 (18)4.2.3 公历转农历程序 (18)4.3 温度测量程序设计 (20)4.3.1 DS18B20 的测温原理 (20)4.3.2 温度程序 (21)4.4 二十四节气算法研究 (23)4.5系统仿真 (24)4.6本章小结 (25)结论与展望 (26)致谢 (27)参考文献 (28)附录 A 电子万年历原理图 (29)附录 B 外文文献与译文 (30)英文原文: (30)中文译文: (33)附录 C 参考文献题录及摘要 (35)附录 D 电子万年历源程序 (37)插图清单图2-1 数字万年历系统框图 (4)图3-1 DS1302与ATmega16连接图 (7)图3-2 DS18B20与AtMEGA16连接图 (8)图3-3 报时电路 (9)图3-4 稳压电源原理图 (10)图3-5 电源电路 (10)图4-1 系统程序流程图 (13)图4-2 公历程序流程图 (14)图4-3 DS18B20测温原理 (21)表格清单表3-1 LCD12864显示内容 (8)表4-1 DS1302的寄存器及其控制字 (14)表4-2 RS位配置 (15)引言人类的日常生活离不开时间,任何具有周期性变化的自然现象都可以用来测量时间。
毕业设计论文论文题目:多功能的万年历的设计与实现学院:电子电气工程学院专业:电气自动化班级:2012级01班学生姓名:学号:指导教师:2016年04月 18 日目录摘要 (3)绪论 (5)第1章设计要求与方案论证 (7)引言 (7)功能要求 (7)方案论证 (7)第2章系统硬件电路设计 (11)电路设计 (11)系统硬件概述 (15)主要单元电路的设计 (15)第3章系统的软件设计 (22)程序设计 (22)程序设计流程图 (22)第4章结束语 (24)附录一(程序)…………………………………………..……………摘要随着社会的进步,人了解时间,从观察自然现象到不断发现和研究。
为了准确定义时间,万年历诞生了,它把时间、日期和温度等放在同一平面上,具有诸多优点,符合发展趋势,具有广阔的市场前景。
本次的设计制作主要是把STC89C52作为核心,由它自带的定时器提供时间、LCD1602液晶显示屏显示,通过键盘来调节个人所需的时间,日期,同时还增加显示现在的温度,并且在此基础上增加了火焰报警的功能。
STC89C51单片机是由美国Atmel公司推出的,具有小体积,低功耗,使用电压可选4V~6V电压供电,使用方便,易与学习,可使初学者快速掌握。
这次设计要的时钟是通过STC89C51单片机它自身的定时器中断提供时间变化,由秒的变化,使分变化,使时变化,依次使显示屏中的年、月、日、星期。
用来显示日期和时间的模块是准备使用LCD1602液晶显示屏来做的,同时,这个项目还加进去了调整不同时间的能力。
独立按键,通过按下不同的按键来调节显示屏上的时间,日期等。
项目中用DS18B20数字温度传感器来测试现在的温度,它和单片机接线方式十分简单,封装成后能应用于多种场合,主要根据应用场合的不同可以改变该数字温度传感器模块外观。
DS18B20是大家经常用的温度传感器,体积小,硬件简易,抗干扰能力很强,精度高的优点。
火焰传感器这个模块对火焰有敏感的反应,同时它也可以用来测试光线的明亮程度。
程序设计综合实践报告(C语言)项目名称:桌面万年历班级:姓名:学号:山东科技大学信息科学与工程学院2012年12月目录1. 项目概述 (3)1.1 需求陈述 (3)1.2 开发技术、环境与工具 (3)2. 软件需求 (3)2.1 功能性需求 (3)2.2 非功能性需求 (3)3. 软件架构设计 (3)4. 软件详细设计与实现 (3)4.1 主要模块的流程图 (3)4.2 核心代码 (4)5 总结与体会 (22)5.1遇到的问题与解决途径 (22)5.2 心得体会 (22)1. 项目概述1.1 需求陈述本项目是桌面小时钟的实现,表盘上可以实现星期、年月日、时分秒、生肖以及天干地支,右击可以打开延伸项目,包括日历、关于、表盘颜色设置、以及退出等选型,在日历表中可以实现从1901-2099年公历农历以及周几的查询,在日历表格中也可以进行换肤操作,同时还可以进行闹钟设定,通过“开启闹钟”“关闭闹钟”两个按钮来实现对闹钟开关的控制1.2 开发技术、环境与工具相关技术:1、(DrawClocktext)2、(DrawCalendar)2. 软件需求基于c语言利用vb2008实现改程序2.1 功能性需求可以实现时钟的消息处理(包括添加图片、背景色透明、更新时钟、绘制时钟、弹出菜单、处理菜单消息)、绘制时钟(包括年月日、时分秒)、万年历的背景的绘制、日历的绘制、以及按键消息。
2.2 非功能性需求编制闹钟,实现了闹钟的设定3. 软件架构设计1、日历绘制函数2、表盘函数的绘制3、按键函数的绘制4. 软件详细设计与实现1、通过GetLocalTime(&datetime);来实现获得当下时间,然后通过SunToLunar实现公历和农历日期的转化。
通过绘制表格,由GetDayOfWeek可以判断出某一天是周几,然后可以确定日历表中各个月份天数所在的位置,实现了万年历的基本功能。
其次,利用按键功能,实现了对年月日的的选择。
多功能电子万年历的设计与实现
随着科技的不断发展,电子产品的功能也越来越丰富,电子万年历也不例外。
在这篇文章中,我将介绍一款多功能电子万年历的设计与实现。
首先,我们需要确定这款电子万年历的主要功能,包括日期显示、时间显示、闹钟、倒计时器、计时器、温度计、天气预报等功能。
在确定主要功能后,我们需要选择合适的电子元件,并进行电路设计。
电路设计完成后,我们需要进行电路布局,并将电路板进行制造。
制造完成后,我们需要将电子元件焊接到电路板上,并进行测试,确保电子万年历的各项功能正常运行。
接下来,我们需要对电子万年历进行外壳设计。
在外壳设计中,我们需要考虑到电子万年历的外观、材质、尺寸等因素。
我建议选择轻质、坚固的材料制作外壳,并在外部加上透明塑料保护层,以防止碰撞和刮伤。
另外,我们还可以在外壳上添加按钮、开关等控制元素,使电子万年历更加易于使用。
最后,我们需要对电子万年历进行软件设计。
在软件设计中,我们需要实现日期、时间的显示,以及闹钟、倒计时器、计时器、温度计、天气预报等功能。
在软件设计中,我们需要考虑到用户的使用习惯,设计出简单易用、功能强大的界面,并加入音乐、提示等元素,以方便用户使用电子万年历。
总的来说,多功能电子万年历的设计与实现需要进行电路设计、外壳设计、软件设计等多个环节,并需要选择合适的电子元件、
材料等。
在设计过程中,我们需要不断地优化和改进,以满足用户的需求和期望。
最终,我们将获得一款外观精美、功能强大的多功能电子万年历。
基于Proteus多功能电子万年历的设计与实现摘要本文基于Proteus多功能电子万年历的设计并实现了其功能。
主要是借助电路仿真软件Proteus,在硬件方面主要采用AT89S51单片机作为主控核心,由LCD1点阵液晶显示屏显示。
可以对年、月、日、星期、时、分、秒进行计时,还具有闰年补偿等多种功能,可以同时显示年、月、日、时、分、秒等信息。
在软件方面,主要包括日历程序、时间调整程序和显示程序。
关键词:Proteus ;AT89S51;单片机;电子万年历Design and Realization of multi function electronic calendarbased on ProteusAbstractIn this paper, the design of multi function electronic calendar based on Proteus and the realization of its function. By means of circuit simulation software Proteus, in terms of hardware using AT89S51 microcontroller as the main control center, by LCD dot matrix LCD display. For years, month, day, week, hour, minutes and seconds for time, but also has a leap year compensation and other functions, can display year, month, day, time, minutes, seconds and other information. In the software aspect, mainly includes calendar program time to adjust procedures and display program.Key words:Proteus;AT89S51;Single chip microcomputer;Electronic calendar目录1 综述.............................................................. 错误!未定义书签。
多功能电子万年历设计一、本文概述本文旨在探讨多功能电子万年历设计的原理、方法及其在实际应用中的价值。
我们将对电子万年历的基本概念进行简要介绍,包括其发展历程、主要功能以及与传统日历的对比。
接着,我们将详细分析多功能电子万年历的设计要素,包括硬件选择、软件编程、用户界面设计等方面,以展示其独特的功能和设计理念。
在此基础上,我们将深入探讨多功能电子万年历设计的关键技术,如时间同步技术、多语言支持、日历算法优化等,以揭示其背后的技术原理和实现方法。
我们还将对多功能电子万年历的市场需求和应用前景进行分析,以展示其在现代社会中的重要作用。
本文将对多功能电子万年历设计的未来发展进行展望,探讨其在智能化、个性化、集成化等方面的趋势和挑战。
通过本文的阐述,读者可以对多功能电子万年历设计有一个全面、深入的了解,为其在实际应用中的开发和使用提供有益的参考。
二、电子万年历的设计原理电子万年历的设计原理主要基于时间计算、显示控制和数据存储三大核心部分。
在设计过程中,我们需要考虑如何精确计算时间,如何将时间信息以清晰易懂的方式显示出来,以及如何将这些时间数据存储和处理。
时间计算是电子万年历设计的基石。
它涉及到如何准确地计算年、月、日、时、分、秒等时间单位,并且要考虑闰年、闰月等复杂的时间规则。
这通常通过内置的时钟芯片实现,该芯片能够按照预设的算法进行时间计算,确保时间的准确性和连续性。
显示控制是电子万年历设计的关键。
显示控制的主要任务是将计算得到的时间信息转化为可视化的界面,供用户查看。
这包括选择适合的显示器件(如LCD屏幕、LED数码管等),并编写相应的显示驱动程序,以确保时间信息能够清晰、准确地呈现在用户面前。
数据存储是电子万年历设计的重要组成部分。
数据存储主要负责保存用户设置的时间、日期、闹钟等信息,以便在用户关机或断电后能够恢复。
通常,这些数据会存储在内置的存储芯片中,如EEPROM或Flash芯片,这些芯片具有非易失性,能够长期保存数据。
编号: 毕业论文(设计)题目多功能数码万年历的设计指导教师学生姓名学号专业机械设计制造及其自动化教学单位德州学院机电工程系二O 一二年五月三日德州学院毕业论文(设计)开题报告书院(系):机电工程系专业:机械设计制造及其自动化2012年11月19日德州学院毕业论文(设计)中期检查表院(系):机电工程系专业:机械设计制造及其自动化2012年4月5日目录摘要及关键词 (1)1绪论 (1)1.1课题的背景和意义 (1)1.2电子万年历的现状和发展 (1)2电子万年历的方案设计 (2)2.1万年历的简单模拟方案 (2)2.2硬件电路模块 (2)3电子万年历的软件设计 (11)3.1软件的调试 (11)3.2电子万年历软件流程及设计 (12)4总结 (19)4.1 产品性能总结 (19)4.2心得体会 (19)参考文献 (21)致谢 (22)附录 (23)数码万年历的设计(德州学院机电系,山东德州253023)摘要:单片机大量应用于工业控制、智能仪器仪表、计算机网络和通信领域、家用电器、医用设备、航空航天、专用设备的智能化管理及过程控制等领域。
本设计是基于51系列的单片机进行的电子万年历设计,可以显示年月日时分秒及周信息,具有可调整日期和时间功能。
本设计采用的是AT89S52单片机,该单片机采用的MCU51内核,因此具有很好的兼容性,内部带有8KB的ROM,能够存储大量的程序,最突出特点是具有ISP在系统烧写功能,使得烧写程序更加方便。
关键词:AT89S52单片机;万年历;时钟模块;1绪论1.1课题的背景和意义由于电子技术的迅速发展,特别是大规模集成电路出现,给人类生活带来了质的的改变,特别是单片机技术的应用产品已经走进了千家万户。
近年来,随着我国科技的不断发展,我国经济发展的支柱产业——电子产业获得突破性额发展,各种电子产品琳琅满目,随处可见,随着电子产品的更新速度加快,各种功能强大,款式新颖的电子产品不断问世。
【实训报告】多功能万年历一、实训目标本次实训的目标是设计并实现一个多功能万年历。
通过这个实训项目,我们可以学习和掌握以下技能:1.熟悉日历的计算和展示方式;2.掌握界面设计和用户交互的相关知识;3.学会使用编程语言实现各种功能。
二、实训内容1.日历的计算和展示我们首先需要实现日历的算法,在给定年份和月份的情况下,计算并展示整个月的日期。
我们可以使用计算机编程语言来实现这个算法,具体的实现方式可以根据需求自行选择。
2.界面设计为了使用户能够方便地使用该多功能万年历,我们需要为其设计一个用户友好的界面。
界面设计可以包括以下几个方面:-外观设计:选择合适的颜色和布局,使界面看起来美观大方。
-功能按钮:根据实际需求,设计相应的功能按钮,例如切换到下一个月、上一个月的按钮,选择年份和月份的下拉菜单等。
-提示信息:在界面上显示一些提示信息,如当前选中的日期、当前是星期几等,以方便用户使用。
3.用户交互为了提升用户体验,我们需要实现一些用户交互的功能。
例如,当用户点击一些日期时,我们可以展示该日期的详细信息,如农历日期、节假日等;当用户选择了特定的年份和月份时,我们需要实时更新日历的展示。
三、实训过程1.分析需求:我们首先需要明确实训的目标和需求,并且将其分解为一个个具体的任务。
2. 设计界面:根据需求,我们设计和绘制出界面的原型图。
可以使用工具如Axure RP、Sketch等完成。
3.编码实现:根据界面设计和功能需求,我们使用编程语言对其进行编码实现。
具体的编程语言可以根据个人的喜好和方便程度来选择。
4.调试测试:在完成编码后,我们需要进行功能测试和调试,以确保整个万年历的功能正常。
5.优化改进:在测试中发现问题或不足之处时,我们需要进行相应的优化和改进,使其更加完善。
6.完成报告:最后,我们需要撰写实训报告,总结整个实训项目的过程和经验。
四、实训心得通过这次实训,我学习了如何设计和实现一个多功能万年历。
基于桌面的多功能万年历设计与开发摘要:描述了基于桌面多功能万年历的设计与开发过程,利用软件工程思想对软件进行分析与设计,除了实现多功能万年历的基本功能,同时也实现了时间的多种显示及日期的备忘录功能。
在对系统进行分析时使用自上而下、逐层分析的方法,所实现的多功能万年历界面美观,使用方便。
关键词:多功能万年历;sa;sd;sp
中图分类号:tp319 文献标识码:a 文章编号:16727800(2013)002007202
0 引言
随着计算机技术的发展,万年历已成为一种使用非常广泛的工具。
当前互联网上有很多万年历软件,但大多数基于桌面的万年历的功能都比较单一,用户的交互性差,不能很好地适应用户需求。
因此,开发一款迎合广大用户需求、交互性能好、功能齐全的桌面万年历尤为必要。
1 技术路线
结构化分析方法简单,容易掌握,而且还能和设计阶段的结构化设计衔接,从而取得良好的设计结果。
分解和抽象是系统开发中控制复杂性的基本手段,它先将系统“抽象”成一个模型,然后对模型进行逐层分解,直到能被理解、可以实现为止。
因此,分析的策略是自顶向下、逐层分解、由抽象到具体的过程。
1.1 系统设计基本方法
本系统基于mfc的dialog based对话框进行界面设计与编程,在对该软件进行系统分析和界面设计的基础上,利用panel、combo、edit等组件进行界面的开发。
在程序中主要调用系统时间,利用系统时间来计算时钟显示时针、分针、秒针的位置。
它具有以下特点:(1)封装性: mfc类库是由mfc框架构成的。
这些类有的封装了win32应用程序编程接口,有的封装了应用程序的概念,还有的封装了ole特性,或者封装了odbc和dao数据访问功能。
(2)继承性:mfc将众多类的共同特性抽象出来,设计出一些基类作为实现其它类的基础。
其中,cobject和ccmdtarget是这些类中最重要的。
(3)虚拟函数和动态约束: mfc建立了消息映射机制,而消息映射机制使其用富有效率、便于使用的手段解决消息处理函数的动态约束问题。
1.2 系统总体结构
本系统通过结构化设计方法对软件进行设计。
针对软件生存周期各个不同的阶段,它主要分为结构化分析(sa)、结构化设计(sd)和结构化程序设计(sp)等方法,它是利用图形表达用户需求。
结构化分析的步骤如下:①分析当前的情况,做出反映当前物理模型的dfd;②推导出等价的逻辑模型dfd;③设计新的逻辑系统,生成数据字典和基元描述;④建立人机接口,提出可供选择的目标系统物理模型;⑤确定各种方案的成本和风险等级,据此对各种方案进行分析;⑥选择一种方案建立完整的需求规约。
本系统按照以上结构化设计方法对多功能万年历系统进行总体设计,其系统总体结构如图1所示。
1.3 系统类设计
根据结构化的设计方法,系统总体结构图完成了模块的划分,根据逐步求精的要求在已经划分模块的基础上进行模块的类设计。
在前台界面显示功能的模块有:日历显示模块、日期显示模块、时间显示模块。
对于这些模块结合mfc的类框架来实现其功能,主要用到mfc类库中的按钮类(cbutton)、列表框类(clistbox)、编辑框类(cedit)、时间类(ctime)、对话框类(cdialog)及窗口类(cwnd)、应用程序类(cwinapp)。
通过继承这些类来搭建系统的基本框架。
然后根据这些类来定义一些事件处理函数来处理发生在控件上的事件。
后台处理类主要是为了响应控件类的事件而设计的辅助类,主要有时间处理类(mytime)、日历类(ccalendar)等。
通过这些类之间的调用与协调,来完成多功能万年历的设计与实现。
2 系统详细设计
在进行日期显示时需要定义日期的数据结构,在实现该功能时,利用ccombobox控件来显示公元纪年法的年、月、日。
如以下代码首先定义了ccombobox类型的变量,然后将该变量与界面中的ccombobox控件相关联,最后对控件进行初始化,这样用户可以通过界面来选择年、月、日及时间。
在显示传统的干支纪年法时需要计算闰年以及阴历每月所对应的天数,还有每天所对应的节气,这
些功能主要是通过函数来实现:
//判断iyear是不是闰年
static bool isleapyear(word iyear)
{return !(iyear%4)&&(iyear%100) || !(iyear%400);} //计算iyear,imonth,iday对应是星期几 1年1月1日——65535年12月31日
static word weekday(word iyear, word imonth, word iday);
//返回iyear年imonth月的天数 1年1月——65535年12月static word monthdays(word iyear, word imonth);
//计算公历iyear年imonth月iday日对应的节气 0-24,0表不是节气
static word l_getlunarholday(word iyear, word imonth,word iday);
……
在系统中进行时间显示,方便用户及时掌握时间,时间显示设计成表盘显示和数字显示两种,让用户以直观的方式来查看时间。
在时间显示时由于要同时以两种方式进行显示,故需要设计一种数据结构对两种显示进行时间的存储。
class mytime
{
public:
int change(char);
mytime();
~mytime();
cstring m_time;
void myfun(cstring temp);//显示数字字符串
void set(cdialog *,int tnum,int tx,int ty,int tspace);//设置显示位置
cstatic *m_pictur\[50\];// 静态图指针数组
int num;// 静态图个数
int x;// 起始x坐标
int y;// 起始y坐标
int space;// 各数码之间间距
};
这个类用来存储数字显示时的时间数据,在进行数字显示时使用静态图片来显示数字即变量cstatic *m_pictur\[50\],以存储显示数字的图片,要实现动态的时间秒表的跳动则需要在系统中设置时间中断,该时间中断主要是利用系统的时间调用函数ontimer(uint nidevent)来完成。
3 系统主要特点
基于桌面的多功能万年历系统具有如下两大特点:
(1)小巧、便捷。
基于桌面的多功能万年历是一款小巧、便捷、使用方便的软件。
这款软件可以针对年、月、日、时、分、秒进行计时,同时具有判定闰年、时间显示等功能,此外,还具有系统日
期修改、系统时钟修改及备忘录的实现等多种功能。
(2)方便易用。
基于桌面的多功能万年历是一款绿色软件,软件发布后就可以直接使用无需安装。
还可根据用户设计的时间实现定时关机功能,用户设置好关机时间,在时间到达预定时间后,计算机会在设置的时间点进行自动关机。
4 结语
本文从多功能万年历现状及功能入手,利用面向结构化的分析方法(sa)对系统进行分析、架构,得出系统的总体结构图,从而实现系统功能自顶向下的逐层分析。
在系统分析的基础上完成系统的总体设计和功能设计,并利用基于mfc的dialog based对话框进行界面设计与编程,在进行界面设计时利用了panel、combo、edit 等组件,实现万年历在界面上的显示。
最后进行测试,保障了系统的可靠运行。
参考文献:
\[1\] 黄维通.visual c++6.0面向对象与可视化程序设计\[m\].北京:清华大学出版社,2000.
\[2\] 张海藩.软件工程导论\[m\].北京:清华大学出版社,2003.
\[3\] 李涛,刘凯奎.visual c+++sql server数据库开发与实例[m].北京:清华大学出版社,2006.
\[4\] 侯俊杰.深入浅出mfc\[m\].武汉:华中科技大学出版社,2009.
\[5\] 任哲.mfc windows应用程序设计\[m\].北京:清华大学出版社,2010.
(责任编辑:孙娟)。