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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 5552|回復: 3
打印 上一主題 下一主題
收起左側

STM32萬年歷程序Keil版本源碼

[復制鏈接]
跳轉到指定樓層
樓主
ID:416325 發表于 2018-10-29 21:07 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
萬年歷程序

單片機源程序如下:
  1. /*********************************** File Info *********************************
  2. ** File name:                        main.c
  3. ** Last modified Date:               
  4. ** Last Version:               
  5. ** Descriptions:               
  6. **
  7. **-----------------------------------------------------------------------------
  8. ** Created by:         Chase               
  9. ** Created date:2018年6月2日                 
  10. ** Version:               
  11. ** Descriptions:
  12. **
  13. *******************************************************************************/
  14. #include "pbdata.h"        //公用函數庫

  15. /*BSP層*/
  16. #include "USART.h"                        //串口
  17. #include "RTC.h"                        //RTC時鐘
  18. #include "LED.h"                        //LED
  19. #include "KEY.h"                        //KEY
  20. #include "BEEP.h"                        //蜂鳴器
  21. #include "LCD1602.h"                //LCD1602
  22. #include "DS18B20.h"                //18B20
  23. #include "EEPROM_FLASH.h"        //EEPROM

  24. short temperature;
  25. /*******************************************************************************
  26. * 函數名稱:main
  27. * 功    能:功能函數入口
  28. * 入口參數:
  29. * 出口參數:
  30. * 描    述:
  31. * 全局變量:
  32. * 調用模塊:
  33. * 更改記錄:
  34. *******************************************************************************/
  35. void BSP_Configuration(void);
  36. void LCD_ShowTime(void);
  37. int main(void)
  38. {       
  39.          
  40.         BSP_Configuration();
  41.        
  42.         Read_Ala(&calendar.alarm_hour,&calendar.alarm_min,&calendar.alarm_sec);
  43.         calendar.alarm_flag=1;
  44.         while(1)
  45.         {
  46.                 KeyScan();
  47.                 temperature=DS18B20_Get_Temp();       
  48.                 if(setmode==0)
  49.                 {
  50.                         LCD_ShowTime();
  51.                         //鬧鐘,鳴叫一分鐘
  52.                         if(calendar.alarm_flag==1)
  53.                         {
  54.                                 if((calendar.hour==calendar.alarm_hour)&&(calendar.min==calendar.alarm_min))
  55.                                 {
  56.                                         BEEP=0;
  57.                                 }else
  58.                                 {
  59.                                         BEEP=1;
  60.                                 }
  61.                         }else
  62.                         {
  63.                                 BEEP=1;
  64.                         }
  65.                 }
  66.         }
  67. }
  68. /*******************************************************************************
  69. * 函數名稱:BSP_Configuration()
  70. * 功    能:硬件初始化
  71. * 入口參數:無
  72. * 出口參數:無
  73. * 描    述:
  74. * 全局變量:
  75. * 調用模塊:
  76. * 引用模塊:
  77. * 更改記錄:
  78. *******************************************************************************/
  79. void BSP_Configuration(void)
  80. {       
  81.         RTC_Configuration();
  82.         LED_Configuration();
  83.         BEEP_Configuration();
  84.         KEY_Configuration();       
  85.        
  86. //        USART1_Configuration(115200);
  87.         LCD_Initial();
  88.         DS18B20_Init();
  89. }
  90. /*******************************************************************************
  91. * 函數名稱:LCD_ShowTime()
  92. * 功    能:顯示時間
  93. * 入口參數:無
  94. * 出口參數:無
  95. * 描    述:
  96. * 全局變量:
  97. * 調用模塊:
  98. * 引用模塊:
  99. * 更改記錄:
  100. *******************************************************************************/
  101. u8 show_mode=0;//顯示模式
  102. u8 hour_show=0;//時間顯示值
  103. void LCD_ShowTime(void)
  104. {
  105.         char displaytemp[16];        //定義顯示區域臨時存儲數組
  106.        
  107.         displaytemp[0]=calendar.w_year%10000/1000+0x30;
  108.         displaytemp[1]=calendar.w_year%1000/100+0x30;
  109.         displaytemp[2]=calendar.w_year%100/10+0x30;
  110.         displaytemp[3]=calendar.w_year%10/1+0x30;

  111.         displaytemp[4]='-';
  112.         displaytemp[5]=calendar.w_month%100/10+0x30;
  113.         displaytemp[6]=calendar.w_month%10/1+0x30;
  114.         displaytemp[7]='-';
  115.         displaytemp[8]=calendar.w_date%100/10+0x30;
  116.         displaytemp[9]=calendar.w_date%10/1+0x30;
  117.         displaytemp[10]=' ';
  118.         switch(calendar.week)
  119.         {
  120.                 case 1:
  121.                         displaytemp[11]='M';
  122.                         displaytemp[12]='O';
  123.                         displaytemp[13]='N';
  124.                 break;
  125.                 case 2:
  126.                         displaytemp[11]='T';
  127.                         displaytemp[12]='U';
  128.                         displaytemp[13]='E';
  129.                 break;
  130.                 case 3:
  131.                         displaytemp[11]='W';
  132.                         displaytemp[12]='E';
  133.                         displaytemp[13]='N';
  134.                 break;
  135.                 case 4:
  136.                         displaytemp[11]='T';
  137.                         displaytemp[12]='H';
  138.                         displaytemp[13]='U';
  139.                 break;
  140.                 case 5:
  141.                         displaytemp[11]='F';
  142.                         displaytemp[12]='R';
  143.                         displaytemp[13]='I';
  144.                 break;
  145.                 case 6:
  146.                         displaytemp[11]='S';
  147.                         displaytemp[12]='A';
  148.                         displaytemp[13]='T';
  149.                 break;
  150.                 case 0:
  151.                         displaytemp[11]='S';
  152.                         displaytemp[12]='U';
  153.                         displaytemp[13]='N';
  154.                 break;
  155.                 default:
  156.                         displaytemp[11]=' ';
  157.                         displaytemp[12]=' ';
  158.                         displaytemp[13]=' ';
  159.                 break;                       
  160.         }
  161.         displaytemp[14]=' ';
  162.         displaytemp[15]=' ';
  163.         LCD_Write_String(0,0,displaytemp);        //顯示第一行
  164.        
  165.         if(show_mode==0)        //24小時制
  166.         {
  167.                 hour_show=calendar.hour;
  168.                 displaytemp[9]='-';
  169.                 displaytemp[10]='-';
  170.         }
  171.         else                                //12小時制
  172.         {
  173.                 if(calendar.hour<12)
  174.                 {
  175.                         hour_show=calendar.hour;
  176.                         displaytemp[9]='A';
  177.                         displaytemp[10]='M';
  178.                 }
  179.                 else
  180.                 {
  181.                         hour_show=calendar.hour-12;
  182.                         displaytemp[9]='P';
  183.                         displaytemp[10]='M';
  184.                 }
  185.         }
  186.        
  187.         displaytemp[0]=hour_show/10+0x30;
  188.         displaytemp[1]=hour_show%10+0x30;
  189.         displaytemp[2]=':';
  190.         displaytemp[3]=calendar.min/10+0x30;
  191.         displaytemp[4]=calendar.min%10+0x30;
  192.         displaytemp[5]=':';
  193.         displaytemp[6]=calendar.sec/10+0x30;
  194.         displaytemp[7]=calendar.sec%10+0x30;
  195.         displaytemp[8]=' ';
  196.        
  197.         displaytemp[11]=' ';
  198.         displaytemp[12]=' ';
  199.         if(temperature<0)
  200.                 displaytemp[13]='-';
  201.         else
  202.                 displaytemp[13]='+';
  203.         displaytemp[14]=0x30+(temperature%1000)/100;
  204.         displaytemp[15]=0x30+(temperature%100)/10;
  205.        
  206.         LCD_Write_String(0,1,displaytemp);        //顯示第二行
  207. }
