STM32开发板开发过程|3GPIO部分设计
历史回顾:
1. STM32F103C8T6-GPIO引脚介绍
C8T6为LQFP48的封装,共有48个引脚,这些引脚当中不全部是GPIO,除了电源引脚、晶振引脚等功能引脚外,有37个GPIO,分别如下:
PA0-PA15:共16个;
PB0-PB15:共16个;
PC13-PC15:共3个;
PD0-PD1:共2个;
这37个GPIO引脚是复用的,什么意思呢?就是可以当做普通IO来用也可以当做其他功能来用比如说UART,在使用的时候只需要设置寄存器就好了。至于寄存器怎么设置,这个到编程的时候我会告诉大家。
2.LED灯电路
单片机的GPIO口控制LED灯的亮灭有两种方式:
输出高电平:即所谓的拉电流方式;
输出低电平:即所谓的灌电流方式;
至于什么是单片机的拉电流和灌电流,请点击这里查看。
本设计采用灌电流的方式,如果你看了关于拉电流和灌电流的那篇文章就应该知道单片机的灌电流往往要比拉电流大。
由于引脚都是复用的所以通过跳线来选择连通或者断开。以这种方式单片机输出低电平就可以将LED点亮了。
3.按键检测电路
按键检测电路如下:
如果大家对之前的文章还有印象的话,那就应该知道按键部分我一般都加入上拉电阻,这里为什么没有加呢?因为STM32单片机的GPIO内部有上拉电阻,可以通过寄存器来选择是不是要使用内部上拉,这里选择内部上拉所以外部就不用加了。温习:单片机的上拉和下拉请点这里。
4. 蜂鸣器控制电路
蜂鸣器分为有源蜂鸣器和无源蜂鸣器,其区别就是有源蜂鸣器只要給电就响,而无源蜂鸣器则要通过不用的频率来驱动。温习:蜂鸣器的分类请点这里。
这里使用的是有源蜂鸣器,通过三极管来驱动,电路如下:
5. 数码管显示电路
数码管显示是单片机学习过程中必须要经历的,我刚开始想把这一块不要的,最终还是决定留了下来。数码管驱动部分采用的74HC595驱动芯片,这个芯片相当于74HC373+74HC164,具有移位和锁存功能,电路设计如下:
6. BOOT启动模式电路设计
STM32单片机具有BOOT0和BOOT1引脚,这两个引脚通过连接高电平和低电平可以使单片机进入不同的自举模式,总共有三种自举模式:
至于每种自举模式是什么意思,以后在程序下载的时候会讲到。电路设计如下:
为了方便大家温习相关知识,我在文章都做了超链接,大家可以点击查看。
您正在收看的是如何开发一款STM32开发板,正在现场直播,毫无保留。