STM32入门——七段数码管显示篇+编程思路

开发平台:STM32codeMX、keil5

仿真平台:proteus 8.15

芯片型号:STM32F103C8T6

第一个项目:共阳极七段数码管显示数字98

原理图:电阻为1K

思路:

第一步:数码管观察与供电

首先,仔细观察七段数码管的结构。这个数码管有两个控制端口,分别标记为1和2。这两个端口的作用是控制数码管的供电。通过给这两个端口供电,数码管就能够亮起,显示出相应的数字。

第二步:输入端与显示分组

接着,注意到数码管的输入端只有一个,但数码管上显示的是两组数字。这意味着我们需要一种方法来轮流控制两组数字的显示。由于只有一个输入端,我们需要通过延时的方式,先开启一组数字的显示,等待一段时间后关闭,然后再开启另一组数字的显示。

第三步:实现显示的循环过程

基于以上观察,我们可以得出实现数字显示的具体步骤如下:

  • 首先开启控制端口1,为第一组数字提供供电。
  • 在第一组数字显示后,立即清空显示内容,然后关闭端口1的供电。
  • 紧接着开启控制端口2,为第二组数字提供供电。
  • 在第二组数字显示后,同样清空显示内容,并关闭端口2的供电。
  • 重复上述步骤,形成一个循环。在这个循环中,端口1和端口2交替开启和关闭,从而轮流控制两组数字的显示,实现连续的数字显示效果。

操作流程:

  1. 新建工程

    • 打开STM32CubeMX软件。
    • 在菜单栏中找到“File”选项,点击“New project”来创建一个新的项目。
    • 在弹出的窗口中,选择STM32F103C8T6作为你的目标芯片。
  2. 配置端口

    • 进入“RCC”(Reset and Clock Control)配置界面。
    • 根据你的原理图,配置HSE(High Speed External)和LSE(Low Speed External)时钟源。如果原理图中没有这两个时钟源,则选择第三个选项。
    • 在“System Core”配置中,选择“sys--Debug(serial Wire)”。
    • 切换到“Pinout view”页面,将PA0到PA7以及PB0和PB1的引脚设置为GPIO输出模式。
    • 在GPIO配置界面,依次给这些引脚命名为A、B、C、D、E、F、G、DP、K1、K2。
  3. 保存工程

    • 在“Project Manager”中,设置项目名称为“LED”。
    • 选择项目保存的文件夹位置。
    • 在“Toolchain”部分,选择“MDK”作为IDE,并选择最小版本V5。
    • 勾选“Code generator”选项,确保只生成必要的库文件。
    • 勾选“Generate peripheral initialization as a pair of .c/.h”文件,这样会生成相应的初始化代码文件。
    • 点击“GENERATE CODE”按钮,生成项目代码。
  4. 打开工程

    • 生成代码后,关闭STM32CubeMX。
    • 在你的IDE中打开刚刚生成的工程文件。
  5. 编写程序

    • 在主函数main()中,找到while(1)循环部分。
    • 在这个循环内,添加以下代码段:
  • 21
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值