加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

7.6. 动手搭建简单电路点亮一个LED灯-STM32(初学宝典)神舟IV号开发板

(2014-09-23 13:10:16)
标签:

51

arm

it

开发板

神舟

分类: 神舟51单片机开发板

现在我们使用的STM32F107VCT,这颗芯片内部集成了时钟电路,就只差电源和一个外部复位电路了,我们只需要满足这2个条件那STM32芯片就可以正常工作了。

下面我们将用极少元器件组建一个最精简化电路系统,让初学者看到STM32芯片点亮一闪LED实验。最精简化的电路系统是什么样的?下面我们一块一块来进行分析:

http://s12/small/002aCJOcty6MgqZ4PcT5b&690动手搭建简单电路点亮一个LED灯-STM32(初学宝典)神舟IV号开发板" TITLE="7.6. 动手搭建简单电路点亮一个LED灯-STM32(初学宝典)神舟IV号开发板" />

因为STM32芯片内部已经有了时钟,这样就不需要外部晶振了,那么只差复位电路和一个3.3V的电源,下面我们将用极少元器件组建一个最精简化电路系统,让初学者看到单片机点亮一闪LED实验。最精简化的电路系统是什么样的?

 

7.6.1 电源(外部提供)

开发板通过MINI-USB座供电,USB供电标准是5V进入,原理图如下:

http://s6/mw690/002aCJOcty6MgqYOCXP05&690动手搭建简单电路点亮一个LED灯-STM32(初学宝典)神舟IV号开发板" TITLE="7.6. 动手搭建简单电路点亮一个LED灯-STM32(初学宝典)神舟IV号开发板" />

因为开发板的CPU大多数芯片都是3.3V的,所以要经过一个AMS1117-3.3V的电源转换芯片,才可以变成3.3V的电压值,请见下面。

http://s5/mw690/002aCJOcty6MgqYZm5u44&690动手搭建简单电路点亮一个LED灯-STM32(初学宝典)神舟IV号开发板" TITLE="7.6. 动手搭建简单电路点亮一个LED灯-STM32(初学宝典)神舟IV号开发板" />

我们选择一颗电源转换芯片AMS1117-3.3V,把输入的5V电源电压转成3.3V,因为STM32芯片是3.3V的,所以通过这颗芯片就可以转换成3.3V的电压为CPU供电。http://s14/mw690/002aCJOcty6MgqYYW4d8d&690动手搭建简单电路点亮一个LED灯-STM32(初学宝典)神舟IV号开发板" TITLE="7.6. 动手搭建简单电路点亮一个LED灯-STM32(初学宝典)神舟IV号开发板" />

上图是电源开关,可以看到5V供电来源可以有左右两条路,一条是图中的VBUS线,这是USB插座供电,另外一条是DC5V插头,是用电源适配器进行供电的,开关可以两个方向的供电都可以进行选择。

 

7.6.2 晶振(内部集成)

STM32内部集成了一个RC时钟,在没有外接晶振的情况下,默认就会启动内部RC时钟晶振振荡器。具体可以参看相关的时钟章节的数据手册

http://s12/bmiddle/002aCJOcty6MgqZ5ZwL4b&690动手搭建简单电路点亮一个LED灯-STM32(初学宝典)神舟IV号开发板" TITLE="7.6. 动手搭建简单电路点亮一个LED灯-STM32(初学宝典)神舟IV号开发板" />

可以看到内部有个8MHz HIS RC的内部晶振在里面,当没有接外部晶振的时候,或者外部晶振失效的情况下,STM32芯片就会自动切换和启动内部晶振进行工作;所以我们的最小系统无须外接晶振,直接使用内部即可使得CPU正常工作。


7.6.3 复位电路(外部提供)

http://s16/mw690/002aCJOcty6MgqZbqiz1f&690动手搭建简单电路点亮一个LED灯-STM32(初学宝典)神舟IV号开发板" TITLE="7.6. 动手搭建简单电路点亮一个LED灯-STM32(初学宝典)神舟IV号开发板" />

   STM32芯片是低电平复位的,为了正常工作,必须将STM32的复位管脚持续拉高才可以,实际上这里电路的按键可以不焊接,只要CPU的复位管脚持续拉高就足够了,焊接只是为了复位比较方便而已,这样按一下按键就使得CPU的复位管脚拉成低电平,这里的电容是滤波的,因为按键按下的时候,会有抖动,电压会有不平滑的毛刺信号出现,通过这个电容过滤一下,就使得电压变化趋于平缓。

 

7.6.4 LED点灯电路(外部提供)

http://s10/mw690/002aCJOcty6MgqZgydXf9&690动手搭建简单电路点亮一个LED灯-STM32(初学宝典)神舟IV号开发板" TITLE="7.6. 动手搭建简单电路点亮一个LED灯-STM32(初学宝典)神舟IV号开发板" />

可以看到管脚有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

 

0805贴片电容

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

 

 

轻触开关

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. 动手搭建简单电路点亮一个LED灯-STM32(初学宝典)神舟IV号开发板" />

7.6.6 代码分析

int main(void) //main是程序入口

{

      RCC->APB2ENR |= RCC_APB2Periph_GPIOD; 

       GPIOD->CRL &=  0xFFFFF0FF;

       GPIOD->CRL |=  0x00000300;

      while (1)

        

             GPIOD->BRR = GPIO_Pin_2;

              Delay(0x2FFFFF);

              GPIOD->BSRR = GPIO_Pin_2;

           Delay(0x2FFFFF);

      }

}

 

7.6.7 程序下载

将其焊接好之后,此时CPU里已经有一个点灯程序了,插上电源之后即可看到一个LED灯被点亮了。

7.6.8 实验现象

http://s9/mw690/002aCJOcty6Mgr15fS0d8&690动手搭建简单电路点亮一个LED灯-STM32(初学宝典)神舟IV号开发板" TITLE="7.6. 动手搭建简单电路点亮一个LED灯-STM32(初学宝典)神舟IV号开发板" />

可以看到LED灯在不停的闪烁。

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有