求一个程序思路,关于蜂鸣器。

2019-07-15 09:56发布

当按键按下时 蜂鸣器频率加1  让数码管显示频率 出来。只求思路  不求帮我写程序
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
17条回答
wulinwl
2019-07-16 09:24
修罗君 发表于 2017-8-8 15:50
那这个问题。。。问得我自己都 笑了。。。按键和显示我都可以写出来。就是这个频率是什么 ?怎么去写?

按键和显示你都可以写出来,这个你应该一看就明白了。
void Timer0Init(void)                        //100微秒@12.000MHz
{
        TMOD = 0x02;                                //设置定时器自动重载模式
        TL0 = 0x9C;                                        //设置定时初值
        TH0 = 0x9C;                                        //设置定时重载值
        TR0 = 1;                                        //定时器0开始计时
        EA=1;                                                //开总中断
        ET0=1;                                                //开定时器0中断       
}
void timer0() interrupt        1                //中断服务程序
{
        Cnt100us++;                                        //定时器中断计数变量自+1
        if(Cnt100us>=num)                        //改变num值就改变频率(反比)
        {                                                        //频率=1/秒/2/num
                Cnt100us=0;                                //定时器中断计数变量清0
                Buzzer=~Buzzer;                        //蜂鸣器端口取反
        }
}

一周热门 更多>