教室自动感应照明控制系统的设计(6)

2019-05-27 18:08

陕西理工学院毕业论文

rst=0; _nop_(); //CPU原地踏步 sck=0; _nop_(); rst=1; _nop_(); write_ds1302_byte(add); //传地址 write_ds1302_byte(dat); //传数据 rst=0; //不受其他影响 _nop_(); io=1; sck=1; }

uchar read_ds1302(uchar add) { uchar i,value; rst=0; _nop_(); //CPU原地踏步 sck=0; _nop_(); rst=1; _nop_(); write_ds1302_byte(add); for(i=0;i<8;i++) { value=value>>1; sck=0; if(io) value=value|0x80; sck=1; } rst=0; _nop_(); sck=0; _nop_(); sck=1; io=1; return value; }

void set_rtc() { uchar i,j; for(i=0;i<7;i++) {

//释放 //设置时间 //转换BCD码 第23页 ,共38页

陕西理工学院毕业论文

j=time_data[i]/10; time_data[i]=time_data[i]; time_data[i]=time_data[i]+j*16; } write_ds1302(0x8e,0x00); //去除写保护 for(i=0;i<7;i++) { write_ds1302(write_add[i],time_data[i]); } write_ds1302(0x8e,0x80); //加写保护 }

void read_rtc() { uchar i; for(i=0;i<7;i++) { time_data[i]=read_ds1302(read_add[i]); //最终读出来的数 16进制 } }

/*************************************************按键

****************************************************************/

void Keyscan(void) { if(SELT==0) { delay1(2); if(SELT==0) { while(!SELT); Select_num++; //选择键按下一次 Adjust=1; //进入调节模式 } if(Select_num==1) { LCD_Clean(1); LCD_Clean(2); LCD_Display_String(1,table4); LCD_Display_String(2,table5); write_com(0x80+0); //写 >> write_date(0x3e); write_com(0x80+1); //写 >> write_date(0x3e); Enter_num=0; }

第24页 ,共38页

陕西理工学院毕业论文

if(Select_num==2) { LCD_Clean(1); LCD_Clean(2); LCD_Display_String(1,table4); LCD_Display_String(2,table5); write_com(0x80+0x40+0); //写 >> write_date(0x3e); write_com(0x80+0x40+1); //写 >> write_date(0x3e); Enter_num=0; } if(Select_num==3) { LCD_Clean(1); LCD_Clean(2); LCD_Display_String(1,table1); LCD_Display_String(2,table2); Select_num=0; Enter_num=0; Adjust=0; } write_com(0x0c); Enter_num=0; }

if(ENTER==0) { delay1(2); if(ENTER==0) { while(!ENTER); Enter_num++; } if(Select_num==1) //设置实时时间 { if(Enter_num==1) { LCD_Clean(1); LCD_Clean(2); LCD_Display_String(1,table9); LCD_Display_String(2,table0); SetTime_dispaly(0x80+8,Year); SetTime_dispaly(0x80+11,Month); SetTime_dispaly(0x80+14,Day); SetTime_dispaly(0x80+0x40+6,Hour);

第25页 ,共38页

//光标不再闪烁

陕西理工学院毕业论文

SetTime_dispaly(0x80+0x40+9,Minute); SetTime_dispaly(0x80+0x40+12,Second); Week_dispaly(0x80+0x40+15,Week); write_com(0x80+8); //光标闪烁地址,停留在年的位置上

//光标闪烁

write_com(0x0f); }

if(Enter_num==2) { write_com(0x80+11);

//光标闪烁地址,停留在月的位置上

write_com(0x0f); }

if(Enter_num==3) { write_com(0x80+14);

//光标闪烁

//光标闪烁地址,停留在日的位置上

write_com(0x0f); //光标闪烁 }

if(Enter_num==4) { write_com(0x80+0x40+6); //光标闪烁地址,停留在时的位置上 write_com(0x0f); //光标闪烁 }

if(Enter_num==5) { write_com(0x80+0x40+9); //光标闪烁地址,停留在分的位置上 write_com(0x0f); //光标闪烁 }

if(Enter_num==6) { write_com(0x80+0x40+12); //光标闪烁地址,停留在秒的位置上 write_com(0x0f); //光标闪烁 }

if(Enter_num==7) { write_com(0x80+0x40+15); //光标闪烁地址,停留在星期的位置上 write_com(0x0f); }

if(Enter_num==8) { Enter_num=0;

//光标闪烁

第26页 ,共38页

陕西理工学院毕业论文

}

}

write_com(0x0c); //光标不再闪烁 LCD_Clean(1); LCD_Clean(2);

LCD_Display_String(1,table1); LCD_Display_String(2,table2);

time_data[0]=Year;///10*16+Year; time_data[1]=Week;///10*16+Week; time_data[2]=Month;///10*16+Month; time_data[3]=Day;///10*16+Day; time_data[4]=Hour;///10*16+Hour; time_data[5]=Minute;///10*16+Minute; time_data[6]=Second;///10*16+Second; set_rtc(); //设置时间 Select_num=0; Adjust=0;

if(Select_num==2) //设置开关锁时间 { if(Enter_num==1) { LCD_Clean(1); LCD_Clean(2); LCD_Display_String(1,table6); LCD_Display_String(2,table7); SetTime_dispaly(0x80+0x40+4,Hour_L); SetTime_dispaly(0x80+0x40+7,Minute_L); SetTime_dispaly(0x80+0x40+10,Second_L); write_com(0x80+0x40+4); //光标闪烁地址,停留在时的位置上 write_com(0x0f); //光标闪烁 } if(Enter_num==2) { write_com(0x80+0x40+7); //光标闪烁地址,停留在分的位置上 write_com(0x0f); //光标闪烁 } if(Enter_num==3) { write_com(0x80+0x40+10); //光标闪烁地址,停留在秒的位置上

write_com(0x0f); }

if(Enter_num==4)

//光标闪烁

第27页 ,共38页


教室自动感应照明控制系统的设计(6).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:高中物理电学实验超级总结

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

马上注册会员

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