-MCS-251指令集:
两个指令集的兼容性
什么是嵌入式系统硬件和软件?
高度概括:处理器架构主要有两大类cisc和risc,特点是前者可执行变位操作,后着是执行固定长度命令,反应到实际就是前者可以在存储器上进行算数和逻辑运算,而后者不行,只能将数据全部读入寄存器,然后在进行逻辑运算
MCS-251架构由inter公司研发,但并未开发完全,由stc公司进行创新研发和补全,得以让MCS-251架构呈现!
三个层次:
1.开发软件程序
2.开发apl与函数
3.能借助嵌入式操作系统
特别注意:stc32的单片机与曾经inter的32位单片机的区别:
即MSC-251指令集支持8-16-32位指令,但inter的32位单片机内部总线以及一些寄存器还是8位,仅仅通过优化和软件层次实现32位操作,因此并没有提升性能!
而stc32单片机是实现了真正的软硬件支持32位操作,因此单片机性能大幅提升,相较于传统的8051单片机提升70倍!已经和友商的stm32单片机性能在同一层次!inter的32位单片机内部原理图:
可以看到有很多硬件依然是8位的,而STC的32位就是真的有16位寄存器+32位寄存器,是可以直接进行32位+-*/运算的!是真32位机
现在很多人很胆粗,不懂也敢胡说,网上包括头条新闻,都有人宣传51落后了,是8位机。不值得榨干51的最后功能
有人死都说STC32G 是无论如何不能和STM32比的,其实我觉得是他不懂STC32,真的投入时间精力学习一下
STC32G或者AI8051U,就不会这样说啦
注意看下面inter的32位单片机内核,明显和STC的32位内核不同,这个内核是8位
关于电源,我们知道,STC的试验箱,如果直接用普通5V供电,是不能正常工作的
下载的时候需要一个断电(不管是自动断电还是人为断电)当然还有个电源品质问题
姚总接受了电源电路:
特别注意屠龙刀的电源部分,钳位二极管都是5W的
接着姚总提醒,其实也是可以用type-A的:
仔细看图:
这样可以直接在USB下实线不间断下载
关于工作频率:
当用户使用硬件 USB 对 STC32G12K128 系列进行 ISP 下载时不能调节内部 IRC 的频率,但用户可以选择芯片出厂时内部预置的16个频率(分别是 5.5296M、6M、11.0592M、12M、18.432M、20M、22.1184M、24M、27M、
30M、33.1776M、35M、36.864M、40M、44.2368M和48M,不同的系列可能不一样,具体以下载软件的频率列表为准)。下载时用户只能从频率下拉列表中进行选择其中之一,而不能手动输入其他频率。(使用串口下载则可用输入 4M~48M 之间的任意频率)。
关于IO口的强推挽:
第3个上拉晶体管称为"强上拉”。当端口锁存器由0到1跳变时,这个上拉用来加快准双向口由逻辑0到逻辑1转换。当发生这种情况时,强上拉打开约2个时钟以使引脚能够迅速地上拉到高电平。
准双向口(弱上拉)带有一个施密特触发输入以及一个干扰抑制电路。准双向口(弱上拉)读外部状态前,要先锁存为'1,,才可读到外部正确的状态.
上面这段,其实在没有实际例子的情况下,是很难理解的,以后我们会回来这里再讨论的
如果2个时钟后,外界还是拉低,那就只能低了,不能打架的。
11.3.4 开漏输出
姚总介绍,开漏其实不只是输出,还是输入!
例如用IIC或者SPI器件的时候,总线上有好几个设备,你就要用开漏输入!
开漏实际是一条串行总线上接多个芯片!(这是姚总的原话,真接地气,一下就懂了,牛人!)
其实每个器件都有个上啦电阻,只能用开漏输入才行的!
IO口模式用错了,还是要烧坏设备的.
开漏还有个重要的应用,不同工作电压器件的连接,开第二个图: