版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
河南理工大学电子设计综合训练报告作息时间控制器姓名:李晓宇付道义学号:310708020814310708020810专业班级:自动化07-8指导老师:谭兴国所在学院:电气工程与自动化学院2010年7月2日摘要本设计是作息时间控制器,由单片机最小系统、按键模块、数码管显示模块、闹钟模块组成。采用单片机AT89S52与12MHZ晶振相连;通过按键KI、K2、K3、K4控制时间的校正、闹钟时间设定;数码管显示模块用来显示时间,显示格式为“时分”,并能够根据需要显示年、月、日,由数码管小数点闪动作为秒计数;闹钟模块进行到时提醒并作出相应动作:发光二极管闪亮,同时播放音乐。本设计中,利用单片机定时器设计时间计时处理,采用单片机内部的T0定时器溢出中断来实现,工作在T1方式下,定时50微妙,则连续中断20次即为一秒,得到了我们所需时间的最小单位秒,60秒为一分,60分为一小时,24小时为一天,1、3、5、7、8、10、12月为31天,4、6、9、11月为30天,闰年二月为29天,非闰年二月为28天,12个月为一年。采用这种时间设计思想来进行时间设置。在整个系统的设计中,单片机的P0口输出显示信号,P1口按键输入控制、P2口用来扫描,为动态显示、P3口闹钟模块。该设计用C51编写程序,由于汇编语言的移植性比较差,而C语言则比较灵活。许多子函数都可以直接移植过去。作息时间控制器作息时间控制器#0x93,0xF0,//00233HZ,1#0x73,0xF1,//00247HZ,20x49,0xF2,//00262HZ,2#0x07,0xF3,//00277HZ,30xC8,0xF3,//00294HZ,40x73,0xF4,//00311HZ,4#0x1E,0xF5,//00330HZ,50xB6,0xF5,//00349HZ,5#0x4C,0xF6,//00370HZ,60xD7,0xF6,//00392HZ,6#0x5A,0xF7,//00415HZ,70xD8,0xF7,//00440HZ1//12TOC\o"1-5"\h\z0x4D,0xF8,//00466HZ1#//130xBD,0xF8,//00494HZ2//140x24,0xF9,//00523HZ2#//150x87,0xF9,//00554HZ3//160xE4,0xF9,//00587HZ4//170x3D,0xFA,//00622HZ4#//180x90,0xFA,//00659HZ5//190xDE,0xFA,//00698HZ5#//200x29,0xFB,//00740HZ6//210x6F,0xFB,//00784HZ6#//220xB1,0xFB,//00831HZ7//230xEF,0xFB,//00880HZ'10x2A,0xFC,//00932HZ'1#0x62,0xFC,//00988HZ'20x95,0xFC,//01046HZ'2#0xC7,0xFC,//01109HZ'30xF6,0xFC,//01175HZ'40x22,0xFD,//01244HZ'4#0x4B,0xFD,//01318HZ'50x73,0xFD,//01397HZ'5#0x98,0xFD,//01480HZ'60xBB,0xFD,//01568HZ'6#0xDC,0xFD,//01661HZ'7//35};//音乐符号串解释函数changedata(uchar*song,uchar*diao,uchar*jie){uchari,i1,j;chargaodi;ucharbanyin;、ucharyinchang;//Oo3Qucharcodejie7[8]={0,12,14,16,17,19,21,23};*diao=*song;for(i=0,i1=0;;){gaodi=0;banyin=0;yinchang=4;if((*(song+i)=='|')||(*(song+i)==''))i++;switch(*(song+i)){case',':gaodi=-12;i++;break;case'、':gaodi=12;i++;break;}if(*(song+i)==0){*(diao+i1)=0;*(jie+i1)=0;return;}j=*(song+i)-0x30;i++;j=jie7[j]+gaodi;yinc:switch(*(song+i)){case'#':i++;j++;gotoyinc;case'-':yinchang+=4;i++;gotoyinc;case'_':yinchang/=2;i++;gotoyinc;case'.':yinchang=yinchang+yinchang/2;i++;gotoyinc;}*(diao+i1)=j;*(jie+i1)=yinchang;i1++;}}////奏乐函数voidplay(uchar*songdata){uchari,c,j=0;uintn;uchardiaodata[40];ucharjiedata[40];changedata(songdata,diaodata,jiedata);TR1=1;for(i=0;diaodata[i]!=0;i++){tl0_f=freq[diaodata[i]*2];th0_f=freq[diaodata[i]*2+1];for(c=0;c<jiedata[i];c++){for(n=0;n<24;n++){scankey();if(y==0){TR1=0;return;}display();}}TR1=0;for(n=0;n<500;n++);TR1=1;}TR1=0;}voidtime0(void)interrupt1{TH0=0x3c;TL0=0xb0;cnt++;if(y==1&&(set_h==h&&set_m==m))sd=~sd;elsesd=1;if(cnt==20){sec++;cnt=0;if(sec==60){sec=0;m++;if(m==60){m=0;h++;if(h==24){h=0;day++;switch(month){case1:if(day==32){month++;day=1;}break;case2:if(year%4==0){if(day==30){month++;day=1;}}else{if(day==29){month++;day=1;}}break;case3:if(day==32){month++;day=1;}break;case4:if(day==31){month++;day=1;}break;case5:if(day==32){month++;day=1;}break;case6:if(day==31){month++;day=1;}break;case7:if(day==32){month++;day=1;}break;case8:if(day==32){month++;day=1;}break;case9:if(day==31){month++;day=1;}break;case10:if(day==32){month++;day=1;}break;case11:if(day==31){month++;day=1;}break;case12:if(day==32){month++;day=1;}break;}if(month==13){month=1;year++;}}}}if(x==0)bianhuan1();}}timer1()interrupt3{TL1=tl0_f;TH1=th0_f;//调入预定值BEEP=~BEEP;//取反音乐输出IO}voidmain(void){init();while(1){display();scankey();if(y==1&&(set_h==h&&set_m==m))play(mamahao);elseBEEP=0;}}voidinit(void){BEEP=0;TMOD=0x11;TH0=0x3c;TL0=0xb0;ET0=1;TR0=1;ET1=1;TR1=0;EA=1;}voiddisplay(void){P2=0xfe;P0=a[qian];if(x%2==1&&cnt>=10)P0&=0x00;delay(20);P2=0xfd;P0=a[bai];if(x%2==1&&cnt>=10)P0&=0x00;elseif(x==0&&cnt>=10)P0|=0x80;delay(20);P2=0xfb;P0=a[shi];if(((x%2==0&&x!=0)||x==7)&&cnt>=10)P0&=0x00;delay(20);P2=0xf7;P0=a[ge];if(((x%2==0&&x!=0)||x==7)&&cnt>=10)P0&=0x00;delay(20);}voidm_choose(void){switch(month){case1:if(day==32)day=1;elseif(day==0)day=31;break;case2:if(year%4==0){if(day==30)day=1;elseif(day==0)day=29;}else{if(day==29)day=1;elseif(day==0)day=28;}break;case3:if(day==32)day=1;elseif(day==0)day=31;break;case4:if(day==31)day=1;elseif(day==0)day=30;break;case5:if(day==32)day=1;elseif(day==0)day=31;break;case6:if(day==31)day=1;elseif(day==0)day=30;break;case7:if(day==32)day=1;elseif(day==0)day=31;break;case8:if(day==32)day=1;elseif(day==0)day=31;break;case9:if(day==31)day=1;elseif(day==0)day=30;break;case10:if(day==32)day=1;elseif(day==0)day=31;break;case11:if(day==31)day=1;elseif(day==0)day=30;break;case12:if(day==32)day=1;elseif(day==0)day=31;break;}voidset_time(void){qian=set_h/10;bai=set_h%10;shi=set_m/10;ge=set_m%10;}voidset_day(void){qian=month/10;bai=month%10;shi=day/10;ge=day%10;}voidbianhuan(void){qian=year/1000;bai=year%1000/100;shi=year%100/10;ge=year%10;}voidbianhuan1(void){qian=h/10;bai=h%10;shi=m/10;ge=m%10;}voidscankey(void){if(K1==0){delay(20);if(K1==0){while(K1==0);x++;if(x==3)set_time();elseif(x==5)set_day();elseif(x==7)bianhuan();elseif(x==8){x=0;bianhuan1();}}}if(K2==0){delay(20);if(K2==0){while(K2==0);switch(x){case0:break;case1:h++;if(h==24)h=0;bianhuan1();break;case2:m++;if(m==60)m=0;bianhuan1();break;case3:set_h++;if(set_h==24)set_h=0;set_time();break;case4:set_m++;if(set_m==60)set_m=0;set_time();break;case5:day++;m_choose();set_day();break;case6:month++;if(month==13)month=1;set_day();break;case7:year++;bianhuan();break;}}}if(K3==0){delay(20);if(K3==0){while(K3==0);y++;if(y==2)y=0;}}if(K4==0){delay(20);if(K4==0){while(K4==0);switch(x){case0:break;case1:h--;if(h==255)h=23;bianhuan1();break;case2:m--;if(m==255)m=59;bianhuan1();break;case3:set_h--;if(set_h==255)set_h=23;set_time();break;case4:set_m--;if(set_m==255)set_m=59;set_time();break;case5:day--;m_choose();set_day();break;case6:month--;if(month==0)month=12;set_day();break;case7:year--;bianhuan();break;}}}}voiddelay(uchart)//延时0.1毫秒{uchari;do{for(i=0
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 重冶固体原料输送工岗前应急综合考核试卷含答案
- 绘图仪器制作工岗位实习生考核试卷含答案
- 福建省厦门大学数字媒体艺术专业虚拟现实专项训练题库及答案
- Python电商数据分析与应用(微课版)教学大纲
- 事业编博物馆岗易错题试卷
- 农业岗2026面试模拟练习文旅岗含答案
- 2026年江苏省初中英语八年级下册第5单元过去完成进行时课件
- 新《固废法》及危废规范化管理培训考试试卷及答案
- 2026年新《固体废物污染环境防治法》培训试题及答案
- 船舶轮机考试题及答案
- 高盛-变革中的中国:中企出海浩荡征程从边缘市场走向核心腹地(摘要)-20260914
- 2025年电子产品质量标准评估研究报告
- 完整版施工现场生活垃圾处置方案
- GJB1406A-2021产品质量保证大纲要求
- 产后胎盘植入课件
- 消息类稿件培训课件
- DB15T 970-2024 居住物业管理服务规范
- 普通逻辑-杜国平-【教材】普通逻辑(全国)
- 人教版2024版历史八年级上册第四单元 第11课《五四运动》说课稿
- 供应商入驻管理规定
- 新星石油公司新疆库车绿氢示范项目环评报告
评论
0/150
提交评论