当前位置:首页 > 工业控制 > 电路设计项目集锦
[导读]构建一个在LCD上显示经过时间的数字时钟。系统通过16x2文本LCD显示经过时间(hh:mm:ss.MMM),同时每秒使用脉宽调制(PWM)技术使LED逐渐变暗。使用RT-Thread RT-Spark开发板上的STM32F407ZGT6微控制器实现。

构建一个在LCD上显示经过时间的数字时钟。系统通过16x2文本LCD显示经过时间(hh:mm:ss.MMM),同时每秒使用脉宽调制(PWM)技术使LED逐渐变暗。使用RT-Thread RT-Spark开发板上的STM32F407ZGT6微控制器实现。

第一步:设置STM32CubeMX

1. 系统和时钟:

•打开 STM32CubeMX,然后点击“文件”,再选择“新建项目”。

•点击 MCU/MPU 选择器,然后在“商用零件号”中输入 STM32F407ZGT6,双击它。

•在系统核心中,找到 SYS,然后将调试设置为串行线。

•在系统核心中,找到 RCC,然后将高速时钟(HSE)设置为晶体/陶瓷谐振器。

•在时钟配置选项卡中,将HCLK设置为168 MHz。这样APB1定时器的时钟频率就会运行在84 MHz。

2. GPIOGPIO 配置:

•在芯片视图中定位 PG11 至 PG66 引脚。

•左键单击并将其分别设置为 GPIO 输出。

•右键单击并分配用户标签:LCD_RS(PG1)、LCD_EN(PG2)、LCD_D4(PG3)、LCD_D5(PG4)、LCD_D6(PG5)和LCD_D7(PG6)。

3. 定时器2(1ms中断):

•在引脚配置选项卡中,进入定时器,然后选择TIM2。将时钟源设置为内部时钟。

•在“配置”中,进入“参数设置”,将预分频器(PSC)设置为83。

•将计数周期(ARR)设置为999。

•在 NVIC 设置中,启用 TIM22 全局中断。

4. 定时器3(PWM LED调光):

•在引脚配置选项卡中,进入定时器,然后选择TIM3。将时钟源设置为内部时钟。

•将通道1设置为PWM生成CH1。(这会自动分配PA6)

•在“配置”中,进入“参数设置”,将预分频器设为83,计数周期设为999,即可获得1kHz的PWM信号。

•在项目管理器中,设置项目名称,然后将工具链/IDE设为STM32CubeIDE,再生成代码。

第二步:编写LCD库

在 Core 中,右键点击 Inc,然后选择 New,接着选择 HeaderFile。删除其下方所有已写代码,复制并粘贴我提供的代码,将文件命名为 lcd.h。

在 Core 中,右键点击 Src,然后选择 New,接着选择 Source File。删除其下方的所有代码,复制并粘贴我提供的代码,将文件命名为 lcd.c。

第三步:硬件接线与设置

连接LCD:

•VSS:GND

•VDD:5V

•V0:10k电位器的中间腿(外侧腿连接5V和GND)

•RS:PG1

•RW:GND(只写模式)

•PG2

•D4:PG3

•D5:PG4

•D6:PG5

•D7:PG6

•阳极:5V(通过220Ω电阻)

•阴极:GND

连接LED灯:

•将LED的长腿(阳极)连接到电路板上的PA6引脚。

•将短腿(阴极)通过一个220Ω电阻连接到GND。

本文编译自hackster.io

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除( 邮箱:macysun@21ic.com )。
换一批
延伸阅读

本实验/项目的目标是在基于STM32F407ZGT6的RT-Spark开发板上实现硬件定时器中断以及前台/后台任务调度系统。通过配置两个硬件定时器TIM2和TIM3,以不同速率切换两个内置LED灯;同时在KEY_UP按钮...

关键字: 定时器 开发板 STM32F407ZGT6

随着世界进入第四次工业革命,工厂正逐步转向使用电子设备和数字媒体。智能工厂在发展中国家和发达国家都日益普及。然而,随着智能工厂更注重效率,安全同样重要,也必须加以考虑。本项目将致力于开发安全功能,保护工人免受被冻柜夹住等...

关键字: TOF PIR传感器 M5Stack 定时器

在这个 Visuino 项目中,您将学习如何利用 ESP32 的深度睡眠模式来以清晰直观的方式大幅降低功耗,方法是通过闪烁的 LED 来实现。当 ESP32 活动时,LED 会持续闪烁,清晰地表明板子正在运行。当您按下按...

关键字: ESP32 定时器 LED

在嵌入式系统开发中,硬件定时器是实现精准定时、事件触发、频率测量等功能的核心外设,而定时器中断事件标志则是衔接硬件触发与软件处理的关键桥梁。当定时器满足预设触发条件(如计数溢出、比较匹配、捕获完成)时,硬件会自动置位对应...

关键字: 定时器 中断 嵌入式

项目开发为各种需要精确时间控制和频率测量的应用场景提供了关键支持。借助C语言在单片机编程中的强大表现力,我们能够充分发挥定时器计数器的功能,实现精准计时与频率测量,让单片机在众多领域大显身手。

关键字: 单片机 定时器

单片机程序开发,定时器计数器犹如一把精准的瑞士军刀,为各种时间相关和计数任务提供了强大而灵活的支持。无论是实现精确的定时控制、测量脉冲宽度,还是进行频率计数,定时器计数器都扮演着不可或缺的角色。对于初学者而言,掌握定时器...

关键字: 定时器 单片机

2025年12月4日,致力于亚太地区市场的国际领先半导体元器件分销商---大联大控股宣布,其旗下品佳推出基于英飞凌(Infineon)TLE9954芯片的电机控制器方案。

关键字: 电机控制器 驱动器 定时器

单片机定时器通过晶振频率来产生精准的计数脉冲,从而实现微秒级别的时间控制。 单片机定时器依托于一个稳定的计数器,该计数器与单片机上的晶振部件相连。晶振经过12分频后,为单片机提供稳定且精准的1MHZ脉冲。由于晶振的频率极...

关键字: 单片机 定时器
关闭