两个定时器控制一个蜂鸣器

[复制链接]
4585|3
 楼主| howard-ch 发表于 2011-7-21 17:11 | 显示全部楼层 |阅读模式
这个程序编写有点难度,请教了,谢谢哦!

问题:用两个定时器控制蜂鸣器发声,定时器0控制频率,定时器1控制同个频率持续的时间,间隔300毫秒依次输出1,10,50,100,200,400,800,1K(HZ)的方波
 楼主| howard-ch 发表于 2011-7-31 14:46 | 显示全部楼层
只用if语句和两个定时器能实现吗,是不是需要其他语句 比如switch case break语句才行啊?
mcu5i51 发表于 2011-7-31 16:09 | 显示全部楼层
将频率对应的数值放在某数组中,在300的定时器中断中设置静态变量带上限自加,依次将频率参数赋值即可;
永远的不知 发表于 2011-7-31 16:47 | 显示全部楼层
1# howard-ch

定义全局数组a[size]={1,10,50,100,200,400,800,1000}
定义全局变量b
设置定时器1每300ms产生一次中断,在其中断函数中进行如下判断

清中断;
if(b<size)
{
初始化定时器0(a(b));//将数组成员a(b)作为参数传给定时器0初始化函数,用来设置频率
b++;
}
您需要登录后才可以回帖 登录 | 注册

本版积分规则

20

主题

137

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部