|
#include <STM8S105K.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); // 等待振荡器稳定
// 通过设置蜂鸣器控制寄存器,来打开蜂鸣器的功能,蜂鸣器控制寄存器的设置:
// BEEPDIV[1:0] = 00 BEEPDIV[4:0] = 0e BEEPEN = 1
// 蜂鸣器的输出频率 = Fls
// ( 8 * (BEEPDIV + 2) )= 128K / (8 * 16) = 1K
//InitBEEP();//初始化蜂鸣器
//BEEP_LSICalibrationConfig(128000);//校准蜂鸣器频率
BEEP_CSR|=0x40;//蜂鸣器鸣叫频率 2K
BEEP_CSR = 0x2e;
for(i=0;i<10;i++)
{
DelayMS(250);
}
BEEP_CSR = 0x1e; // 关闭蜂鸣器
while(1);
}
|
-
1.png
(8.67 KB, 下载次数: 76)
原理图
|