STM8 蜂鸣器

以下资料由微雪电子整理并发布,未经许可不得转载,否则追究相应责任!

简介

当LS时钟工作在128kHz时可产生频率为1kHz,2 kHz或者是4 kHz的蜂鸣信号。

STM8_蜂鸣器功能图
(图23:STM8蜂鸣器功能图)

蜂鸣器操作

为了使用蜂鸣功能,按顺序执行如下的步骤:
1.根据13.2.2中描述的方法确定BEEPDIV[4:0]的值来校准LS时钟的频率;
2.通过写BEEP_CSR的BEEPSEL[1:0]位来选择1 kHz,2 kHz或4 kHz的输出频率;
3.置位BEEP_CSR的BEEPEN位来使能LS的时钟源;
注意:预分频计算器仅仅在当BEEPDIV[4:0]的值不同于复位值0x1F时才开始运行。

蜂鸣器校准

该步骤可以用来校准LS 128 kHz的时钟以便达到标准的1 kHz,2 kHz或4 kHz频率输出采用如下的步骤:
1.测量LSI的时钟频率(请参考12.2.3)
2.采用如下方法计算BEEPDIV的值,这里A和x是fLS/8(kHz)的整数和小数部分值:

当x小于或者等于A/(1+2*A)时,BEEPDIV=A-2;
否则BEEPDIV=A-1
3.将BEEPDIV值写入到BEEP_CSR的BEEPDIV[4:0]位。

蜂鸣器控制/状态寄存器(BEEP_CSR)

地址偏移值:0x00
复位值:0x1F

STM8_蜂鸣器控制/状态寄存器(BEEP_CSR)

位7:6 BEEPSEL[1:0]:蜂鸣频率选择
00:输出fLS/(8 x BEEPDIV)kHz
01:输出fLS/(4 x BEEPDIV)kHz
1x:输出fLS/(2 x BEEPDIV)kHz
位5 BEEPEN蜂鸣器允许
此位由软件设置和清零,使能蜂鸣器功能
0:禁止蜂鸣器功能
1:使能蜂鸣器功能
位4 BEEPDIV[4:0]蜂鸣器预分频器
此位由软件置位和清零。设置蜂鸣器分频因数BEEPDIV.
00h:BEEPDIV=2
01h:BEEPDIV=3
...
0Eh:BEEPDIV=16
0Fh:BEEPDIV=17
....
1Eh:BEEPDIV=32
注意:此寄存器不能设置成其初始复位值(0x1F)

BEEP寄存器表和复位值

STM8_蜂鸣器寄存器表
(表25:STM8蜂鸣器寄存器表)

STM8 蜂鸣器

——