打印
[STM8]

STM8基础

[复制链接]
98|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
原来是wjc|  楼主 | 2024-3-30 10:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
STM8是ST意法半导体针对工业应用和消费电子开发而推出的8位单片机。
每种MCU都有自身的优点与缺点,与其它8-bit MCU相比,STM8 8-bit MCU最大的特点是:

内核:
最高fcpu频率,可达24MHz,当fcpu≤16MHz时0等待的存储器访问
高级STM8内核,基于哈佛结构并带有3级流水线
扩展指令集
最高20 MIPS @ 24 MHz
时钟、复位和电源管理:
2.95V到5.5V工作电压
灵活的时钟控制,4个主时钟源
带有时钟监控的时钟安全保障系统
电源管理:
低功耗模式(等待、活跃停机、停机)
外设的时钟可单独关闭
***打开的低功耗上电和掉电复位
通信接口:
高速1Mbit/s CAN 2.0B接口
带有同步时钟输出的UART — LIN主模式
UART兼容LIN2.1协议,主/从模式和自动重新同步
SPI接口最高到10Mbit/s
I2C接口最高到400Kbit/s
I/O端口:
带有高吸收电流输出的GPIO脚
非常强健的GPIO设计,对倒灌电流有非常强的承受能力
开发支持:
单线接口模块(SWIM)和调试模块(DM),可以方便地进行在线编程和非侵入式调试
性价比:
相对于现在众多的8位单片机,STM8的价格与性能比例是比较高。   


使用特权

评论回复
沙发
原来是wjc|  楼主 | 2024-3-30 10:31 | 只看该作者
SWIM接口是STM8的调试系统的调试和编程接口,它提供非侵入式读/写内存和外设,从而可以对STM8实现仿真和编程。

其实STM8可以不需要晶振跟复位电路,但是为了最小系统能够稳定运行,所以最好增加外部电路。
  ● STM8复位电路设计
  STM8单片机内置上电复位(POR),所以,STM8单片机可以不设外部上电复位电路,依然可以正常复位,稳定工作。 若是系统需要设置按键复位电路,那么注意,STM8单片机是低电平复位,如下图,设计按键复位电路:

  ● STM8震荡电路设计

  STM8单片机内置RC振荡电路。出厂时,未进行时钟源设置的STM8,其时钟源使用的是内部16M高速RC振荡器,然后经过8分频则是2M频率。
  通过程序对寄存器的设置,可以设置MCU的内部RC振荡频率。例如:4M、8M等。不过,内置RC振荡,在一致性方面存在差异,它因生产的批次有所差异,亦与温度等 因素有较大的相关性。所以,在一些对时钟要求较高的场合,如:精确定时,RS232通信等,这些场合,建议使用外部的晶振线路。

     ● 仿真与编程电路设计

  一般来说,STM8所有系列的单片机都是通过SWIM接口仿真与编程的。
  而SWIM接口只需要4根连接线就够了,所以设计的时候非常简便,只要引出单片机的SWIM接口跟RESET接口,再连上供电电路,然后按照下图的排序标准就OK了!

使用特权

评论回复
板凳
原来是wjc|  楼主 | 2024-3-30 10:31 | 只看该作者
注意事项
  (1).VCAP电容引脚: STM8S的VCAP电容是一个很特别的电容。它是STM8S的内核的工作电压。需要在外 部加一个外部的电容,以保证内核工作电压的稳定。一般推荐1uF的瓷片电容。。而且 1uF的瓷片电容在进行PCB布线时,必须要尽可能地靠近VCAP引脚,一直靠近到不 能再靠近为止。这一点非常非常重要,切记!切记!(STM8L系列上没有此电容)
  (2).电源 VDD和VSS电源引脚上,建议加上退耦电容(10uF点解电容和0.1uF瓷片电容) 在用电源对VDDIO_x 和VSSIO_x 的引脚上,建议加上退耦电容(10uF 点解电容和 0.1uF瓷片电容),或者至少加上一个0.1uF瓷片电容。
  若在电路中,有用到外部的设备(如FLASH, 24C02等),建议在其电源上加上退耦电 容(10uF点解电容和0.1uF瓷片电容)。或者至少加上一个1uF瓷片电容。最好不要 使其与MCU共地。

使用特权

评论回复
地板
原来是wjc|  楼主 | 2024-3-30 10:31 | 只看该作者
软件编写注意事项:

时钟分配
   主时钟是否正常起振并稳定,各个外设时钟是否开启
选项字节配置(option bytes)
   I/O重映射功能状态是否与实际项目相符合
   如果看门狗使用硬件方法使能,则看门狗在复位后立即有效,主程序必须喂狗。
   如果MCU主频高于16MHz,则需要配置选项字节的MCU等待周期为1
有一些状态寄存器的位的清零是通过读该寄存器来实现的,所以对这样的寄存器操作要清楚其后果。
建议将常用的变量分配在Zero page中,这样可以提高这些变量的访问速度。对于不常用的变量可以用@near定义在0xFF以外区域(相对来说,访问速度略慢)。用户可以根据实际情况决定。

使用特权

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

本版积分规则

68

主题

905

帖子

0

粉丝