復制代碼

所有資料51hei提供下載:
Keil版本.rar (373.16 KB, 下載次數: 135)


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

使用道具 舉報

沙發
ID:1 發表于 2018-10-31 01:10 | 只看該作者
補全原理圖或者詳細說明一下電路連接即可獲得100+黑幣
回復

使用道具 舉報

板凳
ID:242804 發表于 2020-8-25 15:50 | 只看該作者
要是分享原理圖更加
回復

使用道具 舉報

地板
ID:936000 發表于 2021-6-10 13:53 | 只看該作者
pbdata.h  是什么
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 欧美日韩视频在线第一区 | 精品国产欧美一区二区三区成人 | 观看av | 亚洲精品日韩综合观看成人91 | 日日夜夜草 | 成人在线中文字幕 | 999精彩视频 | 国产精品日产欧美久久久久 | 成人国产精品久久 | 色爱综合网| 国产成人免费视频 | 做a的各种视频 | 日韩成人一区 | 国产一二区视频 | 美女视频黄的免费 | 日本黄色大片免费看 | 国产精品伦理一区 | 欧美一级淫片免费视频黄 | 国产精品日本一区二区不卡视频 | 国产一区二区免费 | 超碰成人免费 | 欧美日韩在线不卡 | 欧美日韩亚洲一区 | 国产精品一二三区 | 欧洲av在线 | 欧美成人精品激情在线观看 | 91资源在线| www.中文字幕 | av黄色在线 | 国产精品99久久久久久久久 | 亚洲国产欧美国产综合一区 | 精品久久久久久久 | 日韩中文在线视频 | 午夜精品久久久久久久久久久久久 | 亚洲成人免费观看 | 一区二区三区在线播放 | 99视频入口 | 91精品久久久久久久久久 | 日韩高清一区 | 中文字幕日韩欧美一区二区三区 | 国产女人第一次做爰毛片 |