[求助] stm8蜂鸣器问题

宇辰   2011-7-21 19:41 楼主


#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++;
}
各位帮忙看下这个程序哪里出问题了,下载后蜂鸣器不响,中断部分单独测试过,没有问题···

回复评论 (1)

是选项字的问题

你打开STVP,把PD4的功能选择设为BZZR功能

[ 本帖最后由 spence 于 2011-7-23 03:54 编辑 ]
  • 未命名.jpg
点赞  2011-7-23 03:53
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复