资源简介
正点原子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
相关资源
- 单片机+时钟+万年历
- 串口屏动态实时显示时间
- PowerTCP Telnet for .NET 4.4.5 破解去除试用
- STM32 TIM2+LCD1602定时闹钟设计
- WebRTC学习之四:最简单的语音聊天
- STM32+ESP8266+smartconfig配网.zip
- 有关绘图类chartctrl的说明,源码和
- BH1750+内部RTC stm32毕设验证成功
- 基于单片机的万年历设计
- 基于linux QT开发的万年历程序
- VHDL课程设计--万年历,课程设计报告
- stc系列单片机驱动12864屏幕万年历翻转
- KRTCLUB2.1.2.69.rar
- 基于STM32ZET6正点原子战舰板的IIC接口
- 数据库图片闹钟管理系统
- LearningWebRTC中文版.pdf
- 基于STM32+W5500, 移植Ethernet文件并基于
- 自己DIY的万年历,STM32,软硬件都有,
- ChartControl显示非连续点数据
- 嵌入式课程设计 万年历 源码+报告
- STM32G071低功耗模式进入退出RTC和按键
- STM32L15X的低功耗模式及RTC唤醒测试
- 基于stm32简单万年历设计
- stm32万年历报告.doc
- 51单片机液晶万年历LCD1602万用板制作
- webrtc教程
- webrtcDemo150521
- RTCA DO-160E中文版
- kurento webRTC
- webrtc教程v0.3
评论
共有 条评论