資源簡介
正點原子MINI板子實現簡易版萬年歷,LCD顯示屏顯示當前時間,可通過按鍵來修改時間,也可以設置多個鬧鐘提醒

代碼片段和文件信息
#include?“calendar.h“? ?????? ??
#include?“stdio.h“
//#include?“settings.h“??
//#include?“ds18b20.h“
#include?“24cxx.h“
#include?“math.h“
#include?“rtc.h“?
#include?“led.h“?
////////////////////////////////////////////////////////////////////////////////// ?
//本程序只供學習使用,未經作者許可,不得用于其它任何用途
//ALIENTEK?STM32開發板
//APP-日歷?代碼 ???
//正點原子@ALIENTEK
//技術論壇:www.openedv.com
//創建日期:2014/7/20
//版本:V1.0
//版權所有,盜版必究。
//Copyright(C)?廣州市星翼電子科技有限公司?2009-2019
//All?rights?reserved ??
//*******************************************************************************
//修改信息
//無
//////////////////////////////////////////////////////////////////////////////////? ???
?
_alarm_obj?alarm; //鬧鐘結構體
_calendar_obj?calendar; //日歷結構體
static?u16?TIME_TOPY; // 120
static?u16?OTHER_TOPY; // 200?
?
//重新初始化鬧鐘 ????
//alarmx:鬧鐘結構體
//calendarx:日歷結構體
void?calendar_alarm_init(_alarm_obj?*alarmx_calendar_obj?*calendarx)?
{ ??
u8?temp;
RTC_Get();?
if(calendarx->week==7)temp=1<<0;
else?temp=1<week;?
if(alarmx->weekmask&temp) //需要鬧鈴
{??
printf(“alarm:%d-%d-%d?%d:%d\r\n“calendarx->w_yearcalendarx->w_monthcalendarx->w_datealarmx->houralarmx->min);
RTC_Alarm_Set(calendarx->w_yearcalendarx->w_monthcalendarx->w_datealarmx->houralarmx->min0);//設置鬧鈴時間 ?
}???
}?
//鬧鐘響鬧鈴
//type:鬧鈴類型 ???
//0滴.
//1滴.滴.
//2滴.滴.滴
//4滴.滴.滴.滴
void?calendar_alarm_ring(u8?type)
{
u8?i; ?
for(i=0;i<(type+1);i++)
{
LED1=0;
delay_ms(100);
LED1=1;
delay_ms(100);
} ?
}??
//根據當前的日期更新日歷表.
void?calendar_date_refresh(void)?
{
? u8?weekn;???//周寄存
u16?offx=(lcddev.width-240)/2;
? //顯示陽歷年月日
POINT_COLOR=BRED;?
BACK_COLOR=BLACK;?
LCD_ShowxNum(offx+5OTHER_TOPY+9(calendar.w_year/100)%1002160);//顯示年??20/19??
LCD_ShowxNum(offx+21OTHER_TOPY+9calendar.w_year%1002160);?????//顯示年??
LCD_ShowString(offx+37OTHER_TOPY+9lcddev.widthlcddev.height16“-“);?//“-“
LCD_ShowxNum(offx+45OTHER_TOPY+9calendar.w_month2160X80);?????//顯示月
LCD_ShowString(offx+61OTHER_TOPY+9lcddev.widthlcddev.height16“-“);?//“-“
LCD_ShowxNum(offx+69OTHER_TOPY+9calendar.w_date2160X80);??????//顯示日 ??
//顯示周幾?
POINT_COLOR=RED;
????weekn=calendar.week;
Show_Str(5+offxOTHER_TOPY+35lcddev.widthlcddev.height(u8?*)calendar_week_table[gui_phy.language][weekn]160);?//顯示周幾?
?
}
//鬧鐘數據保存在:SYSTEM_PARA_SAVE_base+sizeof(_system_setings)+sizeof(_vs10xx_obj)
//讀取日歷鬧鐘信息
//alarm:鬧鐘信息?
void?calendar_read_para(_alarm_obj?*?alarm)
{
AT24CXX_Read(SYSTEM_PARA_SAVE_base+sizeof(_system_setings)(u8*)alarmsizeof(_alarm_obj));
}
//寫入日歷鬧鐘信息
//alarm:鬧鐘信息?
void?calendar_save_para(_alarm_obj?*?alarm)
{
?? OS_CPU_SR?cpu_sr=0;
alarm->ringsta&=0X7F; //清空最高位
OS_ENTER_CRITICAL(); //進入臨界區(無法被中斷打斷)?
AT24CXX_Write(SYSTEM_PARA_SAVE_base+sizeof(_system_setings)(u8*)alarmsizeof(_alarm_obj));
OS_EXIT_CRITICAL(); //退出臨界區(可以被中斷打斷)
}?
//鬧鈴處理(尺寸:44*20)
//xy:坐標
//返回值處理結果
u8?calendar_alarm_ms
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件??????11744??2017-05-11?16:23??(2)RTC實時實驗?-?按鍵設置時間+2個鬧鐘?+觸屏\APP\calendar.c
?????文件???????1824??2017-05-11?16:15??(2)RTC實時實驗?-?按鍵設置時間+2個鬧鐘?+觸屏\APP\calendar.h
?????文件??????29752??2015-08-10?12:18??(2)RTC實時實驗?-?按鍵設置時間+2個鬧鐘?+觸屏\APP\common.c
?????文件???????6543??2015-08-14?14:35??(2)RTC實時實驗?-?按鍵設置時間+2個鬧鐘?+觸屏\APP\common.h
?????文件??????17273??2010-06-07?10:25??(2)RTC實時實驗?-?按鍵設置時間+2個鬧鐘?+觸屏\CORE\core_cm3.c
?????文件??????85714??2011-02-09?14:59??(2)RTC實時實驗?-?按鍵設置時間+2個鬧鐘?+觸屏\CORE\core_cm3.h
?????文件??????15503??2011-03-10?10:52??(2)RTC實時實驗?-?按鍵設置時間+2個鬧鐘?+觸屏\CORE\startup_stm32f10x_hd.s
?????文件??????12765??2011-03-10?10:52??(2)RTC實時實驗?-?按鍵設置時間+2個鬧鐘?+觸屏\CORE\startup_stm32f10x_md.s
?????文件???????3510??2012-07-19?23:42??(2)RTC實時實驗?-?按鍵設置時間+2個鬧鐘?+觸屏\HARDWARE\24CXX\24cxx.c
?????文件???????1134??2011-09-27?13:05??(2)RTC實時實驗?-?按鍵設置時間+2個鬧鐘?+觸屏\HARDWARE\24CXX\24cxx.h
?????文件???????2988??2014-03-22?21:31??(2)RTC實時實驗?-?按鍵設置時間+2個鬧鐘?+觸屏\HARDWARE\24CXX\myiic.c
?????文件???????1357??2014-03-09?21:30??(2)RTC實時實驗?-?按鍵設置時間+2個鬧鐘?+觸屏\HARDWARE\24CXX\myiic.h
?????文件???????3758??2017-05-11?22:44??(2)RTC實時實驗?-?按鍵設置時間+2個鬧鐘?+觸屏\HARDWARE\EXTI\exti.c
?????文件????????582??2014-03-20?21:48??(2)RTC實時實驗?-?按鍵設置時間+2個鬧鐘?+觸屏\HARDWARE\EXTI\exti.h
?????文件???????2988??2011-09-19?11:12??(2)RTC實時實驗?-?按鍵設置時間+2個鬧鐘?+觸屏\HARDWARE\IIC\myiic.c
?????文件???????1328??2011-09-27?17:34??(2)RTC實時實驗?-?按鍵設置時間+2個鬧鐘?+觸屏\HARDWARE\IIC\myiic.h
?????文件???????1979??2017-05-12?17:02??(2)RTC實時實驗?-?按鍵設置時間+2個鬧鐘?+觸屏\HARDWARE\KEY\key.c
?????文件???????1016??2017-05-12?16:41??(2)RTC實時實驗?-?按鍵設置時間+2個鬧鐘?+觸屏\HARDWARE\KEY\key.h
?????文件??????35016??2014-01-02?17:22??(2)RTC實時實驗?-?按鍵設置時間+2個鬧鐘?+觸屏\HARDWARE\LCD\FONT.H
?????文件??????91272??2017-05-11?22:44??(2)RTC實時實驗?-?按鍵設置時間+2個鬧鐘?+觸屏\HARDWARE\LCD\lcd.c
?????文件???????8193??2015-08-12?18:19??(2)RTC實時實驗?-?按鍵設置時間+2個鬧鐘?+觸屏\HARDWARE\LCD\lcd.h
?????文件???????1301??2014-03-20?20:13??(2)RTC實時實驗?-?按鍵設置時間+2個鬧鐘?+觸屏\HARDWARE\LED\led.c
?????文件????????640??2014-03-20?19:03??(2)RTC實時實驗?-?按鍵設置時間+2個鬧鐘?+觸屏\HARDWARE\LED\led.h
?????文件??????18046??2017-05-15?11:56??(2)RTC實時實驗?-?按鍵設置時間+2個鬧鐘?+觸屏\HARDWARE\RTC\rtc.c
?????文件???????1675??2017-05-14?21:54??(2)RTC實時實驗?-?按鍵設置時間+2個鬧鐘?+觸屏\HARDWARE\RTC\rtc.h
?????文件???????4271??2017-05-15?11:38??(2)RTC實時實驗?-?按鍵設置時間+2個鬧鐘?+觸屏\HARDWARE\TIMER\timer.c
?????文件????????920??2017-05-14?20:13??(2)RTC實時實驗?-?按鍵設置時間+2個鬧鐘?+觸屏\HARDWARE\TIMER\timer.h
?????文件???????2903??2014-03-11?12:01??(2)RTC實時實驗?-?按鍵設置時間+2個鬧鐘?+觸屏\HARDWARE\TOUCH\ctiic.c
?????文件???????1316??2014-03-11?12:01??(2)RTC實時實驗?-?按鍵設置時間+2個鬧鐘?+觸屏\HARDWARE\TOUCH\ctiic.h
?????文件???????4920??2015-08-12?17:05??(2)RTC實時實驗?-?按鍵設置時間+2個鬧鐘?+觸屏\HARDWARE\TOUCH\ft5206.c
............此處省略224個文件信息
- 上一篇:STM32倒立擺代碼
- 下一篇:timac1.5.x cc2530
評論
共有 條評論