ds12c887电子芯片的应用_本科毕业设计(编辑修改稿)内容摘要:

2 def i tie SECOND REG OxO0 Static uchar data REGISTER ADD Stat ic uchar Set c1ock=O: Static bit bdata va1ue set=1: Static bit bdata f Set=O: Static bit bdata f Set corl=O: star iC uchar up clock=O: Static bit bdata va1ue up=1: static bit bdata f _ up=O: static bit bdata f _up— con=O; static uchar down _clock=O; static bit bdata . value_down=1: static bit bdata f _down=O: static bit bdata f _down_con=O; uchar code tab _dis[11]={OxcO, Oxf9, Oxa4, OxbO, 0x99, 0x92, 0x82, Oxf8, Ox80, Ox90, Oxff):/ *消隐信号 */ void main(void)//主函数 { uchar data verdict _set=O apart_year, apart _century; int _enable; //开总中断 timerO _initialize 0://定时器 0 初始化 int _initialize0; //外部中断初始化 whi1e(1) { set if (f _con==1)// set 键处理 { f _set _con=O: REG I STER _ ADD++: i f (REGISTER_ADD6) REG I STER _ ADD=O: ) if (f_up_con==1)// up 键处理 { f _up _con=O; write _timing(B _REGISTER, Ox8f): switch (REGISTER ADD) { case 0: break: case 1: year++: i f (year9999)year=O: apart_year=(year% l0): write_timing(YEAR_ REG apart_year): write_timing(CENTURY_REG, apart_century): break: case 2: month++: i f (month12)month=l; write_timing(MONTH_REG, month); break; case 3: day++: if (day31)day=l: write_timing(DAY_REG, day): break: case 4: hour++: i f (hour23) hour=O: write_timing(HOUR_REG, hour): break: case 5: minute++: if (minute59)minute=O: write_timing(MINUTE_REG, minute) break: case 6: weekday++; if (weekday7)weekday=1: write_timing(WEEKDAY_REG, weekday) break: ) Write_timing(B_REGISTER, OxOf); switch (REGISTER ADD) { case 0: break: case 1: year 一一: i f (yearO) year=9999: apart_century=(year10): apart_year=(year% lO); write_timing(YEAR_REG ,apart_year) writ _timing(CENTURY_REG, apart_century) break: case 2: month 一一: if (month1)month=l2: write_timing(MONTH_REG, month); break; case 3: day 一一: if (day1)day=31: write_timing(DAY_ REG, day): break: case 4: hour 一一: if (hour==255)hour=23: write_timing(HOUR_REG, hour): break: case 5: minute 一一: if (minute==255)minute=59: write_timing(MINUTE_REG, minute) break: case 6: weekday 一一: if (weekday1)weekday=7; write_timing(WEEKDAY_REG, weekday)。 break; } Write_timing(B_REGISTER, OxOf): } display()://调用显示函数 } void read_rtc(void)//读时钟芯片函数 { uchar verdict_uiP, century, p_month, p_day, p_hour, p_minute, p_weekday: int p_year: do { Verdict_uip=read_timing(OxOa): verdict_uip=1: } century=read_timing(CENTURY_REG): p_year=lO*century+read_timing(YEAR_REG) p_month=read_timing(MONTH_REG): p_day=read_timing(DAY_REG): p_weekday=read_timing(WEEKDAY_REG): p_hour=read_timing(HOUR_REG): p_minute=read_timing(MINUTE_REG): if (p_yearyear!=0)year=p_year: month; if (p_ month— month!=0)month=p_day: if (p_dayday!=0)day=p_day。 if (p_weekday!=0)weekday=p_weekday。 if(p_hourhour!=0)hour=p_hour。 if(p_minuteminute!=0)minute=p_minute。 } /木木木定时器 0中断函数木木木/ void timerO(void) interrupt 1 USing 1 { TRO=O; THO=Oxfd: TLO=OxO0: TRO=1: Counter++: if (counter==l50) {read — rtc 0: counter=O: } } 结语 这次的毕业设计是对我大学三年里所学知识的考核和总结,考察了我对所学基础知识和专业知识的一种综合应用能力,在这几个月里通过我自己的努力以及倪榕生老师的悉心指导,本着严谨求实,开拓创新的精神完成了这次毕业设计。 在这次毕业设计中让我学会了把书本上的知识应用到了实际中来,在实践中加深了对所学知识理解,真正的理解了理论可以指导实践,实践可以加深对理论的理解这句话。 虽 然在这毕业设计中有遇到过不少的问题,但是在我自己的努力之下,在老师的悉心帮助之下都一一的解决了,在解决问题的同时也提高了自己分析问题的能力,增加了不少宝贵的经验,学习到了书本上没有的东西。 在此要感谢倪榕生老师对我悉心。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。