• 大小: 5.17MB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2023-08-11
  • 语言: 其他
  • 标签: 万年历  RTC  闹钟  

资源简介

正点原子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个文件信息

评论

共有 条评论