找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

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

同時(shí)用兩個(gè)定時(shí)器控制蜂鳴器發(fā)聲

  [復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
本帖最后由 jinsheng7533967 于 2019-3-4 01:55 編輯

                                                        

#include <reg52.h>
#define uint unsigned int
#define uchar unsigned char
sbit sond=P3^7;

uint yanshi[]={50000,10000,5000,2500,1250,625,500}
uchar t,f,pd;  //t為50mS時(shí)間脈沖信號(hào)f為變頻信號(hào),pd為所選頻段
void timer0() interrupt 1 // 定時(shí)器0控制頻率
{
TH0=(65536-yanshi[pd])/256;
TL0=(65536-yanshi[pd])%256;
f++;        //bp為變頻信號(hào)
}

void timer1() interrupt 3 // 定時(shí)器1控制同個(gè)頻率持續(xù)的時(shí)間,50mS脈沖
{
TH1=(65536-50000)/256;
TL1=(65536-50000)%256;
t++;
}

void init()
{
EA=1;  //開(kāi)啟總中斷
ET0=1;ET1=1;               //開(kāi)啟外部定時(shí)器中斷允許位
TMOD=0x11;                 //同時(shí)定義兩個(gè)定時(shí)器的工作模式
TH0=(65536-yanshi[f])/256;
TL0=(65536-yanshi[f])%256;//給定時(shí)器0賦初值
TH1=(65536-50000)/256;
TL1=(65536-50000)%256; //給定時(shí)器1賦初值
TR0=1;TR1=1;//啟動(dòng)兩個(gè)定時(shí)器可以測(cè)試一次給字節(jié)賦值
}

void main()
{
f=0;pd=0;sond=1;t=0;
init();
while(1)
{
  if(f>0)  
  {

   TR0=0;  //關(guān)閉定時(shí)器0防止在執(zhí)行定時(shí)器1時(shí)被中斷會(huì)引起混亂    bp=0; 將變頻信號(hào)bp歸零等待下一個(gè)信號(hào)1
   sond=~sond;  //變頻信號(hào)發(fā)生后beep取反
   if(t>5)    //測(cè)試定時(shí)器0脈沖是否達(dá)到6個(gè)即300mS
   {
    pd++;  //如果達(dá)到300mS頻段改變
    t=0;   //將定時(shí)器脈沖數(shù)歸零
   }
   if(pd>6)  //頻段pd超出6個(gè)即第7個(gè)時(shí)將頻段歸零
   {
    pd=0;   
   }
   TR0=1;    //開(kāi)啟定時(shí)器0讓定時(shí)器0繼續(xù)工作定時(shí)器0在每執(zhí)行一次以
  }
}
}

同時(shí)用兩個(gè)定時(shí)器控制蜂鳴器發(fā)聲.rar (13.93 KB, 下載次數(shù): 57)


評(píng)分

參與人數(shù) 7黑幣 +74 收起 理由
嘉立創(chuàng)AAA + 8 贊一個(gè)!
zhengchong60 + 6 贊一個(gè)!
正規(guī)007 + 8 很給力!
Sawardeakar + 10 很給力!
yoxi + 16 贊一個(gè)!
shuisheng + 16 很給力!
春風(fēng)十里吹 + 10 贊一個(gè)!

查看全部評(píng)分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏4 分享淘帖 頂2 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:478073 發(fā)表于 2019-3-4 04:35 | 只看該作者
好樣的!棒棒噠!
回復(fù)

使用道具 舉報(bào)

板凳
ID:473186 發(fā)表于 2019-3-7 23:02 | 只看該作者
真心不錯(cuò),資源也很多!
回復(fù)

使用道具 舉報(bào)

地板
ID:21069 發(fā)表于 2019-5-20 22:19 | 只看該作者
其實(shí)是一個(gè)定時(shí)器嵌套的案例,懂的人就明白
回復(fù)

使用道具 舉報(bào)

5#
ID:292262 發(fā)表于 2019-6-5 10:36 | 只看該作者
比原版視頻里寫的好
回復(fù)

使用道具 舉報(bào)

6#
ID:292262 發(fā)表于 2019-6-5 10:37 | 只看該作者
可以下載嗎
回復(fù)

使用道具 舉報(bào)

7#
ID:454000 發(fā)表于 2020-3-24 20:10 | 只看該作者
精品!值得收藏!
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

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