1 / 85
文档名称:

TMS3320F2802程序实例.doc

格式:doc   大小:411KB   页数:85页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

TMS3320F2802程序实例.doc

上传人:zbfc1172 2019/11/26 文件大小:411 KB

下载得到文件列表

TMS3320F2802程序实例.doc

相关文档

文档介绍

文档介绍:*文件名: 蜂鸣器音乐程序*描述: 执行该程序,蜂鸣器演奏音乐***********************************************************************//********************************************************************程序说明:()函数,初始化与蜂鸣器相关的IO ()音乐播放函数。 ,产生蜂鸣器驱动脉冲。********************************************************************/#include""//DSP280xHeaderfileIncludeFile#include""//DSP280xExamplesIncludeFile#defineDISABLE_TIMER1_INT IER&=0xFFFE;#defineENABLE_TIMER1_INT IER|=M_INT1;#defineBUZZ_OFF =1;#defineOE_3245() =1#defineBUZZ_ONvoidShow(void);voidBuzz_Gpio_Init(void);voidDelay(Uint16t);Uint16Musi[23]={//单位us,不同频率下,蜂鸣器发出不同音调的声音0,3816, //L_do3496, //L_re3215, //L_mi2865, //L_fa2551, //L_so2272, //L_la2024, //L_xi1912, //do1703, //re1517, //mi1432, //fa1275, //so1136, //la1013, //xi956, //H_do851, //H_re758, //H_mi716, //H_fa638, //H_so568, //H_la506, //H_xi0xFF //STOP}; /*Uint16Song[]={1,1,5,5,6,6,5,4,4,3,3,2,2,1,5,5,4,4,3,3,2,5,5,4,4,3,3,2,22};//Uint16DT[]={2,2,2,2,2,2,4,2,2,2,2,2,2,4,2,2,2,2,2,2,4,2,2,2,2,2,2,4}; //节拍*/Uint16Song[]= {5,5,6,5,8,7,5,5,6,5,8,7,5,5,5,10,8,7,6,11,10,8,9,8,22 }; Uint16DT[]={2,2,5,4,6,8,2,2,5,6,6,9,4,2,5,4,6,12,2,2,5,6,8,12}; //节拍voidDelay(Uint16t) //延时函数{ Uint32i=0; Uint32gain=500000; //延时增益 Uint32base=0; base=gain*t; for(i=0;i<=base;i++);}voidShow(void){ Uint16addr=0; OE_3245(); //使能3245芯片(驱动蜂鸣器的IO口与pwm引脚复用。出于电机控制考虑,该引脚输出接入电平转换芯片3245) while(1) { if(Musi[Song[addr]]==0xFF) { return; //音乐播放结束} else { StopCpuTimer0(); //停止计数 DISABLE_TIMER1_INT; //不使能定时中断 ConfigCpuTimer(&CpuTimer0,100,Musi[Song[addr]+8]); //设置定时时间 StartCpuTimer0(); //重启定时器 ENABLE_TIMER1_INT; //使能定时中断 Delay(DT[addr]); //音乐节拍延时 StopCpuTimer0(); //停止计数 DISABLE_TIMER1_INT; //不使能定时中断 BUZZ_OFF; //关闭蜂鸣器 Delay(2); //音乐停顿 addr++; } }}voidBuzz_Gpio_Init(void){ EALLOW; =0; //=1; //LoadoutputlatchGpioCtrlRe