我有内容 把你的邮箱留下来吧 我给你,你是自动化的么?本回答由提问者推荐.... 祝你好运``
您好,您要的是不是这个?引言:电子万年历作为电子类小设计不仅是市场上的宠儿,也是是单片机实验中一个很常用的题目。因为它的有很好的开放性和可发挥性,因此对作者的要求比较高,不仅考察了对单片机的掌握能力更加强调了对单片机扩展的应用。而且在操作的设计上要力求简洁,功能上尽量齐全,显示界面也要出色。所以,电子万年历无论作为比赛题目还是练习题目都是很有价值。一.方案论证与设计1.控制部分的方案选择a)用可编程逻辑器件设计。可采用ALTERA公司的FLEX10K系列PLD器件。设计起来结构清晰,各个模块,从硬件上设计起来相对简单,控制与显示的模块间的连接也会比较方便。但是考虑到本设计的特点,EDA在功能扩展上比较受局限,而且EDA占用的资源也相对多一些。从成本上来讲,用可编程逻辑器件来设计也没有什么优势。b)用凌阳16位单片机设计。凌阳16位单片机有丰富的中断源和时基,方便本实验的设计。它的准确度相当高,并且C语言和汇编兼容的编程环境也很方便来实现一些递归调用。I/O口功能也比较强大,方便使用。用凌阳16位单片机做控制器最有特色的就是它的可编程音频处理,可完成语音的录制播放和识别。本回答由网友推荐
我的课程设计报告,希望对你有帮助!成绩 课程设计报告册20 09 ~ 20 10 学年 第 2 学期课程名称: C语言课程设计 任课教师: 班 级: B090602 姓 名: 臧富跃 学 号: B09060243 20 10 年 6 月一.课程设计题目:万年历二.题目要求:(1) 程序运行的开始显示当前份的年年历(2) 能够按照输入的年份显示月历(3) 当输入小于1900的年份时退出程序三.题目分析:课程设计题目的分析,功能模块的划分。(1)首先要根据起始年份判断每年的第一天是周几,然后根据周几控制每月的第一行输出的空格!(2)判断每年是否为闰年,并设置相关的2月份的天数!四.模块设计(流程图):各个模块的设计说明,包括模块的名称、功能、入口参数说明与返回值说明,以及各个模块实现过程的说明(必要时画出流程图)。(1)main函数: 该函数为程序入口,通过一个do-while来实现当输入年数小于1900时程序退出,否则main函数调用calculate函数,并将输入年数作为参数传递给claculate函数!(2)calculate函数:该函数有一个参数,为main函数传递进来的输入年份,返回类型为void, 该函数负责从main函数中承接输入年份并显示出来,然后调用standpirnt函数(3)standpirnt 函数:该函数有一个参数,为calculate函数传递进来的输入年份,返回类型为void,该函数负责实现标准的日历格式输出,根据循环次数设定每月的天数,并且通过tag与tag2来控制每个月的月首的空格!并且通过调用dayOfweek获得输入年份的第一天是周几,并且输出相应空格!(4)dayOfweek函数:该函数有一个参数,是输入的年数,返回值为该年的第一天是周几,该函数负责返回输入年数的第一天是周几,并输出一个与周几匹配的空格数!五.源代码:各个模块实现的源代码。main 函数:void main() {int input = 0;int jude = 1;do {printf("please input a year!\n");scanf("%d",&input);if(input <= 1900) { printf("DATA ERROR !!!"); jude = 0;}printf("the year is %d\n",input);//这里判断是否闰年!if(jude)calculate(input);} while(jude);}*************************************************************Calculate 函数://该函数负责显示年份并且调用standpirnt函数!void calculate(int year) {printf("%d\n",year);standpirnt(year);// dayOfweek(year);}standpirnt函数void standpirnt(int year){//这里测试日历格式输出!int date[31] = {0};for(int i=0; i<31; i++) { date[i] = i+1;}int input = year;int tag = 0;int tag2 = 0;int leap = 0;int ccyd = 0;int bug = 0;for(int j=0; j<12; j++) { printf("******************************\n"); printf(" %d 年 %d 月\n",input,(j+1)); printf("******************************\n"); printf(" 日 一 二 三 四 五 六\n"); //设定月份的天数! if(input % 4 ==0 || input %100 ==0 && input%400 != 0) ccyd = 1; switch((j+1)) { case 1: leap = 31;break; case 2: ccyd?leap = 29:leap = 28;break; case 3: leap = 31;break; case 4: leap = 30;break; case 5: leap = 31;break; case 6: leap = 30;break; case 7: leap = 31;break; case 8: leap = 31;break; case 9: leap = 30;break; case 10: leap = 31;break; case 11: leap = 30;break; case 12: leap = 31;break; }//这里控制跳转换行! for(int k =0; k<leap; k++) { if(k==0 && j == 0) { tag = dayOfweek(input); if(tag == 7) tag = 0; } else if(k==0) { switch(tag2) { case 0: printf(" "); break; case 1: printf(" "); break; case 2: printf(" "); break; case 3: printf(" "); break; case 4: printf(" "); break; case 5: printf(" "); break; case 6: printf(""); break; } } printf("%3d",date[k]); tag ++; //新加的if(date[k] == leap) { tag2 = tag - 1;} if(tag==7) { printf("\n"); tag = 0; } } printf("\n");}}dayOfweek 函数://该函数负责判断输入年数的第一天是周几!int dayOfweek(int dayy) {int value = 0;int input2 =dayy ;int start = 1990;int days = 1;days = input2 - start;int total = 0;int years[100000] = {0};for(int i=0; i<days; i++) { years[i] = start + i;if(years[i] % 4 == 0 || (years[i] %100 ==0 && years[i] %400 !=0)) { //printf("是闰年!"); total += 366; } else{ //平年! total += 365; }}int week = total % 7;switch(week) {case 0: value = 1; printf(" "); break;case 1: value = 2; printf(" "); break;case 2: value = 3; printf(" "); break;case 3: value = 4; printf(" "); break;case 4: value = 5; printf(" "); break;case 5: value = 6; printf(" "); break;case 6: value = 7; printf(""); break;}return value;}六.测试与调试:设计系统及各模块的测试方法、测试方案。(1)完成main函数后,通过输入小于1900函数观察程序是否退出来测试程序main模块是否正常!(2)完成calculate函数后,在main中调用calculate函数,在calculate中输出相关信息来判断calculate函数是否正常!(3)完成standpirnt函数后,在calculate函数中调用,观察在控制台输出的日历格式是否正确!(4)完成dayOfweek函数后,在standpirnt函数中调用,最终观察输出情况!七.课程设计总结:(1)通过该课程设计,增强了对C语言中函数调用,与换行跳转的理解与掌握。(2)加深了对面向过程编程思想的理解!(3)对万年历的具体实现有了深刻的理解!本回答由提问者推荐
一 课题任务:以FPGA适配板为核心,设计并制作一款数字万年历。此数字万年历以“日”为基本计时单位,用8只数码管适时显示“年、月、日”。此万年历具有区分大小月、调整日期、生日提醒等功能。 二 课题研究现状及发展趋势:在当代繁忙的工作与生活中,时间与我们每一个人都有非常密切的关系,每个人都受到时间的影响。为了更好的利用我们自己的时间,我们必须对时间有一个度量,因此产生了钟表。钟表的发展是非常迅速的,从刚开始的机械式钟表到现在普遍用到的数字式钟表,即使现在钟表千奇百怪,但是它们都只是完成一种功能——计时功能,只是工作原理不同而已,在人们的使用过程中,逐渐发现了钟表的功能太单一,没有更大程度上的满足人们的需求。因此在这里,我想能不能把一些辅助功能加入钟表中。在此设计中所设计的钟表不但具有普通钟表的功能,它还能实现额外的功能:世界时、农历显示。人类不断研究,不断创新纪录。发展到现在人们广泛使用的万年历。万年历是采用数字电路实现对.时,分,秒.数字显示的计时装置,广泛用于个人家庭,车站, 码头办公室等公共场所,成为人们常生活中不可少的必需品,由于数字集成电路的发展和石英晶体振荡器的广泛应用,使得数字钟的精度,远远超过老式钟表, 钟表的数字化给人们生产生活带来了极大的方便,而且大大地扩展了钟表原先的报时功能。诸如定时自动报警、按时自动打铃、时间程序自动控制、定时广播、自动起闭路灯、定时开关烘箱、通断动力设备、甚至各种定时电气的自动启用等,但是所有这些,都是以钟表数字化为基础的。因此,研究万年历及扩大其应用,有着非常现实的意义。它可以对年、月、日、周日、时、分、秒进行计时,对于数字电子万年历采用直观的数字显示,可以同时显示年、月、日、周日、时、分、秒等信息,还具有时间校准等功能。综上所述此万年历具有读取方便、显示直观、功能多样、电路简洁、成本低廉等诸多优点,符合电子仪器仪表的发展趋势,具有广阔的市场前景。三 设计方案:1.工作原理...................有做好的设计可以给你参阅的!!!!!!本回答由提问者推荐可以用FPGA内嵌的MCU来完成,不过我猜你的老师应该是为了让你们做除法吧(,所以还是用counter适合些
论文很简单啊,把你设计的这个东西的前因后果写完整理整理就可以了。比如你搞这个东西的动机是什么,目前市场状态是怎么样,你用了几种方案,比较几种方案你所采用的方案的优点是什么,不足又是什么。主要的分析计算等。基本上就这样就可以了。论文切忌空动和大。小而实为首选。本回答由提问者推荐还是靠自己写吧!本回答被网友采纳来找我,我帮你做!
50分我来要了,告诉你一个地址吧,你可以到大学生部落家园里面去下载,哪里好多的毕业设计和毕业论文下载的,都是免费的哦,记得给我点分
AT89C51单片机多功能电子万年历的毕业设计和毕业论文、我们有, 完整的
$留个标记,绝对救急$带着你的问题和Email来找我,$如有进一步需求 ,可以与我们取得联系,祝你顺利毕业.----此回复针对所有需要此源码的页面访问和围观者有效.$带着你的问题和Email来找我,
函数 万年历 钟表 单片机 功能 年份 模块