<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 用單片機(jī)控制的閃爍燈

          用單片機(jī)控制的閃爍燈

          作者: 時(shí)間:2012-02-12 來源:網(wǎng)絡(luò) 收藏

          1.實(shí)驗(yàn)任務(wù)
          如圖所示:在P1.0端口上接一個(gè)發(fā)光二極管L1,使L1在不停地一亮一滅,一亮一滅的時(shí)間間隔為0.2秒。
          2.電路原理圖
          用單片機(jī)控制的閃爍燈電路圖Flash light

          3.系統(tǒng)板上硬件連線
          把“系統(tǒng)”區(qū)域中的P1.0端口用導(dǎo)線連接到“八路發(fā)光二極管指示模塊”區(qū)域中的L1端口上。
          4.程序設(shè)計(jì)內(nèi)容
          (1).延時(shí)程序的設(shè)計(jì)方法
          作為的指令的執(zhí)行的時(shí)間是很短,數(shù)量大微秒級,因此,我們要求的時(shí)間間隔為0.2秒,相對于微秒來說,相差太大,所以我們在執(zhí)行某一指令時(shí),插入延時(shí)程序,來達(dá)到我們的要求,但這樣的延時(shí)程序是如何設(shè)計(jì)呢?下面具體介紹其原理:
          如圖4.1.1所示的石英晶體為12MHz,因此,1個(gè)機(jī)器周期為1微秒
          機(jī)器周期微秒
          MOVR6,#202個(gè)2
          D1:MOVR7,#2482個(gè)22+2×248=49820×
          DJNZR7,$2個(gè)2×248(498
          DJNZR6,D12個(gè)2×20=4010002
          因此,上面的延時(shí)程序時(shí)間為10.002ms。
          由以上可知,當(dāng)R6=10、R7=248時(shí),延時(shí)5ms,R6=20、R7=248時(shí),延時(shí)10ms,以此為基本的計(jì)時(shí)單位。如本實(shí)驗(yàn)要求0.2秒=200ms,10ms×R5=200ms,則R5=20,延時(shí)子程序如下:
          DELAY:MOVR5,#20
          D1:MOVR6,#20
          D2:MOVR7,#248
          DJNZR7,$
          DJNZR6,D2
          DJNZR5,D1
          RET
          (2)輸出
          如圖1所示,當(dāng)P1.0端口輸出高電平,即P1.0=1時(shí),根據(jù)發(fā)光二極管的單向?qū)щ娦钥芍?,這時(shí)發(fā)光二極管L1熄滅;當(dāng)P1.0端口輸出低電平,即P1.0=0時(shí),發(fā)光二極管L1亮;我們可以使用SETBP1.0指令使P1.0端口輸出高電平,使用CLRP1.0指令使P1.0端口輸出低電平。
          5.程序框圖

          本文引用地址:http://www.ex-cimer.com/article/172127.htm

          未命名.jpg
          6.匯編源程序
          ORG0
          START:CLRP1.0
          LCALLDELAY
          SETBP1.0
          LCALLDELAY
          LJMPSTART
          DELAY:MOVR5,#20;延時(shí)子程序,延時(shí)0.2秒
          D1:MOVR6,#20
          D2:MOVR7,#248
          DJNZR7,$
          DJNZR6,D2
          DJNZR5,D1
          RET
          END
          7.C語言源程序
          #include
          sbitL1=P1^0;
          voiddelay02s(void)//延時(shí)0.2秒子程序
          {
          unsignedchari,j,k;
          for(i=20;i>0;i--)
          for(j=20;j>0;j--)
          for(k=248;k>0;k--);
          }
          voidmain(void)
          {
          while(1)
          {
          L1=0;
          delay02s();
          L1=1;
          delay02s();
          }
          }



          關(guān)鍵詞: 閃爍 控制 單片機(jī)

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();