单片机课设报告(万年历的制作) - 图文 联系客服

发布时间 : 星期五 文章单片机课设报告(万年历的制作) - 图文更新完毕开始阅读19275e2bb4daa58da0114a0d

洛阳理工学院课程设计报告

nz_year=read_add(14);

write_hms(10,nz_sec); //分别送去液晶显示闹钟时间。 write_hms(7,nz_min); write_hms(4,nz_hour); write_week(nz_week); write_ymd(8,nz_day); write_ymd(5,nz_month); write_ymd(2,nz_year);} if(key4num==1)

{write_com(0x80+0x40+10); //光标定位到秒的位置。 write_com(0x0f); //光标开始闪烁。} if(key4num==2)

{write_com(0x80+0x40+7); //光标定位到分的位置。} if(key4num==3)

{write_com(0x80+0x40+4); //光标定位到时的位置。} if(key4num==4)

{write_com(0x80+15); //光标定位到星期的位置} if(key4num==5)

{write_com(0x80+8); //光标定位到日的位置。} if(key4num==6)

{write_com(0x80+5); //光标定位到月的位置。} if(key4num==7)

{write_com(0x80+2); //光标定位到年的位置。} if(key4num==8)

{key4num=0; //记录按键数清0。 flag=0;

write_com(0x80+0x40); write_date(' '); write_date(' ');

write_com(0x0c); //取消光标闪烁。

write_hms(10,sec); //分别送去液晶显示正常时间。 write_hms(7,min); write_hms(4,hour); write_week(week); write_ymd(8,day); write_ymd(5,month); write_ymd(2,year);

TR0=1; //启动定时器使时钟开始走。} } }

shijiantiaojie(); //调用时间调节函数。 naozhongtiaojie(); //调用闹钟调节函数} //时间调节函数。

void shijiantiaojie()

16

洛阳理工学院课程设计报告

{if(key1num!=0) {if(key2==0) {delayms(5); if(key2==0)

24C02。}

{while(!key2); //按键释放。

beep(); //每当有按键释放蜂鸣器发出滴声。 if(key1num==1)

{sec++; //调整秒加1。

if(sec==60) //如果到了60清0。 sec=0;

write_hms(10,sec); //每调节一次送液晶显示一下。 write_com(0x80+0x40+10); //显示位置重新回到调节处。 write_add(1,sec); //数据改变立即存入24C02。} if(key1num==2)

{min++; //调整分加1。

if(min==60) //如果满60后将清0。 min=0;

write_hms(7,min); //每调节一次送液晶显示一下。 write_com(0x80+0x40+7); //显示位置重新回到调节处。 write_add(2,min); //数据改变立即存入24C02。} if(key1num==3)

{hour++; //调整时加1。 if(hour==24) hour=0;

write_hms(4,hour); //每调节一次送液晶显示一下。 write_com(0x80+0x40+4); //显示位置重新回到调节处。 write_add(3,hour); //数据改变立即存入 if(key1num==4)

{week++; if(week==8) week=1;

write_week(week); write_com(0x80+15); write_add(4,week); } if(key1num==5) {day++;

if(day==32) day=1;

write_ymd(8,day); write_com(0x80+9); write_add(5,day); } if(key1num==6) {month++;

17

洛阳理工学院课程设计报告

if(month==13) month=1;

write_ymd(5,month); write_com(0x80+5); write_add(6,month);} if(key1num==7) {year++;

if(year==100) year=0;

write_ymd(2,year); write_com(0x80+2); write_add(7,year);} } }

if(key3==0) {delayms(5); if(key3==0)

{while(!key3); //按键释放。

beep(); //每当有按键释放蜂鸣器发出滴声。 if(key1num==1)

{if(sec==0) //调整秒减1。 sec=60; sec--;

write_hms(10,sec); //每调节一次送液晶显示一下。 write_com(0x80+0x40+10); //显示位置重新回到调节处。 write_add(1,sec); //数据改变立即存入24C02。} if(key1num==2)

{if(min==0) //调整分减1。 min=60; min--;

write_hms(7,min); //每调节一次送液晶显示一下。 write_com(0x80+0x40+7); //显示位置重新回到调节处。 write_add(2,min); //数据改变立即存入24C02。} if(key1num==3)

{if(hour==0) //调节时减1。 hour=24; hour--;

write_hms(4,hour); //每调节一次送液晶显示一下。 write_com(0x80+0x40+4); //显示位置重新回到调节处。 write_add(3,hour); //数据改变立即存入24C02。} if(key1num==4) {week--;

if(week==0) week=7;

18

洛阳理工学院课程设计报告

write_week(week); write_com(0x80+15); write_add(4,week);} if(key1num==5) {day--;

if(day==0) day=31;

write_ymd(8,day); write_com(0x80+8); write_add(5,day);} if(key1num==6) {month--;

if(month==0) month=12;

write_ymd(5,month); write_com(0x80+5); write_add(6,month);} if(key1num==7) {year--;

if(year==-1) year=99;

write_ymd(2,year); write_com(0x80+2); write_add(7,year);} }

} } }

//闹钟调节函数。

void naozhongtiaojie() {if(key4num!=0) {if(key2==0) {delayms(5); if(key2==0)

{while(!key2); //按键释放。

beep(); //每当有按键释放蜂鸣器发出滴声。 if(key4num==1) {nz_sec++; //调整秒加1。

if(nz_sec==60) //如果到了60清0。 nz_sec=0;

write_hms(10,nz_sec); //每调节一次送液晶显示一下。 write_com(0x80+0x40+10); //显示位置重新回到调节处。 write_add(8,nz_sec); //数据改变立即存入24C02。} if(key4num==2)

19