stm32c语言写数码管定时器,使用TIM1产生1秒定时控制数码管显示0-9(STM32_10)

本文详细介绍了如何使用STM32C语言配置项目,通过TIM1定时器实现1秒定时控制数码管显示0-9。首先,介绍了项目文件夹和库文件的配置,接着讲解了STM32F103ZE开发板的GPIO和定时器TIM1的配置,最后实现了中断服务函数和NVIC配置,以完成数码管的定时显示。
摘要由CSDN通过智能技术生成

一、项目配置

1、新建项目文件夹"TimSeg";

2、通过Keil5创建新项目,保存在所创建的文件夹中(设项目名为pTimSeg),选择MCU芯片为"STM32F103ZE"(本程序使用的硬件为:STM32-PZ6806L开发板)

3、在"TimSeg"文件夹下新建"CMSIS"、"Device"、"Public"、"Startup"、"User"和"Lib"文件夹。

① 在"CMSIS"文件夹中复制"core_cm3.h"和"core_cm3.c"文件;

② 在" Device "文件夹中复制"stm32f10x.h"、"system_stm32f10x.h"和"system_stm32f10x.c"文件;

③ 在" Startup "文件夹中复制"startup_stm32f10x_hd.s"文件;

④在"Lib"文件夹中新建"inc"和"src"两个子文件夹,在"inc"文件夹中复制"misc.h"、"stm32f10x_gpio.h"、"stm32f10x_tim.h"和"stm32f10x_rcc.h"文件;在"src"文件夹中复制"misc.c"、"stm32f10x_gpio.c"、"stm32f10x_tim.c"和"stm32f10x_rcc.c"文件;

4、为项目添加"CMSIS"、"Device"、"Public"、"Startup"、"User"和"Lib"组,并将上述C程序文件和"startup_stm32f10x_hd.s"启动文件加入到相应组中。

5、打开“项目配置”对话框,在"Output"选项卡中选择"Create HEX File",在"C/C++"选项卡中的"Include Paths"中添加如下包含路径:".CMSIS;", ".Device;", ".Libinc;",".Public;"。

6、在"stm32f10x.h"中添加函数参数检查宏

(参看:https://blog.csdn.net/fanxp66/article/details/80215090)

#ifdef  USE_FULL_ASSERT

/**

* @brief  这个assert_param宏用于函数参数检查

* @param  expr:如果expr是 false,就调用 assert_failed函数报告源文件名和

*         失败的行号,如果expr是 true ,就返回一个空值

* @retval None

*/

#define assert_param(expr) ((expr) ? (void)0 : assert_failed((uint8_t *)__FILE__, __LINE__))

/* Exported functions ------------------------------------------------------- */

void assert_failed(uint8_t* file, uint32_t line);

#else

#define assert_param(expr) ((void)0)

#endif /* USE_FULL_ASSERT */

7、新建一个文件(system.h),保存到"Public"文件夹中,内容为:

#ifndef __SYSTEM__H

#define __SYSTEM__H

#include "st

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值