STM8S第一章第五章.doc

  1. 1、本文档共14页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 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)

ktj823 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档