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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

STM32F103+IIC_OLED12864+TM1640+DS3231雙顯示OK 電子萬年歷程序

[復制鏈接]
ID:39072 發表于 2022-3-21 12:57 | 顯示全部樓層 |閱讀模式
STM32F103+ IIC_OLED12864+TM1640+DS3231雙顯視示OK 電子萬年歷
破爛堆找個4位數碼管(可惜中間不帶兩個點)DS3231精度真不是吹出來的!誤差很小一年不超過2分鐘!

制作出來的實物圖如下:
捕獲.JPG
單片機源程序如下:
  1. #include "led.h"
  2. #include "exti.h"
  3. #include "oled.h"
  4. #include "i2c_soft.h"
  5. #include "DS3231.h"
  6. #include "delay.h"
  7. #include "sys.h"
  8. #include "bmp.h"
  9. #include "TM1640.h"
  10. int main(void)
  11. {       
  12.         u8 k=0;//*t=0,p=2,
  13.        
  14.         delay_init();                        //延時函數初始化          
  15.         //LED_Init();                                //初始化與LED連接的硬件接口
  16.         I2C_GPIO_Config();
  17.         EXTI_KEY_Config();
  18.         DS3231_Init();
  19.   //Set_DS3231_Time(22,03,20,14,00,00,7);//22年03月20號14點00分00秒周日 .第1次初始化DS3231使用后注銷
  20.         OLED_Init();
  21.         OLED_Clear();
  22.         //LED1_ON;                                //LED1 ON
  23.         TM1640_Init(); //TM1640初始化               
  24.         while(1)
  25.         {
  26.                 Get_DS3231_Time();
  27.                 if(k!=calendar.sec)
  28.                 {
  29.                         k=calendar.sec;                //讀取溫度       
  30.                         //OLED12864顯示日期
  31.                         OLED_ShowString(0,0,"2",16); //顯示年的千位字符2
  32.                         OLED_ShowString(10,0,"0",16); //顯示年的百位字符0
  33.                         OLED_ShowChar(20,0,calendar.w_year/10+48,16);
  34.                         OLED_ShowChar(31,0,calendar.w_year%10+48,16);
  35.                         OLED_ShowCHinese(40,0,0);//在2列6行顯示”年“
  36.                         OLED_ShowChar(59,0,calendar.w_month/10+48,16);
  37.                         OLED_ShowChar(68,0,calendar.w_month%10+48,16);
  38.                         OLED_ShowCHinese(78,0,1);//在2列6行顯示”月“
  39.                         OLED_ShowChar(96,0,calendar.w_date/10+48,16);
  40.                         OLED_ShowChar(105,0,calendar.w_date%10+48,16);
  41.                         OLED_ShowCHinese(112,0,14);//在2列6行顯示”日“
  42.                         //OLED12864顯示時間
  43.                         OLED_Show16X32(0,2,calendar.hour/10);
  44.                         OLED_Show16X32(18,2,calendar.hour%10);
  45.                         OLED_Show16X32(33,2,10);
  46.                         OLED_Show16X32(48,2,calendar.min/10);
  47.                         OLED_Show16X32(64,2,calendar.min%10);
  48.                         OLED_Show16X32(80,2,10);
  49.                         OLED_Show16X32(95,2,calendar.sec/10);
  50.                         OLED_Show16X32(110,2,calendar.sec%10);                       
  51.                         //OLED12864顯示星期
  52.       //OLED_ShowCHinese(2,6,6);//在2列6行顯示”星“
  53.                         //OLED_ShowCHinese(18,6,7);//在18列6行顯示”期“
  54.                         OLED_ShowCHinese(0,6,2);//在2列6行顯示”周“
  55.                         OLED_ShowCHinese(20,6,calendar.week+7); //在34列6行顯示”星期數“  
  56.                         //OLED12864顯示溫度數據
  57.                         //OLED_ShowChar(70,6,127,16);                        //溫度計圖標
  58.                         OLED_ShowCHinese(45,6,4);//在2列6行顯示”溫“
  59.                         OLED_ShowCHinese(63,6,5);//在18列6行顯示”度“
  60.                         OLED_ShowChar(79,6,calendar.temper_H/10+48,16);//顯示溫度十位
  61.                         OLED_ShowChar(88,6,calendar.temper_H%10+48,16);//顯示溫度個位
  62.                         OLED_ShowString(96,6,".",16);//.點
  63.                         OLED_ShowChar(103,6,calendar.temper_L/10+48,16);//顯示小數
  64.                         OLED_ShowCHinese(112,6,3);//溫度C*/
  65.                        
  66. //TM1640顯示驅動8段16位數攏按地址0-15顯示
  67.       /*TM1640_display(0,calendar.w_year/10);       
  68.                         TM1640_display(1,calendar.w_year%10);//年                       
  69.                         TM1640_display(2,calendar.w_month/10);
  70.                         TM1640_display(3,calendar.w_month%10);//月                       
  71.                         TM1640_display(4,calendar.w_date/10);       
  72.                         TM1640_display(5,calendar.w_date%10);//日                       
  73.                         TM1640_display(6,calendar.week+7); //星期        */               
  74.                         TM1640_display(0,calendar.hour/10);
  75.                         TM1640_display(1,calendar.hour%10);       
  76.                         TM1640_display(2,calendar.min/10);
  77.                         TM1640_display(3,calendar.min%10);
  78.                         TM1640_display(4,calendar.sec/10);       
  79.                         TM1640_display(5,calendar.sec%10);//秒       
  80.                         //TM1640_display(13,0);
  81.                         //TM1640_display(14,0);       
  82.                         //TM1640_display(15,0);
  83.                 }
  84.         }
  85. }       
復制代碼

Keil代碼下載:
STM32F103 IIC12864 OLED12864 TM1640 DS3231 雙顯OK.rar (498.85 KB, 下載次數: 90)



評分

參與人數 1黑幣 +60 收起 理由
admin + 60 共享資料的黑幣獎勵!

查看全部評分

回復

使用道具 舉報

ID:229641 發表于 2022-3-22 07:18 來自手機 | 顯示全部樓層
可以調時間嗎?
回復

使用道具 舉報

ID:430492 發表于 2022-3-22 16:18 | 顯示全部樓層
又見3231的萬年歷作品!
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 91精品国产麻豆 | 中文字幕在线精品 | 国产精品免费一区二区三区四区 | 在线天堂免费中文字幕视频 | 在线亚洲欧美 | 久久久久久久久久久久91 | 久久久久久久一区二区 | 91精品久久久久 | 岛国av在线免费观看 | 黄色精品| 国产高清av免费观看 | 精品国产乱码久久久久久果冻传媒 | av中文字幕在线 | 精品av天堂毛片久久久借种 | 久久99精品久久久久久 | 91精品国产综合久久精品 | 天天干天天爱天天爽 | 九色91视频 | 成人h视频在线 | 国产人成在线观看 | 亚洲国产一区二区视频 | 黄色毛片免费视频 | www.成人免费视频 | 我爱操| 免费三级网站 | 欧美日韩成人网 | 精品国产免费一区二区三区五区 | 伊人网综合在线观看 | 久久久精品高清 | 一区二区在线观看免费视频 | 久久极品 | 91精品国产综合久久久密闭 | 久在线| www.成人.com | 一区视频 | 午夜小电影 | 91免费看片 | 91视频一区二区 | 偷拍自拍在线观看 | 三区在线观看 | 欧美黄 片免费观看 |