標(biāo)題: 求無源蜂鳴器500ms間隔發(fā)聲代碼(2600Hz,包含定時(shí)器的初始化和中斷函數(shù) [打印本頁(yè)]

作者: nijin    時(shí)間: 2023-4-3 16:14
標(biāo)題: 求無源蜂鳴器500ms間隔發(fā)聲代碼(2600Hz,包含定時(shí)器的初始化和中斷函數(shù)
無源蜂鳴器500ms間隔發(fā)聲代碼(2600Hz,包含定時(shí)器的初始化和中斷函數(shù),求大神解答
作者: 1314love    時(shí)間: 2023-4-3 18:05
你得把手冊(cè)和使用芯片發(fā)出來。
作者: lkc8210    時(shí)間: 2023-4-3 18:19
你是在發(fā)作業(yè)嗎?老師~
作者: wulin    時(shí)間: 2023-4-3 20:32
51單片機(jī)的基本設(shè)置,通常需要一級(jí)加晶體管功率放大。在此代碼基礎(chǔ)上加間隔500ms打開定時(shí)器即可。
void Timer0Init(void)                //192微秒@12.000MHz
{
        TMOD |= 0x02;        //設(shè)置定時(shí)器8位自動(dòng)重裝模式
        TL0 = 0x40;                //設(shè)置定時(shí)初始值
        TH0 = 0x40;                //設(shè)置定時(shí)重載值
//        TR0 = 1;                //定時(shí)器0開始計(jì)時(shí)
        ET0=1;
        EA=1;
}

程序中 TR0 = 1; 蜂鳴器響250ms

void Timer0Interrupt(void) interrupt 1
{
        static uint i=0;                        //靜態(tài)計(jì)數(shù)變量
        Buzzer=~Buzzer;                                //蜂鳴器端口取反
        if(++i>=1302)                                //約250ms
        {
                i=0;                                        //計(jì)數(shù)清0                               
                Buzzer=0;                                //蜂鳴器端口復(fù)位
                TR0 = 0;                                //定時(shí)器0關(guān)閉
        }
}

作者: coody_sz    時(shí)間: 2023-4-3 20:33
這得有多懶!任何一家的MCU,找個(gè)定時(shí)器的例子就可以完成。




歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1