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

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

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
2.2 STM8S系列MCU内部结构   STM8S系列MCU由一个基于STM8内核的8位中央处理器、存储器 包括了Flash ROM、RAM、EEPROM 以及常用外设电路 如复位电路、振荡电路、高级定时器TIM1、通用定时器TIM2及TIM3、看门狗计数器、中断控制器、UART、SPI、多通道10位ADC转换器 等部件组成。STM8S2×× MCU的内部结构如图2-1所示。 2.3 通用I/O口GPIO General Purpose I/O Port   STM8S系列MCU提供了多达9个通用I/O口,分别以PA、PB、…、PI命名 各I/O口引脚数目与芯片封装引脚数目有关 。每个I/O口、同一个I/O口内的任意一个I/O引脚电路结构完全相同,可通过编程方式设置为:    1 浮空输入方式 复位后的缺省状态 。输入阻抗高,输入漏电流小于1 μA 实际上是输入保护二极管漏电流 。 2.4 STM8S的电源供电及滤波   STM8 MCU有四组相对独立的供电电源: 1 ?VDD/VSS:主电源 3~5.5 V 。VDD/VSS引脚用于给内部主电压调节器 MVR 和内部低功耗电压调节器 LPVR 供电。这两个电压调节器的输出连接在一起,向MCU内核 CPU,FLASH和RAM 提供1.8?V电源 V18 。在低功耗模式下,系统自动将供电电源从MVR切换到LPVR,以减少MCU内核的功耗。 2.5 复 位 电 路   STM8S采用低电平复位,具有9个复位源 1个外部复位源和8个内部复位源 ,其内部结构如图2-10所示。 2.6 时 钟 电 路   可以选择内部高速RC振荡器HSI High Speed Internal clock signal 输出信号 16 MHz?±?1% 、内部低速RC振荡器LSI Low Speed Internal clock signal 输出信号 128 kHz?±?14% 、外部高速晶振HSE OSC High Speed External crystal OSCillator,晶振频率为1~24 MHz 或外部高速输入信号HSE Ext 0~24 MHz 之一,作为STM8S系统的主时钟信号fMASTER。fMASTER时钟是内置外设时钟,再经7位分频器分频后作为CPU时钟,如图2-12所示。   例如,启动后用自动方式将主时钟切换到HSE时钟的程序段如下:   BSET CLK_SWCR, #1 ; ?SWEN位为1,启动时钟切换   BRES CLK_SWCR, #2 ;? SWIEN位为0,用查询方式确定时钟切换是否已完成   MOV CLK_SWR, #0B4H ; 目标时钟为HSE晶振   CLK_SW_WAIT1: ; 等待时钟切换中断标志SWIF有效   BTJF CLK_SWCR, #3, CLK_SW_WAIT1 BRES CLK_SWCR, #3 ; 清除时钟切换中断标志SWIF   BRES CLK_SWCR, #1 ; ?SWEN位为0,禁止时钟切换操作   BRES CLK_ICKR, #0 ; 关闭HSI时钟,以减小系统功耗   利用类似的方法,可以将系统时钟从HSE时钟切换到HSI时钟,程序段如下:   BSET CLK_SWCR, #1 ; ?SWEN位为1,即启动时钟切换   BRES CLK_SWCR, #2 ; ?SWIEN位为0,即用查询方式确定切换是否已完成   2.手动切换   手动切换过程需要更多的指令,如下所示:   BSET CLK_SWCR, #2 ;?将时钟切换寄存器CLK_SWCR的SWIEN位置1,允许切换时钟 ; 成功中断 如果允许时钟切换结束中断的话   MOV CLK_SWR, #XXH ;?向主时钟切换寄存器CLK_SWR写入特定值,选择相应时钟 ; ?E1H:选择HSI时钟;D2H:选择LSI时钟;B4H:选择HSE时钟   这时,CLK_SWCR寄存器的SWBSY被硬件置1,启动目标时钟源,但依然采用原时钟源工作。用户可以通过软件方式查询时钟切换寄存器CLK_SWCR的SWIF位,确定目标时钟是否已稳定。若该位为1,表示目标时钟已经稳定。当然,如果SWIEN为1,则会产生中断。   在适当时刻将时钟切换控制寄存器CLK_SWCR中的SWEN位置1,启动时钟切换过程。一旦时钟切换结束,CLK_SWCR寄存器的SWBSY位被硬件清0,表示时钟切换完成。   必要时通过软件方式关闭原时钟,以降低系统的功耗。   例如,启动后用手动方式将主时钟切换到HSE时钟的程序段如下:   BRES CLK_SWCR, #2 ;? SWIEN位为0,即用查询方式确定目标时钟是否已稳定   MOV CL

您可能关注的文档

文档评论(0)

118压缩包课件库 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档