1005|4

1510

帖子

1

TA的资源

五彩晶圆(初级)

楼主
 

[ STM32F4-discovery开发板测评 ] 电子时钟 [复制链接]

对于STM32F4-discovery开发板来讲,它内置了RTC计时器并提供了一些RTC的功能函数,它并没有一个完整使用示例,因此不便快速加以利用。

本打算实现一个RTC电子时钟,限于时间关系就不在这方面浪费时间了,直接利用延时函数与LCD屏就可快速地搭建一个电子时钟,其显示效果如图1所示。

 

图1 电子时钟

 

关于LCD屏的显示驱动在前面的测评中已做过介绍,就不再细说,这里只补充一个数值显示函数以支持时间的显示。

相应的数值显示函数为:

void LCD_ShowNum(u16 x,u16 y,u16 num,u8 len,u16 color)
{
    u8 t,temp;
    u8 enshow=0;
    for(t=0;t<len;t++)
    {
        temp=(num/mypow(10,len-t-1))%10;
        if(enshow==0&&t<(len-1))
        {
            if(temp==0)
            {
                LCD_ShowChar(x+8*t,y,' ',0,color);
                continue;
            }
            else  enshow=1;
        }
        LCD_ShowChar(x+8*t,y,temp+48,0,color);
    }
}

由于是利用延时函数进行计时,因此要添加相应的计时变量及进制处理,相应的主程序为:

int main(void)
{
    char ss=0,sm=58,sh=23;
    SystemClock_Config();
	lcd_gpio();
	Lcd_Init();
	BACK_COLOR=RED;
	LCD_Clear(RED);
    LCD_ShowString(20,25,"  :  :  ",YELLOW);
	while (1)
    {
	      LCD_ShowNum(68,25,ss,2,YELLOW);
		  LCD_ShowNum(44,25,sm,2,YELLOW);
		  LCD_ShowNum(20,25,sh,2,YELLOW);
		  ss=ss+1;
		  if(ss==60)
	      {
				ss=0;
				sm=sm+1;
		  }
		  if(sm==60)
	      {
				sm=0;
				sh=(sh+1)%24;
		  }
		  HAL_Delay(1000);
	}
}

经程序的编译和下载,其测试效果如图2和图3所示,说明它可以完成计时的进制变化要求是可以完成计时要求的。其不足是在断电情况下,无法再继续保存计时值。优点是程序简单,在24小时内的计时累计误差不会过大。

 

 

图2 边界测试1

 

 

图3 边界测试2

此帖出自stm32/stm8论坛

最新回复

大佬的LCD,无论在哪片板子上都是那么的用得好!   详情 回复 发表于 2023-11-5 11:27
点赞 关注
 

回复
举报

1074

帖子

0

TA的资源

纯净的硅(高级)

沙发
 

学习了.

不过以为是:STM32F4-disc1自带的LCD

此帖出自stm32/stm8论坛

点评

自带的是一块残屏,只能自己解决了。  详情 回复 发表于 2023-11-6 08:08
 
个人签名چوآن شـين
 

回复

6960

帖子

11

TA的资源

版主

板凳
 

大佬的LCD,无论在哪片板子上都是那么的用得好!

此帖出自stm32/stm8论坛

点评

哈哈,现在价格合适的器件比较少呀!  详情 回复 发表于 2023-11-6 08:10
 
 

回复

1510

帖子

1

TA的资源

五彩晶圆(初级)

4
 
Gen_X 发表于 2023-11-4 21:28 学习了. 不过以为是:STM32F4-disc1自带的LCD

自带的是一块残屏,只能自己解决了。

此帖出自stm32/stm8论坛
 
 
 

回复

1510

帖子

1

TA的资源

五彩晶圆(初级)

5
 
lugl4313820 发表于 2023-11-5 11:27 大佬的LCD,无论在哪片板子上都是那么的用得好!

哈哈,现在价格合适的器件比较少呀!

此帖出自stm32/stm8论坛
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表