打印
[开源硬件]

【21ic DIY秀】+制作精简STM8L051F3开发板

[复制链接]
5972|19
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 lisingch 于 2019-3-31 11:28 编辑

      时间过的真快,每天各种的忙转眼就到月底了,搭个DIY秀活动的末班车凑个热闹与朋友们交流分享。
      ST公司STM32及STM8两大产品线上的产品丰富多彩、琳琅满目。这其中的STM8产品性价比非常高,为了体验STM8L系列微控制器的优异性能特意买了十几片STM8L051F3P6芯片,本来打算打样做个小开发板,芯片到手后因急于测试,结果就利用手头现有的资源制作了这款极精简的STM8L051F3P6开发板。说是开发板其实就是一个最小系统,以此最小系统为核心,再配以其它一些外设模块用来进行测试、学习,感觉还不错。下面将制作过程与大家一同分享。
一、前期准备
1、在官网下载STM8L系列微控制器的相关资料,如数据手册、参考手册以及库文件等(相关资料附后);
2、TSSOP20转接板一块,洞洞板、40PIN锁紧座、排针若干、阻容元件等等;
二、对STM8L051F3P6进行初步了解
      根据STM8L051F3P6的数据手册中描述可以看出这款芯片性能不俗,与同样是TSSOP20封装的STM8S103F3P6相比最为突出的就是没有了VCAP引脚,而且低功耗性能更是超越了STM8S103F3P6。下面是手册中的截图,引脚图中红色字是为了方便使用而自己添加的;





三、硬件制作
1、STM8L051F3P6最小系统,将STM8L051F3P6芯片直接焊在TSSOP20转接板上,转接板两侧焊孔采用了16mm长脚排针;






2、在PIN7(VSS)及PIN8(VDD)间直接焊了一只0805的100n电容用于电源去耦;


3、用洞洞板及插座制作一个最小系统板扩展基板,方便引脚引出;10PIN排针为5*VSS + 5*VDD;




4、至此STM8L051F3P6开发板已初具模样,比划一下感觉还少点啥?应该至少再有个电源指示灯吧,那就再加个指示灯。手上正好有些大块头的三色LED也利用一下,于是又做了个LED板,既可以利用其中的一色(红)做电源指示,当然也可以做为普通LED使用;另外两色(绿、蓝)还能做点灯、PWM调光等实验。三色LED的每一色点亮电流是不同的,实测后加了不同的限流电阻,每一色的电流均调整至1.8~2mA左右,使用中感觉还不错。



5、在后期的测试过程中发现手动复位还是很有必要,于是又增加了手动复位电路。另外,PIN7、PIN8间焊接的0805退耦电容与转接板上铜箔短路了,于是将此电容移到了转接板背面;




6、最终开发板完成后的合照,感觉挺漂亮;




四、实验测试
      习惯了IAR来编译STM8,电脑之前已经安装了。下面就采用库方式编写几个小程序做个简单测试:
1、测试环境介绍
a、IAR for STM8 V3.10.1;
b、STM8CubeMX V1.3.0;
c、STM8L15x_StdPeriph_Driver V1.6.1;
d、本次制件精简开发板;

2、IO实验。这个简单,就是让LED按一定的时间间隔进行闪烁:
a、系统配置使用STM8CubeMX,虽说这个软件还不能产生代码,但对于各种外设及时钟配置还是非常直观的,通过软件配置再结合库代码相当省时省心,效率提高不少;



b、主要代码(完整工程附后);
#define LED_PORT  GPIOC
#define RED_LED GPIO_Pin_4
#define BLUE_LED GPIO_Pin_6
#define GREEN_LED GPIO_Pin_5
#define RED_LED_ON GPIO_ResetBits(LED_PORT, RED_LED);
#define RED_LED_OFF GPIO_SetBits(LED_PORT, RED_LED);
#define BLUE_LED_ON GPIO_ResetBits(LED_PORT, BLUE_LED);
#define BLUE_LED_OFF GPIO_SetBits(LED_PORT, BLUE_LED);
#define GREEN_LED_ON GPIO_ResetBits(LED_PORT, GREEN_LED);
#define GREEN_LED_OFF GPIO_SetBits(LED_PORT, GREEN_LED);
void delay_us(uint16_t nCount)
{
  nCount *= 3;
  while(--nCount);
}


void delay_ms(uint16_t nCount)
{
  while(nCount--)
  {
    delay_us(1000);
  }
}

void CLK_Config(void)
{
  CLK_DeInit();
  CLK_SYSCLKSourceConfig(CLK_SYSCLKSource_HSI);
  CLK_SYSCLKDivConfig(CLK_SYSCLKDiv_1);
  CLK_HSICmd(ENABLE);
}

void GPIO_Config(void)
{
  GPIO_DeInit(LED_PORT);
  GPIO_Init(LED_PORT, RED_LED|BLUE_LED|GREEN_LED, GPIO_Mode_Out_PP_High_Fast);
}

/**
  * [url=home.php?mod=space&uid=247401]@brief[/url]  Main program.
  * @param  None
  * @retval None
  */
