[开源硬件] 【21ic DIY秀】+制作精简STM8L051F3开发板

[复制链接]
1923|19
 楼主 | 2019-3-31 11:23 | 显示全部楼层 |阅读模式
本帖最后由 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、主要代码(完整工程附后);
  1. #define LED_PORT  GPIOC
  2. #define RED_LED GPIO_Pin_4
  3. #define BLUE_LED GPIO_Pin_6
  4. #define GREEN_LED GPIO_Pin_5
  5. #define RED_LED_ON GPIO_ResetBits(LED_PORT, RED_LED);
  6. #define RED_LED_OFF GPIO_SetBits(LED_PORT, RED_LED);
  7. #define BLUE_LED_ON GPIO_ResetBits(LED_PORT, BLUE_LED);
  8. #define BLUE_LED_OFF GPIO_SetBits(LED_PORT, BLUE_LED);
  9. #define GREEN_LED_ON GPIO_ResetBits(LED_PORT, GREEN_LED);
  10. #define GREEN_LED_OFF GPIO_SetBits(LED_PORT, GREEN_LED);
  11. void delay_us(uint16_t nCount)
  12. {
  13.   nCount *= 3;
  14.   while(--nCount);
  15. }


  16. void delay_ms(uint16_t nCount)
  17. {
  18.   while(nCount--)
  19.   {
  20.     delay_us(1000);
  21.   }
  22. }

  23. void CLK_Config(void)
  24. {
  25.   CLK_DeInit();
  26.   CLK_SYSCLKSourceConfig(CLK_SYSCLKSource_HSI);
  27.   CLK_SYSCLKDivConfig(CLK_SYSCLKDiv_1);
  28.   CLK_HSICmd(ENABLE);
  29. }

  30. void GPIO_Config(void)
  31. {
  32.   GPIO_DeInit(LED_PORT);
  33.   GPIO_Init(LED_PORT, RED_LED|BLUE_LED|GREEN_LED, GPIO_Mode_Out_PP_High_Fast);
  34. }

  35. /**
  36.   * [url=home.php?mod=space&uid=247401]@brief[/url]  Main program.
  37.   * @param  None
  38.   * @retval None
  39.   */
  40. void main(void)
  41. {
  42.   /* Infinite loop */
  43.   CLK_Config();
  44.   GPIO_Config();
  45.   while (1)
  46.   {
  47.     RED_LED_ON;
  48.     delay_ms(500);
  49.     RED_LED_OFF;
  50.     delay_ms(500);
  51.     BLUE_LED_ON;
  52.     delay_ms(500);
  53.     BLUE_LED_OFF;
  54.     delay_ms(500);
  55.     GREEN_LED_ON;
  56.     delay_ms(500);
  57.     GREEN_LED_OFF;
  58.     delay_ms(500);
  59.   }
  60. }
复制代码

c、硬件连接及测试结果



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


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


六、附件
STM8L051F3数据手册、参考手册RM0031、库_STM8L15x-16x-05x-AL31-L_StdPeriph_Lib1.6.1,还有本次测试所用的工程文件,需要的朋友可以看看。







本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

评论

lisingch 2019-4-2 22:03 回复TA
@dirtwillfly :谢谢领导表扬! 
dirtwillfly 2019-4-2 21:35 回复TA
这套模块做的不错 
| 2019-4-1 09:10 | 显示全部楼层
真是个好帖子!我要顶住啊! 感谢分享啊! 真是不错啊!好帖子啊!帮你顶住啊!
 楼主 | 2019-4-1 13:44 | 显示全部楼层
零三翟邢止胃 发表于 2019-4-1 09:10
真是个好帖子!我要顶住啊! 感谢分享啊! 真是不错啊!好帖子啊!帮你顶住啊! ...

谢谢捧场
| 2019-4-1 14:08 | 显示全部楼层
好贴!收藏了~
| 2019-4-1 14:10 | 显示全部楼层
好贴!收藏了~
 楼主 | 2019-4-1 14:48 | 显示全部楼层

多交流!
| 2019-4-2 13:33 | 显示全部楼层
好感动
 楼主 | 2019-4-2 13:40 | 显示全部楼层

谢谢捧场
| 2019-4-2 13:49 | 显示全部楼层
好精致,这该是一双多巧妙的手和心灵,点赞
 楼主 | 2019-4-2 13:55 | 显示全部楼层
阳光下的泡馍 发表于 2019-4-2 13:49
好精致,这该是一双多巧妙的手和心灵,点赞

谢谢表扬!关键是省钱
| 2019-4-3 14:51 | 显示全部楼层
不错,学习
 楼主 | 2019-4-3 17:56 | 显示全部楼层

谢谢捧场!这种玩法比较省钱
| 2019-4-10 09:38 | 显示全部楼层
但是楼主不知道发现没,这个芯片051系列只能保证烧写100次,开发板还是151系列比较合适。
 楼主 | 2019-4-10 15:31 | 显示全部楼层
memoff 发表于 2019-4-10 09:38
但是楼主不知道发现没,这个芯片051系列只能保证烧写100次,开发板还是151系列比较合适。 ...

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

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
| 2019-4-15 16:31 | 显示全部楼层
看着这些主板有点乱
 楼主 | 2019-4-15 16:44 | 显示全部楼层
小買戈戈 发表于 2019-4-15 16:31
看着这些主板有点乱

脑子别乱就行
| 2019-4-17 15:57 | 显示全部楼层
楼主,你这个开发板需要外接电源吗?是不是st-link可以直接供电了?
 楼主 | 2019-4-17 16:29 | 显示全部楼层
luoengineer 发表于 2019-4-17 15:57
楼主,你这个开发板需要外接电源吗?是不是st-link可以直接供电了?

对,STlink直供。
扫描二维码,随时随地手机跟帖
您需要登录后才可以回帖 登录 | 注册

本版积分规则

我要发帖 投诉建议 创建版块 申请版主

快速回复

您需要登录后才可以回帖
登录 | 注册
高级模式

论坛热帖

关闭

热门推荐上一条 /4 下一条

快速回复 返回顶部 返回列表