嵌入式开发:使用STM32CubeMX 和 Keil uVision5实现两位数码管循环显示实验

一、STM32CubeMx实现数码管

1、双击打开STM32CubeMX。
在这里插入图片描述

2、点击File选项,在File列表下选择New Project选项新建工程。

3、在图中所示位置的方框中输入我们使用的芯片型号来搜索芯片
在这里插入图片描述

4、与我们的搜索相关的芯片型号会在这里呈现,我们只需要选择我们需要的即可,这里我们双击第一个STM32F103C8T6即可完成芯片选型。
在这里插入图片描述

5、完成芯片选型之后我们会来到这个界面:
在这里插入图片描述

6、下一步我们先来配置程序下载方式:选中System Core清单下的SYS选项。在右侧弹出的窗口中有Debug选项,单击Debug选项右侧的小箭头,在下拉列表中选择Serial Wire选项。这一步是配置使用ST-LINK下载程序。
在这里插入图片描述

7、下一步是开启外部时钟。单击左侧列表中的RCC选项,右侧窗口会出现默认为Disable的HSE和LSE两个选项,即外部高速时钟和外部低速时钟。这里我们都选择第三项Crystal/Ceramic Resonator,意思是使用板载的外部晶振作为时钟源。
在这里插入图片描述

8、由于我们需要使用1位数码管来显示,所以需要给数码管配置GPIO。在这里我们给数码管的8个引脚全部配置为输出模式。单击需要配置的引脚,在弹出的列表中选择GPIO_Output。配置成功后引脚会变成绿色。
在这里插入图片描述
9.配置工共引脚
在这里插入图片描述
10.将7个引脚设置为共阳极,并一次改名为a-g
在这里插入图片描述
11.将公共引脚改为H1和H2
在这里插入图片描述
12.设置定时器
在这里插入图片描述
在这里插入图片描述
13.接下来我们需要配置时钟。点击上方的Clock Configuration选项,来到时钟树的界面。
在这里插入图片描述
14.时钟配置完成后点击上方的Project Manager选项,对工程进行设置。
在这里插入图片描述
配置完这个页面后我们选择左侧的Code Generator选项
在这里插入图片描述
在这里插入图片描述
15.工程已配置完成,单击右上角的GENERATE CODE选项生成代码。
在这里插入图片描述
然后会弹出如下界面
在这里插入图片描述
我们选择中间的选项直接打开工程
在这里插入图片描述
如图所示:左边是已经生成好的相关文件,我们只需要在其中添加我们的代码
16.因为我们要显示两位数所以设置两个参数,i代码数码管显示0-9,bit代表显示第一位亮还是第二位亮
在这里插入图片描述
17.显示两位数字(0-99)
在这里插入图片描述
18.主函数使用for循环显示0-99
在这里插入图片描述
18.设置定时器,先注释掉for循环显示0-99
选中代码,点击绿色斜线
在这里插入图片描述
在这里插入图片描述
19.找到MX_TIM1_Init();右键
在这里插入图片描述
可以看到我们刚刚的配置
在这里插入图片描述
配置定时器
在这里插入图片描述
20.定义m变量
在这里插入图片描述

21.设置时间中断回调函数
在这里插入图片描述
22.在while循环中调用显示函数
在这里插入图片描述
23.保存并编译
在这里插入图片描述
编译成功!!!!

  • 11
    点赞
  • 69
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论
要驱动STM32上的四位数码管,可以使用TM1637芯片来实现。首先,需要在代码中包含TM1637的头文件,并初始化TM1637芯片。在初始化函数中,可以设置GPIO引脚的方向和初始状态。然后,可以使用TM1637提供的函数来控制数码管显示。 在代码中,可以使用Dispaly_Number_4函数来显示四位数字。该函数接受四个参数,分别是要显示的四个数字。可以通过调用Dispaly_Number函数来显示每一位数字。Dispaly_Number函数接受两个参数,第一个参数是要显示的数字,第二个参数是要显示的位数。 具体的代码实现可以参考引用\[1\]和引用\[2\]中的函数和宏定义。需要根据自己的硬件连接情况和需求进行相应的修改和调整。 #### 引用[.reference_title] - *1* *3* [STM32F4驱动最简单四位共阴极数码管](https://blog.csdn.net/pdssc/article/details/130014768)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v4^insert_chatgpt"}} ] [.reference_item] - *2* [STM32 经过TM1637驱动四位数码管](https://blog.csdn.net/stonekang/article/details/128531231)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v4^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

-努力搬砖的小刘-

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值