找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2193|回复: 3
打印 上一主题 下一主题
收起左侧

蜂鸣器简单唱歌单片机程序 不知为何蜂鸣器只在一个频率上响

[复制链接]
跳转到指定楼层
楼主
ID:150555 发表于 2017-3-24 17:58 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
用两个定时器控制蜂鸣器。思路如下:定时器1控制频率,定时器0控制时间。可是实际蜂鸣器只在一个频率上响。
#include<reg52.h>
sbit buzzer=P2^3;
int a[5]={220,550,1100,3300,5500};
int k=0,count=0;
void main()
{
TMOD=0x11;
TL1=(65536-a[k])%256;
TH1=(65536-a[k])/256;
TL0=(65536-45872)%256;
TH0=(65536-45872)/256;
EA=1;
ET0=1;
ET1=1;
TR0=1;
TR1=1;
}
void adc() interrupt 1
{
count++;
TL0=(65536-45872)%256;
TH0=(65536-45872)/256;
if(count==20)
{
  count=0;
   k++;
  if(k==5)
   k=0;
  }
  
}
void abc() interrupt 3
{
  TL1=(65536-a[k])%256;
  TH1=(65536-a[k])/256;
  buzzer=~buzzer;
}
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:150555 发表于 2017-3-24 17:59 | 只看该作者
#在这里快速回复#在线等
回复

使用道具 举报

板凳
ID:142559 发表于 2017-3-25 16:59 | 只看该作者
你的蜂鸣器是有源的还是?
回复

使用道具 举报

地板
ID:140489 发表于 2017-3-27 10:02 | 只看该作者
要用无源蜂鸣器才行,有源蜂鸣器内部有振荡电路,只在一个固定的频率发声
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表