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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

DS3231時鐘串口打印STM32程序源碼

  [復制鏈接]
跳轉到指定樓層
樓主
ID:283453 發表于 2018-3-28 12:55 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
DS3231時鐘串口 STM32單片機源程序如下:
  1. #include "led.h"
  2. #include "delay.h"
  3. #include "sys.h"
  4. #include "usart.h"
  5. #include "DS3231.h"

  6. //使用的時鐘模塊為DS3221, 采用模擬IIC驅動  
  7. //時鐘模塊引腳接線  SCL-> PB10
  8. //                 SDA-> PB11
  9. //32K和SQW引腳懸空,什么都不接。

  10. int main(void)
  11. {       


  12.         u8  t=0;       
  13.         delay_init();                     //延時函數初始化       
  14.         NVIC_Configuration();// 設置中斷優先級分組
  15.         uart_init(9600);         //串口初始化為9600
  16.         LED_Init();                           //初始化與LED連接的硬件接口
  17.          
  18.         DS3231_Init();
  19.          
  20. //        DS3231_Set(16,11,27,21,03,30);  首次設置時間,設置完成后注釋掉,重新下載一次程序即可掉電保存
  21.              //年,月,日,時,分,秒
  22.         while(1)
  23.         {
  24.                
  25.                                 get_show_time();

  26.                         if(t!=calendar.sec)
  27.                 {
  28.                         t=calendar.sec;
  29.                         printf("年月日:");
  30.                         printf("%ld,%d,%d\r\n",calendar.w_year+2000,calendar.w_month,calendar.w_date);
  31.                         printf("時分秒:");
  32.                         printf("%d,%d,%d\r\n",calendar.hour,calendar.min,calendar.sec);
  33.                         LED0=!LED0;
  34.                 }
  35.                
  36.         }         
  37. }


復制代碼
  1. #include "DS3231.h"
  2. #include "myiic.h"
  3. #include "delay.h"   
  4. #include "sys.h"  
  5.      
  6. _calendar_obj calendar;

  7. #define DS3231_WriteAddress 0xD0   
  8. #define DS3231_ReadAddress  0xD1

  9. u8 BCD2HEX(u8 val)
  10. {
  11.     u8 i;
  12.     i= val&0x0f;
  13.     val >>= 4;
  14.     val &= 0x0f;
  15.     val *= 10;
  16.     i += val;
  17.    
  18.     return i;
  19. }

  20. u16 B_BCD(u8 val)
  21. {
  22.   u8 i,j,k;
  23.   i=val/10;
  24.   j=val%10;
  25.   k=j+(i<<4);
  26.   return k;
  27. }


  28. void I2cByteWrite(u8 addr,u8 bytedata)
  29. {
  30.   IIC_Start();
  31.   delay_us(5);
  32.   IIC_Send_Byte(DS3231_WriteAddress);
  33.   IIC_Wait_Ack();
  34.   delay_us(5);
  35.   IIC_Send_Byte(addr);
  36.   IIC_Wait_Ack();
  37.   delay_us(5);
  38.   IIC_Send_Byte(bytedata);
  39.   IIC_Wait_Ack();
  40.   delay_us(5);
  41.   IIC_Stop();
  42. }       


  43. u8 I2cByteRead(u8 addr)
  44. {
  45.   u8 Dat=0;
  46.   
  47.   IIC_Start();
  48.   IIC_Send_Byte(DS3231_WriteAddress);
  49.   IIC_Wait_Ack();
  50.   delay_us(5);
  51.   IIC_Send_Byte(addr);
  52.   IIC_Wait_Ack();
  53.   delay_us(5);
  54.   IIC_Start();
  55.   IIC_Send_Byte(DS3231_ReadAddress);
  56.   IIC_Wait_Ack();
  57.   delay_us(5);
  58.   Dat=IIC_Read_Byte(1);
  59.   IIC_Stop();
  60.   return Dat;
  61. }



  62. void DS3231_Init(void)
  63. {
  64.         IIC_Init();
  65.         I2cByteWrite(0x0e,0);
  66.         delay_ms(2);
  67.     I2cByteWrite(0x0f,0x0);
  68.         delay_ms(2);
  69. }
  70. void DS3231_Get(void)
  71. {
  72.   calendar.w_year=I2cByteRead(0x06);  
  73.   calendar.w_month=I2cByteRead(0x05);  
  74.   calendar.w_date=I2cByteRead(0x04);
  75.   calendar.hour=I2cByteRead(0x02);  
  76.   calendar.min=I2cByteRead(0x01);
  77.   calendar.sec=I2cByteRead(0x00);
  78. }

  79. void DS3231_Set(u8 yea,u8 mon,u8 da,u8 hou,u8 min,u8 sec)
  80. {
  81.   u8 temp=0;
  82.   
  83.   temp=B_BCD(yea);
  84.   I2cByteWrite(0x06,temp);
  85.   
  86.   temp=B_BCD(mon);
  87.   I2cByteWrite(0x05,temp);
  88.    
  89.   temp=B_BCD(da);
  90.   I2cByteWrite(0x04,temp);
  91.   
  92.   temp=B_BCD(hou);
  93.   I2cByteWrite(0x02,temp);
  94.   
  95.   temp=B_BCD(min);
  96.   I2cByteWrite(0x01,temp);
  97.   
  98.   temp=B_BCD(sec);
  99.   I2cByteWrite(0x00,temp);
  100. }


  101. void get_show_time(void)
  102. {


  103. calendar.w_year=I2cByteRead(0x06);  
  104. calendar.w_year=BCD2HEX(calendar.w_year);


  105. calendar.w_month=I2cByteRead(0x05);
  106. calendar.w_month=BCD2HEX(calendar.w_month);


  107. calendar.w_date=I2cByteRead(0x04);  
  108. calendar.w_date=BCD2HEX(calendar.w_date);


  109. calendar.hour=I2cByteRead(0x02);
  110. calendar.hour&=0x3f;                  
  111. calendar.hour=BCD2HEX(calendar.hour);


  112. calendar.min=I2cByteRead(0x01);
  113. calendar.min=BCD2HEX(calendar.min);
  114.   
  115.   
  116. calendar.sec=I2cByteRead(0x00);
  117. calendar.sec=BCD2HEX(calendar.sec);
  118. }


