当前位置:文档之家› 万年历实验报告

万年历实验报告

万年历实验报告
万年历实验报告

篇一:电子万年历实验报告

重庆电力高等专科学校

计算机科学系

实训报告

课程名称

实验名称

班级信息0911 姓名廖林单片机应用技术电子万年历

学号 200903020243 教师任照富

日期 2010-12-28 地点一教七机房一、实训任务:

1、看实训要求,计划出自己实训所要用元件,在网上查找资料。

2、思考仿真原理图,然后画出来(具体i/o口暂时不确定)。

3、在网上找一些程序,然后自己改一些,进行编译。

4、编译无误之后,跟原理图相联系,完成最终的仿真图。

5、进行最后的改写,把程序和仿真原理图确定下来。

6、根据仿真图形,制作出实物图。

7、在实物制作过程中,进行电路检查和最后的调试。

二、实训要求:

要求:能显示阳历的年、月、日、星期、时、分、秒;

能显示阴历的年、月、日;

能进行日期、时间的调整。

扩展:能显示当前温度;

有闹钟功能(至少2个)

选择ds1302时钟芯片,温度传感器采用ds18b20数字温度传感器。

三、实训环境(软件、硬件):

软件:keil protues7.5

硬件:计算机2单片机的应用

四、实训意义:在这快速发展的年代,时间对人们来说是越来越宝贵,在快节奏的生活时,人们往往忘记了时间,一旦遇到重要的事情而忘记了时间,这将会带来很大的损失。因此我们需要一个定时系统来提醒这些忙碌的人,而数字化的钟表给人们带来了极大的方便。由于单片机具有灵活性强、成本低、功耗低、保密性好等特点,所以电子日历时钟一般都以单片机为核心,外加一些外围设备来实现。

电子万年历作为电子类小设计不仅是市场上的宠儿,也是是单片机实验中一个很常用的题目。因为它的有很好的开放性和可发挥性,因此对作者的要求比较高,不仅考察了对单片机的掌握能力更加强调了对单片机扩展的应用。而且在操作的设计上要力求简洁,功能上尽量齐全,显示界面也要出色。所以,电子万年历无论作为竞赛题目还是毕业设计题目都是很有价值。对于这个实验项目,我们还要有一些其他的基本知识掌握和意义:(1)在学习了《数字电子技术》和《单片机原理及接口技术》课程后,为了加

深对理论知识的理解,学习理论知识在实际中的运用,为了培养动手能力和解决实际问题的经验,了解专用时钟芯片ds1302,并会用ds1302芯片开发时钟模块,应用到其他系统中去。熟悉keil和protues软件调试程序和仿真.

(2)通过实验提高对单片机的认识;

(3)通过实验提高焊接、布局、电路检查能力;

(4)通过实验提高软件调试能力;

(5)进一步熟悉和掌握单片机的结构及工作原理。

(6)通过课程设计,掌握以单片机核心的电路设计的基本方法和技术。

(7)通过实际程序设计和调试,逐步掌握模块化程序设计方法和调试技术。

(8)通过完成一个包括电路设计和程序开发的完整过程,了解开发一单片机应

用系统的全过程,为今后从事相应工作打下基础。

五、实训工作:

由于自己是组长,所以在实训期间要多注意一下,实训期间我的主要工作有:

1、看实训要求,计划出自己实训所要用元件,在网上查找资料,同时要求组员也做同样的工作,最后再综合起来。

2、思考仿真原理图,然后画出来(具体i/o口暂时不确定)。

3、在网上找一些程序,然后自己改一些,进行编译。

4、编译无误之后,跟原理图相联系,完成最终的仿真图。

5、进行最后的改写,把程序和仿真原理图确定下来。

6、根据仿真图形,制作出实物图,并进行电路的检查。

六、实训功能:

实训成品暂时还没有成功,所以只能够写出计划实现功能:

1、能够显示公历的年、月、日,还有时、分、秒和温度。

2、能够进行时间的调整。

七、硬件设计:

仿真电路运用的是总线类型的52单片机,单片机部分如上图。

此实训的显示部分用的是数码管,并且是共阴极数码管,其中段选接在p0口,

在p0口用了一个上拉电阻,拉高p0口的电压,以使数码管正常工作。公历的年、月、日的位选接在的是p2口,从左到右分别是p2.7。 p2.6 。p2.5 。

p2.4 。p2.3 。p2.2 。p2.1。p2.0。

时间与温度的位选接在p1口上面,从左到右分别,从上到下分别是p1.7。

p1.6 。p1.5 。p1.4 。p1.3 。p1.2 。p1.1。p1.0。上图为按键设置,最上面一个为设置,下面分别是调高与调低。

