前面章节的学习相信大家对STM8S编程有一定的了解这一节我们将.PDF

前面章节的学习相信大家对STM8S编程有一定的了解这一节我们将.PDF

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
前面章节的学习相信大家对STM8S编程有一定的了解这一节我们将

前面章节的学习相信大家对 STM8S 编程有一定的了解,这一节我们将学习 STM8S 自带的 Beep 编程。刚一看 Beep 不是 STM8S 自带的吗?不是应该放在更前面的章节,而我们放在 这一节是有一定的理由的,这一节除了介绍学习 Beep 编程外,还有设计到 STM8S 的一个 比较重要而有特色的功能 上图是我们主芯片 STMS207RB,大家有没有看到有些引脚是带有方括号的,例如我们这节 使用的 PD4,61 号引脚,在最后面有个方括号括住的 BEEP,这里的意思是BEEP 是这个引 脚的重定义映射后的功能,如果我们不加以修改选项字节,我们是不能使用这个功能的。这 样就和同样是 PD4 引脚的 TIM2_CH1 有所不同,TIM2_CH1 是定时器 2 的通道 1,是这个 引脚的第二功能,就算不修改选项字节也可以使用,是该引脚默认的功能。同样如果修改了 选项字节,那么之前的功能就可以实现了,要重新修改回去才可以。 下面我们介绍选项字节 在 STM8S20XX 数据手册中的第 26 页有详细的说明,这里我们简单概述一下 首先是如何实现选项字节编程,有两种方法 SWIM 方式,也就是借助 ST-Link 仿真器可以人为修改,好处是方便而不容易出错。缺点是 不能程序控制 另一种是在线编程修改,也就是在程序中直接修改,我们采取了第二种方法。同时自己参考 ST 公司的 Flash 库,自己封装好了这些函数。这是因为头文件用了 IAR 的封装,这和 ST 的 库不兼容,而且 IAR 的直接操作寄存器对应自己更为方便操作,不过存在学习周期长而容 易出错的问题 上表是全部的选项字节,除了 0x4800 地址之外,其它地址都有一个互补备份数据。而我们 这节使用的功能在 OPT2 的AFR7 中,见下图: 所以我们的目的就是修改 OPT2 的第7 位为 1,而修改NOPT2 的第七位为0 。不过我们需要 用到 Flash 操作,我已经为大家封装好这些函数,大家如果有兴趣研究,可以直接打开对应 的PDF 文件查阅源码,已经附上大量注释 因为这一节只是用到BEEP ,所以我们以BEEP 的选项字节编程为例程,其它的相信动了这 个例程后都可以自己实现选项字节编程。不过需要注意的是,当需要这个引脚原来的功能是, 请记得重新修改对应的选项字节。 好了,有了以上的知识,就可以开始我们这节的内容 实验的硬件: 我们的实验板采用了无源蜂鸣器,关于有源与无源的区别是,无源的只对频率有所反 应而不是直接接一个高电平就会响。除此之外,我们增加了外围电路的支持,如下: 由上图可以知道我们添加了一个LM386 的运放,并作了相应的滤波效果。可以实现更 为逼真的效果。同时 PD4 引脚是连在 TIM2_CH1 的,这个引脚可以实现 PWM 的输出。所 以在以后的章节会实现这个电路的第二种功能,可以播放简单的音符 软件介绍 BEEP 的功能介绍 当 LS 时钟工作在 128kHz 时可产生频率为 1kHz,2 kHz 或者是 4 kHz 的蜂鸣信号。 BEEP 功能只有一个寄存器 BEEP_CSR

文档评论(0)

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

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

1亿VIP精品文档

相关文档