7.6. 动手搭建简单电路点亮一个LED灯-STM32(初学宝典)神舟IV号开发板
标签:
51armit开发板神舟 |
分类: 神舟51单片机开发板 |
现在我们使用的STM32F107VCT,这颗芯片内部集成了时钟电路,就只差电源和一个外部复位电路了,我们只需要满足这2个条件那STM32芯片就可以正常工作了。
下面我们将用极少元器件组建一个最精简化电路系统,让初学者看到STM32芯片点亮一闪LED实验。最精简化的电路系统是什么样的?下面我们一块一块来进行分析:
http://s12/small/002aCJOcty6MgqZ4PcT5b&690动手搭建简单电路点亮一个LED灯-STM32(初学宝典)神舟IV号开发板" TITLE="7.6.
因为STM32芯片内部已经有了时钟,这样就不需要外部晶振了,那么只差复位电路和一个3.3V的电源,下面我们将用极少元器件组建一个最精简化电路系统,让初学者看到单片机点亮一闪LED实验。最精简化的电路系统是什么样的?
7.6.1 电源(外部提供)
开发板通过MINI-USB座供电,USB供电标准是5V进入,原理图如下:
http://s6/mw690/002aCJOcty6MgqYOCXP05&690动手搭建简单电路点亮一个LED灯-STM32(初学宝典)神舟IV号开发板" TITLE="7.6.
因为开发板的CPU大多数芯片都是3.3V的,所以要经过一个AMS1117-3.3V的电源转换芯片,才可以变成3.3V的电压值,请见下面。
http://s5/mw690/002aCJOcty6MgqYZm5u44&690动手搭建简单电路点亮一个LED灯-STM32(初学宝典)神舟IV号开发板" TITLE="7.6.
我们选择一颗电源转换芯片AMS1117-3.3V,把输入的5V电源电压转成3.3V,因为STM32芯片是3.3V的,所以通过这颗芯片就可以转换成3.3V的电压为CPU供电。http://s14/mw690/002aCJOcty6MgqYYW4d8d&690动手搭建简单电路点亮一个LED灯-STM32(初学宝典)神舟IV号开发板" TITLE="7.6.
上图是电源开关,可以看到5V供电来源可以有左右两条路,一条是图中的VBUS线,这是USB插座供电,另外一条是DC5V插头,是用电源适配器进行供电的,开关可以两个方向的供电都可以进行选择。
7.6.2 晶振(内部集成)
STM32内部集成了一个RC时钟,在没有外接晶振的情况下,默认就会启动内部RC时钟晶振振荡器。具体可以参看相关的时钟章节的数据手册
http://s12/bmiddle/002aCJOcty6MgqZ5ZwL4b&690动手搭建简单电路点亮一个LED灯-STM32(初学宝典)神舟IV号开发板" TITLE="7.6.
可以看到内部有个8MHz HIS RC的内部晶振在里面,当没有接外部晶振的时候,或者外部晶振失效的情况下,STM32芯片就会自动切换和启动内部晶振进行工作;所以我们的最小系统无须外接晶振,直接使用内部即可使得CPU正常工作。
http://s16/mw690/002aCJOcty6MgqZbqiz1f&690动手搭建简单电路点亮一个LED灯-STM32(初学宝典)神舟IV号开发板" TITLE="7.6.
7.6.4 LED点灯电路(外部提供)
http://s10/mw690/002aCJOcty6MgqZgydXf9&690动手搭建简单电路点亮一个LED灯-STM32(初学宝典)神舟IV号开发板" TITLE="7.6.
可以看到管脚有PD2连着一个LED灯,只要PD2输出为低电平,那么LED灯的正极端的3.3V将导通,使得LED灯被点亮;PD2它是是单片机的一个I/O接口顾名思义就是IN/OUT。写成中文就是输入/输出接口,这是单片机最基本的接口, 可以说是单片机就有I/0接口。那输入、输出的是什么东西呢?不是别的.正是电平。电平是一个相对的概念。
关于电平,简单的说1个电路里有1个公共地端(GND),如果还有1个3.3V的电源(VCC) 则3.3V是高电平,公共地端是低电平。如果还有1个-3.3V,那么-3.3V和的两者比就是低电平。电平和身高一样,你自己一个人没有高矮的概念,你要是和NBA的迈克乔丹或者科比比身高你就是低电平,他是高电平;你要是和1岁的小朋友比,你就是高电平,他是低电平。
1个STM32单片机芯片有电源和地,所以说3.3V是高电平,公共地GND是低电平。
“I/O接口即可以输入又可以输出是什么意思呢?”。输入的意思就是外部电路通过IO管脚输入给单片机,让它知道我们输入的是高电平还是低电平,单片机会定时去采样这个管脚上的电平,知道是高电平还是低电平,这样我们就可以控制它了。例如可以做做这样一个程序,让单片机在检测这个管脚是高电平的时候把灯打开,证明我们回房间要看书了;在检测低电平的时候,把灯关闭,灯不亮了,证明我看完书要出去了。这样就非常的灵活,我们可以随心所欲的去根据外界状态的变化而变化。
输出也是一样,单片机可以自己输出高电平或是低电平。我们就可以写一个程序, 让它在I/O接口上输出高、低电平去控制一些东西,或者我们读出它的高、低电平状态来现察它在干什么。
一个单片机上有好多个I/O接口,我们现在用的这款STM32上就有管脚100个,当然还更多I/O接口的芯片,这里我们以这颗为标准,这颗芯片弄懂了,其他都是类似的。比如,可以写一个程序,让单片机专有几个管脚做输入,我们可以通过这几个管脚采集到外面传输进来的数据;另外还可以控制单片机的另外的几个管脚做输出,去控制另外要控制的东西,比如控制红外关闭空调或者打开空调吹吹。
7.6.5 元器件清单
下图是元器件清单:
|
品名 |
型号 |
位号 |
数量 |
备注 |
|
电源电路 |
||||
|
电源开关 |
MINI USB座 |
CON1 |
1 |
|
|
USB电源座 |
MINI USB座 |
CN7 |
1 |
|
|
电源芯片 |
AMS1117-3.3V |
U11 |
1 |
|
|
CPU主芯片 |
STM32F107VCT6 |
U7 |
1 |
|
|
100nf 50V |
C29,C30 |
1 |
|
|
|
贴片钽电解电容 |
10UF 10V B壳 |
C50,C51 |
1 |
|
|
0805 贴片电阻 |
22欧姆 |
R50,R51 |
2 |
|
|
0805 贴片电阻 |
0欧姆 |
R29 |
1 |
|
|
复位电路 |
||||
|
0805贴片电阻 |
10K欧姆 |
R8 |
1 |
|
|
0805贴片电容 |
100nF 50V |
C9 |
1 |
|
|
轻触开关 |
6×6×6 4脚 |
S5 |
1 |
|
|
LED点灯电路 |
||||
|
0805贴片电阻 |
470欧姆 |
R46 |
1 |
|
|
0805 LED灯 |
绿色LED灯 |
LED1 |
1 |
|
|
电源指示灯 |
||||
|
0805贴片电阻 |
1K欧姆 |
R54 |
1 |
|
|
0805 LED灯 |
绿色LED灯 |
LED5 |
1 |
|
|
各个电源连接 |
||||
|
0805电阻 |
0欧姆 |
L1,L2,L3,L4 |
4 |
|
照片图如下:
http://s12/mw690/002aCJOcty6Mgr0l0yD5b&690动手搭建简单电路点亮一个LED灯-STM32(初学宝典)神舟IV号开发板" TITLE="7.6.
7.6.6 代码分析
int main(void) //main是程序入口
{
}
7.6.7 程序下载
将其焊接好之后,此时CPU里已经有一个点灯程序了,插上电源之后即可看到一个LED灯被点亮了。
7.6.8 实验现象
http://s9/mw690/002aCJOcty6Mgr15fS0d8&690动手搭建简单电路点亮一个LED灯-STM32(初学宝典)神舟IV号开发板" TITLE="7.6.
可以看到LED灯在不停的闪烁。

加载中…