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

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于單片機(jī)實(shí)現(xiàn)攝像機(jī)運(yùn)動(dòng)控制系統(tǒng)的設(shè)計(jì)

          基于單片機(jī)實(shí)現(xiàn)攝像機(jī)運(yùn)動(dòng)控制系統(tǒng)的設(shè)計(jì)

          作者: 時(shí)間:2009-06-25 來(lái)源:網(wǎng)絡(luò) 收藏

          3.2 程序的

          鍵按下后產(chǎn)生中斷申請(qǐng),響應(yīng)中斷后,開(kāi)始執(zhí)行中斷程序。從8279 內(nèi)部將產(chǎn)生的鍵值讀出,并根據(jù)鍵值來(lái)執(zhí)行相應(yīng)的程序。CPU 接收到該信息后,并不立即動(dòng)作。為保證速度控制的穩(wěn)定性,先保存該鍵值所對(duì)應(yīng)的命令,在T0/T1 到達(dá)所設(shè)定的計(jì)數(shù)值之后,按一定的速度需要輸出脈沖時(shí),再將該信息送至。

          3.3 的速度控制軟件

          改變驅(qū)動(dòng)模塊CP 信號(hào)的頻率來(lái)改變步進(jìn)電機(jī)的,改變CP 信號(hào)的頻率可以通過(guò)定時(shí)/ 計(jì)數(shù)器來(lái)。先給定時(shí)/ 計(jì)數(shù)器裝載初置,后使其開(kāi)始運(yùn)行,到達(dá)規(guī)定的時(shí)間后執(zhí)行中斷程序,此時(shí)可將產(chǎn)生CP 信號(hào)的程序放在此中斷程序中,就達(dá)到了改變步進(jìn)電機(jī)的目的。S52 內(nèi)部的T0 和T1 分別對(duì)應(yīng)了兩個(gè)步進(jìn)電機(jī)的速度控制,其工作過(guò)程如圖二所示。

          3.4 檢測(cè)及顯示軟件

          采用定時(shí)計(jì)數(shù)法,在一定的時(shí)間內(nèi)對(duì)發(fā)送給步進(jìn)電機(jī)的步進(jìn)脈沖進(jìn)行計(jì)數(shù)。設(shè)每50ms 檢測(cè)一次向步進(jìn)電機(jī)所發(fā)出脈沖的個(gè)數(shù)N,N 與轉(zhuǎn)速之間有如下關(guān)系:

          只要將檢測(cè)到的脈沖數(shù)N 乘以3,就可以得到每分鐘的轉(zhuǎn)速。50ms 的定時(shí)由S52 內(nèi)部的第三個(gè)定時(shí)/ 計(jì)數(shù)器T2 來(lái)

          4 結(jié)束語(yǔ)

          單片機(jī)構(gòu)成的不僅具有控制精度高、控制方式靈活、程序編制簡(jiǎn)單、功耗低、可靠性高等特點(diǎn),且某些新型單片機(jī)更具有在線編程功能,不需把單片機(jī)從工作環(huán)境中剝離出來(lái)即可進(jìn)行程序更新,方便了軟件的維護(hù),并可根據(jù)需要,由預(yù)先編制的程序自動(dòng)對(duì)兩方向上的驅(qū)動(dòng)電機(jī)進(jìn)行協(xié)同控制。




          上一頁(yè) 1 2 下一頁(yè)

          評(píng)論


          相關(guān)推薦

          技術(shù)專(zhuān)區(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); })();