ds18b20可以程序设定9~12位的分辨率,精度为±0.5°c。可选更小的封装

方式,更宽的电压适用范围。分辨率设定,及用户设定的报警温度存储在eeprom中,掉电后依然保存。ds18b20的性能是新一代产品中最好的!性能价格比也非常出色!ds1822与ds18b20软件兼容,是ds18b20的简化版本。省略了存储用户定义报警温度、分辨率参数的eeprom,精度降低为±2°c,适用于对性能要求不高,成本控制严格的应用,是经济型产品。继一线总线的早期产品后,ds1820开辟了温度传感器技术的新概念。ds18b20和ds1822使电压、特性及封装有更多的选择,让我们可以构建适合自己的经济的测温系统。dq接在p3.7上面。上图为ds1302时钟部分,上图接有晶振和电容,但实物当中没有电容,所

篇二:万年历实验报告

设计题目:

电子万年历

设计任务与要求:

1、显示年月日时分秒及星期信息

2、具有可调整日期和时间功能

3、增加闰年计算功能

方案比较:

方案一:系统分为主控制器模块、显示模块、按键开关模块,主控制模块采用

at89c52单片机为控制中心,显示模块采用普通的共阴led数码管,键输入采用查询法实现

功能调整,计时使用at89c52单片机自带的定时器功能,实现对时间、日期的操作,通过按键盘开关实现对时间、日期的调整。

方案二:系统分为主控模块、时钟电路模块、按键扫描模块,lcd显示模块,电源电路、复位电路、晶振电路等模块。主控模块采用at89c52单片机,按键模块用三个按键,用于调整时间,显示模块采用lcd1602,时钟电路模块采用ds1302时钟芯片实现对时间、日期的操作。逻辑总框图:

该电子万年历的总体设计框图如图(1)所示。

设计所需的元件:

元件名称型号数量/个

1

1 单片机 at89c5

2 时钟芯片

晶振

晶振

电容

电容 ds1302 12mhz 1 32.768khz 1 30pf 2 22uf 1

1 3

2

1 按键开关复位开关电阻滑动变阻器 220 10k

发光二极管红色 1

电池

lcd 1.5v 4 lcd1602 1电源vcc

导线 +5v 1 若干

单元电路设计:

1、主控制系统

单片机中央处理系统的方案设计,选用at89c52单片机作为中央处理器,如图(2)所示。该单片机除了拥有mcs-51系列单片机的所有优点外,内部还具有8k的在系统可编程flash存储器,低功耗的空闲和掉电模式,极大的降低了电路的功耗,还包含了定时器、程序存储器、数据存储器等硬件,其硬件能符合整个控制系统的要求,不需要外接其他存储器芯片和定时器件,方便地构成一个最小系统。整个系统结构紧凑,抗干扰能力强,性价比高。

2、时钟振荡电路

时钟振荡电路图(3)所示,时钟振荡电路用于产生单片机正常工作时所需要的时钟信号,电路由两个30pf的瓷片电容和一个12mhz的晶振组成,并接入到单片机的xtal1和xtal2引脚处,使单片机工作于内部振荡模式。此电路在加电后延迟大约10ms振荡器起振,在xtal2引脚产生幅度为3v左右的正弦波时钟信号,其振荡频率主要由石英晶振的频率决定。电路中两个电容c1、c2的作用使电路快速起振,提高电路的运行速度。

图(3)时钟振荡电路图图(4)复位电路

3、复位电路

复位电路由电阻和极性电容组成,如图(4)所示,通过高电平使单片机复位,在时钟电路开始工作后,当高电平的时间超过大约2us时,即可实现复位。此复位电路同时具备了上电复位和手动复位的功能,上电复位发生在开机加电时,由系统自动完成,手动复位通过一个按键来实现,在程序运行时,若遇到死机,死循环或程序“跑飞”等情况,通过手动复位就可以实现重新启动的操作。手动按钮复位需要人为在复位输入端rst上加入高电平。一般采用的办法是在rst端和正电源vcc之间接一个按钮和一个电阻,如图所示,当人为按下按钮时,则vcc 的+5v电平就会直接加到rst端。

4、ds1302时钟电路

时钟电路主要由时钟芯片ds1302、备用电池、晶振等几部分组成,如图(6)所示。ds1302采用3线串行接口,占用引脚少,内部集成了可编程日历时钟,用户可以根据需要通过单片机的控制来自行设置,支持双电源供电,可以使用外部主电源和备用电源,备份电源能够使时钟芯片继续工作。图(5) ds1302管脚图图(6) ds1302时钟电路

ds1302各引脚的功能为:

8: vcc1:备用电池端;

