找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 5583|回复: 17
收起左侧

STM32F103C8T6+DS1307源码分享

  [复制链接]
ID:258945 发表于 2018-9-11 15:38 | 显示全部楼层 |阅读模式
用串口1打印出年与日时分秒。亲测无误,普通IO模拟I2C

单片机源程序如下:
  1. #include "led.h"
  2. #include "delay.h"
  3. #include "key.h"
  4. #include "sys.h"
  5. #include "lcd.h"
  6. #include "usart.h"
  7. #include "usmart.h"         
  8. #include "24cxx.h"         
  9. #include "myiic.h"

  10. #define SIZE sizeof(TEXT_Buffer)
  11. int main(void)
  12. {         
  13.         int second,minute,hour,week,day,month,year;
  14.         delay_init();                     //延时函数初始化         
  15.         NVIC_Configuration();          //设置NVIC中断分组2:2位抢占优先级,2位响应优先级
  16.         uart_init(9600);                 //串口初始化为9600
  17.         usmart_dev.init(72);        //初始化USMART                                 
  18.          AT24CXX_Init();                        //IIC初始化
  19.          Write1307(0x00,0x00);
  20.          Write1307(0x01,0x00);
  21.          Write1307(0x02,0x00);
  22.          Write1307(0x03,0x00);
  23.          Write1307(0x04,0x0b);
  24.          Write1307(0x05,0x09);
  25.          Write1307(0x06,0x12);
  26.          while(1)//检测不到24c02
  27.         {
  28.                 second=Read1307(0x00);
  29.                 minute=Read1307(0x01);
  30.                 hour=Read1307(0x02);
  31.                 week=Read1307(0x03);
  32.                 day=Read1307(0x04);
  33.                 month=Read1307(0x05);
  34.                 year=Read1307(0x06);               
  35.           printf("%d.%d.%d\n",year,month,day);
  36.                 printf("%d:%d:%d",hour,minute,second);
  37.                 delay_ms(1000);
  38. //                printf("11111\n");
  39.         }
  40. }
复制代码

所有资料51hei提供下载:
ds1307.rar (323.62 KB, 下载次数: 320)

评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

回复

使用道具 举报

ID:7209 发表于 2023-3-31 19:11 | 显示全部楼层
下面是代码http://www.51hei.com/bbs/dpj-227844-1.html

其中,有注释掉的没有用
为测试 加的

其中在 C 文件中 ,在写时间日期中 ,有句写了两遍
        shizhong_WriteOneByte(0x00,0x00);
        shizhong_WriteOneByte(0x00,0x1e); //
这是因为,每次1307 上电后要 检测  0X00 地址中的  CH 位
如果这位是 1 ,就不对时间修改
如果 0 就对时间修改
写两遍就是为了 改变CH 位
还有就是 在开始 时序 停止时序中 延时 是关键
测试了好几遍
也修改了好几次 延时的  数值
希望能帮助到小伙伴

如果谁有 没出来时间 或,无法写入
还希望提出来,共同进步
回复

使用道具 举报

ID:414745 发表于 2018-10-24 16:57 | 显示全部楼层
学习学习
回复

使用道具 举报

ID:129921 发表于 2018-10-24 17:28 | 显示全部楼层
谢谢分享
回复

使用道具 举报

ID:345352 发表于 2018-11-24 00:24 来自手机 | 显示全部楼层
谢谢分享,自己动手做个钟
回复

使用道具 举报

ID:419070 发表于 2019-4-26 16:14 | 显示全部楼层
时钟模块接 PB10 PB11 VCC GND 是吧,我试了一下你的代码,无法使用,读取数值就有问题了,使用的是淘宝上的DS1307模块
回复

使用道具 举报

ID:303689 发表于 2019-5-28 18:40 | 显示全部楼层
学习一下,感谢分享
回复

使用道具 举报

ID:511461 发表于 2019-5-31 12:39 | 显示全部楼层
楼主,f1系列C8T6有DAC吗
回复

使用道具 举报

ID:102688 发表于 2020-4-9 20:08 | 显示全部楼层
感谢楼主分享,马上测试一下下,
回复

使用道具 举报

ID:621862 发表于 2020-10-26 10:57 | 显示全部楼层
不能用啊
回复

使用道具 举报

ID:164385 发表于 2021-3-27 12:39 | 显示全部楼层
代码很好,只是没有电路图
回复

使用道具 举报

ID:804938 发表于 2021-7-25 01:08 | 显示全部楼层
代码很好,只是没有电路
回复

使用道具 举报

ID:753670 发表于 2021-10-14 00:31 | 显示全部楼层
实物测试不能使用,如何排查错误?
回复

使用道具 举报

ID:1035285 发表于 2022-6-18 11:27 | 显示全部楼层
可以使用吗?
回复

使用道具 举报

ID:7209 发表于 2023-3-28 22:12 | 显示全部楼层
你发的 这 代码 无法输出正确的 时间
帮大家测试过了
回复

使用道具 举报

ID:542144 发表于 2023-3-28 23:49 | 显示全部楼层
sd2078  兼容吗 楼主
回复

使用道具 举报

ID:7209 发表于 2023-3-31 19:02 | 显示全部楼层
下面我把 我测试成功的代码给大家发上来
先说一下 硬件
stm32 f103 c8t6
stm32 f103 r8t6
stm32 f103 zet6
在这几款板子上都有测试
DS 1307  模块就是 套包 上购买的  DS1307  还有个 24c32  那种二合一
小板子

接线 就接了
电源 VCC  5v
GND
SCL
SDA
IO 口 大家自己根据个人的板子 随便 使用把
我  SCL PB2
    SDA  PB1  




回复

使用道具 举报

ID:7209 发表于 2023-4-1 07:46 | 显示全部楼层
有小伙伴 ,说没有电路图
下面我把电路图
发上来

(再次 声明  , 这是某1个宝入的模块,原理图中 中 有18B20 没有焊接)
共同学习

TWI-2.pdf

53.43 KB, 下载次数: 7, 下载积分: 黑币 -5

ds1307 原理图

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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