资源简介
正点原子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
相关资源
- 利用DS1302和msp430进行闹钟和万年历的
- 单片机电子时钟 闹钟 日历
- DAS1302蜂鸣 独立按键 闹钟设定 IIC存储
- 【单片机】51单片机数码管显示万年历
- 制作万年历 日期 农历 温度显示
- (MFC) 时钟日期程序
- 基于PIC单片机的万年历的设计
- protues万年历仿真
- 万年历系统汇编语言课程设计
- 百度万年历 日期选择控件 带农历节日
- 易语言天文算法万年历源码
- 流媒体相关协议标准RTP/RTSP/RTCP PDF文档
- DS1302+DS13B20+12864,万年历。农历
- 实用万年历Sywnlv6.11
- Lcd12864大时钟万年历 农历生肖温度
- 12864多功能万年历
- STC89C52+LCD12864+18B20+1302万年历
- 畅学多功能实验箱 MSP430F5438 RTC 操作实
- 基于quartus II的VHDL数字钟设计
- STM32+DHT11+OLED+RTC+MQ2+NRF24L01+串口12
- 1901-2100年黄历(execl版方便移植
- 音视频公开课WebRTC
- 电子万年历的设计51单片机 Proteus仿真
- 精装万年历-V2.5.xls
- STM32L152 RTC 读取时间和日期
- 基于stm32的闹钟rtc
- 基于51单片机电子万年历的设计
- 闹钟唤醒实验
- 定时开机闹钟
- VHDL电子万年历
评论
共有 条评论