利用STM32F103C8T6最小系统板点亮流水灯_利用STM32F103C8T6的智能开灯毕设

2023-04-04 04:30:37

 

1.基于stm32f103

后台网友建议制作一个流水灯,正好发现自己有之前购买的STM32F103C8T6核心板,今天搭建一个流水灯,正好学习一下STM32 GPIO输出如何实现,将来驱动蜂鸣器、继电器等都会使用的流水灯相当于计算机语言中的“Hello World”,照着做一遍,实现了它,基本你就入门了。

2.基于stm32f4

学习目标STM32F103C8T6最小系统板的使用面包板搭建流水灯电路的方法将STM32F103RCT6工程模板修改为STM32F103C8T6的工程模板熟悉STM32 单片机GPIO作为输出的使用方法

3.stm32f103c8t6pwm例程

STM32F103C8T6芯片简介根据STM32&STM8产品型号命名规则(参考:STM32单片机最小系统详解)可知: STM32F103C8T6这个命名中:STM32代表STM32家族,32位MCU;

4.stm32f103c8t6iic

F代表产品类型为基础型;103代表特定功能为STM32基础型;C代表引脚数为48&49引脚;8代表内存容量为64KB;T代表封装为QFP;6代表温度范围为-40到+85℃。核心板原理图

5.stm32f102c8t6

通过原理图我们可知:板子供电有两种方式: 通过U3 USB-micro接口提供5V供电,然后经过板载的LDO芯片转为VCC3V3;通过P2 接口,即SWD下载接口中的VCC3V3给核心板供电核心板上有两个LED,其中一个为电源指示灯PWR,另外一个LED与PC13引脚相连,当PC13置高时,LED灭;当PC13置低时,LED亮;。

6.stm32f103c8t6ram

核心板上的跳线是为了选择启动模式使用我们为了让程序以主闪存存储器作为启动区域,需要将BOOT0置低,BOOT1随意,此种启动模式是最常用的用户FLASH启动,为默认启动模式;核心板上的按键为RESET复位按键;。

7.stm32f103c8t6spi

P2接口为SWD下载模式对应的引脚接口;搭建流水灯电路准备元器件

8.stm32f103c6t6

注意: 电阻使用的是2K,作为限流使用; LED注意正负极,直插发光二极管,引脚长的为正极,短的为负极;如果引脚被剪过了,一样长了,查看发光二极管管体内部金属极大小,金属极较小的是正极,大的片状的是负极。

9.stm32f103c8t6例程

搭建电路 按照如下原理图搭建电路

10.stm32f103c8t6怎么用

搭建完毕效果图

修改工程模板在基于STM32固件库的MDK5工程建立基础上,将STM32F103RCT6工程模板修改为STM32F103C8T6的工程模板修改点:替换启动文件,将startup_stm32f10x_hd.s更换为startup_stm32f10x_md.s,startup_stm32f10x_md.s为中等容量产品使用的启动文件,对应FLASH的大小范围为:64K≤FLASH≤128K。

修改全局宏定义,将STM32F10X_HD修改为STM32F10X_MD。

更改使用的芯片型号

设置下载的Flash容量

注意: 网上说STM32F103C8T6和STM32F103CBT6 是在同一圆晶上制造的,但测试时,只测试手册提供的参数范围所包含的内容,也就意味着 STM32F103C8T6也是128k Flash,只不过只测试了前面64k,然后打上 STM32F103C8T6标注(当然内部就写上 C8T6 的 ID);所以我们在添加Flash的时候,只能找到128K的STM32F103,而找不到64K的Flash。

代码实现设置PA5、PA6、PA7为输出GPIO_InitTypeDefGPIO_InitStructure;RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE

);GPIO_InitStructure.GPIO_Pin=GPIO_Pin_5|GPIO_Pin_6|GPIO_Pin_7;GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP

;GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;GPIO_Init(GPIOA,&GPIO_InitStructure);初始化GPIO为高电平,高电平的时候,LED灭

GPIO_SetBits(GPIOA,GPIO_Pin_5);GPIO_SetBits(GPIOA,GPIO_Pin_6);GPIO_SetBits(GPIOA,GPIO_Pin_7);流水灯代码具体实现

#include"stm32f10x.h" voidDelay(u32count){u32i=0;for(;i

;RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE);GPIO_InitStructure.GPIO_Pin=GPIO_Pin_5|GPIO_Pin_6

|GPIO_Pin_7;GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP;GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz

;GPIO_Init(GPIOA,&GPIO_InitStructure);GPIO_SetBits(GPIOA,GPIO_Pin_5);GPIO_SetBits(GPIOA,GPIO_Pin_6);GPIO_SetBits

(GPIOA,GPIO_Pin_7);while(1){GPIO_ResetBits(GPIOA,GPIO_Pin_5);GPIO_SetBits(GPIOA,GPIO_Pin_6);GPIO_SetBits

(GPIOA,GPIO_Pin_7);Delay(1000000);Delay(1000000);Delay(1000000);GPIO_SetBits(GPIOA,GPIO_Pin_5);GPIO_ResetBits

(GPIOA,GPIO_Pin_6);GPIO_SetBits(GPIOA,GPIO_Pin_7);Delay(1000000);Delay(1000000);Delay(1000000);GPIO_SetBits

(GPIOA,GPIO_Pin_5);GPIO_SetBits(GPIOA,GPIO_Pin_6);GPIO_ResetBits(GPIOA,GPIO_Pin_7);Delay(1000000);Delay

(1000000);Delay(1000000);}}成果展示

推荐阅读STM32单片机最小系统详解基于STM32固件库的MDK5工程建立修改Keil工程名称并添加其他模块文件

从六月份开始,每个月会制作一个毕业设计难度的DIY作品,前期作品以模块组合的形式搭建,降低门槛,方便大家一起跟着做;DIY过程只在微信公众号中分享,大家没关注的,赶紧关注哈每个月时间大致安排:上个月25号,公布DIY作品名称;。

每月1日公布作品功能点及所需要的功能模块链接;每月10日前绘制完模块配合的线路板;每月15日之前硬件搭建完毕,之后按模块撰写代码,调试,随时公众号更新进展;每月月底开源整个作品的源码和PCB工程文件题目选取原则:

公众号每个月20日发起投票,25号截止,票数最多的作为下个月的DIY内容;投票的备选项大家可以后台留言给我,我会选出五种留言最多的作为选项;每个月的DIY内容尽量与上个月分享的文章有一定的相关度,起到温故知新的作用。

有什么想法或者建议,后台留言给我哈。喜欢请关注:嵌入式从0到1

若觉得本次分享的文章对您有帮助,随手点赞并转发分享,也是对我的支持。


以上就是关于《利用STM32F103C8T6最小系统板点亮流水灯_利用STM32F103C8T6的智能开灯毕设》的全部内容,本文网址:https://www.7ca.cn/baike/11695.shtml,如对您有帮助可以分享给好友,谢谢。
标签:
声明

排行榜