1: vcc2:5v电源。当vcc2>vcc1+0.2v时,由vcc2向ds1302供电,当vcc2< vcc1时,由vcc1向ds1302供电;

7: sclk:串行时钟,输入;

6: i/o:数据输入输出口;

5: ce/rst:复位脚;

2、3: x1、x2 是外接晶振脚(32.768khz的晶振);

4: 地(gnd)。

ds1302有关日历、时间的寄存器:

图(7)ds1302有关日历、时间的寄存器

1、秒寄存器(81h、80h)的位7定义为时钟暂停标志(ch)。当初始上电时该位置为1,时钟振荡器停止,ds1302处于低功耗状态;只有将秒寄器的该位置改写为0时,时钟才能开始运行。

2、小时寄存器(85h、84h)的位7用于定义ds1302是运行于12小时模式还是24小时模式。当为高时,选择12小时模式。在12小时模式时,位5是,当为1时,表示pm。在24小时模式时,位5是第二个10小时位

3、控制寄存器(8fh、8eh)的位7是写保护位(wp),其它7位均置为0。在对任何的时钟和ram的写操作之前,wp位必须为0。当wp位为1时,写保护位防止对任一寄存器的写操作。也就是说在电路上电的初始态wp是1,这时是不能改写上面任何一个时篇三:c++万年历实验报告

实验6基于命令行窗口的日历查询程序(综合性实验)

1.引言. 1.1实验目的:

(1) 了解程序开发环境调试工具的使用;

(2) 掌握小型系统的开发过程,学会用 c++语言解决问题。

1.2实验题目:

设计一个实用日历查询系统“万年历”,使其类似于家里的日历。方便人们查看日历信息此项目可用:控制语句、函数、数组、循环等基本的知识点综合应用实现它的主要功能为:根据用户输入的参数,显示相应的信息。例如:输入年月日的具体日期,系统会输出该天是星期几;如果输入的数据是年月,则会输出该年该月的日历信息。

1.3实验内容:

学习开发命令行窗口的日历查询程序。实验涉及的内容包含《程序语言基础(c 语言)》的大部分知识点,主要包括:三种基本的控制结构、函数和函数调用。还有一些必要的知识点,开发环境采用微软公司的 visual studio 6.0。

1.4 程序要求

(1)程序中必要的地方有注释

(2)对输入错误等情况要给出提示信息,要求重新输入(3)对程序进行充分测试,包含可能的各种情况(4)采用多文件结构组织方式来实现该项目程序

1.5 基本功能(必做)

1)实现可以“判断指定的年份是否为闰年以及每年的天数”的函数; 2)实现可以“判断指定的年份每一个月的天数”的函数; 3)实现可以“显示指定某一年的日历”的函数; 4)实现可以“显示指定某年某一月的日历”的函数; 5)实现可以“显示某一天是星期几”的函数;

注意:书写和实现函数时,请在前面按如下格式添加类似注释信息: /*

函数名称:main 功能描述:主程序创建人:张三丰

修改记录:2012-12-24 第 1.0 版*/

1.6增强功能(选做)

1)可以实现日程计划 2)预约提醒显示3)公历与农历的转换

4)农历节气信息的查询显示等等

2.设计思想:

设计本万年历时我做了三个查询功能:查询某一年或某一月的万年历,查询某一天是星期几.使用多文件结构来实现,把年,月,日分作不同的函数在储存在不同的文件里.通过在main 函数的中调用来实现.

3.算法分析说明

(1)计算某一天是星期几的算法:d=(year-1+(year-1)/4-(year-1)/100+(year-1)/400+days)%7 结果为0,1,2….6,分别表示星期日至六.

(2)判断某一年是否为闰年:if(year%4==0&&year%100!=0||year%400==0)

4.要用到的函数和语句

主函数在功能的选择时用到了switch()语句;

实现程序的继续或退出功能时用到了do{ .. } while()循环语句判断用if()语句;万年历的输出用到for()循环;

5.流程图系统流程图:

6.设计分析

7.功能过程的推导

功能1:

设计思路:

要想输出一年的日历,首先得解决输出一个月日历的问题,然后用循环输出十二个月份的。首先提示由键盘输入要显示的年份,得到年份后开始进入循环,定义月份变量month,并赋初值为1(从一月份开始),第一步,进入monthdays(int year,int month)函数判断月份的天数,然后根据进入void printmonth(int year,int month)函数根据年月计算出该月一号是星期几并输出月份和每周的表头,由循环空出一号前面空的部分,再由另一个循环,加上前面该月天数的判断,就能输出该月的日历,此时一个月的日历输出完毕,进入第二次循环,输出下一个月的日历,知道十二个月份的日历全部输出,循环结束,第一个功能实现。

功能2:

设计思路:

