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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 5678|回復: 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)


回復

使用道具 舉報

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 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 欧美一级欧美一级在线播放 | 亚洲天堂日韩精品 | 日韩电影免费在线观看中文字幕 | 欧美爱爱视频网站 | 国产精品视频500部 a久久 | 中文字幕日韩一区 | 一区二区福利视频 | 久久国产欧美日韩精品 | 日韩成人免费视频 | av片免费| 麻豆一区二区三区精品视频 | 国产午夜精品视频 | 国产精品a久久久久 | 久久久久亚洲av毛片大全 | 日韩在线免费 | 久久aⅴ乱码一区二区三区 亚洲国产成人精品久久久国产成人一区 | 综合婷婷 | 操久久 | 9999在线视频 | 天天操夜夜操 | 久久久久久亚洲 | 欧美一级二级视频 | 欧美一区二区三区在线观看 | 日本一区二区高清不卡 | 日韩欧美一区二区三区四区 | 精品国产欧美一区二区 | 亚洲网站在线观看 | 国产精品日日摸夜夜添夜夜av | 91精品国产色综合久久不卡98 | 中文字幕1区 | 99精品一区二区三区 | 免费一区 | 91天堂网| 欧美日韩精品亚洲 | 草草在线观看 | 国产成人精品一区二区三区视频 | 天天看天天摸天天操 | 国产成人精品一区二区三区四区 | 国产午夜精品一区二区三区四区 | 国产一区91精品张津瑜 | 国产成人99久久亚洲综合精品 |