• <rp id="wfxtb"><acronym id="wfxtb"></acronym></rp><em id="wfxtb"></em><dd id="wfxtb"><big id="wfxtb"><video id="wfxtb"></video></big></dd>
  • <rp id="wfxtb"></rp>

    <mark id="wfxtb"><center id="wfxtb"></center></mark>

      <rp id="wfxtb"><span id="wfxtb"><u id="wfxtb"></u></span></rp>

      <rp id="wfxtb"><object id="wfxtb"></object></rp>

      注意:訪問本站需要Cookie和JavaScript支持!請設置您的瀏覽器! 打開購物車 查看留言付款方式聯系我們
      初中電子 單片機教材一 單片機教材二
      搜索上次看見的商品或文章:
      商品名、介紹 文章名、內容
      首頁 電子入門 學單片機 免費資源 下載中心 商品列表 象棋在線 在線繪圖 加盟五一 加入收藏 設為首頁
      本站推薦:
      6. 報警產生器
      文章長度[] 加入時間[2008/5/30] 更新時間[2025/5/6 9:21:15] 級別[0] [評論] [收藏]
       
      1. 實驗任務
      用P1.0輸出1KHz和500Hz的音頻信號驅動揚聲器,作報警信號,要求1KHz信號響100ms,500Hz信號響200ms,交替進行,P1.7接一開關進行控制,當開關合上響報警信號,當開關斷開告警信號停止,編出程序。
      2. 電路原理圖
      圖4.6.1
      3. 系統板上硬件連線
      (1.       把“單片機系統”區域中的P1.0端口用導線連接到“音頻放大模塊”區域中的SPK IN端口上;
      (2.       在“音頻放大模塊”區域中的SPK OUT端口上接上一個8歐的或者是16歐的喇叭;
      (3.       把“單片機系統”區域中的P1.7/RD端口用導線連接到“四路撥動開關”區域中的K1端口上;
      4. 程序設計內容
      (1.       信號產生的方法
      500Hz信號周期為2ms,信號電平為每1ms變反1次,1KHz的信號周期為1ms,信號電平每500us變反1次;
      5. 程序框圖

      開始
      K1按下了嗎?
      FLAG=0嗎?
      置200次計數
      P1.0輸出取反
      延時500us
      計數值計完了嗎?
      FLAG取反
      置200次計數
      P1.0輸出取反
      延時1ms
      計數值計完了嗎?
      FLAG取反

      圖4.6.2
      6. 匯編源程序
      FLAG                           BIT 00H
                                            ORG 00H
      START:                        JB P1.7,START
                                            JNB FLAG,NEXT
                                            MOV R2,#200
      DV:                               CPL P1.0
                                            LCALL DELY500
                                            LCALL DELY500
                                            DJNZ R2,DV
                                            CPL FLAG
      NEXT:                         MOV R2,#200
      DV1:                   CPL P1.0
                                            LCALL DELY500
                                            DJNZ R2,DV1
                                            CPL FLAG
                                            SJMP START
      DELY500:           MOV R7,#250
      LOOP:                         NOP
                                            DJNZ R7,LOOP
                                            RET
                                            END
      7. C語言源程序
      #include <AT89X51.H>
      #include <INTRINS.H>
      bit flag;
      unsigned char count;
      void dely500(void)
      {
        unsigned char i;
        for(i=250;i>0;i--)
          {
            _nop_();
          }
      }
      void main(void)
      {
        while(1)
          {
            if(P1_7==0)
              {
                for(count=200;count>0;count--)
                  {
                    P1_0=~P1_0;
                    dely500();
                  }
                for(count=200;count>0;count--)
                  {
                    P1_0=~P1_0;
                    dely500();
                    dely500();
                  }
              }
          }
      }
      1、 本站不保證以上觀點正確,就算是本站原創作品,本站也不保證內容正確。
      2、如果您擁有本文版權,并且不想在本站轉載,請書面通知本站立即刪除并且向您公開道歉! 以上可能是本站收集或者轉載的文章,本站可能沒有文章中的元件或產品,如果您需要類似的商品請 點這里查看商品列表!
      本站協議。 版權信息。 關于我們。 本站地圖。 營業執照。 發票說明。 付款方式。 聯系方式
      深圳市寶安區西鄉五壹電子商行——粵ICP備16073394號-1;地址:深圳西鄉河西四坊183號;郵編:518102
      E-mail:51dz$163.com($改為@);Tel:(0755)27947428
      工作時間:9:30-12:00和13:30-17:30和18:30-20:30,無人接聽時可以再打手機13537585389
      91嫩草黄片动漫版