第二个功能是第一个功能的一部分,只需要输出一个月的日历,这是月份不是由1开始,而是由键盘输入的,日历输出方法与第一个功能中的方法相似。流程图:

功能3:判断这一天是星期几,由蔡勒公式计算,得到的余数是从0到6,0对应星期日,其他的正好对应;

8.测试结果

1.开始界面:

2.测试1:

3.测试3:

9.完整的源代码 //head.h头文件//

#ifndef head_h #define head_h

JAVA《万年历系统》课程设计报告附源码

2013-2014学年第二学期《面向对象程序设计》 课程设计报告 题目:万年历系统 专业:计算机科学与技术 班级: : 学号: 指导教师: 成绩:

计算机与信息工程系2014年6月6日

目录 1 设计容及要求 (1) 1.1设计容 (1) 1.2设计任务及具体要求 (1) 2 概要设计 (2) 2.1程序设计思路 (2) 2.2 总体程序框图 (3) 3 设计过程或程序代码 (4) 3.1各个模块的程序流程图及运行界面 (4) 3.2对关键代码加以分析说明 (7) 4 设计结果与分析 (13) 4.1程序调试的结果 (13) 4.2程序设计分析 (13) 5 小结 (14) 致 (15) 参考文献 (16) 源程序 (17)

1 设计容及要求 1.1设计容 万年历,实际上就是记录一定时间围(比如100年或更多)的具体阳历或阴历的日期的年历,方便有需要的人查询使用。在我设计的万年历中主要有:(1)使用图形用户界面来查询用用户所需的日期信息,符合日常软件使用规。 (2)按月份查询,实现了显示查询1901~2100年某月所有日期的阴阳历对照。 (3)并且添加了重大节日与星座等信息,界面采用日常的星期与月份结合的格式,方便查看与使用。 (4)编写万年历的课程设计,是为了使同学们更加了解高级程序设计语言的结构,掌握基本的程序设计过程和技巧,掌握基本的分析问题和利用计算机求解问题的能力,具备初步的高级语言程序设计能力。为后续各门计算机课程的学习和毕业设计打下坚实基础。 1.2设计任务及具体要求 利用JAVA语言编写的万年历系统采用了多种JAVA语句来实现多种功能。用户可以通过本程序的applet运行界面来查找一整年某月的农历和阳历,可以查找用户所想了解的某一天具体为星期几,并且可以看到一些重大节日的具体时间。 要求:满足设计万年历系统的目的,即当用户查询年份与月份时,系统就要将这一年的某一月份的阴历与阳历全部显示出来,并且附带这一月份的重大节日。当用户随意改动年份或月份时系统自动显示与星期对应的日期。用户点击日

C++万年历实验报告

《高级语言程序设计》课程设计报告万年历程序设计

(1)课程设计名称:C++万年历设计 (2)使用工具软件:Microsoft visual C++ (3)课程设计内容简介 1、以开关语句进行执行功能的选择,这些功能分别是: A、判断闰年; B、判断某天是星期几; C、判断某年的隶属生肖; D、输出某年的日历; E、输出某月的日期; F、退出系统; 2、建立类wnl,定义类的成员函数; void isleapyear(); //判断闰年,用于输出判断结果,以流的形式bool isleap(int year); //判断闰年,返回判断结果,用于计算天数int getdays(int year,int month,int day); //获取据第一天天数 void weekdays(int year,int month,int day);//获取星期几 void printyear(int year); //输出年的日历 void printyearmonth(int year,int month); //输出某年某月的日历 void animal(int year); //判断某年的生肖 int getyear(){return Year;} //返回私有成员的值 int getmonth(){return Month;} int getday(){return Day;} 3、定义私有成员:i nt Year,Month,Day; 4、定义类的对象:_wnl; 5、为类的成员函数填写代码,满足功能实现; 6、运行环境:控制台应用程序的源程序; (4)得意之处: 1、可以满足多功能实现,可以循环执行功能; 2、可以选择每行输出的月份数; 3、有欢迎界面; 4、客户输入错误会有提示; 5、使用了C语言的流的形式,判断闰年,提高执行速度; 6、使用I/O流控制头文件iomanip.h控制月份日历的输出,更加整齐;(5)创意的技术实现

电子万年历课程设计报告

课程:创新与综合课程设计 电子与电气工程系 实践教学环节说明书 题目名称电子万年历 院(系)电子与电气工程学院 专业电子信息工程 班级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) 班级: 电商B09-3 姓名: 周婷玉 设计题目:__________万年历________________ 设计时间: 2011-12-28 至2012-01-06 指导教师:_______ 郭慧____________ _____ 评语:_________________________________ _________________________________________ _________________________________________ _________________________________________ _________________________________________ 评阅成绩:___________评阅教师:_____________

