📄 main.c
字号:
/******************** 2011电子科技协会 ********************
;名称 :STM8自带蜂鸣器使用
;作者 : 郑品洪
;日期 : 07/25/2011
;描述 : ;注!此功能需用ST Link辅助设置,协会实验板无法正常工作,这里仅作参考
;***********************************************************/
#include <stm8s105s4.h>
#define uchar unsigned char
uchar t;
void init(void) //初始化函数
{
CLK_ICKR|=0x08; // 打开芯片内部的低速振荡器LSI
while((CLK_ICKR&0x10)==0); // 等待振荡器稳定
TIM2_EGR=0X01; //允许产生更新事件
TIM2_PSCR=0X01; //分频,使频率为1MHz
TIM2_ARRH=0XC3; //更新后计数器的值
TIM2_ARRL=0X50;
TIM2_CR1=0X05; //允许定时器工作
TIM2_IER=0X01; //允许更新中断
_asm("rim"); //汇编语句,启动定时器
}
void main()
{
uchar i;
init();
while(1)
{
BEEP_CSR=0x26; //一秒2KHz
while((t>=20)&&(t<40))
BEEP_CSR=0x2e; //一秒1KHz
while((t>=40)&&(t<60))
BEEP_CSR=0x3e; //一秒500Hz
while((t>=60)&&(t<80))
BEEP_CSR&=0xdf; //一秒关闭
if(t>=80)
t=0;
}
}
@far @interrupt void TIM2_UP_IRQHandler (void) //中断函数
{
TIM2_SR1 = 0x00;
t++;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -