标题: 求无源蜂鸣器500ms间隔发声代码(2600Hz,包含定时器的初始化和中断函数 [打印本页]

作者: nijin    时间: 2023-4-3 16:14
标题: 求无源蜂鸣器500ms间隔发声代码(2600Hz,包含定时器的初始化和中断函数
无源蜂鸣器500ms间隔发声代码(2600Hz,包含定时器的初始化和中断函数,求大神解答
作者: 1314love    时间: 2023-4-3 18:05
你得把手册和使用芯片发出来。
作者: lkc8210    时间: 2023-4-3 18:19
你是在发作业吗?老师~
作者: wulin    时间: 2023-4-3 20:32
51单片机的基本设置,通常需要一级加晶体管功率放大。在此代码基础上加间隔500ms打开定时器即可。
void Timer0Init(void)                //192微秒@12.000MHz
{
        TMOD |= 0x02;        //设置定时器8位自动重装模式
        TL0 = 0x40;                //设置定时初始值
        TH0 = 0x40;                //设置定时重载值
//        TR0 = 1;                //定时器0开始计时
        ET0=1;
        EA=1;
}

程序中 TR0 = 1; 蜂鸣器响250ms

void Timer0Interrupt(void) interrupt 1
{
        static uint i=0;                        //静态计数变量
        Buzzer=~Buzzer;                                //蜂鸣器端口取反
        if(++i>=1302)                                //约250ms
        {
                i=0;                                        //计数清0                               
                Buzzer=0;                                //蜂鸣器端口复位
                TR0 = 0;                                //定时器0关闭
        }
}

作者: coody_sz    时间: 2023-4-3 20:33
这得有多懒!任何一家的MCU,找个定时器的例子就可以完成。




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1