• <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支持!請設置您的瀏覽器! 打開購物車 查看留言付款方式聯系我們
      初中電子 單片機教材一 單片機教材二
      搜索上次看見的商品或文章:
      商品名、介紹 文章名、內容
      首頁 電子入門 學單片機 免費資源 下載中心 商品列表 象棋在線 在線繪圖 加盟五一 加入收藏 設為首頁
      本站推薦:
      1. 閃爍燈
      文章長度[] 加入時間[2008/5/30] 更新時間[2025/3/15 5:37:47] 級別[0] [評論] [收藏]
       
      1.  實驗任務
      如圖4.1.1所示:在P1.0端口上接一個發光二極管L1,使L1在不停地一亮一滅,一亮一滅的時間間隔為0.2秒。
      2.  電路原理圖
      圖4.1.1
      3.  系統板上硬件連線
      把“單片機系統”區域中的P1.0端口用導線連接到“八路發光二極管指示模塊”區域中的L1端口上。
      4.  程序設計內容
      (1).    延時程序的設計方法
      作為單片機的指令的執行的時間是很短,數量大微秒級,因此,我們要求的閃爍時間間隔為0.2秒,相對于微秒來說,相差太大,所以我們在執行某一指令時,插入延時程序,來達到我們的要求,但這樣的延時程序是如何設計呢?下面具體介紹其原理:
      如圖4.1.1所示的石英晶體為12MHz,因此,1個機器周期為1微  
      MOV R6,#20                2個         2
      D1:         MOV R7,#248                     2個         2       2+2×248=498 20×
                    DJNZ R7,$                   2個         2×248             (498
                    DJNZ R6,D1                2個   2×20=40           10002
      因此,上面的延時程序時間為10.002ms。
      由以上可知,當R6=10、R7=248時,延時5ms,R6=20、R7=248時,延時10ms,以此為基本的計時單位。如本實驗要求0.2秒=200ms,10ms×R5=200ms,則R5=20,延時子程序如下:
      DELAY:          MOV R5,#20
      D1:             MOV R6,#20
      D2:             MOV R7,#248
                      DJNZ R7,$
                      DJNZ R6,D2
                      DJNZ R5,D1
                   RET
      (2).            輸出控制
      如圖1所示,當P1.0端口輸出高電平,即P1.0=1時,根據發光二極管的單向導電性可知,這時發光二極管L1熄滅;當P1.0端口輸出低電平,即P1.0=0時,發光二極管L1亮;我們可以使用SETB P1.0指令使P1.0端口輸出高電平,使用CLR P1.0指令使P1.0端口輸出低電平。
      5.                       程序框圖
                如圖4.1.2所示
                       圖4.1.2
       
       
      6.                       匯編源程序
                                  ORG 0
      START:               CLR P1.0
                                  LCALL DELAY
                                  SETB P1.0
                                  LCALL DELAY
                                  LJMP START
      DELAY:              MOV R5,#20                        ;延時子程序,延時0.2秒
      D1:                      MOV R6,#20
      D2:                      MOV R7,#248
                                  DJNZ R7,$
                                  DJNZ R6,D2
                                  DJNZ R5,D1
                                  RET
                                  END
      7.                       C語言源程序
      #include <AT89X51.H>
      sbit L1=P1^0;
      void delay02s(void)               //延時0.2秒子程序
      {
        unsigned char i,j,k;
        for(i=20;i>0;i--)
        for(j=20;j>0;j--)
        for(k=248;k>0;k--);
      }  
      void main(void)
      {
        while(1)
          {
            L1=0;
            delay02s();
            L1=1;
            delay02s();
          }
      }
      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嫩草黄片动漫版