找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 4106|回复: 4
收起左侧

定时器控制蜂鸣器频率输出1,10,50,100,200,400,800,1000hz方波的代码

[复制链接]
ID:225054 发表于 2017-8-27 23:55 | 显示全部楼层 |阅读模式
请高手帮忙查错,为什么只能输出1到100的频率,后#include<reg52.h>
#include<intrins.h>
#define uchar unsigned char
#define uint unsigned int
unsigned code table[]={50000,50000,10000,2000,1000,500,250,125,100};
sbit beep=P2^3;
uchar a,i,j;
uchar j=0,i=0;
void main()

{beep=0;
TMOD=0X11;//初始化,方式1;
TH1=(65536-50000)/256;
TL1=(65536-50000)%256;
EA=1;
ET1=1;
TR1=1;
TH0=(65536-table[j])/256;
TH0=(65536-table[j])%256;
ET0=1;
TR0=1;
while(1);
}
void time()interrupt 3
{
TH1=(65536-50000)/256;
TL1=(65536-50000)%256;
i++;
if(i==20)
{ i=0;
j++;
if(j==9)
j=0;

}
}

void time_t0() interrupt 1
{ TR0=0;
TH0=(65536-table[j])/256;
TH0=(65536-table[j])%256;
a++;
if(a==10)
{  a=0;
  beep=~beep;
}

TR0=1;
}面的输不了
回复

使用道具 举报

ID:111634 发表于 2017-8-28 08:09 | 显示全部楼层
本帖最后由 zl2168 于 2017-8-28 08:10 编辑

实例69  输出周期脉冲方波(示波器显示)
实例69 输出周期脉冲方波.rar (34.2 KB, 下载次数: 12)
回复

使用道具 举报

ID:164602 发表于 2017-8-28 09:39 | 显示全部楼层
初中物理书上是这样说的:人耳能听到的频率为20~20000Hz之间。你输出的1、10频率听不到哦!
回复

使用道具 举报

ID:225054 发表于 2017-8-28 12:10 来自手机 | 显示全部楼层
HC6800-ES-V2.0 发表于 2017-8-28 09:39
初中物理书上是这样说的:人耳能听到的频率为20~20000Hz之间。你输出的1、10频率听不到哦!

1hz应该就是扬声器一秒响一下吧
回复

使用道具 举报

ID:225054 发表于 2017-8-29 23:12 | 显示全部楼层
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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