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

基于STM32的多功能数字钟

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

if(sec_back!=calendar.sec)

{

sprintf(temp,"DATE:%d-%d-%d %d",calendar.w_year,calendar.w_month,calendar.w_date,calendar.week);

LCD_ShowString(30,100,210,24,24,temp);

sprintf(temp,"TIME: %d:%d:%d ",calendar.hour,calendar.min,calendar.sec);

LCD_ShowString(30,140,210,24,24,temp);

}

}

keyfunction();//按键扫描和功能解析(包括了开发板上的按键、红外遥控按键、触摸按键

if(flag_1s ==1)//每秒读取一次温度

{

flag_1s =0;

LCD_ShowString(30+5*12,180,210,24,24," ");

temp5=DS18B20_Get_Temp();

sprintf(temp,"TEMP:%d.%d",temp5/10,temp5%10);

LCD_ShowString(30,180,210,24,24,temp);

}

}

}

/*

函数功能:显示画图框

*/

void Load_Drow_Dialog(void)

{

LCD_Clear(RED);//清屏

POINT_COLOR=BLUE;//设置字体为蓝色

LCD_ShowString(lcddev.width-30,0,200,24,24,"RST");//显示清屏区域

}

void Disp_Tiao_Shan(void)

{

unsigned char temp[12];

switch(flag_tiao)

{

case 1: {

if(flag_250ms==1)

{

LCD_ShowString(30+12*13,140,24,24,24," ");

break;

}

else goto kk2;

}

case 2: {

if(flag_250ms==1)

{

LCD_ShowString(30+12*10,140,24,24,24," ");

break;

}

else goto kk2;

}

case 3: {

if(flag_250ms==1)

{

LCD_ShowString(30+12*7,140,24,24,24," ");

break;

}

else goto kk2;

}

case 4: {

if(flag_250ms==1)

{

LCD_ShowString(30+12*15,100,24,24,24," ");

break;

}

else goto kk2;

}

case 5: {

if(flag_250ms==1)

{

LCD_ShowString(30+12*12,100,24,24,24," ");

break;

}

else goto kk2;

}

case 6: {

if(flag_250ms==1)

{

LCD_ShowString(30+12*10,100,24,24,24," ");

break;

}

else goto kk2;

}

case 7: {

if(flag_250ms==1)

{

LCD_ShowString(30+12*5,100,48,24,24," ");

break;

}

else goto kk2;

}

kk2:

{

sprintf(temp,"DATE:%d-%d-%d %d",calendar.w_year,calendar.w_month,calendar.w_date,calendar.week);

LCD_ShowString(30,100,210,24,24,temp);

sprintf(temp,"TIME: %d:%d:%d ",calendar.hour,calendar.min,calendar.sec);

LCD_ShowString(30,140,210,24,24,temp);

break;

}

default :break ;

}

}

#include "sys.h"

#include "delay.h"

#include "key.h"

#include "rtc.h"

#include "remote.h"

#include "touch.h"

#include "lcd.h"

typedef struct

{

vu8 s_hour;

vu8 s_min;

vu8 s_sec;

//公历日月年周

vu16 s_year;

vu8 s_month;

vu8 s_date;

vu8 s_week;

}Timer;

extern unsigned char flag_20ms;

extern unsigned char flag_key0,flag_key1,flag_key2,flag_tiao;

extern Timer S_timer;

void key_init(void)

{

GPIO_InitTypeDef KEY_InitTypeDef;

RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA|RCC_APB2Periph_GPIOD|RCC_APB2Periph_GPIOC,ENABLE);

KEY_InitTypeDef.GPIO_Pin=GPIO_Pin_0;

KEY_InitTypeDef.GPIO_Mode=GPIO_Mode_IPD;

KEY_InitTypeDef.GPIO_Speed=GPIO_Speed_50MHz;

GPIO_Init(GPIOA,&KEY_InitTypeDef);

KEY_InitTypeDef.GPIO_Pin=GPIO_Pin_5;

KEY_InitTypeDef.GPIO_Mode=GPIO_Mode_IPU;

GPIO_Init(GPIOC,&KEY_InitTypeDef);

KEY_InitTypeDef.GPIO_Pin=GPIO_Pin_15;

KEY_InitTypeDef.GPIO_Mode=GPIO_Mode_IPU;

GPIO_Init(GPIOA,&KEY_InitTypeDef);

KEY0=1;

KEY1=1;

WK_UP=0;

}

/*

函数功能:按键扫描函数

输入参数:无

输出参数:返回键码。无按键时返回

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

网站地图

Top