void main(void)
{
  /* Infinite loop */
  CLK_Config();
  GPIO_Config();
  while (1)
  {
    RED_LED_ON;
    delay_ms(500);
    RED_LED_OFF;
    delay_ms(500);
    BLUE_LED_ON;
    delay_ms(500);
    BLUE_LED_OFF;
    delay_ms(500);
    GREEN_LED_ON;
    delay_ms(500);
    GREEN_LED_OFF;
    delay_ms(500);
  }
}

c、硬件连接及测试结果



e、测试效果视频文件(不会传视频文件,上个压缩包只有7秒的视频,有兴趣您可以看看。)
三色LED.rar (920.96 KB)

五、总结
     通过这次制作及测试感觉这种方法还不错,整套开发板成本不足10元钱非常经济。期间制作过不少的模块,包括DS18B20、AMS2302、DHT11、LM35A、TMP275、AT24Cxx、4位数码管、OLED、MMA7455等各种小模块,这些小玩意儿设备精简、成本较低、资源可以重复利用,同时还选购一些成品模块。充分利用这些模块与本次制作的精简开发板相结合,无论是对于学习还是产品应用开发都是非常方便和经济的。
     利用库开发非常方便,库里的每个函数都有使用说明和样例,直接套用就行了,遇到问题再结合数据手册、参考手册进行对比分析,过程中基本上不用太关心底层,当然数据手册、参考手册还是要熟读的,做到知其然知其所以然。希望与各位朋友交流,文中错误在所难免也请朋友们指教!


六、附件
STM8L051F3数据手册、参考手册RM0031、库_STM8L15x-16x-05x-AL31-L_StdPeriph_Lib1.6.1,还有本次测试所用的工程文件,需要的朋友可以看看。
STM8L051F3.pdf (1.96 MB)
RM0031 STM8L05x STM8L15x STM8L162.pdf (9.05 MB)
_STM8L15x-16x-05x-AL31-L_StdPeriph_Lib1.6.1.zip (15.26 MB)
3LED.rar (984.48 KB)



使用特权

评论回复
评论
lisingch 2019-4-2 22:03 回复TA
@dirtwillfly :谢谢领导表扬! 
dirtwillfly 2019-4-2 21:35 回复TA
这套模块做的不错 

相关帖子

沙发
零三翟邢止胃| | 2019-4-1 09:10 | 只看该作者
真是个好帖子!我要顶住啊! 感谢分享啊! 真是不错啊!好帖子啊!帮你顶住啊!

使用特权

评论回复
板凳
lisingch|  楼主 | 2019-4-1 13:44 | 只看该作者
零三翟邢止胃 发表于 2019-4-1 09:10
真是个好帖子!我要顶住啊! 感谢分享啊! 真是不错啊!好帖子啊!帮你顶住啊! ...

谢谢捧场

使用特权

评论回复
地板
luoengineer| | 2019-4-1 14:08 | 只看该作者
好贴!收藏了~

使用特权

评论回复
5
luoengineer| | 2019-4-1 14:10 | 只看该作者
好贴!收藏了~

使用特权

评论回复
6
lisingch|  楼主 | 2019-4-1 14:48 | 只看该作者

多交流!

使用特权

评论回复
7
icecut| | 2019-4-2 13:33 | 只看该作者
好感动

使用特权

评论回复
8
lisingch|  楼主 | 2019-4-2 13:40 | 只看该作者

谢谢捧场

使用特权

评论回复
9
阳光下的泡馍| | 2019-4-2 13:49 | 只看该作者
好精致,这该是一双多巧妙的手和心灵,点赞

使用特权

评论回复
10
lisingch|  楼主 | 2019-4-2 13:55 | 只看该作者
阳光下的泡馍 发表于 2019-4-2 13:49
好精致,这该是一双多巧妙的手和心灵,点赞

谢谢表扬!关键是省钱

使用特权

评论回复
11
duhemayi| | 2019-4-3 14:51 | 只看该作者
不错,学习

使用特权

评论回复
12
memoff| | 2019-4-10 09:38 | 只看该作者
但是楼主不知道发现没,这个芯片051系列只能保证烧写100次,开发板还是151系列比较合适。

使用特权

评论回复
13
lisingch|  楼主 | 2019-4-10 15:31 | 只看该作者
memoff 发表于 2019-4-10 09:38
但是楼主不知道发现没,这个芯片051系列只能保证烧写100次,开发板还是151系列比较合适。 ...

      STM8L051F3的确是这样,与STM8L151F3相比这是其中的一个弱点,但价格要便宜不少。下次顺便买两片STM8L151F3换上玩玩,用STM8L151F3调试。

使用特权

评论回复
14
小買戈戈| | 2019-4-15 16:31 | 只看该作者
看着这些主板有点乱

使用特权

评论回复
15
lisingch|  楼主 | 2019-4-15 16:44 | 只看该作者
小買戈戈 发表于 2019-4-15 16:31
看着这些主板有点乱

脑子别乱就行

使用特权

评论回复
16
luoengineer| | 2019-4-17 15:57 | 只看该作者
楼主,你这个开发板需要外接电源吗?是不是st-link可以直接供电了?

使用特权

评论回复
17
lisingch|  楼主 | 2019-4-17 16:29 | 只看该作者
luoengineer 发表于 2019-4-17 15:57
楼主,你这个开发板需要外接电源吗?是不是st-link可以直接供电了?

对,STlink直供。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

99

主题

14978

帖子

17

粉丝