课程设计说明书 1、课程设计的目的 a)掌握面向对象程序设计基本要素(封装、继承、多态) b)掌握JA VA语言常用类包及其常用方法和JA VA语言基本语法 c)掌握基于AWT的图形用户界面设计 i.常用标准控件的使用,如标签、按钮、菜单、文本框、单选按钮、 滚动条等。 ii.事件处理机制 d)掌握布局、对话框的使用 e)掌握发布JA VA应用程序 2、功能模块简介和系统结构图 需求分析:本程序的要求为: 1.使用图形用户界面 2.能够实现日期与星期的查询 3.实现当日的时间备忘 功能设计: 1.能以月历形式显示日期与星期 2.支持用户自己输入年份,并提供月份的下拉形式来选择查询 3.添加当日行事历,储存与清除功能

万年历实验报告

篇一:电子万年历实验报告 重庆电力高等专科学校 计算机科学系 实训报告 课程名称 实验名称 班级信息0911 姓名廖林单片机应用技术电子万年历 学号 200903020243 教师任照富 日期 2010-12-28 地点一教七机房一、实训任务: 1、看实训要求,计划出自己实训所要用元件,在网上查找资料。 2、思考仿真原理图,然后画出来(具体i/o口暂时不确定)。 3、在网上找一些程序,然后自己改一些,进行编译。 4、编译无误之后,跟原理图相联系,完成最终的仿真图。 5、进行最后的改写,把程序和仿真原理图确定下来。 6、根据仿真图形,制作出实物图。 7、在实物制作过程中,进行电路检查和最后的调试。 二、实训要求: 要求:能显示阳历的年、月、日、星期、时、分、秒; 能显示阴历的年、月、日; 能进行日期、时间的调整。 扩展:能显示当前温度; 有闹钟功能(至少2个) 选择ds1302时钟芯片,温度传感器采用ds18b20数字温度传感器。 三、实训环境(软件、硬件): 软件:keil protues7.5 硬件:计算机2单片机的应用 四、实训意义:在这快速发展的年代,时间对人们来说是越来越宝贵,在快节奏的生活时,人们往往忘记了时间,一旦遇到重要的事情而忘记了时间,这将会带来很大的损失。因此我们需要一个定时系统来提醒这些忙碌的人,而数字化的钟表给人们带来了极大的方便。由于单片机具有灵活性强、成本低、功耗低、保密性好等特点,所以电子日历时钟一般都以单片机为核心,外加一些外围设备来实现。 电子万年历作为电子类小设计不仅是市场上的宠儿,也是是单片机实验中一个很常用的题目。因为它的有很好的开放性和可发挥性,因此对作者的要求比较高,不仅考察了对单片机的掌握能力更加强调了对单片机扩展的应用。而且在操作的设计上要力求简洁,功能上尽量齐全,显示界面也要出色。所以,电子万年历无论作为竞赛题目还是毕业设计题目都是很有价值。对于这个实验项目,我们还要有一些其他的基本知识掌握和意义:(1)在学习了《数字电子技术》和《单片机原理及接口技术》课程后,为了加 深对理论知识的理解,学习理论知识在实际中的运用,为了培养动手能力和解决实际问题的经验,了解专用时钟芯片ds1302,并会用ds1302芯片开发时钟模块,应用到其他系统中去。熟悉keil和protues软件调试程序和仿真. (2)通过实验提高对单片机的认识; (3)通过实验提高焊接、布局、电路检查能力; (4)通过实验提高软件调试能力; (5)进一步熟悉和掌握单片机的结构及工作原理。

万年历组装实训报告

—實訓報告—(单片机实训报告)学院系别:机电工程学院 专业班级:电信BK31901 设计学生:张欢 指导老师:陈老师、阎老师 设计时间:2012年10月19日

万年历组装与调试及单片机实训报告 2012-10-219| 电信BK31901班张欢 一、实习时间:2012年10月15日至2012年10月19日 二、实习地点:机电实训楼 三、实习目的与要求: 1熟练C语言中if语句、for语句、while语句的使用。 2.掌握万年历的基本原理,学会分析基本的电路原理图。 3.学会利用Keil软件和proteus软件进行设计。 四、实习内容: 1.利用Keil软件对数码管(秒表)液晶(时钟)编程,并进行编译和链接。 2.掌握AT89C51芯片I/O口的功能及作用。 3.灵活运用C语言对中断、定时计数器及数码管进行编程设计。 4认真掌握proteus仿真软件,并用proteus画出电路图软件进行仿真。 5.掌握万年历的工作原理,学会贴片电容,贴片电阻,晶振集成块的识别与测试,进一步掌握和熟练焊接技术。 五、运用Keil软件对数码管及液晶进行编程设计并用proteus仿真 1.用数码管显示0—60的源程序: #include #define uint unsigned char #define uchar unsigned int sbit K1=P3^7; uchar i,Second_Counts,Key_Flag_Idx; bit Key_State; uchar code DSY_CODE[]={0x3f,0x06,0x5b,0x4f,0x66, 0x6d,0x7d,0x07,0x7f,0x6f}; void DelayMS(uint x) { uchar t; while(x--) for(t=0;t<500;t++);} void Key_Byent_Handle()

