STM8S103中文数据手册解读.1
这个是我们要参考的中文数据手册,这个手册其实还没有翻译的完全。
但是我手头没有什么更好的资料,先看这个吧。
这份文档的后面没有翻译完全,但是这个一篇文章还读不到那边。
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
还是很耐操的存储器,你要是可以把一片单片机玩到寿命到头
那你就是真大佬了
工作电压十分宽泛
时钟源也丰富,可以自带,可以外接晶振,而且两者可以自由切换。
电源管理也是优秀~
直接带有硬串口,SPI和I2C的接口,够玩了
没有讲输出,讲了输入能力。和稳定性相关。设计的时候还是要考虑
支持SWIM调试
DM这个可厉害,有影子寄存器可以在程序运行过程中更改数据
咱们这个doc就是个大概,真正编程得参考下面这些。
参考手册(RM0031 Reference manual)
编程手册(PM0044 Programming manual)
可以看到是真真正正得E2PROM
还有16M得时钟频率q
强大得外设功能,没有RWW功能
内部得系统框图
是我年轻了,有20种寻址模式。。
这些东西是未来要全部搞明白得东西
和电脑端相连得强大调试能力
这篇文章就先到这里吧,剩下的解读,我们慢慢来