久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 16038|回復: 2
收起左側

DS1302時鐘模塊原理圖PCB與單片機源碼等詳細資料

[復制鏈接]
ID:284341 發表于 2018-2-24 00:56 | 顯示全部樓層 |閱讀模式
Altium Designer畫的DS1302時鐘模塊原理圖和PCB圖如下:(51hei附件中可下載工程文件)
0.png 0.png 0.png

芯片簡介:
介紹美國DALLAS公司推出的具有涓細電流充電能力的低功耗實時時鐘電路DS1302的結構、工作原理及其在實時顯示時間中的應用。它可以對年、月、日、周、日、時、分、秒進行計時,且具有閏年補償等多種功能。
image003.png image014.jpg image008.jpg image010.jpg
單片機源程序如下:
  1. /********************************************************

  2. 實現功能:DS1302測試程序
  3. 使用芯片:AT89S52
  4. 晶振:11.0592MHZ
  5. 編譯環境:Keil
  6. 作者:zhangxinchunleo

  7. 【聲明】此程序僅用于學習與參考,引用請注明版權和作者信息!     
  8. ********************************************************/
  9. /*********************************包含頭文件********************************/
  10. #include "reg52.h"
  11. #include <intrins.h>

  12. /*********************************端口定義**********************************/
  13. sbit DS1302_CLK = P1^0;
  14. sbit DS1302_IO  = P1^1;
  15. sbit DS1302_RST = P1^2;

  16. /*******************************共陽LED段碼表*******************************/
  17. unsigned char code tab[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
  18. unsigned char wei[4]={0XEf,0XDf,0XBf,0X7f};  //位的控制端

  19. /******************************定義全局變量*********************************/
  20. unsigned char second,minute,hour,week,day,month,year;                //秒、分、時、星期、日、月、年
  21. unsigned char time[]={0x06,0x03,0x14,0x03,0x12,0x30,0x00};        //初始時間數組
  22. /****************************************************************************
  23. 函數功能:數碼管掃描延時子程序
  24. 入口參數:
  25. 出口參數:
  26. ****************************************************************************/
  27. void delay1(void)
  28. {
  29.         int k;
  30.         for(k=0;k<400;k++);
  31. }

  32. /****************************************************************************
  33. 函數功能:數碼管顯示子程序
  34. 入口參數:k
  35. 出口參數:
  36. ****************************************************************************/
  37. void display(void)
  38. {        
  39.       P2=0XFF;
  40.         P0=tab[minute/16];
  41.           P2=wei[0];
  42.                  delay1();
  43.           P2=0XFF;  
  44.          P0=tab[minute%16];
  45.           P2=wei[1];
  46.                   delay1();
  47.           P2=0XFF;  
  48.         P0=tab[second/16];
  49.           P2=wei[2];
  50.                 delay1();
  51.           P2=0XFF;  
  52.         P0=tab[second%16];
  53.           P2=wei[3];
  54.                   delay1();
  55.           P2=0XFF;
  56. }
  57. /*****************************************************************************
  58. 函數功能:向DS1302送一字節數據子程序
  59. 入口參數:
  60. 出口參數:
  61. *****************************************************************************/
  62. void InputByte(unsigned char byte1)
  63. {
  64.         char i;
  65.         for(i=8;i>0;i--)
  66.         {
  67.                 DS1302_IO=(bit)(byte1&0x01);
  68.                 DS1302_CLK=1;
  69.                 _nop_();
  70.                 DS1302_CLK=0;
  71.                 byte1>>=1;
  72.         }
  73.         return;
  74. }

  75. /*****************************************************************************
  76. 函數功能:讀DS1302一個字節子程序
  77. 入口參數:
  78. 出口參數:
  79. *****************************************************************************/
  80. unsigned char outputbyte(void)  
  81. {
  82.         unsigned char i;
  83.         unsigned ucdat=0;
  84.         for(i=8;i>0;i--)
  85.         {
  86.                 DS1302_IO=1;
  87.                 ucdat>>=1;
  88.                 if(DS1302_IO)ucdat|=0x80;
  89.                 DS1302_CLK=1;
  90.                 _nop_();
  91.                 DS1302_CLK=0;
  92.          }
  93.          return(ucdat);
  94. }

  95. /*****************************************************************************
  96. 函數功能:向DS1302某地址寫一字節數據子程序
  97. 入口參數:addr,TDat
  98. 出口參數:
  99. *****************************************************************************/
  100. void write_ds1302(unsigned char addr,unsigned char TDat)
  101. {
  102.         DS1302_RST=0;
  103.         _nop_();
  104.         DS1302_CLK=0;
  105.         _nop_();
  106.         DS1302_RST=1;
  107.          InputByte(addr);
  108.         _nop_();
  109.         InputByte(TDat);
  110.         DS1302_CLK=1;
  111.         _nop_();
  112.         DS1302_RST=0;
  113. }

  114. /*****************************************************************************
  115. 函數功能:讀DS1302地址子程序
  116. 入口參數:add
  117. 出口參數:timedata
  118. *****************************************************************************/
  119. unsigned char read_ds1302(unsigned char addr)
  120. {
  121.         unsigned char timedata;
  122.         DS1302_RST=0;
  123.         _nop_();
  124.         DS1302_CLK=0;
  125.         _nop_();
  126.         DS1302_RST=1;
  127.         InputByte(addr);
  128.         timedata=OutputByte();
  129.         DS1302_CLK=1;
  130.         _nop_();
  131.         DS1302_RST=0;
  132.         return(timedata);
  133. }

  134. /*****************************************************************************
  135. 函數功能:初始化DS1302子程序
  136. 入口參數:time[](全局變量)
  137. 出口參數:
  138. *****************************************************************************/
  139. void initial_ds1302()
  140. {
  141.         write_ds1302(0x8e,0x00);                //寫保護寄存器,在對時鐘或RAM寫前WP一定要為0
  142.         write_ds1302(0x8c,time[0]);                //年
  143.         write_ds1302(0x88,time[1]);                //月
  144.         write_ds1302(0x86,time[2]);                //日
  145.         write_ds1302(0x8A,time[3]);                //星期
  146.         write_ds1302(0x84,time[4]);                //時
  147.         write_ds1302(0x82,time[5]);                //分
  148.         write_ds1302(0x80,time[6]);                //秒
  149.         write_ds1302(0x8e,0x80);                //寫保護寄存器
  150. }

  151. /*****************************************************************************
  152. 函數功能:讀DS1302時間子程序
  153. 入口參數:
  154. 出口參數:全局變量(second,minute,hour,week,day,month,year)
  155. *****************************************************************************/
  156. void read_time()
  157. {
  158.         second=read_ds1302(0x81);                //秒寄存器
  159.         minute=read_ds1302(0x83);                //分
  160.         hour=read_ds1302(0x85);                        //時
  161.         week=read_ds1302(0x8B);                        //星期
  162.         day=read_ds1302(0x87);                        //日
  163.         month=read_ds1302(0x89);                //月
  164.         year=read_ds1302(0x8d);                        //年
  165. }

  166. /*****************************************************************************
  167. 函數功能:主程序
  168. 入口參數:
  169. 出口參數:
  170. *****************************************************************************/
  171. void main(void)
  172. {
  173.         initial_ds1302();                                //初始化DS1302
  174.         while(1)
  175.         {
  176.                 read_time();                                //讀取時間
  177.                 display();                                        //顯示時間
  178.         }
  179. }

復制代碼

簡要說明:
一、尺寸:全長26mm23mm10mm
二、主芯片:DS1302
三、工作電壓:直流5V
四、特點:電路簡單實用,接線簡單,地面有3V電池座,使用32.768khz晶振。
      

適用場合:單片機學習、電子競賽、產品開發、畢業設計。。。

所有資料51hei提供下載:

DS1302時鐘模塊DXP資料.rar

80.82 KB, 下載次數: 112, 下載積分: 黑幣 -5

DS1302測試程序.rar

209.4 KB, 下載次數: 71, 下載積分: 黑幣 -5

DS1302時鐘模塊產品使用手冊.rar

3.23 MB, 下載次數: 37, 下載積分: 黑幣 -5

DS1302時鐘模塊相關資料.rar

1.69 MB, 下載次數: 49, 下載積分: 黑幣 -5

DS1302時鐘模塊原理圖.doc

26 KB, 下載次數: 52, 下載積分: 黑幣 -5

回復

使用道具 舉報

ID:243394 發表于 2019-7-13 09:26 | 顯示全部樓層
謝謝樓主分享
回復

使用道具 舉報

ID:219447 發表于 2020-3-9 13:45 | 顯示全部樓層
下來看看,現在正設計時鐘功能
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 麻豆视频一区 | 国产在线天堂 | 91精品国产综合久久久蜜臀 | 国产91免费| 久久av片 | 综合一区二区三区 | 黄av在线| 中文字幕高清 | 国产三级在线免费观看 | 欧美日韩成人在线观看 | 狠狠操狠狠操 | 午夜精品久久久久久久99 | 蜜桃91丨九色丨蝌蚪91桃色 | 日韩偷拍自拍 | 欧美色图一区二区三区 | 欧美性猛交一区二区三区精品 | 日韩精品视频在线 | 久久99精品国产麻豆91樱花 | 亚洲免费视频观看 | 欧美一区二区在线播放 | 久久久精品在线观看 | 亚洲免费成人 | 国产高潮在线观看 | 中文日韩欧美 | 成人理论影院 | 黄色a毛片| 日本男人的天堂 | 在线播放成人 | 黄色免费片 | 99久久久国产精品 | 国产欧美视频在线观看 | 一级做a爰片久久毛片潮喷 视频一二区 | 日韩精品在线一区 | 97在线播放 | 国产区视频在线观看 | 四虎免费在线观看 | 亚洲一区二区三区在线视频 | 国产精品高清在线观看 | 国产精品福利视频 | 四虎入口 | www.粉色视频在线观看 |