一乐电子

一乐电子百科

 找回密码
 请使用微信账号登录和注册会员

QQ登录

只需一步,快速开始

快捷登录

手机号码,快捷登录

搜索
查看: 5683|回复: 22
收起左侧

用ds1302 倒计时器,如何得到秒信号?

[复制链接]
发表于 2013-11-5 21:53 | 显示全部楼层 |阅读模式
设定完时间后,发现用 设定的x小时xx分减去 读出的x小时xx分 太麻烦,  打算用一秒减一次的思路, 但ds1302 没有秒信号输出咋办? 有好思路吗?

发表于 2013-11-5 22:06 | 显示全部楼层
肯定有秒参数的。继续在代码里找

点评

哦,业余玩家,整个51就不错,别的想都不敢想。  发表于 2013-11-5 22:23
这样说,你是选错mcu了,STM有你想要的功能。  发表于 2013-11-5 22:18
读秒我知道,想求一个得到简单的秒脉冲的思路  发表于 2013-11-5 22:09
发表于 2013-11-5 22:30 | 显示全部楼层
保留最后一次读出的 <秒>, 下次读出的 <秒>不同, 就是一秒。
但ds1302 没有秒信号输出咋办---------这个不对吧,DS1302有 <秒> 参数
发表于 2013-11-5 22:31 | 显示全部楼层
两个时间减一下就嫌麻烦了啊,还是直接减比较可靠,秒记数容易漏计或多计,不可靠。
再不济也能化成两个long型变量,减完后再化回时分秒就行了。
发表于 2013-11-5 22:31 | 显示全部楼层
用单片机的定时器啊,即使休眠也可以开定时器的

点评

定时器的以前做过, 现在想换种方法。 再说定时器的换了晶振就得重新计算。  发表于 2013-11-5 22:33
 楼主| 发表于 2013-11-5 22:35 | 显示全部楼层
reiyawea 发表于 2013-11-5 22:31
两个时间减一下就嫌麻烦了啊,还是直接减比较可靠,秒记数容易漏计或多计,不可靠。
再不济也能化成两个lo ...

我只会汇编,我都不好意思告诉你

点评

如果只用C的最简单的语句,其实与汇编几乎相同了,用 C 方便很多。  发表于 2013-11-5 23:46
发表于 2013-11-5 22:41 | 显示全部楼层
那就只能定时去读它,秒值和上一次不同就是下一秒。

可以放在定时器里,一秒钟比较各10~20次就够精确了,晶振换了也不用改
发表于 2013-11-5 23:01 | 显示全部楼层
老弹弓 发表于 2013-11-5 22:35
我只会汇编,我都不好意思告诉你

DS1302是BCD码表示的,还可以用BCD减法来做。
发表于 2013-11-5 23:10 | 显示全部楼层
老弹弓 发表于 2013-11-5 22:35
我只会汇编,我都不好意思告诉你

玩的话还是用C方便些,俺只会C,嘻嘻
话说DS1307有方波输出可以接个外部中断。
发表于 2013-11-5 23:45 | 显示全部楼层
定义一个变量,每读一次秒,就把秒的数据存到这个变量,
然后再将下次读出来的秒与保存的数据对比,
如果不一个样就将倒计时减一,同时再将秒数据保存到那个变量,
汇编也一样的吧,汇编好像是可以直接保存到某个寄存器,或是在前面用EQU定义寄存器

本版积分规则

QQ|一淘宝店|手机版|商店|电子DIY套件|一乐电子 ( 粤ICP备09076165号 ) 公安备案粤公网安备 44522102000183号

GMT+8, 2025-5-2 17:54 , Processed in 0.061032 second(s), 40 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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