STM8S系列单片机原理与应用 教学课件 ppt 作者 潘永雄 第1-5章 第2章

上传人:E**** 文档编号:89374852 上传时间:2019-05-24 格式:PPT 页数:115 大小:1.31MB
返回 下载 相关 举报
STM8S系列单片机原理与应用 教学课件 ppt 作者 潘永雄 第1-5章 第2章_第1页
第1页 / 共115页
STM8S系列单片机原理与应用 教学课件 ppt 作者 潘永雄 第1-5章 第2章_第2页
第2页 / 共115页
STM8S系列单片机原理与应用 教学课件 ppt 作者 潘永雄 第1-5章 第2章_第3页
第3页 / 共115页
STM8S系列单片机原理与应用 教学课件 ppt 作者 潘永雄 第1-5章 第2章_第4页
第4页 / 共115页
STM8S系列单片机原理与应用 教学课件 ppt 作者 潘永雄 第1-5章 第2章_第5页
第5页 / 共115页
点击查看更多>>
资源描述

《STM8S系列单片机原理与应用 教学课件 ppt 作者 潘永雄 第1-5章 第2章》由会员分享,可在线阅读,更多相关《STM8S系列单片机原理与应用 教学课件 ppt 作者 潘永雄 第1-5章 第2章(115页珍藏版)》请在金锄头文库上搜索。

1、第2章 STM8S系列MCU芯片内部结构,2.1 STM8S系列MCU性能概述 2.2 STM8S系列MCU内部结构 2.3 通用I/O口GPIO(General Purpose I/O Port) 2.4 STM8S的电源供电及滤波 2.5 复位电路 2.6 时钟电路,2.1 STM8S系列MCU性能概述,STM8内核MCU的主要特性如下: (1) 支持16 MB线性地址空间。所有RAM、EEPROM、Flash ROM以及与外设有关的寄存器地址均统一安排在16 MB线性地址空间内,无论是RAM、EEPROM、Flash ROM,还是外设寄存器,其读写的指令格式完全相同,即指令操作码助记符、

2、操作数寻址方式等均相同。,(2) I/O引脚输入/输出结构可编程选择。可根据外部接口电路特性将I/O引脚编程设置为悬空输入、带上拉输入、推挽输出、OD输出等方式,极大地简化了外围接口电路设计。对于同一型号的芯片来说,I/O引脚数目与封装方式有关,20引脚封装芯片,通用I/O引脚为16个;80引脚封装芯片,通用I/O引脚高达68个。 (3) 不同引脚封装芯片,同一种功能引脚之间没有交叉现象,硬件扩展方便。 (4) 抗干扰能力强。在每一个输入引脚与内部总线之间均设有施密特触发器。,(5) 可靠性高。除了双看门狗(独立硬件看门狗、窗口看门狗)外,许多外设关键控制寄存器均设有原码寄存器与反码寄存器,这

3、两个寄存器中任何一个出现错误都会触发芯片复位。在指令译码阶段,增加了非法操作码检查功能,一旦发现非法操作码,即刻触发CPU芯片复位。,(6) 外设种类多、功能完善。所有外中断输入引脚触发方式均可编程选择下沿触发、上沿触发或上下沿触发等多种触发方式。定时/计数器具有上下沿触发、捕获以及PWM输出功能。更为重要的是绝大部分外设的内部结构、操作方式与STM32系列相似或相同,只要掌握了其中任意一个系列外设的使用方法,也就等于掌握了另一个系列外设的使用技能。另外,串行总线接口种类多,除了UART、SPI、I2C等常用串行总线接口部件外,在增强型版本中还内置了CAN总线。,(7) 内置了HSI(16 M

4、Hz,误差为1%)、LSI(128 kHz,误差为5%)两种频率的RC振荡电路。在精度要求不高的情况下,可省掉外部晶振电路,从而进一步简化了系统的外围电路,降低了成本。 (8) 提供了基本型(内核最高工作频率为16 MHz)和增强型(内核最高工作频率为24 MHz)两类芯片。这两类芯片区别不大,增强型除了Flash ROM、RAM、EEPROM容量较大之外,还增加了CAN总线及第二个UART接口。,(9) 运行速度快。尽管STM8S属于8位MCU,但具有16位数据传送、算术、逻辑运算指令,因此实际的数据处理速度介于8位与16位MCU芯片之间。 (10) 内置了高速中分辨率的10位ADC转换器,

