一、最小系统
能够保证单片机正常工作的最小组成单元。
1、主控芯片
主控芯片相当于整个电路系统的心脏。选择单片机的类型。本实验以学习STM32F103C8T6为例。
2、晶振(时钟)电路
晶振电路类似于心脏的起搏器,没有晶振电路心脏就不能跳动。其中电路中的晶振频率的选择也有不同的要求,这个在时钟树的笔记中详细说。
3、电源电路
字面意思,电源电路就是为整个电路供电的作用。电源电路还有就是要将电压和电流控制在电路要求的工作电压电流范围内。
4、复位电路
复位电路能将系统的程序重新回到0000H这个地址,让系统重新运行。
5、BOOT启动电路
BOOT0和BOOT1模式:
模式一 | BOOT1=X | BOOT0=0 | 从用户闪存启动,这是正常的工作模式。 |
模式二 | BOOT1=0 | BOOT0=1 | 从系统存储器启动,这种模式启动的程序功能由厂家设置,用于ISP编程。 |
模式三 | BOOT1=1 | BOOT0=1 | 从内置SRAM启动,这种模式可以用于调试。 |
6、下载调试电路
支持标准的JTAG协议编程、串行调试SWD编程和ISP编程。一般为了节约引脚和减少接口面积而选择SWD编程接口。
UART串行通信电路:用来与其他串行设备进行串行数据的收发,实验时方便与PC进行串行通信。
二、IO口分配
注:I表示输入;O表示输出;S表示电源;FT表示引脚兼容5V电平。
引脚号 | 引脚名称 | 类型 | I/O | 主功能 | 可选复用功能 |
1 | VBAT | S | VBAT | ||
2 | PC13-TAMPER-RTC | I/O | PC13 | TAMPER-RTC | |
3 | PC14-OSC32_IN | I/O | PC14 | OSC32_IN | |
4 | PC15-OSC32_OUT | I/O | PC15 | OSC32_OUT | |
5 | PD0-OSC_IN | I | OSC_IN | ||
6 | PD1-OSC_OUT | O | OSC_OUT | ||
7 | NRST | I/O | NRST | ||
8 | VSSA | S | VSSA | ||
9 | VDDA | S | VDDA | ||
10 | PA0-WKUP | I/O | PA0 | WKUP/USART2_CTS/ ADC12_IN0/TIM2_CH1_ETR | |
11 | PA1 | I/O | PA1 | USART2_RTS/ADC12_IN1/TIM2_CH2 | |
12 | PA2 | I/O | PA2 | USART2_TX/ADC12_IN2/TIM2_CH3 | |
13 | PA3 | I/O | PA3 | USART2_RX/ADC12_IN3/TIM2_CH4 | |
14 | PA4 | I/O | PA4 | SPI1_NSS/USART2_CK/ADC12_IN4 | |
15 | PA5 | I/O | PA5 | SPI1_SCK/ADC12_IN5 | |
16 | PA6 | I/O | PA6 | SPI1_MISO/ADC12_IN6/TIM3_CH1 | |
17 | PA7 | I/O | PA7 | SPI1_MOSI/ADC12_IN7/TIM3_CH2 | |
18 | PB0 | I/O | PB0 | ADC12_IN8/TIM3_CH3 | |
19 | PB1 | I/O | PB1 | ADC12_IN9/TIM3_CH4 | |
20 | PB2 | I/O | FT | PB2/BOOT1 | |
21 | PB10 | I/O | FT | PB10 | I2C2_SCL/USART3_TX |
22 | PB11 | I/O | FT | PB11 | I2C2_SDA/USART3_RX |
23 | VSS_1 | S | VSS_1 | ||
24 | VDD_1 | S | VDD_1 | ||
25 | PB12 | I/O | FT | PB12 | SPI2_NSS/I2C2_SMBAI/ USART3_CK/TIM1_BKIN |
26 | PB13 | I/O | FT | PB13 | SPI2_SCK/USART3_CTS/TIM1_CH1N |
27 | PB14 | I/O | FT | PB14 | SPI2_MISO/USART3_RTS/TIM1_CH2N |
28 | PB15 | I/O | FT | PB15 | SPI2_MOSI/TIM1_CH3N |
29 | PA8 | I/O | FT | PA8 | USART1_CK/TIM1_CH1/MCO |
30 | PA9 | I/O | FT | PA9 | USART1_TX/TIM1_CH2 |
31 | PA10 | I/O | FT | PA10 | USART1_RX/TIM1_CH3 |
32 | PA11 | I/O | FT | PA11 | USART1_CTS/USBDM/ CAN_RX/TIM1_CH4 |
33 | PA12 | I/O | FT | PA12 | USART1_RTS/USBDP/ CAN_TX/TIM1_ETR |
34 | PA13 | I/O | FT | JTMS/SWDIO | |
35 | VSS_2 | S | VSS_2 | ||
36 | VDD_2 | S | VDD_2 | ||
37 | PA14 | I/O | FT | JTCK/SWCLK | |
38 | PA15 | I/O | FT | JTDI | |
39 | PB3 | I/O | FT | JTDO | |
40 | PB4 | I/O | FT | NJTRST | |
41 | PB5 | I/O | PB5 | I2C1_SMBAI | |
42 | PB6 | I/O | FT | PB6 | I2C1_SCL/TIM4_CH1 |
43 | PB7 | I/O | FT | PB7 | I2C1_SDA/TIM4_CH2 |
44 | BOOT0 | I | BOOT0 | ||
45 | PB8 | I/O | FT | PB8 | TIM4_CH3 |
46 | PB9 | I/O | FT | PB9 | TIM4_CH4 |
47 | VSS_3 | S | VSS_3 | ||
48 | VDD_3 | S | VDD_3 |