找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3603|回复: 3
打印 上一主题 下一主题
收起左侧

DS1302电子钟芯片程序

[复制链接]
跳转到指定楼层
楼主
ID:71259 发表于 2014-12-29 20:46 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
  1. ///////////////////////////////////////////////////////////////////
  2. /*名称:单片机读取DS1302时钟芯片                                  /
  3. /*作者:周光明                                                    /
  4. /*时间:2010年12月3日                                             /
  5. /*功能:                                                          /
  6. /*                                                                /
  7. /*                                                                /
  8. ///////////////////////////////////////////////////////////////////*/

  9. #include <reg52.h>
  10. #define uchar unsigned char
  11. #define uint unsigned int
  12. #define xiemiao 0x80
  13. #define xiefen  0x82
  14. #define xieshi  0x84
  15. #define xieri   0x86
  16. #define xieyue  0x88
  17. #define xiezhou 0x8a
  18. #define xienian 0x8c
  19. #define dumiao  0x81
  20. #define dufen   0x83
  21. #define dushi   0x85
  22. #define duri    0x87
  23. #define duyue   0x89
  24. #define duzhou  0x8b
  25. #define dunian  0x8d
  26. #define baohu 0x8e
  27. uchar bdata CDIO;
  28. sbit DCE=P2^2;
  29. sbit DIO=P2^1;
  30. sbit SCLK=P2^0;
  31. sbit CDIO_7=CDIO^7;
  32. /*----------------------------------写入DS1302--------------------*/
  33. xieds1302(uchar dizhi,shuju)
  34. {
  35. uchar i,temp;
  36. DCE=0;
  37. SCLK=0;
  38. DIO=0;
  39. DCE=1;
  40. for(i=0;i<8;i++)                 //送地址
  41.     {
  42.   SCLK=0;
  43.   temp=dizhi;
  44.   DIO=(bit)(temp&0x01);
  45.   dizhi>>=1;
  46.   SCLK=1;
  47.   }
  48. for(i=0;i<8;i++)                 //送数据
  49.      {
  50.    SCLK=0;
  51.    temp=shuju;
  52.    DIO=(bit)(temp&0x01);
  53.    shuju>>=1;
  54.    SCLK=1;
  55.    }
  56.   DCE=0;
  57. }

  58. /*----------------------------------从DS1302读出--------------------*/
  59. duds1302(uchar dizhi)
  60. {
  61. uchar i,temp;
  62. DCE=0;
  63. SCLK=0;
  64. DIO=0;
  65. DCE=1;
  66. for(i=0;i<8;i++)                 //送地址
  67.     {
  68.   SCLK=0;
  69.   temp=dizhi;
  70.   DIO=(bit)(temp&0x01);
  71.   dizhi>>=1;
  72.   SCLK=1;
  73.   }
  74. for(i=0;i<8;i++)                //读数据
  75.      {
  76.    CDIO_7=DIO;
  77.    SCLK=1;
  78.    CDIO>>=1;
  79.    SCLK=0;
  80.    }
  81.   DCE=0;
  82.   temp=CDIO;
  83.   return(temp);
  84. }
  85. //////////////////////////////////////////////////
  86.   
复制代码


分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:86421 发表于 2015-10-12 21:04 | 只看该作者
做的很好
回复

使用道具 举报

板凳
ID:223707 发表于 2017-8-21 10:38 | 只看该作者
赞一个   学习
回复

使用道具 举报

地板
ID:23303 发表于 2020-2-29 18:23 | 只看该作者
我还是个小白,佩服
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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