历史上的今天
返回首页

历史上的今天

今天是:2025年12月08日(星期一)

正在发生

2022年12月08日 | 基于 STM32 设计的指针式电子钟与日历

2022-12-08 来源:zhihu

1. 项目简介

这是基于 STM32 设计的一个指针式电子钟+万年历小项目,采用 3.5 寸的 LCD 屏显示时钟,日历、温度、天气,支持触摸屏调整设置时间,设置闹钟,查看日历等等。整体项目主要是技术点就是 LCD 屏的图形绘制。比如: 时钟的时针绘制、分针、秒针、表盘、日历绘制等等。

时钟的时间是直接采用 STM32 本身的 RTC 时钟,室内的室温数据采用 DS18B20 温度传感器获取,STM32 芯片的具体型号是 STM32F103ZET6,只要是 STM32F1 系列的开发板,代码都是可以通用的。

LCD 显示屏采用的正点原子的 3.5 寸 TFT 显示屏,支持 8080 时序,自带触摸屏功能,触摸屏是电阻屏,驱动芯片是 XPT2046,SPI 接口,通信非常方便。

STM32F103ZET6 带有 FSMC 功能,可以输出 8080 时序,本项目里驱动 LCD 屏就采用 FSMC 控制的,效率比较高。

主界面如下:

项目源码下载地址: https://download.csdn.net/download/xiaolong1126626497/63897554

项目视频演示地址: https://live.csdn.net/v/182594

2. 项目功能介绍

下面对每个子功能页面做详细讲解。

2.1 实时时钟页面

在 LCD 屏上方显示表盘、分针、时针、 秒针、刻度、更改时钟时间方块,并实现分针、时针、秒针的移动,在实时时钟下方同步显示数字时钟。

运用触摸屏功能实现时钟设置功能,点击“+” “-”至设置时钟方块,跳出设置时钟界面,即可开始设置时钟与日期;点击“+”“-”至设置闹钟方块,跳出设置闹钟界面,即可开始设置闹钟。

2.2 日历页面

在 LCD 屏中部显示日期、星期、天气、实时温度,在 LCD 屏下方显示日历、左右两边显示黄历,并在日历上重点突出今天的日期。

3. 项目实现主要程序讲解

3.1 流程图

3.2 ds18b2.c 代码

下面列出 DS18B20 温度传感器主要代码.

3.3 lcd 屏图形绘制核心算法

整个项目的功能都是在 LCD 显示屏上,需要绘制线段、绘制圆、绘制矩形、绘制角度线段、绘制中文、绘制数字等等,下面列出这部分的核心代码。


推荐阅读

史海拾趣

安碁科技(AKER)公司的发展小趣事

随着市场需求的不断增长,安碁科技开始寻求扩大产能和全球化布局。1999年,公司正式量产电压控制振荡器(VCXO),并购置了更大的厂房以扩大产能。随后,安碁科技陆续在美国和中国大陆设立子公司和办事处,进一步拓展国际市场。这一系列的举措,不仅提高了公司的产能和效率,也使其能够更好地服务全球客户,实现业务的快速增长。

Custom Connector Corporation公司的发展小趣事

Custom Connector Corporation成立于1969年,当时电子连接器行业正处于快速发展阶段。创始人看到这一市场潜力,决定投身于这一领域。在创业初期,CCC面临着资金紧张、技术瓶颈和市场认可度低等问题。然而,创始人凭借对技术的执着追求和对市场的敏锐洞察,带领团队不断研发新产品,改进生产工艺,逐渐在市场中树立了自己的品牌形象。

BAE Systems公司的发展小趣事

随着全球化的加速,BAE Systems公司积极寻求跨国合作与拓展机会。公司与多家国际知名企业建立了紧密的合作关系,共同开展研发项目和市场拓展。这些合作不仅帮助公司获取了更多的技术和市场资源,也提升了公司在全球电子行业的地位和影响力。通过跨国合作,BAE Systems公司的产品和服务逐渐进入全球市场,为公司的持续发展注入了新的活力。

Franz Binder GmbH & Co公司的发展小趣事

