找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

巢课
电巢直播8月计划
查看: 372|回复: 0
打印 上一主题 下一主题

ds1302时钟芯片的问题

[复制链接]

12

主题

23

帖子

33

积分

二级会员(20)

Rank: 2Rank: 2

积分
33
跳转到指定楼层
1#
发表于 2014-4-29 16:18 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

EDA365欢迎您!

您需要 登录 才可以下载或查看,没有帐号?注册

x
最近参加比赛,用了时钟芯片,但是时间调节一直很烦,有时候能用,再添加别的模块,就又不能用了,特别是按键按下暂停时,那个地方的去除写保护很烦,写进去没用,不写反而有用。下面的程序的问题是按下能暂停,但是就是不能调节,不知道为什么?求大神& K7 n0 V; X2 k! R' a1 C6 G
void clockadjust()  //调节设置
8 f1 k% ]( s; G{
7 W* G) h! Y# N& h0 D        if(key==0)                //如果按键按下,时钟状态取反, Q! s. n$ R$ W' k' o# P- v7 }
        {# _$ E6 Q4 J8 Q& v4 J( j1 I& W/ ]
                delay_ds1302(5);3 P5 v/ c! G% q' {
                if(key==0)
, V- m! C* V. e! a8 @                {
9 i1 B( ]) P2 O5 e2 H" M2 ?                        flag++;
/ \$ [& g; y0 |/ J* U1 h                        dat=read_ds1302(read_sec);        //读取秒寄存器的数据5 \7 C- e2 u1 O: W) |! L
                        while(!key);        $ ~8 s( h8 c$ ?) ~  ]
                }8 H4 b: Z6 M$ x; t4 F
        }        
  v% C" k$ X: E/ R! D, E        if(flag==1||flag==2||flag==3||flag==4||flag==5||flag==6||flag==7) //停止时钟* i  c! R- |$ z. e6 q0 J6 L
        {        
7 g5 y* U! r9 _* d2 a! r. `4 g                write_ds1302(0x8e,0);        //去除写保护,如果去除这里的话,按键按下时走得很快' T& M+ o1 @- u8 k2 p! O$ v
                write_ds1302(write_sec,dat|0x80);  
4 B4 k2 ]" ^" B% ?" ~! z' i2 y    write_ds1302(0x8e,0x80);        //加写保护        
& f4 R- C/ E+ ]: P6 {: ]( L        }        , j/ K: K. {$ g9 C3 N
        if(flag==1)                   //秒调节; j( c; W1 M) _7 S
        {
  ?3 V/ ^' A& c+ V1 L* n                tt.sec=read_ds1302(read_sec);' u. l& g( j1 E. K. D1 v7 ^4 n
                tt.sec=(tt.sec&0x7f)/16*10+tt.sec%16;6 j1 e/ h2 o0 g& ]/ f& X' z
                if(add==0)            //按键,加一     
* O, z" @' b; {& k                {6 D) ^3 u4 _4 E- {! n! a
                        delay_ds1302(5);7 w  Z. j9 I5 }# e% p
                        if(add==0)
# h: ]: H/ t& c% L+ V. p                        {
' T/ D: R9 P' T! t" \& \                                tt.sec++;
! R# v& e& [2 J5 ?$ `5 M                                if(tt.sec==60)5 x3 }4 s+ f" V! x& |
                                        tt.sec=0;
4 N" Q4 L& ]5 P8 i# U4 N                                tt.sec=tt.sec/10*16+tt.sec%10;0 S1 |1 v5 `0 T+ M
                                write_ds1302(0x8e,0);        //去除写保护
- X" S+ S% w/ V9 h% M                                write_ds1302(write_sec,tt.sec|0x80);' n$ Q, @1 Z0 ]& _
                                write_ds1302(0x8e,0x80);        //加写保护
% j- ?9 Z/ f3 u& u& ^                                while(!add);( M' {9 v5 U# P* X) ^
                        }
, m3 `+ @$ G) H( p# @* s                }
& ^' W; o8 M1 @* G( ]3 B                if(sub==0) //按键,减一" Y: f, K3 N: S9 m# Q5 P; i
                {. {- j+ s3 k; l/ p
                        delay_ds1302(5);
. i0 n" ?- u$ d/ k  @/ g! s                        if(sub==0)1 R1 a2 T/ ?5 D5 c8 S& Q7 Z1 k
                        {0 }5 |- f" i; D* I- o1 j
                                --tt.sec;$ U9 ?/ e, o. n( c: R- q9 u# s
                                if(tt.sec==-1)4 N" i! c) _5 I% e
                                        tt.sec=59;8 K7 |7 l. \0 `: K
                                tt.sec=tt.sec/10*16+tt.sec%10;* I2 s! h" S2 `" Q  s% S0 s
                                write_ds1302(0x8e,0);        //去除写保护0 |/ W3 E: J* N0 W' @/ y; E
                                write_ds1302(write_sec,tt.sec);
5 F& |# y+ I- X% N                                write_ds1302(0x8e,0x80);        //加写保护
9 J) T* M! C, l! x1 a2 N                                while(!sub);
* p3 _6 n% |6 n: F/ {8 s7 [                        }
' P' ]: @0 o3 Q% R                / D6 a2 r0 u) v6 e. j
                }3 g( q, q# e$ H6 F& W
        }
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 支持!支持! 反对!反对!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

巢课

技术风云榜

关于我们|手机版|EDA365 ( 粤ICP备18020198号 )

GMT+8, 2025-2-17 21:23 , Processed in 0.057306 second(s), 33 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表