微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 基于STM32的多功能数字钟(中文版)

基于STM32的多功能数字钟(中文版)

时间:11-18 来源:互联网 点击:
/**************************************************************************************

程序功能:基于STM32的多功能数字钟(中文版)

**************************************************************************************

1、时钟的基准用STM32F103RCT6自带的RTC实现。

2、这三个按键的功能分别为:"设置"、"加"、"减"。(WAKEUP KEY0 KEY1)

三个按键作为这三个功能:

键盘上的WAKEUP用作"设置",KEY0用作"加",KEY1用作"减"。

设定时间、日期、星期时,按下设定键,

相应的参数会闪动,即一亮一灭,提示正的修改的数据,每按一下设置键,

设定的项目就会变化,顺序为:

秒--分--时--星期--日--月--年--闹铃分--闹铃时。

顺序设定完后,再按一下设定键,就退出设定状态,回到正显示状态。

3、用DS18B20显示温度。精确到小数点后一位。如:33.5℃。

4、增加用红外遥控器的CH CH+ CH- 三个按键进行时间设置,

功能等同于键盘上的(WAKEUP KEY0 KEY1)"设置"、"加"、"减"。

5、通过串行口设置时间日期。

如串行口发送t12:30:00 设置时间;

如串行口发送d2016-08-12 设置日期;

6、通过触摸屏进行时间日期设置

在触摸屏上有 "设置"、"加"、"减"三个标志,当用触笔去按时,就会产生同开发板上的

按键一样的效果。

触摸按下去和弹起来时,按键的颜色会发生变化。

7、闹铃时间到,蜂鸣器发生“嘀嘀”声

8、超温报警

TFT屏界面如下:

-----------------------------------------

| --多功能数字钟-- |

| 作者:王庐山 16/08/18 |

| 日期:2016年08月18日 |

| 时间:17时12分 |

| 星期:四 |

| 温度:34.5℃ |

| ___ __ __ |

| |设置| |加 | |减 | |

| ---- --- --- |

------------------------------------------

9、需要完速程序的朋友请QQ我。

**************************************************************************************

硬件:LED0----GPIOA.8 (LED运行灯)

KEY0----GPIOC.5 (对时间日期进行设置)

KEY1----GPIOA.15

KEY_WAKEUP----GPIOA.0

TIMER2定时器定时功能。(用于LED运行灯)

TIMER5定时器的定时和捕获功能(红外解析)

TFT液晶屏2。8寸屏带触摸功能。(显示界面与触摸功能)

TOUCH触摸屏。 (触摸按键

DS18B20---PC4; (环境温度)

HS138红外遥控---PA1;(实现红外调时)

串行口USART1; (实现串口调时调时)

RTC实时时钟 (时间基准)

SD卡 (存放字库,文件系统使用)

EEPROM 24C02 (存放触摸屏的相关信息)

FLASH W25Q64 (存放字库的相关信息及文件系统使用)

软件:FATFS(文件系统)

MALLOC(存储管理)

汉字字库

SPI总线协议

IIC总线协议

开发板:正点原子MINI开发板

**************************************************************************************

编程目的:让大赛学生尽快学会STM32的综合编程。

本程序用到了STM32众多的硬件资源,还用到了存储管理和FATFS,

只要学会了该程序的编程,可以这样说,你的STM32已经入门了。

**************************************************************************************

编程软件:KEIL5

**************************************************************************************

常用的算法:

按键采用状态机实现按键扫描。在定时器中对按键进行处理。

红外部分采用定时器捕获功能实现。

时间用STM32自带的RTC实现;

**************************************************************************************

时间:2016.8.18

作者:王庐山

工作室:湖北工业职业技术学院电子创新中心

***************************************************************************************/

#include "stm32f10x_conf.h"

#include "delay.h"

#include "sys.h"

#include "LED.h"

#include "key.h"

#include "timer2.h"

#include "24cxx.h"

#include "lcd.h"

#include "touch.h"

#include "usart.h"

#include "rtc.h"

#include "ds18b20.h"

#include "remote.h"

#include "malloc.h"

#include "flash.h"

#include "spi.h"

#include "mmc_sd.h"

#include "exfuns.h"

#include "fattester.h"

#include "ff.h"

#include "FONTupd.h"

#include "diskio.h"

#incl

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top