找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 4737|回復(fù): 6
收起左側(cè)

stm32f103戰(zhàn)艦v3OLED顯示時(shí)間源程序

[復(fù)制鏈接]
ID:696077 發(fā)表于 2020-6-4 23:25 | 顯示全部樓層 |閱讀模式
  (適用正點(diǎn)原子的開發(fā)板)主要是在OLED 屏幕上實(shí)時(shí)時(shí)間,如果時(shí)間不準(zhǔn)時(shí),可以先使用實(shí)驗(yàn)15 RTC實(shí)驗(yàn)  然后燒寫進(jìn)開發(fā)板,在XCOM串口調(diào)試助手發(fā)送命令如:RTC_Set(2020,06,04,23,25,30)  即可完成RTC校準(zhǔn)。。!
效果圖.jpg
main.c代碼如下:

#include "led.h"
#include "delay.h"
#include "key.h"
#include "sys.h"
#include "oled.h"
#include "rtc.h"  
        
int main(void)
{        u8 t=0;
        delay_init();                     //延時(shí)函數(shù)初始化         
        RTC_Init();                                  //RTC初始化
        NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);         //設(shè)置NVIC中斷分組2:2位搶占優(yōu)先級(jí),2位響應(yīng)優(yōu)先級(jí)
         LED_Init();                             //LED端口初始化
        OLED_Init();                        //初始化OLED      
  OLED_ShowString(0,0,"ALIENTEK",24);  

        OLED_Refresh_Gram();                //更新顯示到OLED

        while(1)
        {               
                 OLED_Refresh_Gram();
                delay_ms(500);
                LED0=!LED0;
                if(t!=calendar.sec)
                {
                        t=calendar.sec;
                        OLED_ShowNum(0,24,calendar.w_year,4,12);  
                          OLED_ShowString(24,24, "-",12);
                        if(calendar.w_month<10)
                         {        
                                 OLED_ShowNum(30,24,0,1,12);
                           OLED_ShowNum(36,24,calendar.w_month,1,12);
                         }else OLED_ShowNum(36,24,calendar.w_month,2,12);  
                          OLED_ShowString(42,24, "-",12);
                         if(calendar.w_date<10)
                         {
                                 OLED_ShowNum(48,24,0,1,12);
                           OLED_ShowNum(54,24,calendar.w_date,1,12);  
                         }else OLED_ShowNum(48,24,calendar.w_date,2,12);  
                        switch(calendar.week)
                        {
                                case 0:
                                                 OLED_ShowString(64,24,"Sunday",12);  
                                        break;
                                case 1:
                                                OLED_ShowString(64,24,"Monday",12);
                                        break;
                                case 2:
                                                OLED_ShowString(64,24,"Tuesday",12);
                                        break;
                                case 3:
                                         OLED_ShowString(64,24,"Wednesday",12);
                                        break;
                                case 4:
                                        OLED_ShowString(64,24,"Thursday",12);
                                        break;
                                case 5:
                                        OLED_ShowString(64,24,"Friday",12);
                                        break;
                                case 6:
                                        OLED_ShowString(64,24,"Saturday",12);
                                        break;  
                        }
                        if(calendar.hour<10)
                        {
                         OLED_ShowNum(0,36,0,1,16);
                         OLED_ShowNum(8,36,calendar.hour,1,16);
                        }else
                        OLED_ShowNum(0,36,calendar.hour,2,16);
                        
                        OLED_ShowString(16,36,":",16);
                        
                        if(calendar.min<10)
                        {
                         OLED_ShowNum(24,36,0,1,16);
                         OLED_ShowNum(32,36,calendar.min,1,16);
                        }else                        
                  OLED_ShowNum(24,36,calendar.min,2,16);  
                        
            OLED_ShowString(40,36,":",16);
                        
                        if(calendar.sec<10)
                        {
                         OLED_ShowNum(48,36,0,1,16);
                         OLED_ShowNum(56,36,calendar.sec,1,16);
                        }else OLED_ShowNum(48,36,calendar.sec,2,16);  
                        LED0=!LED0;
                }        
                delay_ms(10);                                                                  
        };  
               
}

全部資料51hei下載地址:
STM32f103戰(zhàn)艦v3OLED顯示時(shí)間.7z (200.05 KB, 下載次數(shù): 80)

評(píng)分

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

查看全部評(píng)分

回復(fù)

使用道具 舉報(bào)

ID:770440 發(fā)表于 2020-6-5 16:09 | 顯示全部樓層
可以,謝謝分享
回復(fù)

使用道具 舉報(bào)

ID:603504 發(fā)表于 2020-7-15 10:00 | 顯示全部樓層
為什么打不開呀
回復(fù)

使用道具 舉報(bào)

ID:603504 發(fā)表于 2020-7-15 10:05 | 顯示全部樓層
可以了,改下文件名就行了
回復(fù)

使用道具 舉報(bào)

ID:854138 發(fā)表于 2021-6-8 13:05 | 顯示全部樓層
顯示漢字怎么弄
回復(fù)

使用道具 舉報(bào)

ID:165291 發(fā)表于 2021-6-10 12:34 來自手機(jī) | 顯示全部樓層
牛掰。。。必須支持
回復(fù)

使用道具 舉報(bào)

ID:229641 發(fā)表于 2021-6-18 16:04 來自手機(jī) | 顯示全部樓層
主控是啥玩意兒?
回復(fù)

使用道具 舉報(bào)

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

本版積分規(guī)則

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

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

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