buzzer.c

来自「Msp430的c语言程序集」· C语言 代码 · 共 43 行

C
43
字号
/*******************************************************
                    
                 蜂鸣器报警实验
             http://www.wejay.com.cn


*******************************************************/
#include "msp430x14x.h"
#define  uint unsigned int
#define  uchar unsigned char
#define  SPK_HIGH P5OUT|=BIT6
#define  SPK_LOW P5OUT&=~BIT6
uchar Flag=0;
//时钟初始化函数
void InitClock(void){
  BCSCTL1=RSEL2+RSEL1+RSEL0;//XT2开启 LFXT1工作在低频模式 ACLK不分频 最高的标称频率
  DCOCTL=DCO2+DCO1+DCO0;//DCO为最高频率
  do{
    IFG1&=~OFIFG;//清除振荡器失效标志
    for(uint i=255;i>0;i--);
  }while(IFG1&OFIFG);//判断XT2是否起振
  BCSCTL2=SELM1+SELS;//MCLK SMCLK时钟源为TX2CLK不分频
}
//ms级延时子程序
void DelayMs(uint ms){
  while(ms--){
    for(uint i=0;i<800;i++);
  }
}
void main(){
  WDTCTL=WDTPW+WDTHOLD;//关闭看门狗
  InitClock();
  _EINT();//关闭中断
  P5DIR|=BIT6;//P5.6引脚设置为输出方向
  while(1){
    SPK_HIGH;
    DelayMs(150);
    SPK_LOW;
    DelayMs(150);
  };
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?