电子行业是一个充满竞争和挑战的领域。面对不断变化的市场环境和客户需求,BAE Systems公司不断调整自身的战略和业务结构。公司注重市场调研和客户需求分析,根据市场变化及时调整产品线和市场策略。同时,公司也加强了对内部管理和流程的优化,提高了运营效率和成本控制能力。这些举措使得公司能够在激烈的市场竞争中保持领先地位,实现稳健发展。

Gazelle Microcircuits Inc公司的发展小趣事
随着个人电脑市场的不断发展,用户对主板性能的需求也在不断变化。现代主板更加注重的是高速数据传输、稳定性、能效比等方面,而不再是传统的模拟电路或特殊模块的需求。
General Dynamics SATCOM Technologies公司的发展小趣事
在早期的电脑主板中,-5V电压被广泛用于某些模拟电路,如硬盘控制器、串口通讯等。然而,随着技术的进步和元件的更新换代,-5V电压的需求已经大大减少,甚至在一些新的主板设计中已经不再提供-5V输出。尽管如此,在一些老旧的设备或特定应用中,-5V电压仍然可能被需要。

问答坊 | AI 解惑

本人写的一个基于ucosII的简单跑马灯例子

基于IAR编译环境,虽然简单. 但却有ucos程序的使用的几个要素. 为了练习中断和邮箱,没有使用系统timer0时间片定时. 而是使用timer1定时,中断发生后,通过邮箱把要显示的led灯的位置送给显示任务. ucosII编程的最大的一个好处是程序符合自然思维, ...…

查看全部问答>

有关3相四线制电源进线问题

求助: 最近,我碰到一个三相四线制的电机,(因为电机经常性烧坏,引起我注意)我发现,这个电机没有缺相保护,我想如果要在这个电机上加一个缺相保护,需要用什么器件,或者怎么设计?…

查看全部问答>

请教一个开关电路

请教一个开关电路: 有两个直流电源,一个红灯,一个绿灯,一个风扇。 (一个电源给灯供电,一个电源给风扇供电) 要求红灯亮的时候风扇运行,绿灯亮时风扇停止工作。 请问如何实现?…

查看全部问答>

Autocad杀毒软件

Autocad杀毒软件好用吗…

查看全部问答>

eVC 在 WinCE 下播放 MP3,我试了3种方法都不成功

我尝试了以下方法: 1. int mciSendString(CString lpstrCommand, CString lpstrRetumString, int uReturnLength, int hwndCallback); mciSendString(\"close OpenFile\", \"\", 0, 0); mciSendString(\"open \"test.mp3\" alias OpenFile typ ...…

查看全部问答>

Ad-Hoc是如何组网的

有哪位大虾知道,Ad-hoc是如何自组网的,是如何去发现周围的网络,进行连接的????不胜感激!!!!…

查看全部问答>

windowsCE系统文件有什么办法能够打开吗,fopen好像不可以,连在ActiveSync中复制也复制不出来。

windowsCE系统文件有什么办法能够打开吗,fopen好像不可以,连在ActiveSync中复制也复制不出来。 我就想打开一个windowsCE windows文件夹里的一个文件,我现在想通过复制到我的电脑桌面都复制不了,怎么这么强?不可以复制的,有什么办法吗?…

查看全部问答>

wince下IIC驱动问题?

/******************************************************************************************* ????????: I2C_GetSpeed ?è    ??: ???? I2C ?????????? ????????: ??        ????????: ?? ·?  &nbs ...…

查看全部问答>

LVDS的输入输出问题

按照LVDS原理,当需要发送差分信号时,应该用LVDS的差分信号发送器,LVDS的输出时差分信号,应该有两路即IN+ 和 IN- ,IN=IN+ - IN- ,但我用LVDS模块进行设计时,输出端口只有一个,请问一下,这是怎么回事?模块的输出跟原理好像有差距?希望高手 ...…

查看全部问答>

WINCE的微调控件spin control

想编写微调控件spin control的应用程序,在加入微调控件之前程序是正确运行的,加入微调控件之后虽然程序编译正确,但是刚一运行就会退出,output窗口显示如下信息:Load module: WINCEA.exeLoad module: coredll.dllThe program \'[393005e] W ...…

查看全部问答>