找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 4254|回復(fù): 1
打印 上一主題 下一主題
收起左側(cè)

用兩個定時器控制蜂鳴器發(fā)聲時 怎么用定時器控制頻率以及頻率持續(xù)的時間?

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:283032 發(fā)表于 2018-2-8 11:21 | 只看該作者 回帖獎勵 |倒序?yàn)g覽 |閱讀模式
如題 ,用兩個定時器控制蜂鳴器發(fā)聲時 怎么用定時器控制頻率以及頻率持續(xù)的時間?我看過網(wǎng)上的一些程序,下載下來后運(yùn)行確實(shí)不錯,但程序表示看不懂...以下是中斷服務(wù)程序......不理解怎么寫的....求指點(diǎn)
void time1() interrupt 3
{
  TH1=(65536-50000)/256;
  TL1=(65536-50000)%256;
  flag++;
  if(flag==360)
  {
   flag=0;
   fre=50000;
  }
}  
  void time0() interrupt 1
{
  TH0=(65536-fre)/256;
  TL0=(65536-fre)%256;
  tt++;
  if(flag<40)
  {
   if(tt==10)
  {
   tt=0;
   fre=50000;
   beep=~beep;
  }
  }
  if(flag>=40&&flag<80)
  {
   tt=0;
   fre=50000;
   beep=~beep;
  }
   if(flag>=80&&flag<120)
  {
   tt=0;
   fre=10000;
   beep=~beep;
  }
   if(flag>=120&&flag<160)
  {
   tt=0;
   fre=5000;
   beep=~beep;
  }
   if(flag>=1600&&flag<200)
  {
   tt=0;
   fre=2500;
   beep=~beep;
  }
   if(flag>=200&&flag<240)
  {
   tt=0;
   fre=1250;
   beep=~beep;
  }
   if(flag>=240&&flag<280)
  {
   tt=0;
   fre=625;
   beep=~beep;
  }
   if(flag>=280&&flag<320)
  {
   tt=0;
   fre=312;
   beep=~beep;
  }
   if(flag>=320&&flag<360)
  {
   tt=0;
   fre=156;
   beep=~beep;
  }
   TR0=1;
}  
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:702446 發(fā)表于 2020-3-5 20:19 | 只看該作者
最好把完整程序拿來看看,在這里看不出來fre和tt定義的是什么變量
回復(fù)

使用道具 舉報(bào)

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表