切换到宽版
  • 1207阅读
  • 13回复

[STM]STM8 首次学习实验 [复制链接]

上一主题 下一主题
离线zeze10000
 

发帖
2495
M币
3045
专家
13
粉丝
38
STM8单片机貌似使用的人很少,大家要么用51,要么用STM32,当然还有很多人用AVR的aduino。
本人也是一直在用51,无奈51性能不强,价格还不便宜。
看到stm8的最小系统板才3元钱,忍不住买了几片,一直也没使用。
最近想想还是学学吧,拓展一下知识面,不能总困在51里,有机会还要学学stm32呢。

话不多说了,stm8确实和51有大不同,时钟源就有好多个,端口配置也比51复杂,还有类似AVR单片机熔丝位的选项字节。今天就用一个简短的例子来全部过一遍。

最小系统板,也没啥多的东西,也就有个LED能用用,好在有外部晶振,可以试试时钟切换。

硬件很简单,ST-Link V2,必备神器,能在片上仿真,调试程序的神器,比51的串口强大太多,同时也能调试STM32,必须买。可惜不带串口功能。
最小系统板用的是stm8s105k,比stm8103稍微强一点点。

软件呢,我这里用的是IAR,感觉比ST官方的STVD要方便,建议两个都装上。

硬件

U盘版的ST-LINK,十几块钱包邮
系统板是stm8105k

今天的实验很简单
入门必做实验,流水灯。
鉴于板子只有一个灯,就改成了闪烁灯。

涉及的知识有GPIO的端口配置
时钟选择及时钟分频,额外加了一个时钟输出,还有选项字节操作

闪烁灯

照片拍不出闪烁的效果
通过选择不同时钟源和不同的时钟分频,观察LED闪烁的频率变化

LED引脚波形


128k LSI内部RC震荡时钟输出


8MCPU时钟8分频输出


实验很简单,基本功能都涉及了
时钟输出需要配置引脚复用功能,也就是要配置选项字节

最后直接贴上代码吧

其实和51大同小异,都是配置寄存器
  1. /****************************************/
  2. /*              STM8首次实验            */
  3. /*内容:GPIO配置,时钟配置,时钟输出    */
  4. /****************************************/
  5. #include<iostm8s105k4.h>
  6. #define LED PE_ODR_ODR5
  7. void init()
  8. {
  9.   CLK_CKDIVR=0x00;//时钟分频 不分频
  10.   CLK_SWCR=0x02;  //时钟切换使能
  11.   CLK_SWR=0xb4;   //设置切换时钟,外部晶振
  12.   CLK_CCOR=0x0f;  //时钟输出Fcpu/8
  13.   
  14.   PD_DDR_DDR0=1; //PD0输出配置
  15.   PD_CR1_C10=1;
  16.   PE_CR2_C20=1;
  17.   
  18.   PE_DDR_DDR5=1; //PE5输出模式
  19.   PE_CR1_C15 =1; //推挽输出
  20.   PE_CR2_C25 =0; //低速
  21.   
  22. //  PC_DDR_DDR1=0; //PC1输入模式
  23. //  PC_CR1_C11 =1; //上拉输入
  24. //  PC_CR2_C21 =0; //无中断
  25.   
  26. }
  27. void delay()
  28. {
  29.   int i,j;
  30.   i=32767;
  31.   j=2;
  32.   while(i--);
  33.   {
  34.     while(j--);
  35.   }
  36. }
  37. int main( void )
  38. {
  39.   init();
  40.   while(1)
  41.   {
  42.     
  43.     
  44.       LED=~LED;
  45.       delay();
  46.     
  47.   }  
  48. }


THE END!!

本文内容包含图片或附件,获取更多资讯,请 登录 后查看;或者 注册 成为会员获得更多权限
本帖最近打赏记录:共5条打赏M币+102
66ok66 M币 +8 優秀文章 06-17
南湘小隐 M币 +13 謝謝分享 06-15
jsycwnw M币 +13 謝謝分享 06-15
xueyuking M币 +8 謝謝分享,想学,但一直没时间折腾。 06-14
發騷友 M币 +60 以資鼓勵 06-14
离线骁龙652
发帖
20
M币
-488
专家
0
粉丝
0
只看该作者 1楼 发表于: 06-14
可以。最近也在玩STM8,外设和性能都比51高不少。
离线ok2ok

发帖
2169
M币
1814
专家
0
粉丝
50
只看该作者 2楼 发表于: 06-14
学习学习再学习。支持。
离线xueyuking

发帖
1246
M币
2324
专家
0
粉丝
18
只看该作者 3楼 发表于: 06-14
謝謝分享,想学,但一直没时间折腾。
离线lcy960

发帖
2216
M币
581
专家
1
粉丝
16
只看该作者 4楼 发表于: 06-14
想学,但没有好用的脑袋学不来
离线zeze10000

发帖
2495
M币
3045
专家
13
粉丝
38
只看该作者 5楼 发表于: 06-14
回 xueyuking 的帖子
xueyuking:謝謝分享,想学,但一直没时间折腾。 (2018-06-14 18:23) 回 xueyuking 的帖子

我也是最近心血来潮看了几天视频,这东西最好能集中一段时间,一鼓作气直接学完,不然断断续续学不完
离线2545889167

发帖
11952
M币
8639
专家
274
粉丝
4614
只看该作者 6楼 发表于: 06-14
反正stm8我挺爱用的。比51强悍多了
离线触景情伤

发帖
3045
M币
4072
专家
4
粉丝
49
只看该作者 7楼 发表于: 06-14
楼主3元的105私个链接吧

内容来自Android手机客户端

离线zeze10000

发帖
2495
M币
3045
专家
13
粉丝
38
只看该作者 8楼 发表于: 06-15
回 触景情伤 的帖子
触景情伤:楼主3元的105私个链接吧[图片]
 (2018-06-14 21:55) 回 触景情伤 的帖子

3元是103的,105不止3元
离线cqhejian

发帖
803
M币
4601
专家
12
粉丝
13
只看该作者 9楼 发表于: 06-15
还是老老实实的把51先学习好了来吧
快速回复
限80 字节
温馨提示:所有技术区严禁灌水,“沙发”“顶”字样;禁止广告贴;以免被删除
 
上一个 下一个