首页 | 嵌入式系统 | 显示技术 | 模拟IC/电源 | 元件与制造 | 其他IC/制程 | 消费类电子 | 无线/通信 | 汽车电子 | 工业控制 | 医疗电子 | 测试测量
首页> 分享下载> 嵌入式系统> 【STM8教程】 蜂鸣器

【STM8教程】 蜂鸣器

资料介绍
【STM8教程】 蜂鸣器

STM8的C语言编程(13)-- 蜂鸣器

蜂鸣器是现在单片机应用系统中很常见的,常用于实现报警功能。为此STM8特别集成了
蜂鸣器模块,应用起来非常方便。
在应用蜂鸣器模块时,首先要打开片内的低速RC振荡器(当然也能使用外部的高速时钟
),其频率为128KHZ。然后通过设置蜂鸣器控制寄存器BEEP_CSR中的BEEPDIV[4:0]来获
取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<250;i++)
{
}
for(i=0;i<75;i++)
{
}
ms--;
}
}

main()
{
int i;

CLK_ICKR = CLK_ICKR | 0x08; // 打开芯片内部的低速振荡器LSI
while((CLK_ICKR & 0x10) == 0); // 等待振荡器稳定

// 通过设置蜂鸣器控制寄存器,来打开蜂鸣器的功能
标签: stm8st
【STM8教程】 蜂鸣器
本地下载

评论