henai521 发表于 2011-3-23 23:58:06

【ST公益分享】 STM8 - 蜂鸣器

  
蜂鸣器是现在单片机应用系统中很常见的,常用于实现报警功能。为此STM8特别集成了蜂鸣器模块,应用起来非常方便。
在应用蜂鸣器模块时,首先要打开片内的低速RC振荡器(当然也能使用外部的高速时钟),其频率为128KHZ。然后通过设置蜂鸣器控制寄存器 BEEP_CSR中的BEEPDIV来获取8KHZ的时钟,再通过BEEPSEL最终产生1KHZ或2KHZ或4KHZ的蜂鸣器时钟,最后使能 该寄存器中的BEEPEN位,产生蜂鸣器的输出。
下面的实验程序首先初始化低速振荡器,然后启动蜂鸣器,再延时2.5秒,然后关闭蜂鸣器。
同样还是利用ST的开发工具,生成一个汇编程序的框架,然后修改其中的main.c,修改后的代码如下。
 
//  程序描述:启动单片机中的蜂鸣器模块
 
#include "STM8S207C_S.h"
 
// 函数功能:延时函数
// 输入参数:ms -- 要延时的毫秒数,这里假设CPU的主频为2MHZ
// 输出参数:无
// 返 回 值:无
// 备    注:无
void DelayMS(unsigned int ms)
{
  unsigned char i;
  while(ms != 0)
  {

    for(i=0;i

feixiang20 发表于 2017-7-3 11:34:46

额,,程序蛮简单的

Inc_brza 发表于 2017-7-4 09:52:33

feixiang20 发表于 2017-7-3 11:34
额,,程序蛮简单的

这不是一般的简洁,哈哈哈哈哈哈哈哈哈哈哈哈哈和

Fily 发表于 2017-7-21 16:09:35

页: [1]
查看完整版本: 【ST公益分享】 STM8 - 蜂鸣器