5、其通道数与封装引脚数目有关(STM8L152芯片内置了12位分辨率的AD及DA转换器)。 (11) 2010年4月以后出厂的STM8S系列芯片均带有96位的唯一器件ID号。 STM8S系列MCU芯片的主要性能指标如表2-1所示。,表2-1 STM8S系列MCU芯片的主要性能指标,由表2-1可看出以下几点: (1) 与STM8S207相比,STM8S208集成了CAN总线,即该子系列集成了STM8S系列芯片的全部外设。 (2) STM8S207、STM8S208芯片集成的ADC部件为ADC2;STM8S105、STM8S103芯片集成的ADC部件为ADC1,其功能比ADC2略有扩展,没有第二个U

6、ART串行接口。 (3) 32引脚封装的STM8S207芯片没有第二个UART串行接口。,2.2 STM8S系列MCU内部结构,STM8S系列MCU由一个基于STM8内核的8位中央处理器、存储器(包括了Flash ROM、RAM、EEPROM)以及常用外设电路(如复位电路、振荡电路、高级定时器TIM1、通用定时器TIM2及TIM3、看门狗计数器、中断控制器、UART、SPI、多通道10位ADC转换器)等部件组成。STM8S2 MCU的内部结构如图2-1所示。,图2-1 STM8S2 MCU的内部结构,将不同种类、容量的存储器与MCU内核(即CPU)集成在同一个芯片内是单片机芯片的主要特征之一。

7、STM8S系列MCU芯片内部集成了不同容量的Flash ROM(4128 KB)、RAM(16 KB),还集成了容量为640 B2 KB的EEPROM。 将一些基本的、常用的外围电路,如振荡器、定时/计数器、串行通信接口电路、中断控制器、I/O接口电路,与MCU内核集成在同一个芯片内是单片机芯片的又一个特征。STM8S系列MCU芯片外设种类繁多,包括了定时/计数器、片内振荡器及时钟电路、复位电路、串行通信接口电路、模数转换电路等。,由于定时/计数器、串行通信、中断控制器等外围电路集成在MCU芯片内,因此STM8S系列MCU芯片内部也就包含了这些外围电路的控制寄存器、状态寄存器以及数据输入/输出

8、寄存器。外设电路接口寄存器构成了STM8S系列MCU芯片数目庞大的外设寄存器(外设寄存器数量与芯片所属子系列、封装引脚数量等有关)。,2.2.1 STM8 内核CPU STM8内核CPU内部结构与第1章介绍的CPU内部结构基本相同,核心部件为算术逻辑运算单元ALU。 STM8 CPU包含了累加器A(8位)、条件码寄存器CC(Code Condition)、堆栈指针SP(16位)、两个索引寄存器X与Y(16位)、程序计数器PC(24位)等6个寄存器,如图2-2所示。,图2-2 STM8 CPU内部寄存器,1. 程序计数器PC 程序计数器PC为24位,这意味着STM8内核CPU可直接寻址16 MB

9、的线性地址空间。PC指针保存了下一条指令的地址,具有自动更新功能,即取出一条指令码后,PC指针自动递增n字节(n为取出指令码的字节数),指向下一条指令码的首地址。 2. 累加器A 累加器A是一个8位的通用寄存器,常出现在算术运算、逻辑运算、数据传送指令中。,3. 索引寄存器X与Y 索引寄存器X、Y均是16位的寄存器。在STM8内核CPU指令系统中,主要作变址寄存器使用。不过,CPU内两个索引寄存器X、Y的地位并不完全等同,使用索引寄存器X的指令码比使用索引寄存器Y指令码少一个字节(使用索引寄存器Y的指令码多了一个字节的前缀码)。,4. 堆栈指针SP 堆栈指针SP是一个16位的寄存器,这意味着堆

10、栈可安排在000000H00FFFFH空间内的任意一个RAM存储区中。 在计算机内,需要一块具有“先进后出”(First In Last Out,简称FILO)特性的RAM存储区,用于存放子程序调用(包括中断响应)时程序计数器PC的当前值,以及需要保存的CPU内各寄存器的值(即现场),以便子程序或中断服务程序执行结束后能正确返回主程序断点处,继续执行随后的指令系列。这个存储区被称为堆栈区。为了正确存取堆栈区内的数据,需要用一个寄存器来指示最后进入堆栈的数据所在存储单元的地址,堆栈指针SP寄存器就是为此目的设计的。,在STM8系统中,堆栈被安排在RAM空间的最上端,下向生长,且为空栈结构,即执行

11、“PUSH #$33”指令时,(SP)33H,然后SPSP - 1。复位后堆栈指针SP寄存器的内容与芯片内部RAM的容量有关。含有6 KB RAM的STM8S芯片,复位后SP为0017FFH;含有2 KB RAM的STM8S芯片,复位后SP为0007FFH;含有1 KB RAM的STM8S芯片,复位后SP为0003FFH。,随着入栈数据的增多,堆栈指针SP不断减小,当SP小于堆栈段起点时,出现下溢(SP指针自动回卷到最大值)其后果不可预测。因此,在设置堆栈段起点时,必须确保堆栈最大深度。子程序或中断嵌套层数越多,所需的堆栈深度就越大。 由于入堆指令与出堆指令一一对应,因此一般情况下不会出现上溢

