找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

AT89S52制作“叮咚”門鈴(附程序、仿真原理圖)

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:99600 發(fā)表于 2015-12-24 14:07 | 只看該作者 |只看大圖 回帖獎勵 |倒序?yàn)g覽 |閱讀模式


  1. /********************************************************************
  2. *                                                              
  3. *  程序功能 : “叮咚”門鈴
  4. *                                                                        
  5. *  應(yīng)用軟件 :  KEIL C                                               
  6. *                  
  7. *  硬    件 :  W2041  
  8. *                                                               
  9. *  創(chuàng)建時(shí)間 :  2015-12-16
  10. *              
  11.                         
  12. ********************************************************************/   
  13. /* 程序詳細(xì)功能介紹:
  14. *當(dāng)按下按鍵P3.3 ,AT89S51單片機(jī)產(chǎn)生“叮咚”聲從P3.2端口輸出
  15. *程序設(shè)計(jì)方法
  16. * 1. 我們用單片機(jī)實(shí)定時(shí)/計(jì)數(shù)器T0來產(chǎn)生700HZ和500HZ的頻率,根據(jù)定時(shí)/計(jì)數(shù)器T0,我們?nèi)《〞r(shí)250us,
  17. *      因此,700HZ的頻率要經(jīng)過3次250us的定時(shí),而500HZ的頻率要經(jīng)過4次250us的定時(shí)。
  18. * 2. 在設(shè)計(jì)過程,只有當(dāng)按下SP1之后,才啟動T0開始工作,當(dāng)T0工作完畢,回到最初狀態(tài)。
  19. * 3. “!焙汀斑恕甭曇舾髡加0.5秒,因此定時(shí)/計(jì)數(shù)器T0要完成0.5秒的定時(shí),對于以250us為基準(zhǔn)定時(shí)2000次才可以。
  20. */

  21. #include <AT89X51.H>
  22. unsigned char t5hz;
  23. unsigned char t7hz;
  24. unsigned int tcnt;

  25. bit stop;
  26. bit flag;

  27. void main(void)
  28. {
  29.         unsigned char i,j;
  30.        
  31.         TMOD=0x02;
  32.         TH0=0x06;
  33.         TL0=0x06;
  34.         ET0=1;
  35.         EA=1;
  36.        
  37.         while(1)
  38.         {
  39.                 if(P3_3==0)
  40.                 {
  41.                         for(i=10;i>0;i--)
  42.                         for(j=248;j>0;j--);
  43.                         if(P3_3==0)
  44.                         {
  45.                                 t5hz=0;
  46.                                 t7hz=0;
  47.                                 tcnt=0;
  48.                                 flag=0;
  49.                                 stop=0;
  50.                                 TR0=1;
  51.                                 while(stop==0);
  52.                         }
  53.                 }
  54.         }//...while(1)
  55. }//...main

  56. void t0(void) interrupt 1 using 0
  57. {
  58.         tcnt++;
  59.         if(tcnt==2000)
  60.         {
  61.                 tcnt=0;
  62.                 if(flag==0)
  63.                 {
  64.                         flag=~flag;
  65.                 }
  66.                 else
  67.                 {
  68.                         stop=1;
  69.                         TR0=0;
  70.                 }
  71.         }
  72.        
  73.         if(flag==0)
  74.         {
  75.                 t7hz++;
  76.                 if(t7hz==3)
  77.                 {
  78.                 t7hz=0;
  79.                 P3_2=~P3_2;
  80.                 }
  81.         }
  82.         else
  83.         {
  84.                 t5hz++;
  85.                 if(t5hz==4)
  86.                 {
  87.                 t5hz=0;
  88.                 P3_2=~P3_2;
  89.                 }
  90.         }
  91. }
復(fù)制代碼

7-“叮咚”門鈴.zip

82.5 KB, 下載次數(shù): 69, 下載積分: 黑幣 -5

DIY制作

評分

參與人數(shù) 2黑幣 +60 收起 理由
51黑ren + 10 很給力!
admin + 50 共享資料的積分獎勵!

查看全部評分

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

使用道具 舉報(bào)

沙發(fā)
ID:826420 發(fā)表于 2020-10-16 13:24 來自手機(jī) | 只看該作者
按一下按鈕中斷兩次
回復(fù)

使用道具 舉報(bào)

板凳
ID:146782 發(fā)表于 2022-12-23 10:54 | 只看該作者
好資料
回復(fù)

使用道具 舉報(bào)

地板
ID:830831 發(fā)表于 2022-12-24 11:05 | 只看該作者
沒有余音 都不算
回復(fù)

使用道具 舉報(bào)

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

本版積分規(guī)則

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

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

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