永发信息网

DS1302~时钟总时间是对的,但是秒显示不正常,不是规律的一秒变一次,几个快然后就小停顿一下,求高手~

答案:1  悬赏:40  手机版
解决时间 2021-01-24 15:20

void WriteSet1302(unsigned char Cmd,unsigned char dat)
{
RST=0; //禁止数据传递
SCLK=0; //确保写数居前SCLK被拉低
RST=1; //启动数据传输
delaynus(2); //稍微等待,使硬件做好准备
Write1302(Cmd); //写入命令字
Write1302(dat); //写数据
SCLK=1; //将时钟电平置于已知状态
RST=0; //禁止数据传递
}

unsigned char Read1302(void)
{
unsigned char i,dat;
delaynus(2); //稍微等待,使硬件做好准备
for(i=0;i<8;i++) //连续读8个二进制位数据
{
dat>>=1; //将dat的各数据位右移1位,因为先读出的是字节的最低位
if(DATA==1) //如果读出的数据是1
dat|=0x80; //将1取出,写在dat的最高位
SCLK=1; //将SCLK置于高电平,为下降沿读出
delaynus(2); //稍微等待
SCLK=0; //拉低SCLK,形成脉冲下降沿
delaynus(2); //稍微等待
}
return dat; //将读出的数据返回
}

unsigned char ReadSet1302(unsigned char Cmd)
{
unsigned char dat;
RST=0; //拉低RST
SCLK=0; //确保写数居前SCLK被拉低
RST=1; //启动数据传输
Write1302(Cmd); //写入命令字
dat=Read1302(); //读出数据
SCLK=1; //将时钟电平置于已知状态
RST=0; //禁止数据传递
return dat; //将读出的数据返回
}

void Read_RTC(void)
{
unsigned char i,*p,ReadV;
p=read_add;
for(i=0;i<7;i++)
{
ReadV=ReadSet1302(*p);
vary_date[i]=((ReadV&0x70)>>4)*10 + (ReadV&0x0F);
p++;
}
}

void Set_RTC(void)
{
unsigned char i,*p,readv;
WriteSet1302(0x8e,0x00);
p=write_add;
for(i=0;i<7;i++)
{
readv=vary_date[i];
WriteSet1302(*p,((readv/10)<<4|(readv%10)));
p++;
}
WriteSet1302(0x8e,0x80);
}
最佳答案
你说总时间是对的,那秒也就是对的,可能是你读时间的频率不对,每隔几秒你漏读了一次,所以显示没有刷新,我用定时器做的,每隔一秒读一次DS1302,实际效果很好,每秒都会初刷新
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
(26分)阅读图文资料,回答问题。材料一右下
我的青春恋爱物语果然有问题,第一季的op名字
索美家居地址好找么,我有些事要过去
女性,30岁,排便时肛门部剧痛,并有少许鲜血
新守护女神 划水绞死棍怎么获得
遵义市国土资源局新蒲新区分局地址在哪,我要
怕人三分的动物是什么
江西上绕市的区号
刚才我去厕所,路过我姐房间时听到里面在声音
群丰瓷业批发中心地址有知道的么?有点事想过
佳美欣汽车美容会所我想知道这个在什么地方
兴仁县国土局怎么去啊,我要去那办事
生死狙击卖号qq支付1元
背负又硬又重壳的小蜗牛很羡慕毛毛虫和蚯蚓没
黔西南州国土局地址在什么地方,我要处理点事
推荐资讯
大方县国土资源局东关国土资源所地址有知道的
大坪镇国土资源所地址在哪,我要去那里办事
拆封后的饼干,花生会变软说明空气中含有?日常
芝兰养生家居馆地址在哪,我要去那里办事
患者发热原因待查八知道案例
在窖口站坐什么公交车到流花湖公园
茶叶是什么做的
星辰银行(巴黎春天店)地址好找么,我有些事要
方言ge.gou.ba.she怎么写
下列关于细胞中化学元素的叙述,正确的是A.细
【共和军】我寻找书扩句共和军
按( )通货紧缩可分为伴随经济增长率减缓的通
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?