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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 18986|回復(fù): 2
收起左側(cè)

單片機(jī)聲光報(bào)警器 (C語言源碼,Proteus仿真)

  [復(fù)制鏈接]
ID:320675 發(fā)表于 2018-5-2 19:33 | 顯示全部樓層 |閱讀模式
聲光報(bào)警器仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)
0.png 0.png

單片機(jī)源程序如下:
  1. /* 本程序是一個(gè)以89C51為核心的聲光報(bào)警器控制程序
  2. 系統(tǒng)的晶振頻率12MHz,外界報(bào)警觸發(fā)脈沖接至INT0,報(bào)警復(fù)位按鈕接P1.2,喇叭接P1.1
  3. 當(dāng)外界報(bào)警脈沖觸發(fā)報(bào)警后,LED(接P1.0)以1Hz的頻率閃動,同時(shí)喇叭種發(fā)出"Wu,Wa......"的警笛聲
  4. 該聲音由1kHz和500Hz方波以0.5秒為間隔交替發(fā)聲
  5. 值班人員按動報(bào)警復(fù)位鈕后聲光報(bào)警停止。*/

  6. #include "AT89X51.h"

  7. bit hisound;     /* 高音標(biāo)志 */
  8. sbit led=P1^0;         /* 報(bào)警燈接口 */
  9. sbit speak=P1^1; /* 喇叭接口 */
  10. sbit stop=P1^2;         /* 復(fù)位按鈕 */
  11. unsigned char data i; /* 50ms中斷次數(shù)計(jì)數(shù)單元 */
  12. void delayms(unsigned int x);  /* 延時(shí)1ms倍數(shù)的延時(shí)子程序 */

  13. void main(void)
  14. {
  15. IT0=1; /* 設(shè)置INT0為邊沿中斷 */
  16. ET0=1; /* 允許T0中斷 */
  17. ET1=1; /* 允許T1中斷 */
  18. EX0=1; /* 允許INT0中斷 */
  19. PT0=1; /* T0設(shè)為高級中斷 */
  20. EA=1;  /* 開中斷 */
  21. hisound=1; /* 高音標(biāo)志置1,先發(fā)高音 */
  22. led=1;  /* 熄滅報(bào)警燈 */
  23. speak=0; /* 喇叭斷電 */
  24. TMOD=0x11; /* 設(shè)T0、T1為定時(shí)器,方式1 */
  25. TH0=0xfe; /* 0.5ms定時(shí)初值 */
  26. TL0=0x0c;
  27. TH1=0x3c;  /* 50ms定時(shí)初值 */
  28. TL1=0xb0;
  29. i=10;   /* 50ms中斷10次為0.5秒 */
  30. stop=1; /* 允許報(bào)警復(fù)位按鈕輸入 */
  31. while (1)
  32. {
  33.    if (stop==0) /* 如果按下停止報(bào)警按鈕 */
  34.     {
  35.      delayms(20);  /* 延時(shí)20ms消除開關(guān)抖動 */
  36.       }
  37.    if (stop==0)
  38.     {
  39.       TR0=0;  /* 停止T0定時(shí) */
  40.       TR1=0;  /* 停止T1定時(shí) */
  41.       led=1;  /* 熄滅報(bào)警燈 */
  42.       speak=0; /* 關(guān)閉喇叭 */      
  43.       }
  44.    }
  45. }

  46. /* INT0 中斷服務(wù)程序 */
  47. void int0(void) interrupt 0
  48. {
  49. TR0=1; /* 啟動T0定時(shí) */
  50. TR1=1; /* 啟動T1定時(shí) */
  51. }

  52. /* T0中斷服務(wù)程序 */
  53. /* 用來產(chǎn)生救護(hù)車的警笛聲 */
  54. void timer0(void) interrupt 1
  55. {
  56.   if (hisound==1)  /* 如果產(chǎn)生高音 */
  57.     {
  58.      TH0=0xfe;   /* 0.5ms定時(shí)初值 */
  59.      TL0=0x0c;
  60.       }
  61.    else
  62.     {
  63.      TH0=0xfc;   /* 1ms定時(shí)初值 */
  64.      TL0=0x18;      
  65.       }
  66.    speak=!speak; /* 驅(qū)動喇叭的輸出取反 */
  67. }

  68. /* T1中斷服務(wù)程序 */
  69. /* 用來產(chǎn)生0.5秒的定時(shí) */
  70. void timer1(void) interrupt 3
  71. {
  72.   TH1=0x3c; /* 50ms定時(shí)初值 */
  73.   TL1=0xb0;
  74.   i=i-1;
  75.   if (i==0) /* 如果到0.5秒 */
  76.     {
  77.       i=10;
  78.       hisound=!hisound;  /* 高音標(biāo)志取反,變音 */
  79.       led=!led;   /* 報(bào)警燈改變亮滅 */
  80.       }
  81. }

  82. /* 延時(shí)子程序,延時(shí)1ms的倍數(shù) */
  83. void delayms(unsigned int x)
  84. {
  85.   unsigned char j;
  86.   while(x--)
  87.     {
  88.       for(j=0;j<123;j++){;}
  89.     }
  90. }
復(fù)制代碼

所有資料51hei提供下載:
聲光報(bào)警器 (C語言,適用于Proteus 7.72).rar (27.52 KB, 下載次數(shù): 195)

評分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎(jiǎng)勵(lì)!

查看全部評分

回復(fù)

使用道具 舉報(bào)

ID:710294 發(fā)表于 2020-3-17 20:36 | 顯示全部樓層
很好,很有用
回復(fù)

使用道具 舉報(bào)

ID:832201 發(fā)表于 2021-5-11 12:32 | 顯示全部樓層
巧妙地構(gòu)思,感謝
回復(fù)

使用道具 舉報(bào)

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

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 毛片一区二区三区 | 精品一区二区视频 | japan21xxxxhd美女| 91视频免费 | 亚洲91精品| 亚洲国产一区二区三区在线观看 | av影音在线 | 欧美精品第三页 | 美女高潮网站 | 中文字幕一区二区不卡 | 国产精品视频一区二区三区四蜜臂 | 亚洲第一成年免费网站 | 欧美激情一区二区 | 欧美一级做性受免费大片免费 | 欧美视频在线播放 | 日韩成人av在线播放 | 男人的天堂在线视频 | 日韩视频在线一区 | 蜜桃视频在线观看www社区 | 日韩欧美网 | 亚洲国产中文在线 | 精品国产乱码久久久久久久久 | 中文字幕一级 | 亚洲一区二区高清 | 亚洲电影免费 | 国产成人精品一区二区 | 国产福利91精品 | 99色综合 | 麻豆视频在线免费观看 | 国产成人免费视频网站高清观看视频 | 午夜免费av| 精品欧美激情在线观看 | 国产二区视频 | 成人一区二区三区在线观看 | 久久久久久久久久久久一区二区 | 天天干在线播放 | h视频在线观看免费 | 国际精品鲁一鲁一区二区小说 | 国产精品美女久久久久aⅴ国产馆 | 日韩成人免费av | 亚洲福利网 |