芯片解密|单片机解密|IC解密|芯片破解|芯片复制| PCB抄板|软件开发

飞芯科技-芯片解密|单片机解密|IC解密|芯片破解|芯片复制| PCB抄板|软件开发

STM32单片机自带RTC的使用

  1. 芯片解密#include "delay.h"
  2. 芯片解密#include "sys.h"
  3. 芯片解密#include "oled.h"
  4. 芯片解密#include "bmp.h"
  5. 芯片解密#include "rtc.h"
  6. 芯片解密#include "dht11.h"

  7. int main(void)
  8.   {        u8 t;
  9.         delay_init();                     //延时函数初始化          
  10.         NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);// 设置中断优先级分组2         //设置NVIC中断分组2:2位抢占优先级,2位响应优先级
  11.         OLED_Init();                        //初始化OLED
  12.         OLED_ColorTurn(0);//0正常显示,1 反色显示
  13.         OLED_DisplayTurn(0);//0正常显示 1 屏幕翻转显示               
  14.         OLED_Clear();
  15.                
  16.         while(RTC_Init())                //RTC初始化        ,一定要初始化成功
  17.         {
  18.                 OLED_ShowString(8,6,"RTC ERROR!     ",16,1);
  19.                 OLED_Refresh();
  20.                 delay_ms(800);
  21.                 OLED_Clear();
  22.                 OLED_ShowString(8,6,"RTC Trying...  ",8,1);
  23.                 OLED_Refresh();
  24.                 delay_ms(800);
  25.                 OLED_Clear();
  26.         }       
  27.        
  28.         OLED_ShowString(8,6,"RTC OK!  ",8,1);
  29.         OLED_Refresh();       
  30.   delay_ms(800);
  31.         OLED_Clear();
  32.         OLED_ShowChinese(25,4,9,12,1);//12*12 年       
  33.         OLED_ShowChinese(50,4,10,12,1);//12*12 月       
  34.         OLED_ShowChinese(76,4,2,12,1);//12*12 日       
  35.         OLED_ShowChinese(0,52,11,12,1);//12*12 温
  36.         OLED_ShowChinese(13,52,13,12,1);//12*12 度
  37.         OLED_ShowChinese(69,52,12,12,1);//12*12 湿
  38.         OLED_ShowChinese(82,52,13,12,1);//12*12 度
  39.         OLED_ShowChinese(48,52,14,12,1);//12*12 ℃       
  40.         OLED_ShowChinese(116,52,15,12,1);//12*12 %       
  41.         //OLED_DrawCircle(100,26,18);
  42.         OLED_Refresh();

  43.         while(1)
  44.         {               
  45.                 if(t!=calendar.sec)
  46.                 {
  47.                         t=calendar.sec;
  48.                         OLED_ShowString(28,19,":",24,1);
  49.                         OLED_ShowNum(0,5,calendar.w_year,4,12,1);               
  50.                         OLED_ShowNum(38,5,calendar.w_month,2,12,1);       
  51.                         OLED_ShowNum(63,5,calendar.w_date,2,12,1);
  52.                         OLED_Refresh();
  53.                         //switch(calendar.week)
  54.                         //{
  55.                         //        case 0:
  56.                         //                OLED_ShowChinese(62,1,2,12,0); //12*12 日
  57.                         //                break;
  58.                         //        case 1:
  59.                         //                OLED_ShowChinese(62,1,3,12,0); //12*12 一
  60.                         //                break;
  61.                         //        case 2:
  62.                         //                OLED_ShowChinese(62,1,4,12,0); //12*12 二
  63.                         //                break;
  64.                         //        case 3:
  65.                         //                OLED_ShowChinese(62,1,5,12,0); //12*12 三
  66.                         //                break;
  67.                         //        case 4:
  68.                         //                OLED_ShowChinese(62,1,6,12,0); //12*12 四
  69.                         //                break;
  70.                         //        case 5:
  71.                         //                OLED_ShowChinese(62,1,7,12,0); //12*12 五
  72.                         //                break;
  73.                         //        case 6:
  74.                         //                OLED_ShowChinese(62,1,8,12,0); //12*12 六
  75.                         //                break;  
  76.                         //}
  77.                 OLED_ShowNum(4,20,calendar.hour,2,24,1);
  78.                 OLED_ShowNum(40,20,calendar.min,2,24,1);
  79.                 OLED_ShowNum(68,32,calendar.sec,2,12,1);
  80.                 OLED_Refresh();

  81.                 if(DHT11_ReadData())  //如果DHT11读取到数据了,那么就显示                 
  82.                         {  
  83.                                 OLED_ShowNum(32,52,DHT11_GetTemp()/256,2,12,1);    //输出温度  
  84.                                 OLED_ShowNum(100,52,DHT11_GetHem()/256,2,12,1);    //输出湿度
  85.                          }  
  86.                 else   //若DHT11采集不成功,那么就失败  
  87.                         {  
  88.                                 OLED_ShowString(32,52,"??",12,1);   
  89.                                 OLED_ShowString(100,52,"??",12,1);   
  90.                         }  
  91.                         delay_ms(500);
  92.                         delay_ms(500);  //延时,避免刷新DHT11数据太块                         
  93.         }          
  94. }
  95. }



联系方式

地址:石家庄市新华区民族路77号华强广场D座2009
电话:0311-88816616/87087811
手机:13315190088
传真:0311-67901001
联系人:张工
网址:www.feixindz.com
邮箱:feixindz@163.com
微信:xinpianjiemi
QQ:527263666/568069805

在线客服
热线电话

企业微信