ds3231程序流程图_ds1302程序流程图

ds3231程序流程图_ds1302程序流程图为什么在单片机的电子时钟设计中基本上都用的DS1302时钟芯片?在基于51-52的单片机电子时钟设计中,我查阅到的资料基本上都是DS1302时钟芯片,我想问问为什么都用的这个,它有其他的替代品吗,比起其他的它的优势在哪?DS1302:没什么特别的优点,或者说充满了缺点。比如:比较

为什么在单片机的电子时钟设计中基本上都用的DS1302时钟芯片?   在基于51-52的单片机电子时钟设计中,我查阅到的资料基本上都是DS1302时钟芯片,我想问问为什么都用的这个,它有其他的替代品吗,比起其他的它的优势在哪?   DS1302:没什么特别的优点,或者说充满了缺点。比如:比较有趣的地方在于它用的协议非主流,不好用。但这对做题家而言,不是缺点。非主流?题来啦!总之,DS1302适合拿来给做题家练习写协议用。   DS1307:标准iic协议,非常方便。   DS3231: 集成了32KHZ晶体振荡器,不用外加了,更适合商用。   谢邀   现在流行物联网,做个电子时钟,不需要什么时钟芯片,直接从互联网上时间,既简单,又能保证时间是完全正确的分秒不差。DS1302等各种时钟芯片跑久了都会有较大时间误差的。   咱们用国产ESP32S3 32位单片机(带WiFi)+2.8寸电容触摸屏,做一个网络时钟。   实现目标:通过HTTP请求从网上时间戳,制作一个带UI界面的电子时钟APP。   这是ESP32单片机网络时钟的源代码,代码是JavaScript+CSS实现,相对于C语言简单很多:   这是单片机上的执行效果:
ds3231程序流程图_ds1302程序流程图esp32 JavaScript 网络 时钟https://www.zhihu.com/video/   单片机本地的时间对象底层依靠单片机本身的定时器实现,运行久了也是有误差的,,,不过可以利用互联网,你可以每隔1个小时请求一下网站,更新一下时间戳,这样可以保证你的时钟永远都是分秒不差的。   基于51单片机的闹钟【DS1302,数码管,独立按键,暂停】(仿真)   带闹钟功能的电子钟   (1)实现数码管显示电子钟   (2)实现闹钟功能,用按键设定闹钟时间   (3)实现一键暂停闹钟,1分钟后再响。   资料包括:
ds3231程序流程图_ds1302程序流程图
ds3231程序流程图_ds1302程序流程图   原理图:
ds3231程序流程图_ds1302程序流程图
ds3231程序流程图_ds1302程序流程图   仿真:
ds3231程序流程图_ds1302程序流程图
ds3231程序流程图_ds1302程序流程图   程序运行图:
ds3231程序流程图_ds1302程序流程图
ds3231程序流程图_ds1302程序流程图   #include”ds1302.h”   //—DS1302写入和读取时分秒的地址命令—//   //—秒分时日月周年 最低位读写位;——-//   uchar code READ_RTC_ADDR[7] = {0x81, 0x83, 0x85, 0x87, 0x89, 0x8b, 0x8d};   uchar code WRITE_RTC_ADDR[7] = {0x80, 0x82, 0x84, 0x86, 0x88, 0x8a, 0x8c};   //—DS1302时钟初始化2016年5月7日星期六12点00分00秒。—//   //—存储顺序是秒分时日月周年,存储格式是用BCD码—//   uchar ds1302_time[7] = {0, 0, 12, 7, 5, 6, 16};   /*   * 函 数 名 : Ds1302Write   * 函数功能 : 向DS1302命令(地址+数据)   * 输 入 : addr,dat   * 输 出 : 无   */   void Ds1302Write(uchar addr, uchar dat)   {   uchar n;   RST = 0;   _nop_();   SCLK = 0;//先将SCLK置低电平。   _nop_();   RST = 1; //然后将RST(CE)置高电平。   _nop_();   for (n=0; n<8; n++)//开始传送八位地址命令   {   DSIO = addr & 0x01;//数据从低位开始传送   addr >>= 1;   SCLK = 1;//数据在上升沿时,DS1302读取数据   _nop_();   SCLK = 0;   _nop_();   }   for (n=0; n<8; n++)//写入8位数据   {   DSIO = dat & 0x01;   dat >>= 1;   SCLK = 1;//数据在上升沿时,DS1302读取数据   _nop_();   SCLK = 0;   _nop_();   }   RST = 0;//传送数据结束   _nop_();   }   /*   * 函 数 名 : Ds1302Read   * 函数功能 : 读取一个地址的数据   * 输 入 : addr   * 输 出 : dat   */   uchar Ds1302Read(uchar addr)   {   uchar n,dat,dat1;   RST = 0;   _nop_();   SCLK = 0;//先将SCLK置低电平。   _nop_();   RST = 1;//然后将RST(CE)置高电平。   _nop_();   for(n=0; n<8; n++)//开始传送八位地址命令   {   DSIO = addr & 0x01;//数据从低位开始传送   addr >>= 1;   SCLK = 1;//数据在上升沿时,DS1302读取数据   _nop_();   SCLK = 0;//DS1302下降沿时,放置数据   _nop_();   }   _nop_();   for(n=0; n<8; n++)//读取8位数据   {   dat1 = DSIO;//从最低位开始接收   dat = (dat>>1) | (dat1<<7);   SCLK = 1;   _nop_();   SCLK = 0;//DS1302下降沿时,放置数据   _nop_();   }   RST = 0;   _nop_(); //以下为DS1302复位的稳定时间,必须的。   SCLK = 1;   _nop_();   DSIO = 0;   _nop_();   DSIO = 1;   _nop_();   return dat;   }   /*   * 函 数 名 : Ds1302Init   * 函数功能 : 初始化DS1302.   * 输 入 : 无   * 输 出 : 无   */   void Ds1302Init()   {   uchar n;   TR0=0;   Ds1302Write(0x8E,0X00); //禁止写保护,就是关闭写保护功能   for (n=0; n<7; n++)//写入7个字节的时钟信号:分秒时日月周年   {   Ds1302Write(WRITE_RTC_ADDR[n],(ds1302_time[n]/10<<4)+ds1302_time[n]%10);   }   Ds1302Write(0x8E,0x80); //打开写保护功能   TR0=1;   }   /*   * 函 数 名 : Ds1302ReadTime   * 函数功能 : 读取时钟信息   * 输 入 : 无   * 输 出 : 无   */   void Ds1302ReadTime()   {   uchar n,i;   for (n=0; n<7; n++)//读取7个字节的时钟信号:分秒时日月周年   {   i= Ds1302Read(READ_RTC_ADDR[n]);   if(n==0)   i=i & 0x7f;   ds1302_time[n] =(i>>4)*10+(i & 0x0f);   }   }   DS1302时钟芯片在单片机的电子时钟设计中如此受欢迎,主要是因为它的高性能和丰富的功能特性。这款芯片具有高精度的时间计数能力,同时功耗极低,非常适合需要长时间稳定运行且对功耗有严格要求的电子时钟设计。   而且,DS1302的接口设计非常简洁,容易与单片机等微控制器集成,降低了设计的复杂度。此外,它还具备掉电保护功能,在主电源断电时能够继续保持时钟运行,这对于需要连续计时的应用来说至关重要。   总的来说,DS1302时钟芯片以其高精度、低功耗、简洁接口和掉电保护等特性,在单片机的电子时钟设计中占据了重要地位。   老黑   2024.3.23   DS1302时钟芯片,学习过51单片机的同学,基本都认识。很多人都是通过这颗芯片认识时钟芯片的,但这颗芯片用完了大家都骂。
ds3231程序流程图_ds1302程序流程图
ds3231程序流程图_ds1302程序流程图DS1302   1.DS1302是啥   说它是时钟神器绝不为过,尤其是和51单片机搭配。在wifi授时还不发达的年代,想要保持时间的同步,只能搭载时钟芯片。或许是因为价格的原因,也或许是因为资料比较多的缘故,只要谈起时钟,必然是DS1302这颗芯片。
ds3231程序流程图_ds1302程序流程图
ds3231程序流程图_ds1302程序流程图原理图   DS1302与单片机通过三个引脚连接,分别是使能端CE、始终SCLK、以及数据口I/O。需要外接32.768k的时钟晶振。   有两个电源端,方便电池的接入。   走时不准,是大家对这颗芯片的统一评价,或许是因为初学的原因,或许是因为便宜的原因。总之,大家都愿意用这颗芯片入门,而不愿意用这颗芯片去商业化产品。   2.其他可以替代的时钟芯片   同厂家的芯片,除了DS1302外,还有DS1307和DS3231,其中前者使用了标准的IIC通讯协议,而后者则集成了32.768k的晶振。   这几年因为wifi芯片的大力发展,大家都用wifi时间了,上电就能读取到精确的时间,很大程度上忽略了时钟芯片。还集成了MCU,所以很多DIY都直接用wifi模组,比如ESP8266的各种模组。
ds3231程序流程图_ds1302程序流程图
ds3231程序流程图_ds1302程序流程图ESP32   纵然DS1302一直被骂,但是它确实是大部分人的时钟入门芯片。   以上就是这个问题的回答,如果有任何疑问都可以留言讨论。

激活谷谷主为您准备了激活教程,为节约您的时间请移步至置顶文章:https://sigusoft.com/99576.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。 文章由激活谷谷主-小谷整理,转载请注明出处:https://sigusoft.com/89829.html

(0)
上一篇 2024年 6月 20日
下一篇 2024年 6月 20日

相关推荐

关注微信