復制代碼


所有資料51hei提供下載:
DS3231時鐘串口打印.rar (293.73 KB, 下載次數: 281)


評分

參與人數 1黑幣 +10 收起 理由
zb12138 + 10

查看全部評分

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

使用道具 舉報

沙發
ID:310439 發表于 2018-5-15 10:38 | 只看該作者
非常感謝,一直沒調通,試試這個。
回復

使用道具 舉報

板凳
ID:189601 發表于 2018-7-10 01:04 | 只看該作者
好用,感謝
回復

使用道具 舉報

地板
ID:430492 發表于 2018-12-26 16:26 | 只看該作者
非常感謝,試試這個。
回復

使用道具 舉報

5#
ID:430492 發表于 2018-12-26 16:27 | 只看該作者
非常感謝,試試這個。
回復

使用道具 舉報

6#
ID:470005 發表于 2019-1-18 09:55 | 只看該作者
感謝樓主……
回復

使用道具 舉報

7#
ID:333807 發表于 2019-4-4 10:24 | 只看該作者

DS3231時鐘帶鬧鐘程序
回復

使用道具 舉報

8#
ID:394770 發表于 2019-11-4 20:08 | 只看該作者
感謝樓主
回復

使用道具 舉報

9#
ID:615301 發表于 2020-4-6 00:41 | 只看該作者
感謝樓主
回復

使用道具 舉報

10#
ID:489687 發表于 2020-4-26 23:26 | 只看該作者
謝謝分享謝謝分享哦
回復

使用道具 舉報

11#
ID:422924 發表于 2021-5-23 20:48 | 只看該作者
找了好久才找到這個,下載試試,感謝樓主
回復

使用道具 舉報

12#
ID:702641 發表于 2021-8-3 15:31 | 只看該作者
是模擬I2
回復

使用道具 舉報

13#
ID:702641 發表于 2021-8-3 15:32 | 只看該作者
是模擬I2C接口,沒有使用stm32的i2c接口,比較遺憾。
回復

使用道具 舉報

14#
ID:1088106 發表于 2023-7-11 16:41 | 只看該作者
非常感謝,試試這個。
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 精品视频在线观看 | 最新国产精品 | 欧美三级在线 | 久久机热| 欧美成人一区二区 | 精品一二区 | 看一级黄色毛片 | 国产日产欧产精品精品推荐蛮挑 | 国产激情一区二区三区 | 一级做a爰片性色毛片视频停止 | 国产福利在线 | 一级特黄视频 | 亚洲国产精品一区二区第一页 | 欧美中文一区 | 91资源在线观看 | 亚洲狠狠爱| 国产精品久久久久久久午夜片 | 99精品国产一区二区青青牛奶 | 中文字幕11页 | 精精国产xxxx视频在线野外 | 中文字幕欧美一区 | 久久九 | 男人天堂999 | 国产高清精品一区二区三区 | 欧美日韩中文字幕在线 | 伊人色综合久久天天五月婷 | 国产中文字幕亚洲 | 亚洲一区中文字幕在线观看 | 亚洲精品久久久久avwww潮水 | 午夜a v电影 | 亚洲午夜精品一区二区三区他趣 | 日本成人片在线观看 | 中文字幕久久精品 | 中文字幕一区二区三区四区五区 | 日日干日日 | 人碰人操 | h片在线观看网站 | 亚洲精品日日夜夜 | 国产精品美女久久久av超清 | 国产一区二区免费 | 天天干亚洲 |