- 1、本文档共14页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
STM8S第一章第五章
第一章(了解)
1.1计算机系统基本结构(参考P2 图1-1)
总线:计算机电路中,采用总线的连接方式,每一个器件与总线形成“并联”关系,任何时候最多允许有一个设备与CPU通信。
地址总线:单向,用于传送地址信息。由于每根先有两种状态,要么是0,要么是1。所以,寻址范围为2^n,n代表了地址线的数目。
数据总线:双向,用于CPU与储存器、CPU与外设和外设与外设之间传送数据信息。
控制总线:计算机系统中所有控制信号线的总称。
时钟周期:输入微处理器的时钟信号的周期,在MCU中,就是晶振频率的倒数啦。
机器周期:完成一个基本动作所需的时间。STM8S中一个机器周期就是一个时钟周期。
指令周期:执行一条指令所需的时间。这取决于指令的复杂程度。
1.2 CPU的内部结构(参考P4 图1-2)
程序计数器(PC):记录将要执行指令码所在存储单元的地址编码。CPU在执行指令的时候是由上到下的,PC是指引CPU执行指令的。它具有自动加1的功能。
地址寄存器(AR):存放将要寻址的外部储存器单元的地址信息。
指令寄存器(IR):存放指令代码的第一字节,即操作码。
数据寄存器(DR):存放写入外部储存器或I/O端口的数据信息。
逻辑预算单元:主要用于算术运算和逻辑运算。
程序状态字寄存器(PSW):用于记录运算过程中的状态。如是否溢出、进位等。
储存器:ROM(只读存储器)与RAM(随机读写存储器)两大类
RAM:静态的RAM和动态的RAM。RAM掉电后数据丢失。
ROM:EEPROM(电可擦写只读存储器),用存放非易性数据。Flash ROM(电可擦写只读存
储器)用于存放系统控制系统控制程序代码。ROM掉电后数据不丢失。
1.3指令与指令系统
指令:指令由操作码和操作数组成,操作码决定了指令要执行的动作,一般由一个字节表示。
操作数制定了参加操作的数据或数据所在的存储单元的地址。
指令的格式:操作码(第一字节)+操作数(第二、三字节)
程序:指令的有机组合。
伪指令:汇编时,不产生机器码,指导汇编程序对源程序进行汇编。
STM8S汇编指令的一般格式:
[标号:] 指令操作码助记符 [第一操作数] [第二操作数] [第三操作数] [;注释]
注:[]表示内容可有可无,操作码是必不可少的。多操作数指令中,各操作数要用“,”隔开。“;”后的内容是注释信息。注释只为了提高程序的可读性。
第二章
2.1 STM8S内核CPU
图为STM8S CPU内部寄存器
程序计数器PC:保存下一条指令的地址。具有自动加1的功能。
累加器A:用于算术运算、逻辑运算、数据传输。
索引寄存器X和Y:用于变址寄存器使用。使用X的指令码比使用Y的指令码少一个字节。
堆栈指针SP:用于存放子程序调用(包括中断响应)是PC的当前值,以及需要保存CPU内各寄存器的值。在STM8S中堆栈区是在RAM空间的最上端的,向下生长。
PUSHW Y ↓ 左端是把某些寄存器压入堆栈的程序
PUSHW X ↓ 压入堆栈的寄存器顺序:Y→X→A→CC
PUSH A ↓
PUSH CC ↓
POP CC ↓ 左端是把某些寄存器弹出堆栈的程序
POP A ↓ 弹出堆栈的的寄存器顺序:CC→A→X→Y
POPW X ↓ 可见最先压入堆栈的,最后才弹出堆栈。
POPW Y ↓
条件码寄存器CC
溢出V:一次有符号数的算术操作中,如果结果的最高位有溢出发生,则该位被置1。
进位C:一次的算术操作中,如果结果的最高位发生进位或借位,则当该位被置1。
半进位H: 在执行ADD或ADC操作的过程中,当ALU的第3位和第4位间发生进位时,H位会被置1。
负数N: 当上一次的算术、逻辑或数据操作的结果是负的情况下,N位被置1。
零标志Z: 当上一次的算术、逻辑或数据操作的结果是零时,Z位被置1。
I1和I0:确定CPU当前所处的优先级。I1=1,I0=0,优先级最低(主程序所处的的级别)
I1=0,I0=1,优先级次低,I1=0,I0=0,优先级别次高,I1=1,I0=1,优先级别最高。
2.2通用I/O口
任何一个引脚均可定义为( )输入方式。除了PE1、PE2引脚外,任何一个I/O引脚都可以定义为( )输出方式。
空的I/O引脚初始化为低电平的( )输出方式。(减小功耗)
I/O引脚的负载能力:任意一个引脚拉电流和灌电流最大值为( ),为了增强MCU工作时的稳定性,I/O引脚一般设置在( )电流以下。
初始化I/O引脚(例子)请参考技术手册
BSET PC_D
文档评论(0)