基于51单片机与实时时钟芯片ds1307的液晶显示万年历项目设计内容摘要:

ack()。 } stop()。 //停止 } read(uchar slave_write_address,uchar byte_address,uchar slave_read_address)//读一个数据 { uchar temp,temp1,i,ii,x,data_data。 star()。 //开始 for(ii=0。 ii3。 ii++)//根据 24CXX 文档资料,和时序图,按顺序送:器件写地址,字节地址,器件读地址 { if(ii==0) { temp=slave_write_address。 //送 器件写地址 temp1=slave_write_address。 } else if(ii==1) { temp=byte_address。 //送 字节地址 temp1=byte_address。 } else if(ii==2) { star()。 //开始 temp=slave_read_address。 //送 器件读地址 temp1=slave_read_address。 } for(i=0。 i8。 i++)//开始读数据 { scl=0。 delay()。 //5us 延时 temp=temp1。 temp=tempamp。 0x80。 // 相 与 后,把不相关的位清零 if(temp==0x80)//根据前面 相 与 后,判断 temp 是否等于 0x80,是则该位为 1 sda=1。 else sda=0。 delay()。 //5us 延时 scl=1。 delay()。 //5us 延时 scl=0。 delay()。 //5us 延时 temp1=temp11。 //向左移出 1 位 } sda=1。 delay()。 //5us 延时 scl=1。 delay()。 //5us 延时 ack()。 //应答 } for(x=0。 x8。 x++) { data_data=data_data1。 //向左移入 1 位 sda=1。 delay()。 //5us 延时 scl=0。 delay()。 //5us 延时 scl=1。 delay()。 //5us 延时 if(sda==1)//判断 数据线是否是高电平 data_data|=0x01。 //把读到的数据 或 0X01 //else //data_data|=0x00。 } ack()。 //应答 stop()。 //停止 return data_data。 //返回读到的数据 } void sfm()//需要把时分秒等的十位和各位分开显示 { aa=miao/10。 bb=miao%10。 cc=fen/10。 dd=fen%10。 ee=shi/10。 ff=shi%10。 gg=ri/10。 hh=ri%10。 jj=yue/10。 kk=yue%10。 ll=nian/10。 mm=nian%10。 nn=xingqi。 } void write_(uchar )//向。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。