[开发工具] 【新定义MCU开发板测评】移植DS1302

[复制链接]
 楼主| 51xlf 发表于 2022-12-3 20:55 | 显示全部楼层 |阅读模式
<
之前使用易码魔盒测试了移植DS1302,效果还可以的。既然已经连接好了模块了,还是看看直接IO口驱动DS1302。这里移植的是51单片机的测试代码,看看51代码和新定义代码兼容性怎么样?

还是在之前的生成的工程文件上进行测试。
就是把生成的DS1302文件删除掉。加入要使用的DS1302库文件。
首先是要配置IO口为输出。
使用宏定义配置三个口。
  1. #define  RST P53
  2. #define  SCLK P55
  3. #define  DSIO P54
在Ds1302Init加入初始化IO口。
  1. GPIO_Init(GPIO5, GPIO_PIN_4,GPIO_MODE_OUT_PP);
  2.         GPIO_Init(GPIO5, GPIO_PIN_5,GPIO_MODE_OUT_PP);
  3.         GPIO_Init(GPIO5, GPIO_PIN_3,GPIO_MODE_OUT_PP);
跟51代码不一样的地方,就是需要配置IO为输出或者输入。赋值的时候还是跟51一样的。
这个是写入数据的时候。
  1. void  Ds1302Write(uchar addr,uchar dat)
  2. {   uint n;
  3.     GPIO_Init(GPIO5, GPIO_PIN_4,GPIO_MODE_OUT_PP);

  4.     RST=0;
  5.     _nop_();
  6.     _nop_();
  7.     _nop_();
  8.     SCLK=0;
  9.     RST=1;
  10.     _nop_();
  11.     _nop_();
  12.     _nop_();
  13.     for(n=0; n<8; n++)
  14.     {
  15.         DSIO=addr&0x01;
  16.         addr>>=1;
  17.         SCLK=1;
  18.         _nop_();
  19.         _nop_();
  20.         _nop_();
  21.         SCLK=0;
  22.         _nop_();
  23.         _nop_();
  24.         _nop_();

  25.     }
  26.     for(n=0; n<8; n++)
  27.     {
  28.         DSIO=dat&0x01;
  29.         dat>>=1;
  30.         SCLK=1;
  31.         _nop_();
  32.         _nop_();
  33.         _nop_();
  34.         SCLK=0;
  35.         _nop_();
  36.         _nop_();
  37.         _nop_();
  38.     }
  39.     RST=0;
  40.     _nop_();
  41.     _nop_();
  42.     _nop_();
  43. }
这是读取数据的时候。需要配置IO为输入。
  1. uchar  Ds1302Read(uchar addr)
  2. {
  3.     uchar dat,dat1,i;
  4.     RST=0;
  5.     _nop_();
  6.     SCLK=0;
  7.     _nop_();
  8.     RST=1;
  9.     _nop_();
  10.     for(i=0; i<8; i++)
  11.     {
  12.         DSIO=addr&0x01;
  13.         addr>>=1;
  14.         SCLK=1;
  15.         _nop_();
  16.         SCLK=0;
  17.         _nop_();
  18.     }
  19.     GPIO_Init(GPIO5, GPIO_PIN_4,GPIO_MODE_IN_PU);
  20.     for(i=0; i<8; i++)
  21.     {
  22.         dat1=DSIO;
  23.         dat=(dat>>1)|(dat1<<7);
  24.         SCLK=1;
  25.         _nop_();
  26.         SCLK=0;
  27.         _nop_();
  28.     }
  29.     GPIO_Init(GPIO5, GPIO_PIN_4,GPIO_MODE_OUT_PP);
  30.     RST=0;                //复位稳定程序
  31.     _nop_();
  32.     SCLK = 1;
  33.     _nop_();
  34.     DSIO = 0;
  35.     _nop_();
  36.     DSIO = 1;
  37.     _nop_();
  38.     return dat;

  39. }
这个还是使用的串口输出时间。

  1. Ds1302ReadTime();

  2.                                 send_one(TIME[2]/16+'0');
  3.                                 send_one(TIME[2]%16+'0');
  4.                                 send_one(':');
  5.                                 send_one(TIME[1]/16+'0');
  6.                                 send_one(TIME[1]%16+'0');
  7.                                 send_one(':');
  8.                                 send_one(TIME[0]/16+'0');
  9.                                 send_one(TIME[0]%16+'0');
  10.                                 send_one('\r');
  11.                                 send_one('\n');
  12.                                 delay(500);
看看效果的。
搜狗截图22年12月03日2053_24.jpg
这个附上源代码
User.rar (1.38 KB, 下载次数: 2)
搜狗截图22年12月03日2043_23.jpg
jtracy3 发表于 2022-12-14 10:30 | 显示全部楼层
DS1302的精度怎么样              
mikewalpole 发表于 2022-12-14 11:11 | 显示全部楼层
这个没有RTC的功能吗?              
burgessmaggie 发表于 2023-1-5 13:09 | 显示全部楼层
怎么没有打开写中断呢?              
janewood 发表于 2023-1-5 14:18 | 显示全部楼层
感觉开发8位单片机也好麻烦了。              
jtracy3 发表于 2023-1-5 14:37 | 显示全部楼层
这个直接使用51代码。              
primojones 发表于 2023-1-5 16:24 | 显示全部楼层
这个不错,学习一下了。              
iyoum 发表于 2023-1-5 17:17 | 显示全部楼层
51单片机不是不需要配置输入或者输出的吗
vivilyly 发表于 2023-1-6 12:15 | 显示全部楼层
这个代码兼容性怎么样?              
yeates333 发表于 2023-1-6 12:47 | 显示全部楼层
ds1302比不上内部RTC吗?
saservice 发表于 2023-1-7 17:14 | 显示全部楼层
这个芯片什么时候自带RTC呢              
mmbs 发表于 2023-1-9 09:35 | 显示全部楼层
新定义的芯片性能怎么样              
sanfuzi 发表于 2023-1-9 10:04 | 显示全部楼层
可以使用DS1302做一个闹钟吗?
kkzz 发表于 2023-1-9 12:01 | 显示全部楼层
这个开发板可以jtag下载吗?              
houjiakai 发表于 2023-1-9 15:32 | 显示全部楼层
DS1302的时间误差是多少?              
jonas222 发表于 2023-1-9 16:04 | 显示全部楼层
性能怎么样              
您需要登录后才可以回帖 登录 | 注册

本版积分规则

547

主题

9919

帖子

24

粉丝
快速回复 在线客服 返回列表 返回顶部

547

主题

9919

帖子

24

粉丝
快速回复 在线客服 返回列表 返回顶部