12、现象。但当SP指针已指向堆栈段最大值时,如果再执行出堆栈指令POP,就出现上溢,SP指针也会自动回卷到最小值(栈顶),同样会造成堆栈混乱,出现不可预测的后果。,5. 条件码寄存器CC CC寄存器实际上是一个8位的标志寄存器,主要包含了溢出标志V(用于指示当前有符号数运算结果是否溢出)、负数标志N、结果为零标志Z、进位标志C、半进位标志H以及当前CPU所处的优先级(包括主程序以及中断服务程序的优先级)标志I1和I0。 (1) 进位标志C。在执行加法运算时,当最高位,即b7位有进位;或执行减法运算,最高位有借位时,则进位标志C为1,反之为0。,例如,当“ADD A, mem”加法指令执行后,进位标

13、志 C =其中,A7表示目的操作数累加器A的b7位;M7表示源操作数存储单元mem的b7位;R7表示运算结果的b7位。当A7、M7均为1时,肯定出现进位;当A7、M7之一为1(即1 + 0或0 + 1)时,如果运算结果的b7(即R7)为0,说明b6位向b7位进位,出现“1 + 0 + 1(来自b6的进位)”或“0 + 1 + 1(来自b6的进位)”相加的情况,结果R7为0,并产生了进位。,(2) 半进位标志H。在进行加法运算时,当b3位有进位;或执行减法运算,b3位有借位时,则H为1,反之为0。设置半进位标志H的目的是便于BCD码算术运算的调整。 (3) 溢出标志V。在计算机内,带符号数一律用

14、补码表示。在8位二进制中,补码所能表示的范围是 -128+127,而当运算结果超出这一范围时,V标志为1,即溢出;反之为0。两个同号数相加,结果可能溢出,溢出条件是:两个同号数相加,结果符号位相反两个正数相加,结果为负数(肯定错!);两个负数相加,结果为正数(也肯定错!)。例如,对于“ADD A, mem”加法指令执行后,溢出标志,V =,(4) 负数标志N。当算术、逻辑、数据传送指令的执行结果为负数(最高位MSB为1)时,N标志为1。 (5) 零标志Z。当算术、逻辑、数据传输指令(并非所有数据传输指令都会影响Z标志)的执行结果为0时,Z标志置1,反之为0。 在条件转移指令中,将根据条件码寄存

15、器CC内的有关标志位确定程序的流向是转移还是顺序执行下一条指令。,(6) 优先级标志I1与I0。I1、I0共同确定了CPU当前所处的优先级,如果某一中断源的中断优先级高于I1、I0定义的优先级,则该中断请求有可能被CPU响应,否则等待。I1、I0定义的优先级如表2-2所示。,表2-2 CPU当前优先级,2.2.2 STM8S封装与引脚排列 不同型号的STM8S系列MCU,采用LQFP-80、LQFP-64、LQFP-48、LQFP-44、LQFP-32、TSSOP20等多种封装形式,如图2-3(a)(f)所示;引脚逻辑如图2-4所示,引脚功能的详细说明可参阅相应型号的数据手册(datashee

16、t.pdf)。,图2-3 STM8S封装形式及引脚排列,图2-4 STM8S芯片引脚逻辑符号,注:(1) 除PE1、PE2引脚外,任何一个I/O引脚均可以定义为互补推挽输出(Push pull,简称PP方式)方式、带保护二极管的OD输出方式。只有当PE1、PE2引脚处于输出状态时,才属于真正意义上的OD输出引脚,既没有内部保护二极管,也没有上拉的P沟MOS管。换句话说,这两个引脚没有互补推挽输出方式。,(2) 任何一个引脚均可以定义为悬空输入或带弱上拉输入方式。输入引脚都带有施密特特性,为防止电磁感应干扰、降低功耗,未用的I/O引脚最好定义为低电平状态的输出方式(OD或PP方式),而不宜定义为悬空输入方式(CMOS器件输入引脚处于悬空状态时,电磁感应会使输入端电平不确定引脚内部门电路状态会翻转,引起额外功耗)或上拉输入方式(上拉电阻只有45 k,下拉保护二极管漏电流较大)。,2.3 通用I/O口GPIO(General Purpose I/O Port),STM8S系列MCU提供了多达9个通用I/O口,分别以PA、PB、PI命名(各

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号