基于单片机的数字钟(电子日历)(转载)(5)

2019-09-01 22:02

if(++date.year==100) date.year=0; update_datestr(); } break; default: break; }

update_dispbuf(CurrentMode); }

void Bkey(void) /*对当前设置位进行减一操作,如果设置秒分,则给秒位清零,类比Akey()函数*/ {

if(!IsSet) return; switch (SetSelect) {

case SECOND:if(CurrentMode==CLOCK) { clock.s=0; update_clockstr(); }

if(CurrentMode==ALART) {

Alart_EN=!Alart_EN;

update_alartstr(); }

if(CurrentMode==DATE) {

if(--date.day==0x00)

date.day=getmonthdays(date.year,date.month); update_datestr(); } break;

case MINUTE:if(CurrentMode==CLOCK) {

if(--clock.m==0xff) clock.m=59; update_clockstr(); }

if(CurrentMode==ALART) {

if(--alart.m==0xff) alart.m=59; update_alartstr(); }

if(CurrentMode==DATE) {

if(--date.month==0x00) date.month=12;

update_datestr(); } break;

case HOUR: if(CurrentMode==CLOCK) {

if(--clock.h==0xff) clock.h=23; update_clockstr(); }

if(CurrentMode==ALART) {

if(--alart.h==0xff) alart.h=23; update_alartstr(); }

if(CurrentMode==DATE) {

if(--date.year==0xffff) date.year=99; update_datestr(); } break; default: break; }

update_dispbuf(CurrentMode);

}

void Ckey(void) /*正常走时模式和设置模式的切换*/ {

if(CurrentMode==TIMER) {

TR1=0; /*初始化定时器1设置,停止秒表记时*/ TH1=6; TL1=6;

timer.ms=0; /*初始化秒表数组*/ timer.s=0; timer.m=0; update_timerstr(); }else {

if(IsSet==0) /*在非秒表模式下,第一次按下C键进入设置模式,设置时位*/ {

IsSet=1; /*置位标志位,进入设置模式 */ SetSelect=HOUR; return;

} /*第二次按C键设置分位,第三次按键设置秒位,第四次按键完成退出设置*/

if(SetSelect==0) /*按到第四次,即设置完秒位后,将标志位IsSet置0,完成设置*/ {

IsSet=0; /*复位标志位,进入正常走时模式*/ return; }

if(SetSelect>0) SetSelect--; /*设置位的标志变量SetSelect=0:时位 1:分位 2:秒位*/ } }

void Dkey(void) /*工作状态切换:时钟、闹钟、日期、秒表*/ {

if(CurrentMode==CLOCK) /*切换至闹钟,同时开关闹钟*/ { CurrentMode=ALART; Alart_EN=!Alart_EN; update_alartstr(); return; }

if(CurrentMode==ALART) /*切换至日期*/ { CurrentMode=DATE; return;

}

if(CurrentMode==DATE) /*切换至秒表,同时关闭设置模式*/ {

CurrentMode=TIMER; IsSet=0; return; }

if(CurrentMode==TIMER) /*切换至时钟*/ {

CurrentMode=CLOCK; return; } }


基于单片机的数字钟(电子日历)(转载)(5).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:风电、光伏发电情况监管报告 - 图文

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: