攀枝花学院学生课程设计(论文)题目: LED时钟学生姓名:张奕学号: 201210802028 所在院(系):数学与计算机学院专业:信息与计算科学班级: 2012级信息与计算科学1班指导教师:吴建兵职称:讲师二O一四年六月十六日攀枝花学院教务处制攀枝花学院本科学生课程设计任务书题目时钟(LED方式)1、课程设计的目的通过本课程设计使学生能够较全面的掌握面向对象程序设计的有关概念和开发方法,以便能较全面地理解、掌握和综合运用所学的知识,提高自身的编程能力。
2、课程设计的内容和要求(包括原始数据、技术要求、工作要求等)编写一个时钟(LED方式)程序,要求:(1)在屏幕上用文字显示日期(年、月、日、星期)与时间。
(2)时间显示要求能动态显示时、分、秒。
3、主要参考文献[1]朱福喜.《Java语言程序设计》(第二版).科学出版社[2]陈国君等.《Java程序设计基础》(第二版).清华大学出版社[3] Deitel.《Java大学基础教程》(第六版).电子工业出版社[4] MaryCampione.《Java语言导学》(第四版).机械工业出版社[5] Y.Daniel Liang.《Java语言程序设计基础篇》(第六版). 机械工业出版社[6] Kathy Sierra.《Head First Java》(第二版).东南大学出版社4、课程设计工作进度计划1、设计动员,布置任务,选题(1天)2、查阅资料,分析、讨论与设计(1天)3、编写程序,进行调试(4天)4、完成模块联调,进行测试(2天)5、成果验收,完成设计报告(2天)指导教师(签字)日期年月日教研室意见:年月日学生(签字):接受任务时间:年月日注:任务书由指导教师填写。
课程设计(论文)指导教师成绩评定表题目名称时钟(LED方式)评分项目分值得分评价内涵工作表现20% 01 学习态度 6 遵守各项纪律,工作刻苦努力,具有良好的科学工作态度。
02 科学实践、调研7 通过实验、试验、查阅文献、深入生产实践等渠道获取与课程设计有关的材料。
03 课题工作量7 按期圆满完成规定的任务,工作量饱满。
能力水平35% 04 综合运用知识的能力10能运用所学知识和技能去发现与解决实际问题,能正确处理实验数据,能对课题进行理论分析,得出有价值的结论。
05 应用文献的能力 5能独立查阅相关文献和从事其他调研;能提出并较好地论述课题的实施方案;有收集、加工各种信息及获取新知识的能力。
06设计(实验)能力,方案的设计能力5能正确设计实验方案,独立进行装置安装、调试、操作等实验工作,数据正确、可靠;研究思路清晰、完整。
07 计算及计算机应用能力 5 具有较强的数据运算与处理能力;能运用计算机进行资料搜集、加工、处理和辅助设计等。
08对计算或实验结果的分析能力(综合分析能力、技术经济分析能力)10 具有较强的数据收集、分析、处理、综合的能力。
成果质量45% 09插图(或图纸)质量、篇幅、设计(论文)规范化程度5 符合本专业相关规范或规定要求;规范化符合本文件第五条要求。
10 设计说明书(论文)质量30 综述简练完整,有见解;立论正确,论述充分,结论严谨合理;实验正确,分析处理科学。
11 创新10 对前人工作有改进或突破,或有独特见解。
成绩指导教师评语指导教师签名:年月日摘要随着社会的发展,现在的人过着快节奏的生活。
时钟的作用就是不停地提醒人们时间去合理的安排自己的生活。
LED屏的时钟的显示更加直接明了,一目了然。
本时钟是基于Java开发的一个LED时钟。
其功能是能够显示现在的时间,还有年月日。
本时钟操作简便,界面干净、简洁。
本课程设计报告介绍了时钟的构成,论述了目标功能模块;给出了时钟设计的步骤。
要求学生能够全面、深入理解和熟练掌握所学内容,并能够用其分析、设计和解答类似问题;对此能够较好地理解和掌握,能够进行简单分析和判断;能编写出具有良好风格的程序;掌握JAVA程序设计的基本技能和面向对象的概念和方法。
同时培养学生进行分析问题、解决问题的能力.有助于我们在学习Java 程序设计者们语言是能够活学活用。
关键字:时钟,LED,Java目录摘要................................................................................................................................ I 1 前言. (1)1.1背景 (1)1.2目的 (1)1.3实验要求 (1)2 相关技术分析 (2)2.1需求分析 (2)2.1.1需求分析 (2)2.1.2需求环境 (2)2.1.3功能描述 (2)2.2技术分析及原理 (2)2.2.1技术分析 (2)2.2.2原理 (2)3 设计与实现 (3)3.1时钟的功能概述 (3)3.2时钟的数字显示 (3)3.3时钟的具体实现 (3)4 代码实现 (4)4.1模块实现 (4)4.1.1显示窗口设计模块 (4)4.1.2时间设置模块 (5)5 测试与运行 (6)6 结束语 (7)7 参考文献 (8)8 附录 (9)1 前言1.1背景时钟的出现让现在的人们有了准确的时间观念,而不再是以前那样只能通过观察太阳,看沙漏来了解时间。
随着科技的进步,时钟现在不只是只有我们常见的时钟,LED时钟因为其简洁明了,使用寿命长而获得了广大人民的喜爱。
1.2目的本次的实验是要求学生在Java的平台下写一个写一个LED时钟的小程序。
主要是为了锻炼学生的编程能力,看是否能够将自己所学的知识融会贯通,能灵活的运用到所写的程序中去。
旨在培养学生的动手能力和综合能力,为学生打下牢实的基础,能够在Java编程方面取得更大的成绩。
1.3实验要求按课程设计指导书提供的课题,要求学生在自行完成各个操作环节,并能实现且达到举一反三的目的,完成一个项目解决一类问题。
要求学生能够全面、深入理解和熟练掌握所学内容,并能够用其分析、设计和解答类似问题;对此能够较好地理解和掌握,能够进行简单分析和判断;能编写出具有良好风格的程序;掌握JAVA程序设计的基本技能和面向对象的概念和方法;了解多线程、安全和网络等编程技术。
同时培养学生进行分析问题、解决问题的能力;培养学生进行设计分析、设计方法、设计操作与测试、设计过程的观察、理解和归纳能力的提高。
2 相关技术分析2.1需求分析2.1.1需求分析现在钟表的市场还是很大的特别是在日益忙碌的今天,有一块手表提示人们的生活还是很不错的。
而LED因其简洁的屏幕获得了许多年轻人的喜爱。
除此之外,LED时钟还有这价格低廉,使用方便,寿命时间长的特点。
因此,我觉得LED时钟的市场还是挺大的。
本次课程设计使用的Java代码比较简单,所以使用的价格也相对更便宜,用户更容易接受。
2.1.2需求环境本次课程设计需求的环境配置如下:①硬件配置:安装了JDK的PC机一台;②软件要求:windows7/Eclipse2.1.3功能描述(1)在屏幕上用文字显示日期(年、月、日、星期)与时间;(2)时间显示要求能动态显示时、分、秒。
2.2技术分析及原理2.2.1技术分析用Java来实现时钟的功能并不是一件难的事儿,相对比较简单,所以对程序员的要求不是很高,都可以编写。
本次实验设计主要运用了JFram技术来实现窗口的运行。
2.2.2原理本次试验写了三个方法,分别是JFram,led,updateDateTime。
它们在整个程序中分别实现了一下功能:写一个能够显示的对话框作载体;主要是设计时间和日期的格式,还有显示时间和日期的方法;将时间和日期进行初始化,本实验将机器的时间赋给程序就不需要再重新去设置时间了。
3 设计与实现3.1时钟的功能概述本次课程设计的LED时钟具有能够显示时间的功能,还能够在动态的显示时间的同时在屏幕上显示日期。
这个可以在提供时间的同时还能够提供日期的显示更加人性化。
3.2时钟的数字显示由于本次实验是LED时钟,所以采用的是通过数字和汉字来显示具体的时间和具体的日期,简洁明了。
3.3时钟的具体实现本次实验是在java的基础之上来写代码的。
通过java平台,实现了LED 时钟的具体显示。
在本程序中我主要设计了两个模块。
分别是时间格式设计模块,时间更新模块。
在时间设计模块中,借用了JFram来写一个能够承载时间显示的显示窗口,分别创建了Jlable实例来表示准确时间和日期。
然后对时间和日期进行了格式化,显示出自己想要的格式。
然后再将时间和日期加载到显示框中。
显示框需要我们对其的大小进行初始化。
由于显示窗口时隐藏的,所以需要借用setVisble()方法将窗口显示出来。
在时间更新模块中,我使用了Thread这个类,它是程序中执行的线程。
它可以使时间和日期同时显示在我们所编写的显示框中。
我们将赋给时钟的值初始化为机器上的时间,这样的话用户就可以减少更新时间的麻烦,方便简洁4 代码实现4.1模块实现本程序分为两个模块来实现对时间的显示。
第一个模块主要是对时间显示窗口的设计。
通过JFrame来实现整个程序的窗口设计。
第二个模块则是对时间的设置。
在本实验中,没有实现用户自己调节时间的功能,而是作者直接给程序赋值,添加的是网络时间,比较准确,无需用户自己去更改时间,省去了很多麻烦。
4.1.1显示窗口设计模块在此模块使用JFrame创建了显示窗口,并且设置了时间和日期的格式,还有窗口的大小。
以下是实现此模块的代码://设置日期的格式DateFormat dateFormat = new SimpleDateFormat("yyyy年MM月dd日");//设置时间的格式为24小时制DateFormat timeFormat = new SimpleDateFormat("H:m:s ");//创建JLable实例JLabel lblDate = new JLabel();JLabel lblTime = new JLabel();public LED() {//JLable实例的文本居中显示lblDate.setHorizontalAlignment(SwingConstants.CENTER);lblTime.setHorizontalAlignment(SwingConstants.CENTER);//设置JPanel的格式是两行一列JPanel jpanel = new JPanel(new GridLayout(2, 1));jpanel.add(lblDate); //加入时间到窗口jpanel.add(lblTime); //加入日期到窗口setSize(400, 300); //设置窗口的大小this.getContentPane().add(jpanel);}4.1.2时间设置模块在这个模块设置时钟准确的时间和日期,通过代码的实现,可以将网络的值赋给程序做初始化的时间值。