发作品签到
专业版

STM32F103C8T6彩色丝印最小系统板

工程标签

584
0
0
0

简介

STM32系列微控制器因其强大的性能、被广泛应用于各种嵌入式工程项目中。其最小系统板是初学者学习的好伙伴。我做这次工程目的是做一个基于STM32F103C8T6的最小系统板以供我自己的学习。

简介:STM32系列微控制器因其强大的性能、被广泛应用于各种嵌入式工程项目中。其最小系统板是初学者学习的好伙伴。我做这次工程目的是做一个基于STM32F103C8T6的最小系统板以供我自己的学习。

开源协议

GPL 3.0

创建时间:2024-05-13 12:22:40更新时间:2024-05-14 11:29:58

描述

项目名称:

 

STM32F103C8T6彩色丝印最小系统板

 

题目分析:

STM32F103C8T6最小系统板主要包括以下硬件组件

  1. STM32F103C8T6微控制器:作为系统的核心,负责执行程序、控制外设等任务。
  2. 电源电路:为微控制器提供稳定的工作电压,包括5V转3.3V的电源转换电路。
  3. 时钟电路:为微控制器提供精准的时钟信号,保证系统的稳定运行。
  4. 复位电路:提供系统复位功能,便于调试和故障恢复。
  5. 调试接口:包括JTAG或SWD调试接口,方便开发者进行程序下载和调试。
  6. LED指示灯:用于显示系统状态或进行简单的功能演示。
  7. 其他外设接口:如UART、SPI、I2C等,可根据具体需求进行扩展。

STM32F103C8T6最小系统板的软件环境:

本工程采用Keil MDK-ARM作为开发环境,支持C语言编程,提供丰富的库函数和调试工具,方便开发者进行嵌入式系统的开发。

同时,还需安装STM32CubeMX等辅助工具,用于生成初始化代码和配置外设参数。

原理图设计说明

在这里我简要介绍几个关键的模块,剩余模块有兴趣可以自己查询了解。

1.烧录模块

烧录模块用于将编译好的程序代码加载到 STM32 微控制器中,以便进行程序运行。

可以使用专用的烧录器、串口通信或其他接口来实现烧录功能。

烧录模块的设计应考虑烧录速度、稳定性、易用性和适配性等因素。

在这里我使用了CH340E作为单片机的串口通信接口,以实现数据传输和通信。

2.存储器模块

STM32 微控制器通常具有内置的闪存和RAM,用于存储程序代码和数据。

存储器模块可能涉及外部存储器,如EEPROM、SD卡或外部闪存,以扩展存储容量。

存储器模块的设计应考虑数据读写速度、容量需求和接口协议等因素。

3.3.3V稳压点路模块

3.3V 稳压电路模块用于将输入电压稳定输出为 3.3V,以供 STM32 微控制器和其他电路使用。

可以采用线性稳压器、开关稳压器或其他稳压器设计来实现稳定的电压输出。

稳压电路模块的设计应考虑电流需求、效率、稳定性和噪音等因素。

 

软件说明

这我我只展示一些简单的模块代码,想要系统性学习可以去江协科技进行学习。

这是通过IO口点亮led模块的代码:
代码块:

#include "stm32f10x.h"                  // Device header
#include "Delay.h"
int main(void)
{
    RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE );
    
    GPIO_InitTypeDef GPIO_InitStructure;
    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
    GPIO_InitStructure.GPIO_Pin =GPIO_Pin_All ; 
    GPIO_InitStructure.GPIO_Speed =  GPIO_Speed_50MHz;
    GPIO_Init(GPIOA,&GPIO_InitStructure);
    
    
    
    while(1)
    {
        GPIO_Write(GPIOA,0x0001); //0000 0000 0000 0001
        Delay_ms(100);
        GPIO_Write(GPIOA,0x0002); //0000 0000 0000 0010
        Delay_ms(100);
        GPIO_Write(GPIOA,0x0004); //0000 0000 0000 0100
        Delay_ms(100);
        GPIO_Write(GPIOA,0x0008); //0000 0000 0000 1000
        Delay_ms(100);
        GPIO_Write(GPIOA,0x0010); //0000 0000 0001 0000
        Delay_ms(100);
        GPIO_Write(GPIOA,0x0020); //0000 0000 0010 0000
        Delay_ms(100);
        GPIO_Write(GPIOA,0x0040); //0000 0000 0100 0000
        Delay_ms(100);
        GPIO_Write(GPIOA,0x0080); //0000 0000 1000 0000
        Delay_ms(100);
    }
}

 

注意事项

我画的PCB忘记标明IO口的丝印,导致学习的不方便,希望看到的小伙伴可以加以改正。

 

实物图

 

设计图

未生成预览图,请在编辑器重新保存一次

BOM

暂无BOM

附件

序号文件名称下载次数
1
0f3e06e2a0bb91850d63c0d2f02a2b3d.mp4
0
克隆工程
添加到专辑
0
0
分享
侵权投诉

工程成员

评论

全部评论(1)
按时间排序|按热度排序
粉丝0|获赞0
相关工程
暂无相关工程

底部导航