光控温度时钟(2)

2019-09-01 09:48

}

}

CLK=0; ch<<=1; ad<<=1;

CS=1; /////////转换和读取数值 while(!EOC); ad>>=1; return(ad); } /*************** DS1302.C #include\

void Write_A_Byte_TO_DS1302(uchar x) { uchari; for(i=0;i<8;i++) { IO=x&0x01;SCLK=1;SCLK=0;x>>=1; } }

uchar Get_A_Byte_FROM_DS1302() { uchari,b=0x00; for(i=0;i<8;i++) { b |= _crol_((uchar)IO,i); SCLK=1;SCLK=0; } return b/16*10+b; //返回BCD码 }

******************/ ucharRead_Data(ucharaddr) //从DS1302指定位置读数据 { uchardat; RST = 0;SCLK=0;RST=1; Write_A_Byte_TO_DS1302(addr); dat = Get_A_Byte_FROM_DS1302(); SCLK=1;RST=0; returndat; }

void Write_DS1302(ucharaddr,uchardat) { SCLK = 0; RST = 1; Write_A_Byte_TO_DS1302(addr); Write_A_Byte_TO_DS1302(dat); SCLK = 0; RST = 0; }

void GetTime(uchar *DateTime ) //读取当前日期时间 { uchari,addr = 0x81; for(i=0;i<7;i++) { DateTime[i]=Read_Data(addr);addr+=2; } }

void SET_DS1302(uchar *DateTime, uchari) { Write_DS1302(0x8E,0x00);//写控制位,取消保护 Write_DS1302(0x80+2*i,(DateTime[0]/10<<4)|(DateTime[0])); Write_DS1302(0x8E,0x80); //加保护 }


光控温度时钟(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:六上复习资料

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

马上注册会员

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