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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1924|回復: 1
打印 上一主題 下一主題
收起左側

ds1307萬年歷程序 Tiny RTC 12C Modules時鐘模塊

[復制鏈接]
跳轉到指定樓層
樓主
ID:590232 發表于 2019-10-24 15:07 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
萬年歷 Tiny RTC 12C Modules時鐘模塊

單片機源程序如下:
  1. #include "ds1307.h"

  2. void DS1307_start()
  3. {
  4.         int i=0;
  5.         SDA=1;
  6.         SCL=1;
  7.         i++;i++;
  8.         SDA=0;
  9.         i++;i++;
  10. }

  11. void DS1307_stop()
  12. {
  13.         int i=0;
  14.         SDA=0;
  15.         SCL=1;
  16.         i++;i++;
  17.         SDA=1;
  18.         i++;i++;
  19. }

  20. void DS1307_ack()
  21. {
  22.         int i=0;
  23.         SCL=1;
  24.         while((SDA==1)&&(i<50))
  25.                 i++;
  26.         SCL=0;
  27. }

  28. void DS1307_write(unsigned char slave_write_address,unsigned char byte_address,unsigned char wdata)
  29. {
  30.         int i,j,z=0;
  31.         unsigned char tdata1,tdata2;
  32.         DS1307_start();
  33.            for(i=0;i<3;i++)
  34.         {
  35.                 if(i==0)
  36.                 {
  37.                         tdata1=slave_write_address;
  38.                         tdata2=slave_write_address;
  39.                 }
  40.                 else if(i==1)
  41.                 {
  42.                         tdata1=byte_address;
  43.                         tdata2=byte_address;
  44.                 }
  45.                 else if(i==2)
  46.                 {
  47.                         tdata1=wdata;
  48.                         tdata2=wdata;
  49.                 }        
  50.                 for(j=0;j<8;j++)
  51.                 {
  52.                         SCL=0;
  53.                         z++;z++;z++;//延時
  54.                         tdata1=tdata2;  
  55.                         tdata1=tdata1&0x80;
  56.                         if(tdata1==0x80)
  57.                                 SDA=1;
  58.                         else
  59.                                 SDA=0;
  60.                         z++;z++;z++;//延時
  61.                         SCL=1;
  62.                         z++;z++;z++;;//延時
  63.                         SCL=0;
  64.                         z++;z++;z++;;//延時
  65.                         tdata2=tdata2<<1;
  66.                 }
  67.                 SCL=1;
  68.                 while(z<25)
  69.                         z++;
  70.                 SDA=1;
  71.                 while(z<35)
  72.                         z++;
  73.                 DS1307_ack();
  74.         }
  75.         DS1307_stop();
  76. }


  77. uchar DS1307_read(unsigned char slave_write_address,unsigned char byte_address,unsigned char slave_read_address)//讀一個數據
  78. {
  79.         uchar tdata1,tdata2,i,j,x,rdata,z=0;
  80.         DS1307_start();//開始
  81.         for(i=0;i<3;i++)//
  82.         {
  83.                 if(i==0)
  84.                 {
  85.                         tdata1=slave_write_address;//送 器件寫地址
  86.                         tdata2=slave_write_address;
  87.                 }
  88.                 else if(i==1)
  89.                 {
  90.                         tdata1=byte_address;//送 字節地址
  91.                         tdata2=byte_address;
  92.                 }
  93.                 else if(i==2)
  94.                 {
  95.                         DS1307_start();//開始
  96.                         tdata1=slave_read_address;//送 器件讀地址
  97.                         tdata2=slave_read_address;
  98.                 }
  99.                 for(j=0;j<8;j++)//
  100.                 {
  101.                         SCL=0;
  102.                         z++;z++;z++;//延時
  103.                         tdata1=tdata2;  
  104.                         tdata1=tdata1&0x80;
  105.                         if(tdata1==0x80)
  106.                                 SDA=1;
  107.                         else
  108.                                 SDA=0;
  109.                         z++;z++;z++;
  110.                         SCL=1;
  111.                         z++;z++;z++;
  112.                         SCL=0;
  113.                         z++;z++;z++;;
  114.                         tdata2=tdata2<<1;
  115.                 }
  116.                 SCL=1;
  117.                 while(z<25)
  118.                         z++;
  119.                 SDA=1;
  120.                 while(z<32)
  121.                         z++;
  122.                 DS1307_ack();
  123.         }

  124.         SDA=1;
  125.         z++;z++;z++;
  126.         SCL=0;
  127.         z++;z++;z++;//延時  
  128.         for(x=0;x<8;x++)
  129.         {
  130.                 rdata=rdata<<1;//向左移入1位
  131.                 SCL=1;
  132.                 z++;z++;z++;;//延時
  133.                 if(SDA==1)//判斷 數據線是否是高電平
  134.                         rdata|=0x01;//把讀到的數據 或 0X01
  135.                 SCL=0;
  136.         }
  137.         DS1307_ack();//應答
  138.         DS1307_stop();//停止
  139.         return rdata;//返回讀到的數據
  140. }

  141. void DS1307_init()
  142. {
  143.         DS1307_write(0xd0,0x00,0x00);//miao        00
  144.         DS1307_write(0xd0,0x01,0x38);//fen 00
  145.         DS1307_write(0xd0,0x02,0x11);//shi    11:38:00
  146.         DS1307_write(0xd0,0x03,0x06);//xingqi 6
  147.         DS1307_write(0xd0,0x04,0x12);//ri 12  
  148.         DS1307_write(0xd0,0x05,0x10);//yue
  149.         DS1307_write(0xd0,0x06,0x19);//nian          2019-10-12_XY6
  150. }
復制代碼

所有程序51hei提供下載:
萬年歷.rar (57.72 KB, 下載次數: 41)


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:1 發表于 2019-10-25 03:33 | 只看該作者
本帖需要重新編輯補全電路原理圖,源碼,詳細說明與圖片即可獲得100+黑幣(帖子下方有編輯按鈕)
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 精品久久久网站 | 免费在线观看黄视频 | 国产 亚洲 网红 主播 | 欧美片网站免费 | 国产成人高清视频 | 欧美国产日本一区 | 精品中文字幕在线观看 | 精品中文字幕一区 | 中文字幕人成乱码在线观看 | 亚洲精品自在在线观看 | 亚洲一区视频 | 日本特黄a级高清免费大片 特黄色一级毛片 | 国产在线观看一区二区 | 久久久精品视频免费 | 无吗视频| 国产真实精品久久二三区 | 国产精品美女久久久久aⅴ国产馆 | 欧美一卡二卡在线观看 | 亚洲欧美日本国产 | 四虎影音| 国产激情视频网 | 视频一区二区在线观看 | 亚洲精品天堂 | 天天操夜夜操免费视频 | 国产精品三级久久久久久电影 | 久久91av | 久久精品91久久久久久再现 | 久久av一区二区 | 久草视频2| www.一区二区三区.com | 亚洲成人精品影院 | 国产精品福利视频 | 欧美 日韩 国产 一区 | 精品国产一区二区三区性色av | 草比av| 91精品国产综合久久久久久 | 91精品国产综合久久久久久丝袜 | 91麻豆精品国产91久久久久久 | 九九热免费视频在线观看 | 国产免费一区二区 | 国产欧美久久精品 |