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

          新聞中心

          EEPW首頁 > EDA/PCB > 51單片機(jī)多機(jī)同步復(fù)位電路

          51單片機(jī)多機(jī)同步復(fù)位電路

          ——
          作者:湖南元增民 時(shí)間:2007-10-24 來源:摘自《電子報(bào)》 收藏

          本人在用電視臺(tái)報(bào)時(shí)信號(hào)測(cè)試一批液晶電子鐘計(jì)時(shí)精度時(shí),需要10臺(tái)51同時(shí)啟動(dòng),為此,設(shè)計(jì)了附圖所示多啟動(dòng)電路。 


          筆者在《電子報(bào)》2006年第44期(合訂本第645頁)《的復(fù)位與程序執(zhí)行》一文中,解釋了51單片機(jī)復(fù)位電路設(shè)計(jì)計(jì)算方法.即首先根據(jù)不小于2個(gè)機(jī)器周期的要求選擇電容和下拉電阻,以滿足上電復(fù)位啟動(dòng)要求;然后,根據(jù)下拉電阻與上拉電阻的分壓原理,選擇上拉電阻,滿足手壓按鈕復(fù)位的要求。

          利用51單片機(jī)芯片內(nèi)部的100kΩ下拉電阻,即使選用最低的1MHz晶振,單機(jī)復(fù)位啟動(dòng)電容容量也只需要670pF。將n臺(tái)機(jī)的RST端子連接在一起進(jìn)行多機(jī)時(shí).各電容電阻相當(dāng)于并聯(lián),電容容量增加為n倍,電阻阻值減小為1/n,時(shí)間常數(shù)不變。因此按照單機(jī)復(fù)位設(shè)計(jì)的上電復(fù)位電路可以為多機(jī)所使用。附圖所示電路中,電容取104,即100nF,一般可行。

          當(dāng)多機(jī)同步手壓按鈕復(fù)位啟動(dòng)時(shí),只有一只上拉電阻起作用,相當(dāng)于多個(gè)下拉電阻并聯(lián)后與一個(gè)上拉電阻分壓。以10臺(tái)機(jī)器同步手壓復(fù)位為例,機(jī)內(nèi)10只100kΩ下拉電阻并聯(lián)后的阻值為10kΩ,外接上拉電阻阻值取lkΩ,電源電壓按5V計(jì)算,分壓為4.5V,高于CMOS電路最低高電平3.5V.能夠可靠實(shí)現(xiàn)多機(jī)同步手壓按鈕復(fù)位啟動(dòng)。

          該多臺(tái)51單片機(jī)同步啟動(dòng)電路的特點(diǎn),一是充分利用了51單片機(jī)芯片RST引腳內(nèi)部的100kΩ的下拉電阻,二是所用電容容量小。筆者進(jìn)行過實(shí)驗(yàn),當(dāng)電容值小到5pF時(shí)單片機(jī)仍然能啟動(dòng)。因此,選104的電容,啟動(dòng)安全可靠。

          本多臺(tái)單片機(jī)可以同在一地,也可以身處異地,只要用2根電源線和1根復(fù)位線.就能實(shí)現(xiàn)遠(yuǎn)程多機(jī)同步啟動(dòng)。

          目前.基于MCS-51內(nèi)核的51單片機(jī)品種很多。本電路是按照AT8951系列單片機(jī)設(shè)計(jì)的。該電路也適用于其他51單片機(jī).只是可能需要適當(dāng)減小電阻值和加大電容值 


           



          評(píng)論


          相關(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); })();