STM32CUBEMX 配置12脚3641BS以及串口显示RTC时间

最近在学习STM32F4系列的RTC时钟系统,同时也在学习4位7段数码管显示驱动。而市面上很多3641BS数码管都是集成了74HC595移位寄存器芯片的PCB板,故网上大多基于STM32驱动该型号数码管的驱动都是基于五引脚(VCC, DIO, RCLK, SCLK, GND)设计的。但我手头只有最原始的12引脚版本,因此在这篇博客里我会讲解最原始版本的,也当作是一个备忘录和对RTC时钟唤醒中断配置以及3641BS工作原理的认识吧。

1. 实验原理

如下图,四位七段数码管有12个引脚。除了显示"abcdefg"的7段和显示小数点的"h"之外,还有4个引脚D1、D2、D3和D4用作"位"引脚。当四个数码管的"位"引脚为高电平时,相应的数码管被点亮。
四个数码管的显示原理是连续扫描D1、D2、D3、D4,然后相应的八段管依次亮起。由于点亮速度很快,小于人眼分辨的时间差值极限,所以看起来就像四个数码管同时显示。

对于STM32实时时钟(RTC)来说,它是一个独立的BCD定时器/计数器,提供日历时钟、两个可编程报警中断和一个具有中断功能的可编程定期唤醒标志,还包含一个自动唤醒单元来管理低功耗模式。
两个32位的寄存器包含了秒、分、小时(12或24小时格式)、星期、日期、月份和年份的二进制十进制(BCD)格式。此外,亚秒值以二进制格式提供。
系统可以自动将每月的天数偏移到28、29(闰年)、30和31天。还可提供夏令时补偿。其他32位寄存器包含可编程的报警亚秒、秒、分钟、小时、星期和日期。此外,晶体精度的偏差可以通过数字校准功能进行补偿。在上电复位后,所有的RTC寄存器都受到保护,防止可能的异常写入。无论设备状态如何(工作模式、低功耗模式或重启),只要电源电压保持在工作范围内,RTC就不会停止工作。

 

2.实验材料


STM32F407ZG开发板一块
面包板及配套连接线(公对母)
四位共阳极数码管3641BS(最原始版本,不包含任何集成芯片)
4个220Ω限流电阻

3.实验电路连接图

 

数码管的a~h引脚分别接到单片机的PC0~PC7引脚,d0,d1,d2,d3引脚分别接到单片机的PF0~PF3引脚,并且在中间串联220Ω的限流电阻,以免永久损坏数码管LED。

4. CUBEMX配置以及代码编写

首先将A~H八端初始化为高电平,D0~D3初始化为低电平,每个引脚上下拉模式为浮空

 RCC系统时钟源的HSE, LSE都调为晶振源

 

打开RTC时钟源和日历,启用内部时钟唤醒,把时间调为24小时制,存储模式用二进制(这点很重要ÿ

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值