第一范文网 - 专业文章范例文档资料分享平台

单片机万年历 时钟 闹钟 温度程序..

来源:用户分享 时间:2025/8/26 10:31:53 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

} if(s1num==4) { } if(s1num==5) { write_com(0x80+0x40+4);

write_com(0x80+9);

write_com(0x80);

} if(s1num==6) { } } }

if(s1num!=0) { if(w2==0) { delay(5); if(w2==0) {

write_date(0x30);

s1num=0;

write_com(0x0c);

while(!w2); if(s1num==1) { miao1++; if(miao1==60) miao1=0; write_sfm(10,miao1); write_com(0x80+0x40+10); } if(s1num==2) { fen1++; if(fen1==60) fen1=0; write_sfm(7,fen1); write_com(0x80+0x40+7); } if(s1num==3)

{ } if(s1num==4) shi1++; if(shi1==24) shi1=0;

write_sfm(4,shi1);

write_com(0x80+0x40+4);

} if(w4==0) { delay(5); if(w4==0) {

}

while(!w4); if(s1num==1) { } if(s1num==2) { } if(s1num==3) {

{ ri1++; if(ri1==32) ri1=1; write_sfr(9,ri1); write_com(0x80+9);

}

miao1--;

if(miao1==-1) miao1=59;

write_sfm(10,miao1);

write_com(0x80+0x40+10);

fen1--;

if(fen1==-1) fen1=59; write_sfm(7,fen1);

write_com(0x80+0x40+7);

shi1--;

if(shi1==-1)

shi1=23; write_sfm(4,shi1); write_com(0x80+0x40+4); } if(s1num==4) { ri1--; if(ri1==0) ri1=31; write_sfr(9,ri1); write_com(0x80+9); } } } } return miao1,fen1,shi1,ri1; }

//************************************************* //************DS18b20程序********************

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

/*void delay1(uint t) //2 {

while(t--); //延时 }

void init_ds18b20(void) //3 {

uchar n; DQ=1; delay1(8); DQ=0;

delay1(80); //延时大约600us DQ=1; delay1(8); n=DQ; //主机采样0表示传感正常 1表示无传感或传感已坏 delay1(4); }

void write_byte(uchar dat) //写一个字节 //4 {

uchar i;

for(i=0;i<8;i++) {

DQ=0;

DQ=dat&0x01; //低位在前 delay1(4); DQ=1; dat>>=1; }

delay1(4); }

uchar read_byte(void) //读一个字节 {

uchar i,value; for(i=0;i<8;i++) {

DQ=0; //先将DQ拉低 value>>=1; DQ=1; if(DQ)

value|=0x80; //置1 delay1(4); }

return value; }

uchar readtemperature(void) {

uchar a,b;

init_ds18b20(); //初始化18b20 write_byte(0xcc); //跳过ROM write_byte(0x44); //启动温度测量 delay1(300);

init_ds18b20();

write_byte(0xcc); //跳过ROM write_byte(0xbe); //读温度 a=read_byte(); // 读温度低八位 按顺序读寄存器 b=read_byte(); //读温度高八位 if(b>0x80) { b=0x00;

//5 //6

搜索更多关于: 单片机万年历 时钟 闹钟 温度程序.. 的文档
单片机万年历 时钟 闹钟 温度程序...doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c1yr9r3er6638gut0xsx29kcek7hm3l013y1_3.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top