久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 7239|回復: 1
打印 上一主題 下一主題
收起左側

單片機聲光報警器代碼

[復制鏈接]
跳轉到指定樓層
樓主


/* 本程序是一個以89C51為核心的聲光報警器控制程序
系統的晶振頻率12MHz,外界報警觸發脈沖接至INT0,報警復位按鈕接P1.2,喇叭接P1.1
當外界報警脈沖觸發報警后,LED(接P1.0)以1Hz的頻率閃動,同時喇叭種發出"Wu,Wa......"的警笛聲
該聲音由1kHz和500Hz方波以0.5秒為間隔交替發聲
值班人員按動報警復位鈕后聲光報警停止。*/

#include "AT89X51.h"

bit hisound;     /* 高音標志 */
sbit led=P1^0;         /* 報警燈接口 */
sbit speak=P1^1; /* 喇叭接口 */
sbit stop=P1^2;         /* 復位按鈕 */
unsigned char data i; /* 50ms中斷次數計數單元 */
void delayms(unsigned int x);  /* 延時1ms倍數的延時子程序 */

void main(void)
{
IT0=1; /* 設置INT0為邊沿中斷 */
ET0=1; /* 允許T0中斷 */
ET1=1; /* 允許T1中斷 */
EX0=1; /* 允許INT0中斷 */
PT0=1; /* T0設為高級中斷 */
EA=1;  /* 開中斷 */
hisound=1; /* 高音標志置1,先發高音 */
led=1;  /* 熄滅報警燈 */
speak=0; /* 喇叭斷電 */
TMOD=0x11; /* 設T0、T1為定時器,方式1 */
TH0=0xfe; /* 0.5ms定時初值 */
TL0=0x0c;
TH1=0x3c;  /* 50ms定時初值 */
TL1=0xb0;
i=10;   /* 50ms中斷10次為0.5秒 */
stop=1; /* 允許報警復位按鈕輸入 */
while (1)
{
   if (stop==0) /* 如果按下停止報警按鈕 */
    {
     delayms(20);  /* 延時20ms消除開關抖動 */
      }
   if (stop==0)
    {
      TR0=0;  /* 停止T0定時 */
      TR1=0;  /* 停止T1定時 */
      led=1;  /* 熄滅報警燈 */
      speak=0; /* 關閉喇叭 */      
      }
   }
}

/* INT0 中斷服務程序 */
void int0(void) interrupt 0
{
TR0=1; /* 啟動T0定時 */
TR1=1; /* 啟動T1定時 */
}

/* T0中斷服務程序 */
/* 用來產生救護車的警笛聲 */
void timer0(void) interrupt 1
{
  if (hisound==1)  /* 如果產生高音 */
    {
     TH0=0xfe;   /* 0.5ms定時初值 */
     TL0=0x0c;
      }
   else
    {
     TH0=0xfc;   /* 1ms定時初值 */
     TL0=0x18;      
      }
   speak=!speak; /* 驅動喇叭的輸出取反 */
}

/* T1中斷服務程序 */
/* 用來產生0.5秒的定時 */
void timer1(void) interrupt 3
{
  TH1=0x3c; /* 50ms定時初值 */
  TL1=0xb0;
  i=i-1;
  if (i==0) /* 如果到0.5秒 */
    {
      i=10;
      hisound=!hisound;  /* 高音標志取反,變音 */
      led=!led;   /* 報警燈改變亮滅 */
      }
}

/* 延時子程序,延時1ms的倍數 */
void delayms(unsigned int x)
{
  unsigned char j;
  while(x--)
    {
      for(j=0;j<123;j++){;}
    }
}

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏3 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:448566 發表于 2018-12-18 10:47 | 只看該作者
為什么復位開關不行啊
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 精品综合视频 | 亚洲欧美日韩精品久久亚洲区 | 亚洲一区在线播放 | 狠狠操天天操 | 国产成人精品一区二区三区四区 | 欧美v片| 婷婷综合| 国产精品久久在线观看 | 7777在线视频 | 91精品在线播放 | 国产中文一区二区三区 | 91欧美精品成人综合在线观看 | 日本小电影在线 | 精品久久久久久久久久 | 在线欧美亚洲 | 日韩一区不卡 | 欧美精品综合在线 | 7777久久| 91麻豆精品国产91久久久更新资源速度超快 | 国产一区二区三区四区三区四 | 欧美日韩一 | 天天综合永久 | 在线观看亚洲专区 | 国产精品国产三级国产a | 国产精品爱久久久久久久 | 一级全黄少妇性色生活免费看 | 亚洲精品一区二区三区蜜桃久 | 亚洲精品天堂 | 99热最新 | 免费看的av | 91色视频在线观看 | 久久人体| 欧美精品久久久 | 久久99精品久久久久久 | 国产一区二区电影网 | 91影视| 午夜影院普通用户体验区 | 亚州av| 日韩在线观看一区 | 国产精品免费在线 | 久久久一区二区三区 |