新聞中心

        EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > STM32單片機(jī)TIM3蜂鳴器播放音樂(lè)

        STM32單片機(jī)TIM3蜂鳴器播放音樂(lè)

        作者: 時(shí)間:2016-11-25 來(lái)源:網(wǎng)絡(luò) 收藏
        GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9;
        GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
        GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
        GPIO_Init(GPIOD, &GPIO_InitStructure);
        GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5;
        GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
        GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
        GPIO_Init(GPIOB, &GPIO_InitStructure);
        }
        void delay1(uchar i)
        {
        long j;
        for(;i>0;i--)
        {
        for(j=0;j<6000;j++);
        }
        }
        void delay(uchar i)
        {
        unsigned long j;
        TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;
        TIM_Cmd(TIM3, DISABLE);
        for(;i>0;i--)
        {
        for(j=0;j<60000;j++);
        }
        //TIM_Cmd(TIM3, ENABLE);
        }
        void song()
        {
        // TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;
        // TIM_TimeBaseStructure.TIM_Period = reload_time;
        // reload_time=FREQH[k]*256+FREQL[k];
        TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;
        reload_time=get_time;
        TIM_TimeBaseStructure.TIM_Period = reload_time;
        TIM_Cmd(TIM3, ENABLE);
        delay(time);
        }
        int main (void)
        {
        uchar i=0;
        RCC_Configuration(); //配置時(shí)鐘
        NVIC_Configuration();
        GPIO_Configuration(); //配置IO口
        TIM3_Configuration();
        GPIO_WriteBit(GPIOD, GPIO_Pin_9, (BitAction)1);
        GPIO_WriteBit(GPIOB, GPIO_Pin_5, (BitAction)1);
        delay1(10);
        GPIO_WriteBit(GPIOD, GPIO_Pin_9, (BitAction)0);
        GPIO_WriteBit(GPIOB, GPIO_Pin_5, (BitAction)0);
        while(1)
        {
        time=1;
        i=0;
        while(i<75)
        {
        k=sszymmh[i]+7*sszymmh[i+1]-1;
        get_time=FREQH[k]*256+FREQL[k];
        time = sszymmh [i+ 2]; //讀出時(shí)間長(zhǎng)度數(shù)值
        i=i+3;
        song();
        }
        }}
        void TIM3_IRQHandler (void)
        {
        // TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;
        TIM_Cmd(TIM3, DISABLE);
        if(TIM_GetITStatus(TIM3,TIM_IT_Update)!=RESET)//判斷是否為定時(shí)器3溢出中斷
        {
        (bool)beep=!beep;
        reload_time=get_time;
        GPIO_WriteBit(GPIOB, GPIO_Pin_5, (BitAction)beep);
        GPIO_WriteBit(GPIOD, GPIO_Pin_9, (BitAction)beep);
        }
        TIM_ClearFlag(TIM3, TIM_FLAG_Update); //清中斷標(biāo)記
        TIM_ClearITPendingBit(TIM3, TIM_IT_Update);
        // TIM_Cmd(TIM3, DISABLE);
        }
        上一頁(yè) 1 2 下一頁(yè)

        評(píng)論


        技術(shù)專區(qū)

        關(guān)閉
        主站蜘蛛池模板: 讷河市| 南阳市| 崇礼县| 吉安县| 平潭县| 定兴县| 齐河县| 武邑县| 涟水县| 宾阳县| 贺州市| 雅江县| 大庆市| 正蓝旗| 清丰县| 衡山县| 获嘉县| 石城县| 南陵县| 晋城| 尚义县| 时尚| 景宁| 郴州市| 遂川县| 临夏县| 双牌县| 故城县| 浪卡子县| 漯河市| 司法| 新泰市| 建水县| 五常市| 汉寿县| 新龙县| 和田市| 安泽县| 乌海市| 正阳县| 汝南县|