分享

STM8S103中文数据手册解读.1

 云深无际 2021-11-03

你能从本文学到什么?
你可以和我一起读STN8S103的中文数据手册,可以和我“初步”了解里面的各种名词,还可以收集到各种相关的资料。

从官网上了解到,STM8 系列有三个大类:S(mainstream MCUs,主流MCU),L(ultra-low-power MCUs,低功耗MCU),和AF/AL(automotive MCUs,车载嵌入式系统)。S系列以其价格优势占领了不少市场,但相比于后两者而言,功能较少,适用于一些功能简单的应用场合。A系列没接触过,L系列虽然号称低功耗,但它具有丰富的外设,并且具有1个多通道DMA,你可以灵活利用他们以节约系统资源去做更多的事情。比如利用SPI和595通讯以及AD采样,只需要合理设置,然后直接向定义的全局变量赋值或者读取数据就可以了.

这个是我们要参考的中文数据手册,这个手册其实还没有翻译的完全。

但是我手头没有什么更好的资料,先看这个吧。

这份文档的后面没有翻译完全,但是这个一篇文章还读不到那边。

http://www.pudn.com/Download/item/id/750755.html

首先STM8S这个芯片,内核不是传统的51内核。是ST公司自己的内核,但是就我看资料来看,这个内核不是它家独创的,是任天堂的一个指令集改来的


但是我又找不到这个资料哪去了。。。。     

先说MSC-8051,内核的通用寄存器有R0-R7,还有累加器A和辅助寄存器B,总共10个可以存放临时数据的寄存器;而Cortex-M3更不用说,R0-R12都可以放临时数据。而STM8的内核,只有三个寄存器可以放临时数据,分别是累加器A,还有索引寄存器X和Y,虽然是8位机,但是仍然支持16位加减除,同时借助两个16位寄存器X和Y可以进行一些16位的运算,不过指令周期就有点长.

哈佛结构是一种将程序指令存储和数据存储分开的存储器结构。哈佛结构是一种并行体系结构,它的主要特点是将程序和数据存储在不同的存储空间中,即程序存储器和数据存储器是两个独立的存储器,每个存储器独立编址、独立访问。上面提到了哈佛结构,这里我也写一下


这个地方写一下这个内核相关,预热一下:

https://blog.csdn.net/gy759656363/article/details/100105972

CPU寄存器

1. 累加器(Accumulater, A)

 &emdp;任何单片机不可或缺的寄存器,用于缓存操作数据以及逻辑或数学运算的操作结果;

2. 索引寄存器(Index registers, X and Y)

  用于存放16位的地址或数据,可以存放乘法运算结果,并对其进行8位操作,即分成两部分:XH和XL,YH和YL.

3. 程序计数器(PC)

  存放下一条指令的地址,具有16M的寻址空间。

4. 堆栈存储器(SP)

  16位寄存器。和ARM架构不同,STM8的堆栈方向不可修改,总是采用向下生长的方式,并指向下一个空数据。但用户可以设定它的起始地址
以及终止地址。当压入堆栈的数据使SP越过了终止地址后,重新回到初始地址开始入栈。中断发生时,寄存器CC/X/Y/A/PC依次入栈,大概需要9个CPU时钟周期,9Byte数据被压入堆栈。

5. 全局控制寄存器(CFG_GCR)

  用的不多,还是说说吧:
  寄存器包括一个位:AL: Activation level
  当该位为0时(main),中断返回指令IRET会将之前的堆栈数据出栈,继续进行之前的主程序,并且程序在WFI(wait for Interrupt)指令后不受影响,继续执行;
  当该位为1时(Interruppt only active),IRET指令使CPU回到WFI或WFE模式,可以看做该模式使一种低功耗模式,在没有中断或事件触发的情况下处在空闲待机模式。这也是L系列的主要特色了。

寻址方式

  大部分MCU寻址可以概括为三种基本寻址方式:直接寻址,间接寻址和寄存器寻址。而STM8在此基础上衍生出了8种:

看到下面就会知道是20种

6502 CPU扩展指令集
Nintendo Entertainment System Documentation
http://www.pudn.com/Download/item/id/750755.html

这几个指令是6502的一些资料,我想还是和stm8的内核有点关系的

这个是6502的红白机的编程

STM8S主流系列

意法半导体的STM8S系列主流8位微控制器适于工业消费类计算机市场的多种应用,特别是需要大批量可靠供货的应用。

基于STM8专有内核的STM8S系列,借助意法半导体130 nm工艺技术优势和先进内核架构,在24 MHz的频率下其处理能力高达20 MIPS

除了内嵌的EEPROM和RC振荡器,大量I/O资源以及高性能嵌入式外设被视为是与竞争产品拉开差距的关键。

STM8S系列已被纳入意法半导体对STM32和STM8微控制器的10年产品供货计划,确保为设计人员提供稳定可靠的解决方案。

相关开发工具链(从经济型探索套件到更复杂的评估套件和第三方工具)为利用STM8S微控制器进行开发提供了极大方便。

STM8S系列由4个产品线组成,每个产品线都有不同的特性,但是均具有完全兼容性和可升级能力,从而简化未来的设计的变更:

  • STM8S超值系列以最实惠的价格提供基本功能组合,目前8引脚SO封装可以供货。

  • STM8S103/105基本型提供了更多特性和丰富的封装选项。

  • STM8S207/208增强型配有全套外设,可满足中、高端应用对高性能的要求。

  • STM8S专用型提供了更多模拟特性和专用固件解决方案。

  • 这段写的啰嗦了,在开头就有。看官们知道就好。

我们8S的产品线就这么多,看我标出来的地方。

就是我们学习的单片机

https://www.st.com/zh/microcontrollers-microprocessors/stm8s103f3.html#documentation

一个x-y的坐标图,封装脚y,flash+size-x。看一些区别

参考手册(RM0031 Reference manual)

编程手册(PM0044 Programming manual)

这俩份文档是我们要看的文档,编程使用

https://blog.csdn.net/wangpeng421/article/details/106362778?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromBaidu-1.control&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromBaidu-1.control
https://www.jb51.net/books/464915.html#downintro2
上面是一个关于STM8开发的代码框架,以及文中推荐的书籍。我已经把下载的链接给放到这里来了。

还是很耐操的存储器,你要是可以把一片单片机玩到寿命到头

那你就是真大佬了

工作电压十分宽泛

时钟源也丰富,可以自带,可以外接晶振,而且两者可以自由切换。

电源管理也是优秀~

直接带有硬串口,SPI和I2C的接口,够玩了

没有讲输出,讲了输入能力。和稳定性相关。设计的时候还是要考虑

支持SWIM调试

DM这个可厉害,有影子寄存器可以在程序运行过程中更改数据

咱们这个doc就是个大概,真正编程得参考下面这些。

参考手册(RM0031 Reference manual)

编程手册(PM0044 Programming manual)

可以看到是真真正正得E2PROM

还有16M得时钟频率q

强大得外设功能,没有RWW功能

内部得系统框图

是我年轻了,有20种寻址模式。。

这些东西是未来要全部搞明白得东西

和电脑端相连得强大调试能力



这篇文章就先到这里吧,剩下的解读,我们慢慢来


    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多