欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136
標題:
STM32萬年歷程序Keil版本源碼
[打印本頁]
作者:
lhvhv
時間:
2018-10-29 21:07
標題:
STM32萬年歷程序Keil版本源碼
萬年歷程序
單片機源程序如下:
/*********************************** File Info *********************************
** File name: main.c
** Last modified Date:
** Last Version:
** Descriptions:
**
**-----------------------------------------------------------------------------
** Created by: Chase
** Created date:2018年6月2日
** Version:
** Descriptions:
**
*******************************************************************************/
#include "pbdata.h" //公用函數庫
/*BSP層*/
#include "USART.h" //串口
#include "RTC.h" //RTC時鐘
#include "LED.h" //LED
#include "KEY.h" //KEY
#include "BEEP.h" //蜂鳴器
#include "LCD1602.h" //LCD1602
#include "DS18B20.h" //18B20
#include "EEPROM_FLASH.h" //EEPROM
short temperature;
/*******************************************************************************
* 函數名稱:main
* 功 能:功能函數入口
* 入口參數:
* 出口參數:
* 描 述:
* 全局變量:
* 調用模塊:
* 更改記錄:
*******************************************************************************/
void BSP_Configuration(void);
void LCD_ShowTime(void);
int main(void)
{
BSP_Configuration();
Read_Ala(&calendar.alarm_hour,&calendar.alarm_min,&calendar.alarm_sec);
calendar.alarm_flag=1;
while(1)
{
KeyScan();
temperature=DS18B20_Get_Temp();
if(setmode==0)
{
LCD_ShowTime();
//鬧鐘,鳴叫一分鐘
if(calendar.alarm_flag==1)
{
if((calendar.hour==calendar.alarm_hour)&&(calendar.min==calendar.alarm_min))
{
BEEP=0;
}else
{
BEEP=1;
}
}else
{
BEEP=1;
}
}
}
}
/*******************************************************************************
* 函數名稱:BSP_Configuration()
* 功 能:硬件初始化
* 入口參數:無
* 出口參數:無
* 描 述:
* 全局變量:
* 調用模塊:
* 引用模塊:
* 更改記錄:
*******************************************************************************/
void BSP_Configuration(void)
{
RTC_Configuration();
LED_Configuration();
BEEP_Configuration();
KEY_Configuration();
// USART1_Configuration(115200);
LCD_Initial();
DS18B20_Init();
}
/*******************************************************************************
* 函數名稱:LCD_ShowTime()
* 功 能:顯示時間
* 入口參數:無
* 出口參數:無
* 描 述:
* 全局變量:
* 調用模塊:
* 引用模塊:
* 更改記錄:
*******************************************************************************/
u8 show_mode=0;//顯示模式
u8 hour_show=0;//時間顯示值
void LCD_ShowTime(void)
{
char displaytemp[16]; //定義顯示區域臨時存儲數組
displaytemp[0]=calendar.w_year%10000/1000+0x30;
displaytemp[1]=calendar.w_year%1000/100+0x30;
displaytemp[2]=calendar.w_year%100/10+0x30;
displaytemp[3]=calendar.w_year%10/1+0x30;
displaytemp[4]='-';
displaytemp[5]=calendar.w_month%100/10+0x30;
displaytemp[6]=calendar.w_month%10/1+0x30;
displaytemp[7]='-';
displaytemp[8]=calendar.w_date%100/10+0x30;
displaytemp[9]=calendar.w_date%10/1+0x30;
displaytemp[10]=' ';
switch(calendar.week)
{
case 1:
displaytemp[11]='M';
displaytemp[12]='O';
displaytemp[13]='N';
break;
case 2:
displaytemp[11]='T';
displaytemp[12]='U';
displaytemp[13]='E';
break;
case 3:
displaytemp[11]='W';
displaytemp[12]='E';
displaytemp[13]='N';
break;
case 4:
displaytemp[11]='T';
displaytemp[12]='H';
displaytemp[13]='U';
break;
case 5:
displaytemp[11]='F';
displaytemp[12]='R';
displaytemp[13]='I';
break;
case 6:
displaytemp[11]='S';
displaytemp[12]='A';
displaytemp[13]='T';
break;
case 0:
displaytemp[11]='S';
displaytemp[12]='U';
displaytemp[13]='N';
break;
default:
displaytemp[11]=' ';
displaytemp[12]=' ';
displaytemp[13]=' ';
break;
}
displaytemp[14]=' ';
displaytemp[15]=' ';
LCD_Write_String(0,0,displaytemp); //顯示第一行
if(show_mode==0) //24小時制
{
hour_show=calendar.hour;
displaytemp[9]='-';
displaytemp[10]='-';
}
else //12小時制
{
if(calendar.hour<12)
{
hour_show=calendar.hour;
displaytemp[9]='A';
displaytemp[10]='M';
}
else
{
hour_show=calendar.hour-12;
displaytemp[9]='P';
displaytemp[10]='M';
}
}
displaytemp[0]=hour_show/10+0x30;
displaytemp[1]=hour_show%10+0x30;
displaytemp[2]=':';
displaytemp[3]=calendar.min/10+0x30;
displaytemp[4]=calendar.min%10+0x30;
displaytemp[5]=':';
displaytemp[6]=calendar.sec/10+0x30;
displaytemp[7]=calendar.sec%10+0x30;
displaytemp[8]=' ';
displaytemp[11]=' ';
displaytemp[12]=' ';
if(temperature<0)
displaytemp[13]='-';
else
displaytemp[13]='+';
displaytemp[14]=0x30+(temperature%1000)/100;
displaytemp[15]=0x30+(temperature%100)/10;
LCD_Write_String(0,1,displaytemp); //顯示第二行
}
復制代碼
所有資料51hei提供下載:
Keil版本.rar
(373.16 KB, 下載次數: 135)
2018-10-31 01:10 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
作者:
admin
時間:
2018-10-31 01:10
補全原理圖或者詳細說明一下電路連接即可獲得100+黑幣
作者:
liding12356
時間:
2020-8-25 15:50
要是分享原理圖更加
作者:
2275270410
時間:
2021-6-10 13:53
pbdata.h 是什么
歡迎光臨 (http://www.raoushi.com/bbs/)
Powered by Discuz! X3.1