万年历电子钟设计报告

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

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.功能模块图

万年历课程设计实验报告

百度文库- 让每个人平等地提升自我 黄淮学院 JAVA 课程设计报告 题目:《万年历》课程设计 学院:信息工程学院 专业:计算机科学与技术 班级:计科1101班 指导老师: 二0一三年六月

目录 前言 (2) 1需求分析 (2) 1.1需求分析 (2) 1.2功能设计 (3) 2.概要设计 (3) 2.1程序设计思路 (3) 3.流程图 (5) 4.程序的主要类,和说明: (6) C (17) F (18) G (18) I (19) M (19) S (19) U (20) 类分层结构 (20) 接口分层结构 (21) 前言 Java的前身是Oak,它一开始只是被应用于消费性电子产品中。后来它的开发者们发现它还可以被用于更大范围的Internet上。1995年,Java语言的名字从Oak编程了Java。1997年J2SE1.1发布。1998年J2SE1.2发布,标志Java2的诞生。十多年来,Java编程语言及平台成功地运用在网络计算及移动等各个领域。Java的体系结构由Java语言、Java class、Java API、

Java虚拟机组成。它具有简单、面向对象、健壮、安全、结构中立、可移植和高效能等众多优点。Java支持多线程编程,Java运行时系统在多线程同步方面具有成熟的解决方案。Java的平台标准有Java ME,Java SE和Java EE。Java发展到今天,它的卓越成就及在业界的地位毋庸置疑。目前在众多的支持Java的开发工具中主要的7有Java Development Kit,NetBeans,Jcreator,JBuilder,JDeveloper和Eclipse等。其中Java Development Kit 简称JDK是大多开发工具的基础。以上的每种开发工具都 有优缺点,对于开发者来说,重要的是要根据自己的开发规模、开发内容和软硬件环境等因素来选择一种合适的开发工具。 1需求分析 1.1需求分析 本程序的要求为:1.使用图形用户界面;2.本程序能够实现日期与星期的查询。 1.2功能设计 本程序要构建的万年历程序,其功能有以下几个方面: (1)实现图形界面,通过简单的单击按钮能实现查询日期操作。 (2)能以月历形式显示日期与星期。 (3)提供月份的下拉形式菜单来选择月份。 2.概要设计 2.1程序设计思路 (1)日期类的设计: 设定日期年的方法 public void changeYear(String year){ cal.set(Calendar.YEAR,Integer.parseInt(year)) ; updateCalendar();//每次修改年后,更新日期

基于单片机的万年历实习报告

基于单片机的万年历实习报告

————————————————————————————————作者: ————————————————————————————————日期:

桂林理工大学信息科学与工程学院“电子系统设计创新与实践” 课程设计(实习)报告 题目: 具有温湿度测量功能的万年历设计专业(方向):电子信息工程 班级:电信二班 指导老师:蒋存波

2016年3月27日 目次 1. 绪论----------------------------------------------- 1 2. 总体设计方案--------------------------------------- 2 2.1 技术方案比较----------------------------------- -- 2 2.2总体技术方案------------------------------------- 3 3.硬件系统设计---------------------------------------- 4 3.1 硬件总体原理框图--------------------------------- 4

3.2关键元件介绍-------------------------------------- 4 3.2.1 LCD602显示屏-------------------------------- 4 3.2.3 DS1302时钟芯片------------------------------ 7 3.2.2 SHT10温湿度感应器--------------------------- 9 3.3 硬件设计------------------------------------------ 10 3.3.1 复位电路设计-------------------------------- 10 3.3.2晶振电路设计-------------------------------- 10 3.3.3 时钟芯片电路设计---------------------------- 10 3.3.4 温湿度感应器模块电路设计-------------------- 11 3.3.5按键模块电路设计---------------------------- 11 3.3.6 LCD1602显示模块电路设计--------------------- 11 3.3.7 电量检测报警电路设计------------------------- 12 3.3.8 蜂鸣器报警电路设计--------------------------12 3.3.6 总体电路原理图------------------------------- 12 4. 软件系统设计------------------------------------------13 4.1 软件功能设计-------------------------------------- 13 4.2 程序设计总体方案----------------------------------13 4.2.1 总体设计思路--------------------------------- 13

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

单片机课程设计报告 电子万年历设计 姓名:建强 学号: 专业班级: 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课程设计总结与体会.......................................... .....错误!未定义书签。 参考文献...........................................................错误!未定义书签。 附录一:系统电路图.................................................错误!未定义书签。 附录二:系统程序...................................................错误!未定义书签。

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 ;

万年历时钟实验报告

万年历时钟设计报告 专业: 年级: 姓名: 学号: 指导老师:

万年历的设计与仿真 一、实验目的; 电子时间显示器现在在任何地方都有涉及到,例如电子表和商场、车站的时间显示等等,所以它是一种既方便又实用的技术,而我们所做的万年历则是在它的基础上做出来的,通过万年历的制作,我们可以进一步了解计数器的使用,了解各个进制之间的转换,以及他的任意进制计数器的构成方法等,并且进一步了解74LS160以及74ls90的性质,以及门电路的使用等。 二、实验要求: A. 设计一个能显示“年月日”、“星期”、“时分秒“的十进制万年历时钟显示器; B. 要求要满足一天24小时,一小时60分,一分60秒; C. 关于显示星期天时,要用8来代替; D. 年月日显示时,要满足大月31天,小月30天,闰年二月29天,平年二月28天; 三、实验器材: ISIS 仿真软件、一些常用逻辑门(与门、非门,或门等); 本实验要用到得芯片有:74ls160 74ls161 74ls160 74ls160: 74ls160是一块十进制上升沿触发计数器如右下图: 其中MR 是异步清零端,LOAD 是同步置数端 CLK 是时钟脉冲输入端;D0、D1、D2、D3是 置数输入端,Q0、Q1、Q2、Q3是计数输出端, RCO 是进位端; 74ls161与74ls160的功能基本相同,74ls160是十进制的,而74ls161是十六进制的。 异步清零端 进位端 同步置数端

置九端 74ls90: 74ls90是一块二—五—十进制计数器其图如下: 其中 2、3端为置零端,6、7端为置九端, CKB 为五进制脉冲输入端,CKA 二进制脉冲输入端, ,Q0、Q1、Q2、Q3是计数输出端; LED 七段显示器: 其功能是将BCD 码以十进制形式显示出来,其图如下: 四、万年历时钟构架图: 万年历时钟显示器需要有显示“年”、“月”、“日”、“星期”、“时”、“分” “秒”的功能,又根据它们之间的进位和置位关系 可知,它们主要有以下各部分组成,其整个电路的 框架图如下图所示: 五进制脉冲输入端 置零端 二进制脉冲输入端

EDA实训万年历

《EDA技术与应用》实训报告指导教师:

实训题目:数字日历 1. 系统设计 1.1 设计要求 1.1.1 设计任务: 设计一个数字日历电路 1.1.2 技术要求: ⑴用Verilog HDL 语言设计一个数字日历。 ⑵数字日历能正确显示年、月、日、时、分和秒。 ⑶通过开关分别控制对年、月、日或时、分、秒校对及自动切换、,并且运用 按钮对年、月、日或时、分、秒校对。 ⑷通过按钮对数码管全部清零。 ⑸拓展功能:添加时钟闹钟功能,并通过LED管显示。 1.2 方案比较: 由于这次实验用到的仪器是EDA实训仪,数码管个数只有八个,因此不能同时显示年、月、日、时、分、秒。但是实训仪的LED管只有12个,因 此在拓展功能时12 小时做一个周期的整点记时显示。在多次的测试和修改 后,得到此最好方案。 1.3 方案论证 1.3.1 总体思路: 通过EDA S程的学习,可知运用Verilog HDL语言设计一个数字日历 括计时器模块(jsq60、j sq24 )、年月日模块(nyr2009)、控制模块 (conr)、校时选择模块(mux_4、显示选择模块(mux_16和闹钟定时模块 (LED1)、闹钟灯模块(nzd);然后将各个模块连接起来画成原理图再下载 到实训仪上,调节开关及按钮来实现数字日历的功能。 1.3.2 设计方案: 总原理图如下:

2 ?各个模块程序的设计 (1)设计一个分频器进行20MHz分频得到实训所需的1Hz的频率 分析:这是个20MHZ寸钟的分频器,将原来EDA实训仪提供的频率为20MHZ 的时钟转换成频率1HZ的时钟,然后输出到有需要的端口,触发模块起作用。 ⑵分别设计一个能显示年月日和时分秒的程序 校准年月日和秒分时的原理图如下: 分析:①当k=0时,开关j1,j2,j3校秒时分然后将信号分别送到jsq24模块的jm(校秒)、jf (校分)、js (校时)。 ②当k=1时,开关j1,j2,j3校年月日然后将信号分别送到nyr2009模块的jr(校日)、jy (校月)、jn (校年)。 计算年月日的模块如下: FIHI Ilk m ■!:! 下町nr TUT TFT) H'j 31 , mzitc' FIH iOS H<匚; rm c 计七匚― H ?- i-im LTJ rn ?■ FIM Cl | r-NLCs' M'l t Fl处i/l FIW反

接口实验报告

接口实验课程结课报告 学号、专业:控制工程 1508202024 姓名:** 报告题目:基于STM32的实时时钟设计 指导教师:潘明 所属学院:电子工程与自动化学院 成绩评定 教师签名 桂林电子科技大学研究生院 2016年6月4日

摘要 本设计以STM32F103芯片为控制核心,利用其内部的RTC设计了一个实时时钟。本系统主要由以下几个部分组成:微处理器,实时时钟模块,显示模块,调节模块。其中MCU 采用STM32F103芯片,实时时钟采用RTC实时时钟,显示模块为4.3寸的TFTLCD显示屏,采用独立按键调节。另外整个系统是在系统软件控制下工作的,能实现年、月、日、时、分、秒的实时显示及闹钟功能,并增加了温度显示。 关键字:STM32F103;实时时钟(RTC);TFTLCD显示屏

Abstract This design with STM32F103 chip as the control core, using its internal RTC design a real-time clock. The system is mainly composed of the following parts: microprocessor, real-time clock module, display module, control module. MCU using STM32F103 chip, real-time clock using RTC , display module use the 4.3 inch TFTLCD display screen, using independent buttons to adjust . In addition, the whole system is under the control of the system software,and accomplish the year, month, day, hour, minute, second real-time display and alarm clock function,and added to temperature display. Key words: STM32F103;real time clock(RTC); TFTLCD display screen

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

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

指导教师签字: 年月日

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

Java课程设计-万年历

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

课程设计成绩评定表 学生姓名学号成绩专业班级起止时间 设计题目 指导教师评语学习态度:端正□较端正□一般□较差□ 学习纪律:好□较好□一般□较差□ 出勤情况:好□较好□一般□较差□ 程序设计:好□较好□一般□较差□ 动手能力:强□较强□一般□较差□ 团队精神:好□较好□一般□较差□ 创新意识:强□较强□一般□较差□ 课程设计完成情况:优秀□好□一般□较差□ 课程设计报告完成情况:优秀□好□一般□较差□ 指导教师: 年月日

目录 1.课程设计目的 (1) 2.需求分析 (1) 3.总体设计 (1) 4.详细设计 (1) 5.软件测试 (10) 6.课程设计总结 (11)

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

基于PIC单片机电子万年历实验报告

实验报告 姓名:文可鑫学号:20072121010 专业:电子信息工程1编写一个秒表程序,使用查询方式。 list p=16f877a include"p16f877a.inc" include count equ 20h count_s equ 21h org 000h start nop call InitSPI banksel OPTION_REG movlw 04h movwf OPTION_REG banksel INTCON movlw 00h movwf INTCON movlw 06h movwf TMR0 movlw d'131' movwf count movlw 00h movwf count_s main btfss INTCON,T0IF goto $-1 movlw 06h movwf TMR0 bcf INTCON,T0IF incf count,f btfss STATUS,Z goto main movlw d'131' movwf count incf count_s,f movf count_s,w sublw d'60' btfsc STATUS,Z clrf count_s movf count_s,w call Bin2BCD movf DIS_TEMP2,w call CHAR_CODE1

movwf DIS_TEMP2 movf DIS_TEMP1,w call CHAR_CODE1 movwf DIS_TEMP1 call LEDlight nop goto main CHAR_CODE1;共阴极字符表 ADDWF PCL,F RETLW 3fh ;0 RETLW 06h ;1 RETLW 5bh ;2 RETLW 4fh ;3 RETLW 66h ;4 RETLW 6dh ;5 RETLW 7dh ;6 RETLW 07h ;7 RETLW 7fh ;8 RETLW 6fh ;9 Bin2BCD CLRF DIS_TEMP1 MOVWF DIS_TEMP2 Ttenth MOVLW .10 SUBWF DIS_TEMP2,W BTFSS STATUS,C GOTO OUT MOVWF DIS_TEMP2 INCF DIS_TEMP1,F GOTO Ttenth OUT RETURN end 2编写一个秒表程序,使用中断方式。list p=16f877a include"p16f877a.inc" include count equ 20h count_s equ 21h W_temp equ 23H STA_temp equ 24H org 000h goto start org 004h

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