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

2019-07-15 09:56发布

当按键按下时 蜂鸣器频率加1  让数码管显示频率 出来。只求思路  不求帮我写程序
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
17条回答
修罗君
1楼-- · 2019-07-15 22:46
人中狼 发表于 2017-8-8 15:04
你这不已经是思路了吗,思路就是你想要做什么,达到什么目标,你这连先做什么,后做什么都有了。

......问题是不知道 怎么开始写了。。。也许我上面的陈述有错。。。。好尴尬   又是大哥 你。。。。
人中狼
2楼-- · 2019-07-16 01:20
陈述没错啊,
一,检测按键
二,如果按键按下,频率加1
三,显示频率
没错啊
修罗君
3楼-- · 2019-07-16 03:22
人中狼 发表于 2017-8-8 15:47
陈述没错啊,
一,检测按键
二,如果按键按下,频率加1

那这个问题。。。问得我自己都 笑了。。。按键和显示我都可以写出来。就是这个频率是什么 ?怎么去写?
人中狼
4楼-- · 2019-07-16 06:17
 精彩回答 2  元偷偷看……
wulinwl
5楼-- · 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;                        //蜂鸣器端口取反
        }
}
修罗君
6楼-- · 2019-07-16 15:15
wulinwl 发表于 2017-8-8 17:32
按键和显示你都可以写出来,这个你应该一看就明白了。
void Timer0Init(void)                        //100微秒@12.000MHz
{

因为刚学,所以不是很明白 。我想问一下你这个cnt100us怎么来? 是不是要在上面写一个延时函数? 还有那个num是不是也要在上面定义一个全局变量num?就比如说我那个按键按下num++这样来改变他的值吗??

一周热门 更多>