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

QQ登錄

只需一步,快速開始

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

51單片機(jī)讓蜂鳴器30s循環(huán)響一次的程序如何編寫?循環(huán)報(bào)警,求思路

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:854524 發(fā)表于 2021-1-28 17:38 來自手機(jī) | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
如題,由于本論壇禁止直接求程序,禁止伸手黨,所以向大家請(qǐng)教一下大致的實(shí)現(xiàn)方法與思路,理清頭緒后我自己來寫程序去實(shí)現(xiàn)
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:716656 發(fā)表于 2021-1-28 20:44 來自手機(jī) | 只看該作者
定時(shí)器,變量計(jì)數(shù)滿為30s當(dāng)變量大于某數(shù),蜂鳴器響,else不響。高低電平控制三極管
回復(fù)

使用道具 舉報(bào)

板凳
ID:702386 發(fā)表于 2021-1-28 23:09 | 只看該作者
通常給程序設(shè)置一個(gè)工作節(jié)拍,比如一秒的節(jié)拍,主程序在這個(gè)節(jié)拍下運(yùn)行。在主程序中可設(shè)置變量來計(jì)次數(shù),在一秒節(jié)拍下比如計(jì)數(shù)為30次就置位一個(gè)標(biāo)志位,則說明30秒到了,利用if語(yǔ)句判斷這個(gè)標(biāo)志位為1時(shí)去處理30秒一次的任務(wù)。至于怎樣設(shè)置一秒的節(jié)拍,還是要用定時(shí)器,可以設(shè)置20ms的自動(dòng)重裝定時(shí)器,中斷計(jì)數(shù)50次則為1秒并置位一個(gè)秒節(jié)拍標(biāo)志位。進(jìn)入相關(guān)標(biāo)志位去處理任務(wù)時(shí)要記得復(fù)位該標(biāo)志位。
回復(fù)

使用道具 舉報(bào)

地板
ID:798201 發(fā)表于 2021-1-29 00:15 | 只看該作者
本帖最后由 zwf33 于 2021-1-29 00:20 編輯
  1. #include <REGX52.H>
  2. typedef unsigned int  uint;
  3. sbit fmq=P2^3;   //定義I/O
  4. uint cnt=0;

  5. void main()
  6. {
  7.     TMOD=0x01;
  8.     TH0=(65536-46082)/256;        //   50ms    11.0592MHz
  9.     TL0=(65536-46082)%256;
  10.     TR0=1;
  11.     led=0;

  12.     while(1)
  13.     {

  14.         if(TF0==1)
  15.         {
  16.             TF0=0;
  17.             TH0=(65536-46082)/256;
  18.             TL0=(65536-46082)%256;
  19.             cnt++;
  20.             if(cnt>=600)               //  30s  
  21.             {
  22.                 cnt=0;
  23.                 fmq=~fmq;
  24.             }
  25.         }
  26.     }
  27. }
復(fù)制代碼

用定時(shí)器,變量計(jì)數(shù)滿30s后再執(zhí)行蜂鳴器響
回復(fù)

使用道具 舉報(bào)

5#
ID:854524 發(fā)表于 2021-1-29 00:49 來自手機(jī) | 只看該作者
zwf33 發(fā)表于 2021-1-29 00:15
用定時(shí)器,變量計(jì)數(shù)滿30s后再執(zhí)行蜂鳴器響

感謝感謝。
回復(fù)

使用道具 舉報(bào)

6#
ID:288629 發(fā)表于 2021-1-29 11:47 | 只看該作者
先把蜂鳴器的叫聲頻率定好,然后在啟動(dòng)計(jì)時(shí),可以用定時(shí)中斷計(jì)時(shí),也可以用多進(jìn)程計(jì)時(shí),到了30S就運(yùn)行一次蜂鳴器唄
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

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