找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 2896|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

基于stm32f030f4單片機(jī)ds3231+tm1640萬(wàn)年歷時(shí)鐘源程序

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:39072 發(fā)表于 2022-3-29 10:13 | 只看該作者 |只看大圖 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
基于stm32f030f4芯片+ds3231+tm1640+16位數(shù)碼管+oled 萬(wàn)年歷時(shí)鐘

由于此版本為代人開(kāi)發(fā)的!所以只能開(kāi)源基本代碼(刪除包括:OLED WIFI  KEY 等外設(shè)代碼)!供大家研究。!

制作出來(lái)的實(shí)物圖如下:



GPIO配置:
TM1640  
DIN =PA1
SCLK=PA2

DS3231
SDA=PA3
SCL=PA4

單片機(jī)源程序如下:
  1. /*************************************************************************************
  2. //基于STM32F030F4P6+DS3231+TM1640 ****(此版本為刪減開(kāi)源版本)

  3. //實(shí)現(xiàn)基本萬(wàn)年歷時(shí)鐘

  4. //2022.03.10

  5. ****************************************************************************************/
  6. //#include "exti.h"
  7. //#include "oled.h"
  8. //#include "bmp.h"
  9. //#include "key.h"
  10. //#include "wifi.h"
  11. //#include "uart.h"
  12. #include "sys.h"
  13. #include "delay.h"
  14. #include "i2c.h"
  15. #include "DS3231.h"
  16. #include "TM1640.h"
  17. int main(void)
  18. {        
  19.             delay_init();         
  20.             I2C_GPIO_Config();
  21.             DS3231_Init();        
  22.             TM1640_Init();         
  23. //       //Set_DS3231_Time(22,03,28,22,18,00,1);//22年03月20號(hào)14時(shí)00?分00秒星期日,初始化DS3231后注銷
  24. //          key_Init();
  25. //          uart_Init();
  26. //          wifi_Init();
  27. //            OLED_Init();
  28. //            OLED_Clear();

  29.         while(1)
  30.         {
  31.                 Get_DS3231_Time();
  32.                 {        
  33.                         /*/OLED12864顯示日期
  34.                         OLED_ShowString(0,0,"2",16); //2
  35.                         OLED_ShowString(10,0,"0",16); //0
  36.                         OLED_ShowChar(20,0,calendar.w_year/10+48,16);
  37.                         OLED_ShowChar(31,0,calendar.w_year%10+48,16);
  38.                         OLED_ShowCHinese(40,0,0);//年
  39.                         OLED_ShowChar(59,0,calendar.w_month/10+48,16);
  40.                         OLED_ShowChar(68,0,calendar.w_month%10+48,16);
  41.                         OLED_ShowCHinese(78,0,1);//月
  42.                         OLED_ShowChar(96,0,calendar.w_date/10+48,16);
  43.                         OLED_ShowChar(105,0,calendar.w_date%10+48,16);
  44.                         OLED_ShowCHinese(112,0,14);//日
  45.                         //OLED12864顯示時(shí)間
  46.                         OLED_Show16X32(0,2,calendar.hour/10);
  47.                         OLED_Show16X32(18,2,calendar.hour%10);
  48.                         OLED_Show16X32(33,2,10);
  49.                         OLED_Show16X32(48,2,calendar.min/10);
  50.                         OLED_Show16X32(64,2,calendar.min%10);
  51.                         OLED_Show16X32(80,2,10);
  52.                         OLED_Show16X32(95,2,calendar.sec/10);
  53.                         OLED_Show16X32(110,2,calendar.sec%10);                        

  54.       //OLED_ShowCHinese(2,6,6);//
  55.                         //OLED_ShowCHinese(18,6,7);//
  56.                         OLED_ShowCHinese(0,6,2);//
  57.                         OLED_ShowCHinese(20,6,calendar.week+7); //星期
  58.                         //OLED_ShowChar(70,6,127,16);                        //
  59.                         OLED_ShowCHinese(45,6,4);//
  60.                         OLED_ShowCHinese(63,6,5);//
  61.                         OLED_ShowChar(79,6,calendar.temper_H/10+48,16);//
  62.                         OLED_ShowChar(88,6,calendar.temper_H%10+48,16);//顯示溫度
  63.                         OLED_ShowString(96,6,".",16);//.
  64.                         OLED_ShowChar(103,6,calendar.temper_L/10+48,16);//
  65.                         OLED_ShowCHinese(112,6,3);//C*/
  66. //*************************************TM1640-16位共陰數(shù)碼管顯示****************************************88888888                        
  67. //                   TM1640_display(0,calendar.w_year/10);        //年
  68. //                        TM1640_display(1,calendar.w_year%10);//年
  69. //      TM1640_display(2,11); //不顯示
  70.                         TM1640_display(0,calendar.w_month/10);
  71.                         TM1640_display(1,calendar.w_month%10);//月        
  72.                         TM1640_display(2,11); //不顯示
  73.                         TM1640_display(3,calendar.w_date/10);        
  74.                         TM1640_display(4,calendar.w_date%10);//日
  75.                         TM1640_display(5,11); //不顯?
  76.                         TM1640_display(6,11); //不顯?
  77.                   TM1640_display(7,calendar.week); //星期                        
  78.                         TM1640_display(8,calendar.hour/10);
  79.                         TM1640_display(9,calendar.hour%10);//時(shí)
  80.                         TM1640_display(10,10); //顯示"-"
  81.                         TM1640_display(11,calendar.min/10);
  82.                         TM1640_display(12,calendar.min%10);//分
  83.                         TM1640_display(13,10); //顯示"-"
  84.                         TM1640_display(14,calendar.sec/10);        
  85.                         TM1640_display(15,calendar.sec%10);//秒        
  86.                 }
  87.         }
  88. }        
復(fù)制代碼

Keil代碼下載:
STM32F030F4P6+TM1640+DS3231 萬(wàn)年歷時(shí)鐘.7z (195.71 KB, 下載次數(shù): 68)


評(píng)分

參與人數(shù) 1黑幣 +70 收起 理由
admin + 70 共享資料的黑幣獎(jiǎng)勵(lì)!

查看全部評(píng)分

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

使用道具 舉報(bào)

本版積分規(guī)則

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

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表