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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3182|回復: 0
收起左側

STM32mini RTC時鐘日歷源代碼

[復制鏈接]
ID:327902 發表于 2018-5-11 21:23 | 顯示全部樓層 |閱讀模式
STM32mini RTC時鐘單片機源程序如下:
  1. /**
  2.   ******************************************************************************
  3.   * @file    main.c
  4.   * @author  fire
  5.   * @version V1.0
  6.   * @date    2013-xx-xx
  7.   * @brief   rtc 測試,顯示時間格式為: xx:xx:xx
  8.   */
  9.        
  10. #include "stm32f10x.h"
  11. #include "./usart/bsp_usart.h"
  12. #include "./rtc/bsp_rtc.h"
  13. #include "./key/bsp_key.h"  
  14. #include "./beep/bsp_beep.h"   


  15. // N = 2^32/365/24/60/60 = 136 年

  16. /*時間結構體,默認時間2000-01-01 00:00:00*/
  17. struct rtc_time systmtime=
  18. {
  19. 0,0,0,1,1,2000,0
  20. };

  21. /*時間結構體,鬧鐘時間2000-01-01 00:00:08*/
  22. struct rtc_time clocktime=
  23. {
  24. 8,0,0,1,1,2000,0
  25. };

  26. extern __IO uint32_t TimeDisplay ;
  27. extern __IO uint32_t TimeAlarm ;


  28. //【*】注意事項:
  29. //在bsp_rtc.h文件中:

  30. //1.可設置宏USE_LCD_DISPLAY控制是否使用LCD顯示
  31. //2.可設置宏RTC_CLOCK_SOURCE_LSI和RTC_CLOCK_SOURCE_LSE控制使用LSE晶振還是LSI晶振

  32. //3.STM32的LSE晶振要求非常嚴格,同樣的電路、板子批量產品時總有些會出現問題。
  33. //  本實驗中默認使用LSI晶振。
  34. //  
  35. //4.!!!若希望RTC在主電源掉電后仍然運行,需要給開發板的電池槽安裝鈕扣電池,
  36. //  !!!且改成使用外部晶振模式RTC_CLOCK_SOURCE_LSE
  37. //  鈕扣電池型號:CR1220
  38. /**
  39.   * @brief  主函數
  40.   * @param  無  
  41.   * @retval 無
  42.   */
  43. int main()
  44. {               
  45.        
  46.         uint32_t clock_timestamp;
  47.         uint32_t current_timestamp;
  48.        
  49. //可使用該宏設置是否使用液晶顯示
  50. #ifdef  USE_LCD_DISPLAY
  51.        
  52.                 ILI9341_Init ();         //LCD 初始化
  53.                 LCD_SetFont(&Font8x16);
  54.                 LCD_SetColors(RED,BLACK);

  55.                 ILI9341_Clear(0,0,LCD_X_LENGTH,LCD_Y_LENGTH);        /* 清屏,顯示全黑 */

  56.                 ILI9341_DispStringLine_EN(LINE(0),"        BH RTC demo");
  57. #endif
  58.        
  59.           USART_Config();                       
  60.        
  61.                 Key_GPIO_Config();
  62.        
  63.                 BEEP_GPIO_Config();
  64.                
  65.                 /* 配置RTC秒中斷優先級 */
  66.           RTC_NVIC_Config();
  67.           RTC_CheckAndConfig(&systmtime);
  68.        
  69.                 /*設置鬧鐘寄存器*/
  70.                 clock_timestamp = mktimev(&clocktime)-TIME_ZOOM;
  71.                 RTC_SetAlarm(clock_timestamp);
  72.                
  73.           while (1)
  74.           {
  75.             /* 每過1s 更新一次時間*/
  76.             if (TimeDisplay == 1)
  77.             {
  78.                                 /* 當前時間 */
  79.                                 current_timestamp = RTC_GetCounter();
  80.               Time_Display( current_timestamp,&systmtime);
  81.                                                                
  82.               TimeDisplay = 0;
  83.             }
  84.                        
  85.                         //按下按鍵,通過串口修改時間
  86.                         if( Key_Scan(KEY1_GPIO_PORT,KEY1_GPIO_PIN) == KEY_ON  )
  87.                         {
  88.                                 struct rtc_time set_time;

  89.                                 /*使用串口接收設置的時間,輸入數字時注意末尾要加回車*/
  90.                                 Time_Regulate_Get(&set_time);
  91.                                 /*用接收到的時間設置RTC*/
  92.                                 Time_Adjust(&set_time);
  93.                                
  94.                                 //向備份寄存器寫入標志
  95.                                 BKP_WriteBackupRegister(RTC_BKP_DRX, RTC_BKP_DATA);

  96.                         }        
  97.                        
  98.                         //響鈴
  99.                         if( TimeAlarm == 1)
  100.                         {
  101.                                 BEEP(ON);
  102.                         }

  103.                         //按下按鍵,關閉蜂鳴器
  104.                         if( Key_Scan(KEY2_GPIO_PORT,KEY2_GPIO_PIN) == KEY_ON  )
  105.                         {
  106.                                 BEEP(OFF);
  107.                                 TimeAlarm = 0;
  108. ……………………

  109. …………限于本文篇幅 余下代碼請從51黑下載附件…………
復制代碼

所有資料51hei提供下載:
2.RTC—鬧鐘實驗.zip (341.5 KB, 下載次數: 49)


回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 91麻豆精品国产91久久久资源速度 | 狠狠av| 夜夜骑综合 | h片在线观看免费 | av色站| 欧美精品一区二区免费 | 中文字幕国产精品 | av在线免费观看网址 | 日韩在线视频网址 | 国产一级在线观看 | 亚洲天堂二区 | 亚洲精品中文字幕在线观看 | 国产成都精品91一区二区三 | 6080亚洲精品一区二区 | 欧美男人的天堂 | 国产精品久久久久久久久久免费 | 在线观看免费av网 | 国产黄色大片 | 中文字幕动漫成人 | 一区二区中文字幕 | 91精品久久久久 | 久久国产一区 | 在线伊人网 | 伊人焦久影院 | 欧美在线观看一区二区 | 91视频久久久久 | 国产日韩欧美激情 | 欧美色综合天天久久综合精品 | 精品国产精品三级精品av网址 | 日韩欧美三级在线 | 国产欧美在线观看 | 国产一区二区在线免费观看 | 久久与欧美 | 水蜜桃亚洲一二三四在线 | 亚洲欧美日韩国产综合 | 久久久久久久国产精品影院 | 91精品久久久久久综合五月天 | 午夜小电影 | 黄色在线免费播放 | 日韩精品一区二区三区在线播放 | 成人亚洲综合 |