当前位置:首页 > 单片机课设报告(万年历的制作) - 图文
洛阳理工学院课程设计报告
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
共分享92篇相关文档